zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
39.56k stars 2.06k forks source link

Add build time options to disable ML/AI features #6756

Open alerque opened 5 months ago

alerque commented 5 months ago

I see on the roadmap that "embracing AI" is on the list. I understand that for some majority of developers this is something they do want to see explored. For another chunk of us (that I sometimes fall in, sometimes not depending on the project) there are fundamental issues with having any AI input into our coding process. For some users/projects this is an ethical boundary, for others just a licensing issue, etc.

I firmly believe that to be a really robust editor any features that attempt to make use of ML/AI tooling they should be optional. This should probably include both a build-time option so that the project can be built from source with no AI related dependencies even needed and no features enabled. The existing setting assistant = false only disables the related UI elements at run time. The build time variant should actual build a binary where these things are not even available at all, not just hidden.

In conjunction with this the related features could possible be stubbed in some way so that future 3rd party plugins or user coded automation can't accidentally access them even though the UI elements are hidden.

haze commented 4 months ago

I have created a fork of Zed that has compile time features (switches) to enable/disable (with all disabled by default) the assistant, collaboration (sign in, etc), and copilot. You can find the branch here

Pi-Cla commented 1 month ago

@haze can you make a PR to add this to this repo? If you already have then referencing this issue can help more people like myself know there is already a PR

Pi-Cla commented 1 month ago

I guess because the main devs are pro-AI the AI default would need to be "On" but it would still be great to be able to build packages with it turned off so that people have the option of either choice.

haze commented 1 month ago

@Pi-Cla Sorry, but I'm not interested in maintaining a permanent fork with these changes applied. It's already wildly out of date, and took a considerable amount of effort just to use. I also don't think I properly removed some elements. I'd try and petition the Zed people to add this, but I can't say I see them buckling, since you can disable them via hiding the UI elements.