zsh-users / zsh-autosuggestions

Fish-like autosuggestions for zsh
MIT License
30.3k stars 1.85k forks source link

Add build and run time options to disable ML/AI features #778

Closed alerque closed 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, and also a run time flag to disable them at run time (for per project use cases). In one case the binary shouldn't have any support for the features, and in the other they should be both hidden (so they can't be accidentally triggered) and rendered inoperable (stub functions?) so that plugins/3rd party code can't accidentally trigger them.

For any AI features that rely on remote computing, #777 in also relevant and that run time flag should enable any local ML tooling but disable ones that phone out to an external service.

alerque commented 5 months ago

Ouch. I opened this from the wrong browser tab and hence wrong repository. Sorry.