Open alerque opened 5 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
@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
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.
@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.
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.