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
49.77k stars 3.06k forks source link

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

Open alerque opened 9 months ago

alerque commented 9 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 9 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 5 months 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 5 months 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 5 months 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.

Denperidge commented 3 months ago

I’d love to see a version with AI/ML disabled. It’s what is single handedly holding me personally back from giving this a shot to replace VS Codium

Crysambrosia commented 3 months ago

I was about to try Zed but the paragraph about AI made me choose not to. An option to disable it completely is absolutely necessary.

goldenratio commented 2 months ago

ya, Zed without AI will be awseome. Maybe make it as opt-in extension.

Eiji7 commented 1 month ago

I really like this idea especially as a Gentoo user. We have a USE flags, so we can use it to configure what features of specific packages we want to compile and install. Optional support is additionally less amount of data to download and less time to compile project. It makes even more sense if the project is often update as we can disable feature we don't use at all.

For now I don't see that current so-called "AI"s are very useful. They may be used as a smart snippet tool, but nothing more. Fine it may work better in other languages, but if we give such argument then do we still talking about AI - a computer intelligence that would learn, learn and decides to kill us? No, it's just a tool, very complex one, but still far away from a true "AI" (as people see it). Currently if AI does not have a good language support it may make a very trivial mistakes like it may even have a problem with understanding types. There are really number of examples why people don't see it useful in their environments.

Solarunit commented 1 month ago

Yea, I had to search for the options of how to disable all of those AI/Assistant/ML/Collab/Chat features. So annoying. Why there is no one option to disable all of it at once from the gui? :shrug:

liampower commented 3 weeks ago

+1 from me; I would absolutely love an offline version

amsam0 commented 2 days ago

+1, this is what's keeping me from using Zed over VSCodium

On macOS, there's a nice application called Lulu that allows preventing all network access for an application, but this would likely cause issues with language servers. I haven't tried this yet but it's worth a shot.