I have many thoughts about Copilot, but here are two.<p>First, as much as I don't like the idea of Copilot, it seems to be good for boilerplate code. However, the fact that boilerplate code exists is not because of some natural limitation of code; it exists because our programming languages are subpar at making good abstractions.<p>Here's an example: in Go, there is a lot of `if err == nil` error-handling boilerplate. Rust decided to make a better abstraction and shortened it to `?`.<p>(I could have gotten details wrong, but I think the point still stands.)<p>So I think a better way to solve the problem that Copilot solves is with <i>better programming languages</i> that help us have better abstractions.<p>Second, I personally think the legal justifications for Copilot are dubious at best and downright deception at worst, to say nothing of the ramifications of it. I wrote a whitepaper about the ramifications and refuting the justifications. [1]<p>(Note: the whitepaper was written quickly, to hit a deadline, so it's not the best. Intro blog post at [2].)<p>I'm also working on licenses to clarify the legal arguments against Copilot. [3]<p>I also hope that one of them [4] is a better license than the AGPL, without the virality and applicable to more cases.<p>Edit: Do NOT use any of those licenses yet! I have not had a lawyer check and fix them. I plan to do so soon.<p>[1]: <a href="https://gavinhoward.com/uploads/copilot.pdf" rel="nofollow">https://gavinhoward.com/uploads/copilot.pdf</a><p>[2]: <a href="https://gavinhoward.com/2021/10/my-whitepaper-about-github-copilot/" rel="nofollow">https://gavinhoward.com/2021/10/my-whitepaper-about-github-c...</a><p>[3]: <a href="https://yzena.com/licenses/" rel="nofollow">https://yzena.com/licenses/</a><p>[4]: <a href="https://yzena.com/yzena-network-license/" rel="nofollow">https://yzena.com/yzena-network-license/</a>