795 comments

[ 5.3 ms ] story [ 328 ms ] thread
Thank you, GitHub, this is one of the best things!

No, it cannot make me write code I couldn't write before. It does not autopilot and does all the coding by itself. But it still boosts my productivity greatly, making me relaxed while coding and focusing on the important part rather than errands.

I've been using it for a while now. When I forget some syntax occasionally I'll switch this on instead of searching documentation or google, but more often than not my IDE can get me unstuck with less overhead.

Also if there are some repetitive sections of code I need to bang out quickly this will auto fill that repetitive pattern (although I'd argue this is usually a sign that the code should be cleaned up)

I avoid letting it fill in large swaths of code though. I have no idea where that code is coming from (license infringement?) and it tends to go way off the rails.

Additionally I feel that it makes me a worse programmer if I allow it to take over too much.

I've been programming for 20 years (more if you count my time as a kid) and have a certain flow. Part of that flow is the natural pause between thinking of solutions and typing. When the computer is beating me to the typing portion (and often times making mistakes) I would find myself doing more code review than code writing. Sometimes a few bugs popped up and it was thanks to copilot (or was it me failing to correct copilot's mistakes?).

I found my brain sort of switching into a different mode. Rather than thinking about my next steps I was thinking about the steps the computer just took and how I needed to clean them up.

Rather than the AI being my reviewer during a paired programming session, I was the computer's reviewer.

So now, like I said I use it very sparingly.

Additionally: when I allowed copilot to do heavier coding for me, I found myself returning later and feeling somewhat unfamiliar with the code. That's really bad for maintenance, project pace, etc. I don't want to try to re-learn, fix, remember and maintain code that someone else (a computer in this case) wrote. Its hard enough doing so reliably in group code settings (work), now injecting that into my daily coding life feels like a solution I didn't ask for.

I will say that I'm not averse to change and do appreciate the new tools that we have available to us - Starting on a x386 writing QBASIC as a kid to using Jetbrains Rider is an indescribably different experience.

That said, I'm not ready to move to the backseat and let the computer take over yet. In small doses copilot is fine, but I wouldn't lean heavily on it for large projects or to do the thinking for me.

What's the criteria for being considered "a maintainer of a popular open source project"? They never actually publish the criteria anywhere from what I can tell. They just say visit the subscription page and if you are eligible it should be available to you and if you see a charge then you are not eligible. I think though they should still be transparent about what their metric is for determining popular projects on GitHub; otherwise, the code that determines eligibility might be broken and no one would be able to tell. Or worse they could just be lying about it entirely.
> What's the criteria for being considered "a maintainer of a popular open source project"?

The FAQ [0] says

> A maintainer of a popular open source project is defined as someone who has write or admin access to one or more of the *most popular open source projects* on GitHub

(emphasis added)

[0] https://github.com/pricing#i-work-on-open-source-projects-ca...

That's the problem, what is a "most popular project?"
It goes on to say "Simply visit the GitHub Copilot subscription page to see if you are one of the open source maintainers that meet our criteria for a complimentary subscription"

When I go to https://github.com/github-copilot/free_signup it says:

" Congratulations! You are eligible to use GitHub Copilot for free.

Thanks for being a part of our open source and education communities. GitHub Copilot uses the Codex AI model to offer coding suggestions."

I have a project with about 3k stars, and regularly contribute to another project ~4k stars (Where I'm also the primary maintainer, although it's not on my account), as well as some things in with hundred and dozens of stars.

I don't how high up that is in the ranking, although given that most projects get 0 stars I suspect it's probably higher than you'd might expect.

Ummm, yes, that was my original point. What does "one or more of the most popular open source projects on GitHub" mean exactly? Do you need a certain number of github stars on your project? Are you listed on some "most popular github projects specific page"? or what?
I got this free access. Tried to figure how to request this "Verified" status, whatever it means, but github seems to set it automatically and notified me "you are eligible to use GitHub Copilot for free". I'm not sure how exactly they do it and what defines "the most popular open source projects". The most popular repo (by stars) I have is with 3k stars. Apparently it is enough, not sure.
There's a definition somewhere in the FAQ, it's like the top 1000 projects in each of the top 34 most popular languages on GitHub, as long as those projects have some minimum number of stars and forks.
Can you please share the link for this FAQ?
There isn't a definition. The FAQ states:

    People who maintain popular open source projects receive a credit to 
    have 12 months of GitHub Copilot access for free. A maintainer of a
    popular open source project is defined as someone who has write or admin 
    access to one or more of the most popular open source projects on GitHub. 
    Simply visit the GitHub Copilot subscription page to see if you are one of 
    the open source maintainers that meet our criteria for a complimentary 
    subscription. If you do, you should see that you can add GitHub Copilot 
    for no charge. If you see a charge on the purchase page then this means 
    that you do not qualify at this time. Once awarded, if you are still a 
    maintainer of a popular open source project when your initial 12 months 
    subscription expires then you will be able to renew your subscription for 
    free.
As the principal author of a project used by millions, working 100% on open source today, I can say it's not free for me. My code is being used to train your models, but I can't use your models without paying you. That goes against the spirit of my share-alike license.

"Write or admin access" is also a pretty crappy way of evaluating people. "Write or admin access" goes by politics, rather than by contribution. It's also hostile towards junior developers, who might not have commit access on projects which work by forks and PRs.

This also excludes folks like Richard Stallman who don't host their projects with you (not that he'd use copilot, but just saying).

github does a fine job reviewing nonprofits. It feels half-baked that it can't identify open-source contributors.

At the very least, you should enable anyone whose code you scraped to train codex to use codex. I can make codex spit out code very similar to code I wrote. It's clear it was trained on it, and is creating a derivative work.

At a minimum, 4.3k stars is not enough, because I don't qualify.
This is curious - I maintain 2 projects with 2k cumulative stars, and I was able to claim the free access. Wonder what the metric is? Maybe creation date has something to do with it?
If you want to check if you qualify: https://github.com/github-copilot/free_signup
Yeah that just redirects me to the paid page. I do wish the criteria were a little more transparent.
I have a repository with 625 stars, but it redirects to the subscription page.
(comment deleted)
Reporting on my own experience, I got access to Copilot a few days after it was announced and am currently not expected to pay for it.

I started a project that currently has 9.4k stars (now mostly maintained by someone else), and still maintain a project that has 2.5k stars.

Someone from GitHub reached out to me because of this comment and said they were fixing it. The problem is that Racket's license file isn't simple enough for their automated tools.
(comment deleted)
> People who maintain popular open source projects receive a credit to have 12 months of GitHub Copilot access for free. A maintainer of a popular open source project is defined as someone who has write or admin access to one or more of the most popular open source projects on GitHub

https://github.com/pricing#i-work-on-open-source-projects-ca...

I like how "open source project" == "on github". Can't say that I am surprised though.

I authored/contribute/maintain stuff that is used by tens of millions of people world wide. I do not qualify. ¯\_(ツ)_/¯
I can't tell if I can get it for free or not other than that vague statement about subscriptions.
> We’re making GitHub Copilot, an AI pair programmer that suggests code in your editor, generally available to all developers for $10 USD/month or $100 USD/year. It will also be free to use for verified students and maintainers of popular open source projects.

> Do you want to start using GitHub Copilot today? Get started with a 60-day free trial, and check out our pricing plans. It’s free to use for verified students and maintainers of popular open source software.

Seems pretty clear. If you're willing to do your own research (aka going to the CoPilot site): https://github.com/github-copilot/tp_signup, you'll see that pricing reflected here as well as the date when the free period ends, which is August 22nd.

I have an open source project. Do I qualify or not other than guessing at what appears on the billing screen
Yea, I also have no idea... They could be more specific what qualifies as popular os project
Does copilot learn from and suggest patterns in the same codebase that you're working, or does it just pull from the huge pool of projects on GH?

How well does copilot help with languages like Elixir that are less common? WIth TypeScript it's been remarkable, but that's one of the most popular and surely very familiar to devs and GH, so I would expect less popular like Elixir to not perform as well.

Does copilot work for shell scripts?

I'm a vim person and don't want to use VS code. Is copilot worth the hassle to get installed into vim?

It doesn't learn from your codebase but it uses the context of your code so any pattern will be picked up.
… and variable name spelling mistakes!
which is actually good because then i just right click the variable in my IDE and then click "refactor > rename" and i'm done
> suggest patterns in the same codebase that you're working

Sometimes, with variable results. I think I've only observed it guess patterns from the current directory

> Does copilot work for shell scripts?

Yes, it gave me this earlier today while editing my .zshrc:

  # kill a process on a given port
  killport() {
    lsof -i :$1 | awk 'NR!=1 {print $2}' | xargs kill
  }
Can't wait for someone to integrate this into a shell. Does anyone know if such a project exists?
"Copilot, how do I fork in a shell?"

  :() { :|: } :&
Thanks copil[user disconnected].
Integrating into a shell, for immediate execution, seems very very dangerous. You still need to carefully test/scrutinize everything that comes from copilot.
Probably not exactly what you're looking for, but Warp (a new terminal client) has "AI Code Search" built in that's powered by GPT-3. Quite useful for someone like me who tends to avoid the terminal when I can.

https://www.warp.dev

https://docs.warp.dev/features/ai-command-search

(comment deleted)
lsof supports machine-readable mode:

  lsof -i ":$1" -Fp | tr -d p
Copilot seems to learn from elsewhere in my codebase, and is able to utilize patterns I've used elsewhere in the codebase when prompted in a different file. Isn't perfect, but it saves a ton of time.

My primary usage is shell scripts, as it seems to struggle on complex code, while shell scripts are typically a lot of simple code.

I've played with it a little bit:

Copilot did pretty poorly when I tried using it with Julia- it kept suggesting Python code. I suspect it would do something similar in Elixir.

I'm also a vim person who doesn't want to use VS code, but I've gotten more than enough value to get into my first IDE (with vim keybindings). A lot of tedious C++ code is getting correctly auto-generated.

It has first class Neovim support, possibly a better alternative for Vim person than any IDE.
> Does copilot work for shell scripts?

Oh wow—a language where there are: 20 ways to do something, three of them are common, but only three others actually behave, by any standard, correctly, while being among the least-common in public code, seems like exactly the wrong kind of thing to use this for.

Shell doesn't need machine-learning autocomplete trained on existing shell scripts, it needs a hand-built aggressive linter.

> Shell doesn't need machine-learning autocomplete trained on existing shell scripts, it needs a hand-built aggressive linter.

Something like https://www.shellcheck.net/?

Does Copilot already display the licenses of the code it might insert/suggest, or assure the developer, that the inserted/suggested code is not a verbatim copy of existing code? How can developers be sure, that they are not violating licenses by using Copilot?
My sincere question is what if a developer looks at some GPL code, and then that developer encounters a situation in a corporate project where-in he uses the GPL code from memory, is that already a violation?

So to avoid a violation a developer needs to perform a mind-wipe?

(comment deleted)
I’d be even more curious (more philosophically than anything) as to who is liable for the mishap if Copilot suggests something that ends up violating a license. Is it the developer? The developer’s company? GitHub? Maybe the “AI” is the ultimate scapegoat (“we can’t be liable for what our helpful robot decides to do”)!
The details might differ per country, but my non-lawyer intuition clearly says that you are responsible for the code you publish, no matter what tool has suggested it.
I’m sure at the end of the day that would be the case in most sane legal systems. However, it does seem almost impractical in reality for anyone to do anything about it (kind of like Uber/Lyft/Airbnb making something so commonplace so quickly that the regulations they broke became meaningless).
(comment deleted)
It's the developer. Just because you copy/paste something you find on SO or Google or Githib doesn't absolve you of copyright infridgements
In most jurisdictions, if the developer is an employee the legal liability is with the company.
It's arguable. Copyright cares a lot about provenance, transformation, and commercial consequences. It all comes down to what you can afford to litigate. Some projects go to extreme lengths, like Wine not accepting code from anyone who has seen leaked Windows sources.
If the code is nontrivial, then yes, it is a violation. To be in compliance, you need to write your own code.

If I am writing a novel and I copy a section verbatim from another novel, I am infringing on the other novelist's copyright, regardless of whether I wrote it from memory or not.

And this makes sense. For a trivial operation, there might be only one way to write the code. That's not copyright infringement, just like you're not infringing on an author's copyright by occasionally writing a sentence that was similar to theirs. For a nontrivial operation, you can easily write your own code without copying someone else's work.

Remember also that you can use others' ideas. Copyright only cares about the code itself. If there's a clever trick that you've seen someone use, you're free to use the same clever trick as long as 1) they didn't patent it and 2) you're not actually copying their code

fair use != trivial
It's not about fair use. If you have a problem that can only be solved by one specific implementation, that implementation is not copyrightable because it has no creativity behind it.
> that developer encounters a situation in a corporate project where-in he uses the GPL code from memory

If you draw Micky Mouse from memory, Disney still owns the copyright.

There are many instances of people not even being able to see the code in question, see clean room engineering

An example for wine/proton/reactos developers from a moderator on the forum about the leaked windows xp code:

"You look at the code? You worked for MS? No dev for us! It's that easy."

https://reactos.org/forum/viewtopic.php?t=20189

There are many instances of large lawsuits where just seeing the old code made you in eligible to even touch the new code

From my experience with it the suggestions are so generic it's hard to imagine anyone has a legit license to "formatDateISO....() {code here}".

Maybe I'm using it wrong but I've hardly seen it pump out a mass volume of code.

Nope, have had the same experience as you and am of a similar opinion!
You really only need one example to offset this anecdote, so here you are: https://mobile.twitter.com/mitsuhiko/status/1410886329924194...

Copyright violations are a genuine concern from the outputted code, GitHub themselves have admitted it may emit raw training data rarely.

There is logic to ensure that copilot does not emit exact duplicates of code in the training set... but that logic is significantly newer than that tweet.
Link? I couldn't find anything "significantly newer" than 7/2/21 (though I'm sure GitHub is doing a lot here). They had this blog post 6/30/21 regarding efforts on avoiding raw code: https://github.blog/2021-06-30-github-copilot-research-recit.... They concluded:

> We will both continue to work on decreasing rates of recitation, as well as making its detection more precise.

Source: I work on the copilot team.
Was that decision informed by legal or product? Because derivative works are still derivitative works even if you don't replicate the original verbatim.
I mean, it was informed by both, but basically everyone thinks it's a good idea.
(comment deleted)
Others may have a different experience, but I have never seen Copilot offer suggestions anywhere near complicated/unique enough for it to matter.

That’s not a knock on Copilot, I think it’s a great product and I happily subscribed today after using it the last few months!

It's my experience too. It's a fancy autocomplete that works about 30% of the time for me, I'm not actually sure I'm saving time by using it.
Previously discussed at length here: https://news.ycombinator.com/item?id=27773157

> or assure the developer, that the inserted/suggested code is not a verbatim copy of existing code

No, it does not do that.

> How can developers be sure, that they are not violating licenses by using Copilot

There are no clear answers.

from Microsofts standpoint the shot across the bow for open source licenses is clear: do you have enough lawyers and experts to convince a gerontocracy of the legislative branch of the US government that its not "okay because its AI" because if you dont, then thanks for the code nerd.
(comment deleted)
Idk if MS is on the safe here. There's a straightforward legal theory for suing, and also parties such as EFF and others with a war chest and the determination to clarify this. Does MS provide indemnification to Copilot customers/users if those are sued by others? My advice would be to stay clear of Copilot.
it sounds like a good basis for a class action lawsuit, where the class are the people who own the licensed code whose license microsoft is ignoring.
Can't wait to get my three fiddy for my open source repos.
Seems like I'll get paid for this a while after I get paid for TurnItIn selling a product based on stealing my work
If you think the US doesn't have enough existing legal theory on copyright to litigate this then you're crazy. It will be on MS to show that it isn't infringement.
Now add in 100 other legal jurisdictions. I haven't looked, but I assume Copilot is available outside the US?
I really want MS to try that theory in a court and win.

That will destroy the propaganda that the Law is there to protect content creators better than anything the people against copyrights can come-up with.

From the FAQ

""" We built a filter to help detect and suppress the rare instances where a GitHub Copilot suggestion contains code that matches public code on GitHub. You have the choice to turn that filter on or off during setup. With the filter on, GitHub Copilot checks code suggestions with its surrounding code for matches or near matches (ignoring whitespace) against public code on GitHub of about 150 characters. If there is a match, the suggestion will not be shown to you. We plan on continuing to evolve this approach and welcome feedback and comment. """

I remember reading something like this just before somebody proved that it would recite Carmack's square root algorithm word for word.
> the rare instances

That's a bold statement considering how easy it was for testers to quickly find examples of this in initial testing.

> against public code on GitHub

... and how some of those examples found were from code not hosted on Github.

Ultimately though, what matters here is not whether this is true but whether it's plausible enough for legal departments in companies buy it.

Do you recall/have a link to such examples? Would be interesting to try them again with the filter.

The example I can remember was Carmack's* quick square root - but I'd probably call that "folk code" given it was passed down/altered before being misattributed to the Quake dev, and appears in hundreds of Github repos (many with permissive licenses like WTFPL, so a well-intentioned human may do the same).

https://github.blog/2021-06-30-github-copilot-research-recit...

> That corresponds to one recitation event every 10 user weeks

> This investigation demonstrates that GitHub Copilot can quote a body of code verbatim, yet it rarely does so, and when it does, it mostly quotes code that everybody quotes, typically at the beginning of a file, as if to break the ice

A year old post now, YMMV.

The fact that GitHub is now charging for this feature smells like a lawsuit waiting to happen. They're now literally profiting from potentially stolen GPL code.
I was a beta tester and just got kicked out. This explains why it happened.
I hope I never again have to work on a codebase/language where copilot would be worth subscribing to.
Unnecessary hate. I used it a while ago while writing some complex aggregation and grouping of data. It was pretty painful to write until I tried with Copilot and the result is both accurate and easy to read. I wrote unit tests and it's been fine ever since. This is but one example of the value of it.

I am sure some of the typical cynicism here will turn this into a protracted argument of "well maybe you shouldn't be a shit developer and you would be able to fit all the complexity in your head" but whatever.

I don't think the parent was criticizing Co-pilot. The point was that codebases that need a lot of boiler plate and predictable code are not fun to work with.
Nonsense. I've been using it to write tests, and it does a phenomenal job. If I write out the positive case, it will suggest the negative case and help me through the various permutations. This has by-far been the most useful part of co-pilot so far.

It's nothing I couldn't do myself, but just makes my job that much easier and quicker

Maybe try property based testing instead?
What does that even mean? It's like saying, "I would hate working on a codebase where autocomplete would help me". It's such a general statement.
(comment deleted)
It's quite hilarious to see both the wide-eyed futurists and unabashed Luddites in this thread.
You must only work with languages that you just invented.
Yes this is the the whole point of this

Unfortunately, there is no way I can hope for that much…

So yes, please, take my money and do All my boilerplate lol

(comment deleted)
Shouldn't Copilot technically be FOSS since it trains on open source?
If it should, it's a lot more complicated than that. "Open source" isn't a boolean where as long as you share your source you're compliant. Licenses usually require that a copyright notice be redistributed along with any source code and / or attribution in other ways, sometimes they require details of any modifications, etc. They're not doing that.
I’m especially curious about this if it trains on GPLv3 and AGPL licensed code.
Even if the model was FOSS, the infrastructure needed to run it would be costly.

Given the cost of single GPT-3 codex query, it's very likely that Microsoft/Github is still taking a huge operating loss at 10USD per month.

Probably costs 3-4 times that to power the infra. They’ll make money back if they’re able to do several step changes of improvement in cost optimization.
(comment deleted)
Yes, it is a derived work and should be GPL if it was trained on GPL code.
(comment deleted)
Only $10 a month to rack up dozens of license violations? What a deal.
I tried GHCP but found it overall unhelpful and kind of stressful to use, because of potential bugs I might overlook and "import" into my project.

Definitely does not seem worth paying for me to end up more stressed out, haha.

So it depends if you prefer writing or doing code review :) You'd maybe need another tool which converts review work to writing work
I'm good.. without it :D
IMHO, it's still far from GA quality/usability. A must-have feature that's missing is a toggle switch that lets you temporarily turn it off. Without a feature, it can get really noisy.
This may vary in the IDEs they support, but theres an "Activate Copilot" toggle button right in the status bar in VSCode to toggle on and off instantly that appears on every editor window if the extension is installed.
In Neovim it's just ":Copilot disable", ":Copilot enable".
The VSCode extension has one. There's a button in the bottom right with the logo that you can click to enable/disable, or you could add a keybind for the "github.copilot.toggleCopilot" command
You can toggle in PyCharm with Ctrl+Alt+Shift+O
There is a button you can click in VSCode to toggle it, so not sure what's the problem.
Are there any plans for GitHub Copilot to ship an API? I think it would be interesting to set it up w/ my side project https://codeamigo.dev
The API version of copilot exists.

It's called OpenAI Codex. https://openai.com/blog/openai-codex/

I'll be honest I love the technology involved in this product but I hate that it's another aspect of monetizing the efforts and humanity of millions of people.

It's incredible that we're able to do these things but awful at the same time since this data was / is not theirs. Same as something like Dall-E.

> monetizing the efforts

...and not compensating (or even attributing as required by the licenses) the authors for it.

It's not copying open source code. If you learn an algorithm to balance a binary tree from reading GPL code, and then go use that algorithm in your own closed-source project, with your own variables and types and context, are you breaking GPL? You're not copying the code. Just because you learned about it from reading GPL code doesn't mean that whenever you write tree balancing code from now until the end of time, all that code has to be GPL'd.

Copilot learns the "shape" of code. Common patterns and algorithms, etc. You can't copyright an algorithm.

Personally, I'm more concerned about google using emails from gmail to suggest what to write.
If you decompile runtime bytecode and assign your own variable names, does the copyright of the original source code no longer apply?

If you trace a picture and use it in your work of art, does the copyright of the original picture no longer apply?

If you copy a tune but set it to new instruments, does the copyright of the original tune no longer apply?

Sampling is a legal minefield in music, why would it become less of a minefield in code just because you've automated it? So far the best attempt at an answer about the legal issue of Copilot I've seen was that it's "not technically violating copyright", which honestly is not very reassuring and extremely morally inconsistent for a company built by a guy[0] who is philosophically invested enough in intellectual property as the pillar of human society to write An Open Letter To Hobbyists and use his Foundation to convince entire governments of adhering to IP laws instead of allowing the mass production of vaccines and medicine.

[0]: Yeah, I know that he no longer serves an active role in the company but this was very much a founding ethos and this is at least a fair bit hypocritical.

If you teach someone about music theory by listening to Stairway to Heaven, and then they write their own song that starts with an A minor chord... are they violating copyright of Stairway to Heaven?

Copilot isn't sampling. Sampling is literally copying snippets of someone else's music and putting it into your music. Copilot doesn't do that. There's no giant database of text that it just slurps suggestions out of.

Copying of code needs to be very direct. Even Google copied tens of thousands of lines of code from Oracle character for character and won the case taken all the way to the Supreme Court. When Oracle made changes (even during the court proceedings), Google kept copying the code and every change Oracle made. So I doubt you’re at real legal risk with what you were proposing.
Is your argument in good faith? Seems like you know enough about the matter to destinguish an API definition from implementation. That's what that ruling was about, and you seemed to know it, yet make the comparison as if it was valid.
Read up on clean room design and the IBM lawsuits from the 80's and 90's

Just seeing someone else's code is hazardous from a legal precident point of view

Im sure from Microsoft's POV is that they are charging you for maintaining and operating co-pilot (servers, admin, etc), not charging you for the tool itself.
I've enjoyed using it for free, but not sure it's worth the $10/mo yet. When it works great, it's a nice-to-have for speeding up development but has yet to give me anything I wouldn't be able to just write myself. And when I wish it would give me the answer to something I don't know how to do, it spits out something very wrong.

Also feels kind of icky to train on open source projects and then charge for the output.

Technically anyone could use those same open source projects and provide an open source solution, or paid solution as well. I do feel how you feel though it's a little off-putting.
The machine learning models are not open source themselves, so you can't just do this yourself with existing open source projects.
Matches my experience. I legitimately like it for quick boiler plates; it's like a better snippet engine. But Paying for it...
It's worth it if it saves you a few minutes every month.
Only if it saves you a few minutes every month in a "net" sense. If it saves you dozens of minutes every month and then also costs you dozens of minutes every month in hard-to-predict ways, it's hard to judge either way on it.
> Also feels kind of icky to train on open source projects and then charge for the output.

Yeah, this feels like the same nonsense that scientific journal publishers pull. If your product only has value because of what we made, it's completely unfair to not pay us for our work and then to turn around and charge us to use the output.

Also its users might be violating the GPL.

https://www.infoworld.com/article/3627319/github-copilot-is-...

How can the user be violating the license, not the distributor? If I give you a binary that gives you a Disney movie, it's not you violating the copyright, it's me. The copilot itself is violating the copyright, not its users.
If you're making software just for your own use, you're right. But most people who make software do distribute it.
If the copilot users then distribute the source they got from it, they are at that point violating copyright.

E.g., if I take that Disney movie, incorporate it into my own movie, and distribute it, then I'm also violating copyright.

If you take the Disney movie the binary gives you and then pass it on, you're in violation even if the company distributing the binary is also in violation. You can sue them for damages that result from you being sued but good luck.
The user of Copilot is a developer - the distributor.

And you might argue that Copilot is also a distributor.

Where I live, copyright literally means the right to copy. Which means using a binary that gives/produces/generates a Disney movie when you do not have rights to that movie, you violate copyright by virtue of copying the IP into your computers memory and then onto the view buffer of your display. Also if the binary manages to do that without actually violating copyright itself it might even be legal. There's other laws that could be used though, I forgot what they got Napster on but they had something to shut it down, same for torrent sites like Piratebay.
"Your honor, I had no way of knowing that this mysterious device I purchased that manufactured shrinkwrapped Disney DVDs was violating copyright."

"Intent is not relevant to copyright infringement liability."

"But your honor, I heard on Hacker News that it was."

"I find you guilty."

"But your honor, copyright violation is usually a civil issue, and 'guilty' is a criminal trial concept."

"Well, I also get my legal training from Hacker News."

Yes. Even if it may be permitted under some licenses, training models off millions of developers' code and capitalizing on those models goes against the spirit of open source software. I'd expect nothing less from Microsoft.
Given the cost of the infrastructure needed to run those large language models, it's very likely that Microsoft is still operating copilot at a loss. I don't see an issue with it being a paid service as it is a costly service to provide.

What I pity however is that there's no free tier for hobbyists as paying a 10 usd monthly subscription wont make sense when you only code occasionally. For professionals using it everyday, 10 usd / month is inconsequential.

I don't think that would have costed them much more to offer a free allowance to cover say an average coding session of 8 hours per month.

It’d be nice if they made it free if the upstream repo is published publicly under an open source license. They have all that info already.
GitHub Pro is $4/mo and includes 3000 minutes of CI compute per month (private repos), among all the other features. You’re not going to use 7500 minutes worth of compute a month with Copilot. I’ll certain pay up, though.
CI runs on CPUs, Copilot runs on GPUs. Waaaay different. Especially in this age of cryptocurrencies and chip shortages.
It’s free for open source maintainers.
Open source maintainer here. No, it's not.

100% of what I do is open source. It's used by millions.

It's free for maintainers of "major" open source projects. I'm not sure what a "major" open source project is, but it's clearly not what I do. The only way to know if your open source project qualifies is to try to sign up. If it does, you're given a free option.

What repo do you maintain that is used by millions?
I don't connect my real-life identity to my personal identity.

I am the primary author (but not current maintainer) of an open-source project which is reported to be used by over 100 million people, according to (flaky) statistics kept by the current maintainers. That's around 1% of the people in the world.

I don't trust the current maintainers to be honest with numbers (there are lots of ways to estimate numbers of users), but it's definitely in the millions, and it's a project you (and most random people you'll meet in tech, and many outside of tech) will have heard of.

I am currently working on earlier-stage projects, which have smaller communities, but 100% of them are open-source.

> Also feels kind of icky to train on open source projects and then charge for the output.

"open source is great, except when it's used in a way I don't like"

I don't see the use itself as a problem, but rather that the result is not treated as a derivative work of the input. If I train it on GPL code, the result should be GPL, too.
This is kind of like saying that any programmer who has ever learned something from reading GPL code can only use that knowledge when writing GPL code. It's not literally copying the code. The training set isn't stored on disk and regurgitated.

Also - there is logic in copilot that checks to make sure it is not suggesting exact duplicates of code from its training set, and if it does, it never sends them to the user.

But Copilot is not a programmer, Copilot is a program. Slapping the "ML" label on a program doesn't magically abdicate its programmers of all responsibility as much as tech companies over the past decade have tried to convince people otherwise.
> This is kind of like saying that any programmer who has ever learned something from reading GPL code can only use that knowledge when writing GPL code. It's not literally copying the code. The training set isn't stored on disk and regurgitated.

I wouldn't put any hard rules on it, but it does seem very fair for programmers who have learned a lot from GPL code to contribute back to GPL projects. I have learned from and used a lot of open source software so whenever possible I try to make projects available to learn from or use.

I really dislike this false equivalence between human learning and machine learning. The two are significantly distinct in almost every way, both in their process and in their output. The scale is also vastly different. No human could possibly ingest all of the open source code on GitHub, much less regurgitate millions of snippets from what they “studied.”
Read up clean room design and on the IBM bios lawsuits from the 80's and 90's just seeing proprietary code can be a violation

Why is it different if we slap a "ml" lable on it

I guess if you trained on GPL code that should be true for your code as well.
It would be great if that were the case, but unfortunately it isn’t. We’ll need new laws for that.
Yes. It is completely valid, understandable, and reasonable to have a variety of different feelings and views about how specific code and specific licenses are used.

This is particularly the case when we see the emergence of new technologies that use it in different ways. Different people may have a wide variety of equally valid views about how it is incorporated into that system.

There's nothing inconsistent, confusing, or complex about those views.

I think the issue is not that it’s trained on open source code but that it’s trained on code whose licenses may not permit it. If you license your project in a permissive way then I don’t see a problem.
Most "permissive" licenses still require attribution.
Are there actually any licenses which do not permit training an AI model on the code?
(IANAL) It's a tool, transforming source code. The result thus seems like a derivative work; whether you are or are not allowed to use that in your work depends on the originating license. (And perhaps, your license. E.g., you can't derive from a GPL project and license it as MIT, as the GPL doesn't permit that. But to license as GPL would be fine. But this minimal example assumes all the input to Copilot was GPL, which I rather doubt is true, and I don't think we even know what the input was.)

I think there might be some in this thread who don't consider these derivatives, for whatever reason, but it seems to be that if rangeCheck() passes de minimis, then the output from Copilot almost certainly does, too. That a tool is doing the copying and mutating, as opposed to a human, seems immaterial to it all. (Now, I don't know that I agree with rangeCheck() not being de minimis … and yet.) Or they think that Copilot is "thinking", which, ha, no.

Open source licenses aren't a free-for-all. Many have terms like GPL's copyleft/share-alike or the attribution requirements of many other licenses. If copilot was trained on such code, then it seems that it, and/or the code it generates, violates those licenses.
Yea...does this mean it will stop working until I pay?

It's been really nice for autofilling console logs and boilerplate code...but $10? It's a novelty that is nice when it works, but that's a steep price point for what it is, and I don't see that changing any time soon.

People in the technical preview get a 60 day free trial, but yes, after that, you'll have to pay.
> has yet to give me anything I wouldn't be able to just write myself

Sure it has: Time.

In terms of economics it's really simple: Does Copilot free up more than 10$ worth of your time per month? If the product works at all as I understand it (I haven't tried), the answer should be a resounding "yes, and then some" for pretty much any SE, given the current market rates. If the answer is no (for example because it produces too many bad suggestions which break your flow), the product simply doesn't work.

There might be other reasons for you not to use it. Ego could be one. Your call.

> Also feels kind of icky to train on open source projects and then charge for the output.

I don't know why it would feel any more icky than making money off of open source in other ways.

I want to love github co-pilot, but its just not there yet. For trivial stuff it's great, but for anything non-trivial it's always wrong. Always.

And my problem is : Time.

Cycling through false positives and trying to figure out if it's right costs me way more than $10 a month in productivity.

I cant wait for better versions to come out, but right now, no.

Yeah it's just practicality for me. There is software I pay a lot more for that I use a lot less.

$100/year is a steal for the amount of tedious code copilot helps me with on a daily basis.

It is completely different than using open source programs to make money. Many open source licenses explicitly require any derived work to maintain the copyright notice and a compatible license. If I use github copilot to create a derived work of something somebody else published on GitHub, I have no idea who wrote the upstream code or what license they made it available under. The defense for this is the claim that GitHub copilot doesn’t create a derived work, since the code it produces is very different than anything upstream (this is claimed in the original paper from openai). However, many people have found examples showing this to be a questionable or wishful-thinking claim.
Lack of training data is obviously not gonna be a linchpin in this project, no matter how reproachful the hs crowd looks upon copilot in regards to oss licensing. Even if we are prepared to dub the copilot team liars (bold move, good luck in court) there is always gonna be enough code to go around to make this thing happen regardless. Rumors are microsoft could chip in some.

In addition, the idea of "derived work" in code snippets is, quite frankly, nuts. There is only so many ways to write (let's be generous on the scope of copilot) 25 lines of code to do a very specific thing in a specific language. If you have 1000000 different coders do the job (which we do) you'll have a significant amount of overlap in the resulting code. Nobody is losing sleep because of potential license with this. Because that would be insane.

I have noticed that upholding oss licensing (at least morally) is kind of a table manner on hs. That's fine, but this is some new level of silly.

It's also not gonna persist, because no matter how much we love our oss white-knightedness, we love having well paying jobs more.

Having used it quite a lot I'm not sure it does save me $10 of time per month. At least as often that it generates usefully correct code it generates correct appearing but actually totally wrong code that I have to carefully check and/or debug.

It's quite nice not to have to type generic boilerplate in sometimes I guess but it's very frustrating when it generates junk.

Same experience for me. Checking the code it generated, and the subtle bugs it created which I missed until tests failed, made it at best a net-zero for me. I disabled it after trying for 2 months.
You lasted long than I did! Disabled after a few days.

I think it really depends on what languages you use though. If you use something like Kotlin where there's really almost no boilerplate and the type system is usefully strong, the symbolic logic auto-completion is just far more reliable and helpful. If you're stuck in a language where there's no types, and there's lots of boilerplate to write, then I can see it may be more helpful.

I turned it off a week ago because I found it was wasting time when everything it generated required going back to fix issues.
> I don't know why it would feel any more icky than making money off of open source in other ways.

For me, this entirely comes down to the philosophy of how a deep learning model should be described. On the one hand, the training and usage could be thought of as separate steps. Copyrighted material goes into training the model, and when used it creates text from a prompt. This is akin to a human hearing many examples of jazz, then composing their own song, where the new composition is independent of the previous works. On the other hand, the training and usage could be thought of as a single step that happens to have caching for performance. Copyrighted material and a prompt both exist as inputs, and the output derives from both. This is akin to a photocopier, with some distortion applied.

The key question is whether the output of Copilot are derivative works of the training data, which as far as I know is entirely up in the air and has no court precedent in either direction. I'd lean toward them being derivative works, because the model can output verbatim copies of the training data. (E.g. Outputting the exact code with identical comments to Quake's inverse sqrt function, prior to having that output be patched out.)

Getting back to the use of open source, if the output of Copilot derives from its training data in a legal sense, then any use of Copilot to produce non-open-source code is a violation of every open-source licensed work in its training data.

But I don't get paid on a piece rate; the amount of time I spend working is constant. Anything that increases my productivity just means I get more work done. (Others may differ, but I know from experience that I like to keep to a fixed schedule.) And that's mostly benefitting my employer, not me, so it seems like something my employer should pay for, if they believe in it.
I could also make a mistake due to Copilot which takes me time to fix, and then I end up spending more time checking code where I previously used it. It has similar pros/cons than copy/pasting
> Also feels kind of icky to train on open source projects and then charge for the output.

The business model for most of the Internet is to bait people into using things for free and then monetize them without compensation in some roundabout way.

I already have it in my visual studio code. I do like it. Will it stop working for me now?
> train on open source projects

To be specific, the FAQ states: "It has been trained on natural language text and source code from publicly available sources, including code in public repositories on GitHub."

Some have raised concerns that Copilot violates at least the spirit of many open source licenses, laundering otherwise unusable code by sprinkling magic AI dust... most likely leaving the Copilot user responsible for copyright infringement.

Yep. The only reason it hasn't been utterly dogpiled by lawyers is that far fewer people care about code than other forms of IP. If I made an AI assistant called PhotoStar to help with digital art and it just attaches Big Bird's face onto a character in my children's book I'm going to get sued. "Hey now, I just hit paste, the software pressed copy by itself" is not going to hold up.
But if you made DALL-E and it just remixes images sourced from a broad scan of the Internet, filtered through several layers of machine learning indirection, you're all good.
Sure, if it's remixed to the point where most people don't go "hey that's Big Bird!" CoPilot doesn't, or at least doesn't always, like when it just copied Quake's fast inverse square code with the verbatim comments including profanity. Using CoPilot to create commercial code opens the coder to significant liability if there's enough money at stake.
Just argue that you subcontracted that code to Microsoft in good faith for $10/month and pass on the lawsuit to them.
That piece of code had duplicates in the training set making it prone to memorisation. Almost all generated code is original.
Almost all generated code is original

Good, you will almost not be liable for infringement.

Let's wait for the first big Codex infringement scandal to erupt and then I will start worrying about it.
Or the fact that you grant GitHub an implicit license as outlined in the ToS.
GitHub has never asked for representation to provide an unlimited-rights license to GitHub themselves for any purpose. Further, the person posting GPLed code to GitHub is not necessarily the only or sole copyright holder, and GitHub has never represented that there was a problem with this.
GitHub isn't liable. That's been established in court with regards to training AIs. Who is liable is you who may or may not have the legal right to use the code CoPilot spits out for you.
This has been explained many times - you can check word for word the output is original. All it takes is a bloom filter trained on the Copilot training set and an ngram extractor.
Yes, and you'll be fine if you do. The problem is you might not bother.
It seems like this space will open up all sorts of interesting novel legal questions.

It is possible to provide CoPilot with a sequence of inputs that produces some of the input, which was copyrighted. Let's say you want to help people violate copyright, so you as a third party distribute a script that provides that sequence of inputs. Who's violating the copyright there?

Alternatively -- it is apparently legal to produce a clean-room implementation that duplicates a copyright implementation. Supposing you were to use a tool like CoPilot, which has just been trained on that copyright implementation. Is your room still clean? You might even be able to get it to spit out identical functions!

Or, if you have a ML algorithm which has been trained on leaked closed source code, and it is sufficiently over-fitted as to just provide the source code given the filename or the original binary, who is violating copyright when this tool is used? If it is just the end user, then this seems like a really convenient way to launder leaked closed source code.

I don't think it's a clear cut as you make it out to be. Tortious interference is a common law remedy that might make Github/MS liable.

If I induce you to break a contract with someone else they can come after me for damages.

For example in this case, there are developers who have created GPL code. That code was licensed to some other developer. Github then encouraged people to upload git copies of the GPL code onto github where it was put into the model. That model contains the copyrighted materials and isn't coming with the necessary notices. The output of the model can be code that is a direct stand in for the copyrighted work. Thus Github have become a party to breaking the license even though they themselves never agreed to the GPL.

In addition Github are encouraging (They are advertising it and making it available broadly) other developers to copy that code and use it in their project. Again that's encouraging an action that breaks a contract. Github is well aware that this is likely happening and they continue on. Thus they might be liable. You also might be liable.

All of these things can and likely will be argued before courts but it's not at all one sided.

> That's been established in court with regards to training AIs.

What are you basing the certainty of this statement on? The case law I have seen around this is pretty spotty. Cases around training on copyrighted materials have predominately been about the input, and not the output. With the final output usually being controlled by the model owner. For example Google obtained the books they scanned legally then used them to produce google books' index. There are some major differences.

- The books were purchased, meaning they got a license to use the book. There's for sure code in the model that Github does not legally have the right to use. They are aware of this. Making the input more shaky for github. - Github is making a direct profit off of this service. It's a revenue generating enterprise. That's important since it raises the bar of what they can be expected to do.

There's been nothing that goes to the supreme court yet; it's all per circuit and not settled case law. Also this gets WAAAAY more complex when we start talking about outside of the US and isn't decided at all.

These things are complex and likely you need your lawyer to advise you with any real questions.

> The books were purchased, meaning they got a license to use the book.

This may be a bit nit-picky, but I don't think that is correct.

Most books I've seen don't say anything about granting a license so there would be no explicit license that comes with them.

Maybe you could find an implicit license if normal use of a book required a license but it does not. Copyright law allows all the normal uses of a book without requiring permission of the copyright owner. You only need a license when you want to do something that requires permission.

I should have been more explicit; You are completely correct.

I was saying that there's some implied license after first purchase. I believe that was part of the court's decision. Paying for a book (or a library paying) gives you implicit rights to fair use. Github's copies of code were not purchased. They were given by sometimes third party.

So there's likely some room to argue that fair use rights are different enough between previous cases and github.

This is legit. While it seems it takes forever to bring this kind of stuff to trial, it will be an interesting case for sure. Especially in the broader more general sense.

AI is just recomposition of existing snippets of code, art, text, music, etc. Does an AI fall under fair use? What happens when an AI produces something too similar to an existing work or trademark. I know the computer won't get sued, the owner/user will. But still, it's a hard problem.

Even if Copilot was initialized with snippets from Open Source Software (exclusively), it doesn't mean that copyright infringement isn't a concern.

> AI is just recomposition of existing snippets of code, art, text, music, etc.

It's not random recomposition, which is worthless. It's useful recomposition, adapted to the request and context. It adds something of its own to the mix.

Another concern is that nearly every stackoverflow answer or wikipedia article that isn't a trivial algorithm tends to be buggy at its edge conditions. Most of them look like they were submitted by college students and not experts.
Remember when we believed that experts were over because the wisdom of the crowds would reign supreme?

Been a hell of a decade, hasn't it.

When the wisdom of the crowds is all easily accessible, the hard part becomes curating.
The "wisdom of the crowds" doesn't mean what many people think it means.

The wisdom of crowds works best when:

1. participants are independent (otherwise you may get failure modes, such as "groupthink" or "information cascades")

2. participants are informed, but in different ways, with different opinions;

3. there is a clear, accepted aggregation mechanism, where individual errors "cancel out" to some degree

I view the topics in James Surowiecki's book (or the Wikipedia summary of it, at least) as required thinkinpg for everyone, preferably synthesized with a study of statistics and political economy.

In particular, the Wikipedia article's section on "Five elements required to form a wise crowd" is a slightly different slicing of the required elements that I offer above.

* If you read that section, trust is listed. I, however, don't see trust as a necessary condition for a "wise crowd". Trust is often useful (or even necessary) when a collective decision is used for governance, decision-making, and policy.

I still can't believe they trained it with open source code, and didn't have some tag system to a) exclude based on licensing, and b) autoinclude licensing, or at least warn about it before applying code. Especially when many cases were shown of it line by line writing code from the same exact codebase.
Not to mention that just because the code is public, doesn't mean you can use it however you want. You can publish code and still retain copyright. Wonder if GitHub looked at the license when they gathered the data for the model.
It seems unfortunately clear that generative ML as typically practiced falls under fair use of even the most restrictive licenses or lack thereof (e.g. a training set including disney movies without disney’s permission). Some people say that’s great and it’s legal hooray, but I would love it if the law caught up and added requirements to the models trained this way. If you benefit from other people’s stuff without their permission then you ought to have to give back in some way.
(comment deleted)
If you can't prove your code was stolen you shouldn't have a claim. And Codex should just skip code that exists in the training set. All that remains is creative code.
Would a cartoon about Mickey Duck and Donald Mouse be infringing?
You can work on the definition of "similar code". It can be a separate model on its own. Use human judgements to learn it.
What is actually crazy is having copyright/patents/whatever apply to mathematical structures and code, and be retainable for long, it's rent on ideas, such a ridiculous concept.
Copyright and patents are very different. I think the general consensus among developers is that software patents are silly, but copyright on source code is very important.
It’s hardly different from reading those projects yourself and learning from them.
Learning from them would be fine, reproducing them as-is without abiding by the license is not and that's where the difference lies.
How can it help you to speed up development but not be worth 10$/month. Your hourly rate can’t be that low.
It's great when it works, and can also be costly when it doesn't or when you blindly trust it.
Which is just another way of saying that it doesn’t really work, except perhaps for party tricks.
For me it works wonderfully, when you choose to use it. If you are just blindingly accepting every suggestion, you're going to have a bad time.

You also have to (slightly) change your flow to get the most out of it, which I know is a deal breaker for many.

I absolutely love it. It's not going to write good code for you, but for an autocompleter it is amazing.

The fact that GitHub charge only 10$/month suggests that they themselves don’t believe in their product. Because if it would actually work, i.e. speed up software development by, say, >10%, developers should be happy to pay 10 times as much or more.
This is a rather silly argument... by that logic since using the Adobe suite saves me at least it has a dozen hours every month I would be happy paying $500 a month for it.

There's a limit to what individuals are willing to pay for a subscription service irrespective of how many hours it saves you. Now if we're talking enterprise and bulk licensing then that's a separate issue.

This is a rather rude response… Your comparison with Adobe suite has a flaw, but I have no interest in exchanging ideas in this tone.
Agreed. At the very least, I was hoping they'd bundle it with the GitHub Pro subscription for individuals rather than as a separate product.
Totally agree. I was expecting to get this feature as part of my Pro subscription.
I was expecting the same.
Depends on your budget of course, but I don't think it's worth $10/month. I pay just a little bit more than that for an entire IDE. The problem with Copilot is that it's USEFUL for boilerplate code and when you need a lot of copypaste "coding" (think APIs, controllers, etc... basically shifting data around the place), but any time you need to actually code something with some actual algorithmic logic behind it, it's little more than a distraction, and often even a really problematic one, because if you let it, it will happily suggest things that look OK on the surface, but are almost always (and I really mean most of the time) wrong, buggy or otherwise incomplete. You can't realy on it. It's like a kid (I wanted to say a "junior programmer", but it's not anywhere near that level) you can offload some chores to, but you always have to check on it and what it actually does. Fine if all you need is to wash the dishes... more than that and you're asking for trouble.

When I'm in the flow, trying to solve some algorithmic problem, I always turn it off because the BS suggestions coming from its little "mind" actually slow me down and mess with my focus. Which all makes sense when you realize what it ultimately is - a philosopher, as opposed to a mathematician.

I very often will let it suggest its thing and then tweak it to work how I want. It's like super auto-complete for me. If I can't remember how a specific pattern goes for some library, I'll let it write it for me, and then double check it to make sure it's doing what I want. That's still faster than me going to check the API and writing it all out by hand.

Most projects are 90% BS glue code and 10% actually interesting code. I don't mind only having help with the 90%.

This seems pretty reasonable to me / resonates w/ how I might use it.
I used copilot yesterday because I wanted a random 10 character long string and was like. Ahh I don’t have the brain power right now to think of this. And remembered I had copilot. So I enabled it. Wrote a comment. And it generated ~10 lines that solved my problem. Tweaked a little bit and rolled with it.

It helps solve the boring simple shit so I can focus on the interesting bit.

> Most projects are 90% BS glue code and 10% actually interesting code. I don't mind only having help with the 90%.

Yea, that makes sense, I agree with that. If your use case is skewed more towards "BS glue code" as you say, you'll find more use out Copilot. Then $10/month can be fair, cheap even.

I went to see the pay URL and it said I was eligible to get it for free. Not sure if that works for some people who contrib to other OSS repo's, but I was about to give up on it when I saw I didn't have to pay, so might be worth checking.
Also, $10/mo is not so bad but I am not in the place right now for more subscriptions. I am in the process of stopping several at the moment.
Same here. With prices rising everywhere and a salary of ~40k euros before taxes (which is normal in IT in many EU countries if you don't work for big tech) I hardly have room for another subscription. People here are too quick to say "what is $10 on a $80/hour salary?"
> Also feels kind of icky to train on open source projects and then charge for the output.

How would you feel if they just provided the software without the model, assuming you could train it yourself on open-source code in an instant?

I don't know enough about how GTP-3 and ML work to really answer this, but I think I'd be fine with what you're saying if I understand the question. If they provided (and charged) for the infrastructure, but the model was FOSS and community-driven, it would be less icky I think.

I just don't like the idea of taking people's work (without asking or checking licenses) and then selling it back to them. It'd be like if Stack Overflow decided to start charging to see answers and not asking or giving a split to the person who gave the answer. I realize they aren't just copy/pasting so not a perfect parallel, but still.

They still have to pay for servers and maintain the model itself. A neural network isn't just the data -- training and commercializing it (testing, QA, etc) is a lot of work.

You wouldn't have an issue with someone making money by using open source software (like a website that is hosted on a server running linux).

When I try and sign up for it, I am presented with a "Confirm Payment Details" screen with no way to proceed.
You have to give a credit card or other payment details to enter the free trial.
Did they fixed the licensing dangers?
As they don't mention it I doubt it.

Tabnine, a similar competitor, explicitly mentions this on their website:

" Tabnine only uses open-source code with permissive licenses for our Public Code trained AI model (MIT, Apache 2.0, BSD-2-Clause, BSD-3-Clause). "

Other commenters here say the completion quality is worse than Copilot. I use Tabnine for local short completions only and am quite happy with it. Didn't try Copilot yet.

You apparently can "opt out of public code" now. I didn't find an explanation for whether that properly limits it to permissive licenses though.

Update: It seems like they check whether the code it emits matches the training set and if it does it won't suggest it.

No they did not. You have to train on only fully permissive code to ensure that is not a problem
Has anyone been able to sign up since this announcement?

I get to a "Confirm your payment details" screen, but there is no further action I can take (ie: no button to press or link to click to "confirm"). It does say "You will be billed $100/year starting August 20, 2022" -- but when I view my "settings", it tells me I haven't signed up for copilot.

I tried various browsers, including Edge on Windows 10 sans plugins (the combination I would expect to be the most supported for MS owned github.com).

I don't even see that. I see a "Start my free trial" button and it just takes me to the generic billing screen. How do I even purchase this? Is it its own subscription?
There are some GitHub problems that are getting addressed right now.
Ah, victims of their own success? Glad to see people are lining up to pay for it :-)
Actually, I quite like it. Especially for these repetitive things one can forget. Stuff like there is a deleted field in one table, usually you would write an sql query like

   .filter(table.deleted==False)
nothing complicated, but one tends to forget it. So i got into the habit of starting a new line in whatever query I am building and see what copilot thinks I forgot.
Insta buy for me (expense hopefully). I am just continuously mind blown by it, and I quickly notice and get frustrated when it's not enabled. It really is giving coders superpowers.

EDIT: looks like I'm getting it for free because of my contributions to open source o.o dope!

Yeah can't live without it anymore. It's already muscle memory to intuitively pausing typing, just waiting for Copilot to complete my line. Pretty good sense on what it should get right too. Knew this was gonna be a $10/month thing. oh well.

Hope though, when AI is becoming increasingly useful and seamlessly integrated, they not gonna take an arm and leg for it. It's just gonna be way too good to pass, people won't really have a choice but pay.

(comment deleted)
I've been using Copilot for a while now. I'm lucky that I don't have to pay moving forward but I would totally pay $10/mo for this. When writing tests, this thing works so well that it saves me 10-20% time writing code so $10 is nothing.
> I'm lucky that I don't have to pay moving forward but I would totally pay $10/mo for this.

How? I was in beta but looks like I'm kicked out. I also verified my student status but get prompted to pay. Are you a maintainer? Have you verified that you have access?

I am not sure the exact logistics of access (I’m also a student so I will probably look into trying to get access when I have a chance), but in the blog post with the original announcement > It will also be free to use for verified students
I'm a maintainer of a large open source project
My unpopular take: most comments here are super entitled.

To paraphrase: "sure it's minblowing and the biggest productivity gain in years, but I want it FREE".

Yes. You got used to it being free. And now it's not. But $10/mo is a steal. It's more than fair and far, far less than they could get.

And no. They don't owe you anything.

In fact, they probably host your code (often free), and less directly provide your IDE (for free). So this idea that they owe you something needs to be reassessed.

CoPilot is easily worth it and I think this is fair. I actually welcome it because I was nervous it might be like 80.

That money isn't going to the folks who wrote the code to begin with though. I think that's where "it should be free" has merit, GitHub is making money on the backs of others.
Why should the money go the to code authors in the first place? All training data is available under permissive licenses. Assuming you're not overfitting on specific code sequences (which would require attribution - and yes, I'm aware Copilot is not immune to this problem and it needs fixing), I'd say this is fair play.
Unless something has changed, the training data also includes copyleft code, not just permissively licensed code
Regarding the training of the model - I don't think a copyright can restrict reading, and training is reading, not distributing any original data.

About deploying the model - it just needs to filter out verbatim exact snippets so it only outputs original, unattributable code. That can be done by hashing ngrams and a bloom filter. The vast majority of code generated by Codex is original anyway.

By the way, Codex is good for many other tasks, like, parsing the fields of a receipt, or extracting the summary of an email, or generating baby names, it's an all purpose NLP tool. Just call it like a function. Code completion is just one thing it does. It talks pretty great English, can compose poems.

> it just needs to filter out verbatim exact snippets so it only outputs original, unattributable code.

That's a setting now.

>All training data is available under permissive licenses. Assuming you're not overfitting on specific code sequences (which would require attribution - and yes, I'm aware Copilot is not immune to this problem and it needs fixing), I'd say this is fair play.

Copilot isn't honoring the license, so why does it matter whether it was under a restrictive or permissive license?

The people who designed the model are almost certainly paid by microsoft.
That's how any business product works. Whenever a company releases a new product, the income doesn't go to the employees; It goes to the company, who will then pay those employees.
Except GitHub isn't paying the authors of the original source code?
What? Should I have to reimburse the author of every tutorial and Stack Overflow post I read on my journey to becoming a software engineer?
They intentionally opted in to sharing their work with you in a certain way. If someone copy pasted stack overflow answers and made them into a book, which they sold for money, that would be wrong.
OK... but it's totally possible to use Github repo code as a learning resource too, and I've done this often.
People do do that. But I think that's a bit different because they add very little extra value. It doesn't take any effort. Why should I give them money?

Copilot is different - it clearly takes a lot of skill and effort to turn a bunch of GitHub repos into a fancy autocomplete system.

it's using GPT-3 and, mhm, I guess everyone having proprietary access at GitHub's resources and computing power would be able to get this running.
Those authors are getting views and imaginary internet points for their work, which is often times more valuable than money to programmer types. It's not like people write SO posts for a salary.
Obviously not, but products and people are generally treated differently. Hell, even commercial products and free products are often treated differently.
(comment deleted)
If Stack Overflow sold its services as a subscription service, then maybe you would feel entitled to a share of the profit off of your work.
(comment deleted)
(comment deleted)
I do think they should pay the folks whose code they used to train the AI. Something like how Spotify pays artists based on how much their music/content is listened to.
Do you also think you should be compensated by OpenAI for all the blog posts you've written that went into GPT3's training?
perhaps they can reimburse them with free access to an IDE and perpetual hosting of their repos

/snark! I think it'd be great if AI could tag its sources and distribute money accordingly, but I expect some perverse incentives to pop up in doing so...

The verb "should" does a lot of heavy lifting in that sentence.

Because, if they don't pay these folks... I mean, who does that hurt? The concept of intellectual property exists to incentivize creating valuable art/literature/code. In theory at least, we agree to uphold IP laws because we recognize that more value gets created when they're a state enforced monopoly on the person who came up with that piece of art/literature/code.

But we also recognize that sometimes these laws go too far; eg that there are patent trolls and corporations fighting public domain and game publishers going after anyone who makes a let's-play of their video.

In those case, it's reasonable to think the world would be better off if we all shrugged and told the IP holders "too bad, someone else is going to create value off your work and you're not going to get a cent from it, we just think it's not worth building and maintaining a nightmare bureaucracy just so you can tax them".

And from that point of view... Copilot is fine? It's not like the people posting code on Github or StackOverflow were thinking "I'm only doing this because I know a future AI 10 years from now won't scrap the code I wrote to train a neural network to create a code completion engine". Yeah, yeah, this breaks the spirit of the GPL and Stallman's vision, etc, etc.

But... I mean, at some point, you got to stop debating semantics and wonder what we're coding for. What Microsoft has created is a tool that can collectively save developers billions of man-hours. It's a net good for humanity. As far as I'm concerned, the fact that this net good was developed is infinitely more important than the fact that Microsoft didn't pay royalties to a nebulous amount of developers who wouldn't have noticed anything if Microsoft hadn't developed Copilot.

tldr MIT license is great, piracy is great, fanfiction is great, screw the very concept of intellectual property.

copilot also got its training sets for free and not really with any kind of consent from the owners of that code, and it's really quite ambiguous as to if what it's doing violates many different open source licenses of its training data

Microsoft is selling AI services based on training data they don't own and didn't acquire rights to, nobody writing the licenses of the code it's using had the opportunity to address this kind of code use without license, attribution, or consent. (and the training data is a huge part of the value of an AI product)

You need to require rights for scraping publicly available resources?

Damn, rip Google.

You need to acquire rights for copy/pasting my code and selling it in a book, for example.
but what if I publish an algorithm in my book that just happens to be the same as code you've written, say, because we both had the same professor in school, or that it's the obvious solution to the problem.

once you've written a few lines of code as part of a larger project, is the rest of the world prohibited from writing the same code unless they agree to the terms of your license?

Copyright doesn't punish incidentally matching content. It's specifically right to copy or transform content. To make a case for copyright violation, you have to make the case that it was actually copied.

If you want to make a point about things that incidentally match making people who independently reinvent the same thing, you're criticizing the function of software patents, not copyright.

"Publicly available" isn't the same as "public domain" or "no copyright".
No, it was published to be read.

It was not published to be freely reproduced without adhering to licenses, etc.

You don't need to acquire rights to read a newspaper (other than say, paying a dollar), you do need rights to copy articles and sell them.

> Microsoft is selling AI services based on training data they don't own and didn't acquire rights to, nobody writing the licenses of the code it's using [...]

I agree, but it still uses resources and those don't come for free (hardware, electricity, cooling, maintenance staff, housing, etc.)

It's really difficult to assign monetary value to all these aspects and weighing them against each other in a fair manner.

The consent issue is a difficult legal aspect as well. Github's ToS Section D.4 clearly states they retain the rights to process your content and

  parse it into a search index or otherwise analyze it on our servers 
It can be argued that using the content to train an AI model falls under "analysing it on our servers". Also

  It also does not grant GitHub the right to otherwise distribute or use Your Content outside of our provision of the Service
If CoPilot is part of their service, it's in their right to distribute the content, e.g. by means of CoPilot as a processed part of the model.

GPL and other licences don't place restriction on the usage as training data. It's currently a very murky legal grey area. Licences need to adapt to this new form of usage pattern.

I think copilot is pretty clearly copyright violation and in violation of licenses of "public" code. People uploading code to github are bound to the licenses just the same as anyone, unless you're the legitimate owner of all of the copyright in a codebase, you can't give change the license provisions by accepting a ToS.

I don't think it's really that murky, these models contain and have been shown to reproduce copyrighted code with the right prompting, it's not a grey area it's just obfuscated theft.

what's the difference between allowing you to search github and find a code snippet, and having a fancy autocomplete system search github and find a code snippet for you?

seems to me anyone agreeing to the ToS should expect their code to show up on other peoples screens as search results

really the question is a matter of degree, is copying your nested for-loop iterating through a row oriented matrix really a unique piece of code protected by copyright? Or does the copyright apply to the file you've written as a whole, leaving room for me to accidentally use words in the same order? clearly there is a tipping point between writing code that looks like yours and using the code you've written outside the terms of your license, we will have to wait for courts to decide where that line is for all ML, not just co-pilot

also copying is not theft

When I look at github code, it's only stored in my brain and personal notes, not packaged into a product as a trained ML model.

When I reproduce code based on something I looked up, I do indeed have to be careful not to explicitly copy sizable chunks, somethings are obvious and the only way to do things, but not everything.

What users and copyright holders expect from humans does not automatically apply to marginally similar situations with computers and ML applications. For example: if I'm walking down the street I don't mind at all if someone recognizes me or a stranger remembers seeing me later, I'm actually rather bothered if someone (or the state) is running facial recognition software and recording every time it see me or anyone else walking down the street.

> ...it's minblowing and the biggest productivity gain in years...

I wouldn't go that far. It's a pretty big help in repetitive/boiler plate code and it's pretty good at intelligently transforming data, but I've found it gets in the way more often than it helps for every other case.

Maybe you are working with a different stack and problems :)
Yes for me it was the same. Usually it got the boilerplate code kind of okay and then I had to tweak it manually anyway.

I would also not go that far.

Having good auto completion because of Typescript for me is the way way way bigger productivity gain.

Copilot has written RegEx's and SQL for me from a textual description; or sometimes just from context. That's worth every penny not to wade through RegEx again.
I don't like the idea of CoPilot ... and I'm happy it's not free :)

I'm enjoying reading some comments where people consider how much it's actually worth for their usage. Dollars brings some sober analysis. I'm sure the development and compute have a significant cost, and should be paid for.

> To paraphrase: "sure it's minblowing and the biggest productivity gain in years, but I want it FREE".

That's not how I would paraphrase most of the comments here. At least the ones I'm seeing are closer to: "it's really neat as far as free demos go, but ultimately is not that useful and not worth paying for."

My current prediction is that this coming recession and the increasing cost of money is going to lead directly to a new AI winter. This almost goes without saying for the mountains of useless ML projects being churned out by DS teams in companies big and small. However, even for this very expensive well staffed projects, there's still a gap between amazing demo and game changing product that none of the recent AI projects have been able to close. After billions poured into these demos, in the past 10 years very little of daily life has been impacted by AI and in 10 more years even less will since companies will stop forcing useless AI projects on customers.

As someone with a lot of experience in ML/DS, I would recommend everyone in this field start thinking about how to reimagine your resume for something else. There's going to be a massive contraction in this space once the cheap money starts flowing.

mind blowing? I'd pay $10/month to disable it
> But $10/mo is a steal.

Isn't that up for us to decide?

For work yeah sure I have no problem.

But I've been using it at work and home and my hobbyist projects are hardly worth paying $10 a month to use it. So in that context it's pricey. That's not "entitlement" that's just the value of the product to me.

I only use it a couple of times a week maybe to autocomplete some tedious repetitive elements, and perhaps when I'm too lazy to find a lib for a very well known function, like converting Celsius to Fahrenheit. Those it does well and it works. But 10$ a month is too much, I'd sign up for a usage-based plan, if there was one, so that I can pay only for the times I use it. But not for a fixed subscription where it sits most of the time.
Completely agree, $10 a month is a steal.

I have loved using it, I've had several moments where I had to stop typing to lookup a formula for something, and a few seconds later it provides the correct formula. Gives me those warm fuzzy feelings emacs used to give me.

For me learning vim or at least all the vim code editing features was a bigger boost in productivity then using copilot.

I use the vim extension for vscode which is great.

In general learning the tools we already have I would say has for now a greater impact on productivity then Copilot.

They provide VSCode as a free IDE because if they didn't, someone else would have, and in turn received all of the data that comes along with it. Let's not pretend Microsoft created VSCode out of the kindness of its heart
Ah yes because they provide some things for free they must be entitled to use the code everyone else wrote to train their models and profit from