Unless you’ve been hidden under a rock, you’re likely aware of Copilot - Github’s (or Microsofts) AI pair programmer. It allows you to get help on the code you’re writing by bringing up suggestions through an autocomplete snippets when you begin typing code in your editor.
Since it started its free beta back in the summer of last year, it’s been the subject of many developers videos and it’s even played a part in a few of mine. It seems most of us just can’t get enough of having a helping bot point out useful bits of code, instead of having to go and search through questions and docs to find that out ourselves.
Well, this week Copilot became generally available for all developers and announced its subscription pricing after that you’d have to pay after their current free trial ends on 22nd August. Yes, that’s right another subscription model - So there’s inevitably been a heap of discussion by devs about whether we should be paying to use it. For me there’s actually two main questions that come off of the back of this.
The Pricing Question - Is it Worth It?
Firstly there’s the question of pricing - Githubs pricing is $10/mo or $100/year for copilot. Do I think that that’s worth the time saved that I get back as a developer? Absolutely - our time is the most important thing we have and if Copilot can consistently save us several minutes of it whilst we’re deep in code and looking for solutions to problems then its definitely worth $100/year. How many other tools do you have that save you that much time? My guess is very few. It’s definitely represents good value for money on the face of it.
The Ethical Question - Should You Use It?
The second question though is whether you should use copilot? In an ethical sense. That’s a whole different question and one that gets fairly complex.
There’s been a lot of backlash over how Copilot generates its results - its AI is trained on all the code that is hosted in Github public repos, as well as other publicly available sources. If we take a look at the GitHub FAQ on Copilot it states that the suggestions generated are not owned by Github, and you and you’re responsible for them yourself. “We recommend that you carefully test, review and vet the code before pushing the code to production”. I don’t know how exactly I’d go about vetting the code, but it sounds more of a pain and time consuming than if I’d actually written it myself.
Copilot has also been said to copy pieces of code verbatim from projects. Github themselves state that this happens about 1% of the time, but I’ve noticed from other videos in earlier iterations of their faq they actually quoted a much lower number of 0.1% of the time.
Most of the open source projects that have hosted their projects on Github use licenses that require that attribution is given to the project when portions of its code are used. Copilot straight up does not do this. So if a piece of code is used, placed in your project and found to be at fault the owner is well within their rights to come after you. This is part of the reason why I’ve never gone so far as to have Copilot enabled when writing code for clients as I can’t be sure how it’s been generated and whether it’s just been copied from a project. It seems like a legal rabbit-hole that you could get yourself into and one I don’t want to go near.
One last aspect of this is that it’s unlikely that the money generated by Copilot subscriptions is going to be given to the project authors that it’s trained on.
An interesting point is made by Jetbrains dev advocate Hadi Hariri on this:
Copilot using OSS to train itself, and then GitHub charging for it, is not much different than the majority of us using and building our apps based on OSS, and then charging for them, without paying a dime to the dozens of libraries and frameworks we use.— Hadi Hariri (@hhariri) June 23, 2022
Paying nothing toward the open source projects you rely on looks pretty similar to what Github is doing here. The difference between them and devs using open source tools without paying is Github appears to be breaking licence rules. It’s also shifting responsibility to the developers who choose to use it. Maybe your $10 dollars a month would be better spent donated to the open source tools and frameworks you’re using?
I’m going to be pretty careful about where I’m using copilot and if you’re planning on using it you probably should be too.