I’ve been using Github Copliot since beta. In general I find it an extremely nifty tool, and definitely recommend it to developers of any skill level to try out.
There’s a lot of complaints about Copilot, that IMO are somewhat valid, but also negated. For instance, Copilot is undeniably laundering FOSS code… But it’s also laundering proprietary code. Specific licensing aside, everything Copilot is doing here is lowkey making software much more collaborative and closer to at least some ideas open source stands for.
Another thing people bring up is Copilot would make you forget how to code. After almost a year of using it, I have to disagree. Things like setting up the environment, making architectural decisions, and integrations are always the hardest part about coding, and regrettably Copilot doesn’t help with that. Even if Copilot makes you “lazy”, so does any good tool.
The real problem is I don’t know what my code is doing anymore. It’s not that I don’t read what Copilot spits out, but when you don’t have to put in the effort writing it, you forget the details much more quickly. The obvious side effect is you spend much more time debugging your code, trying to figure out how it works, when you only wrote it a week ago.
There is FauxPilot which is an open source project that aims to provide similar functionality using a locally running model.