That's like comparing grand-theft auto to someone stealing a pack of gum from a convenience store. It's not a useful analogy. The latter is still a problem, but we don't need to be FUDy about it.
And OPs right, this will keep happening until we come up with better ways of solving this problem.
Whether that's educating companies on the legal (and moral) risks their developers IDE tools are exposing them to, to better licensing database/indexing, working with future OSS devs building these tools instead of treating them like criminals, suing the for-profit companies like Microsoft who seek to profit from this until they invest in this problem, etc.
Do you really believe Microsoft employees aren't going to be using this, illegally or unofficially?
"Yes! We (Microsoft) aren't doing anything illegal, but we are going to turn a blind eye to everyone using it illegally as we directly benefit from it - and here's the kicker! Our employees are legally liable not us evil laughter all the way to the bank"
Of course the legal execs aren't using it, this is classic Microsoft (Embrace, Extend, Extinguish).
These AI systems are highly novel, transformative, and useful. Their development is exactly the sort of thing copyright law was originally created to encourage. If it's hindering them instead, that's a problem.
(And no, I'm not saying people should be allowed to use AI to intentionally launder stolen code; use some common sense here.)
As many commenters have pointed out, no one would have a problem had Microsoft trained Copilot on the Windows source code. The fact that they intentionally left it out of the training set is a huge red flag.
Now let me flip that question around on you: What benefit would society gain from that forcing AI developers to do all that extra work?
That sounds like a downside to me, not a benefit. You're basically arguing Copilot, Stable Diffusion, GPT-3, etc (which were all trained on copyrighted works) not existing would be a better situation than them existing. I'm just not seeing that.
Granted, people are not necessarily rational actors, so maybe you could argue it still makes sense to have some protections in place to assuage people's irrational fears. Maybe like some kind of robots.txt for determining whether a page can be used in an AI dataset could serve that purpose. I'd be hesitant to support anything more burdensome than that.
Some other uses are allowed without attribution. Someone can read and learn from open source software without needing to put an attribution anywhere. You could run an analysis of the code on GitHub to find out what percent of code is written in C++. You wouldn't need to attribute every project on GitHub.
Now the debate is whether this applies to training ML models.
> I won't be afraid of accidently violating copyright myself, because I won't be trying to bait it into reproducing heavily copy&pasted cherrypicked examples, and I won't use 20 lines of its output with zero modification.
We could come up with scenarios where there might be some fancy algorithms posted on some public Git repo that's super efficient or unique, and that somehow fits into the size of individual functions that could be auto-inserted into some other person's codebase. But IRL that sort of thing is rarely ever going to be the thing that these IDE tools do. At least in a way that meaningfully contributes to another project.
That is still a concern yes, but it's still a niche usecase, which doesn't justify killing off otherwise extremely useful tools.
Maybe I'm being too techno-libertarian here, but I believe existing courts + public feedback cycles + iterating on how the public code is consumed by these tools + spreading awareness of the issue is enough to address the licensing problems.
The more accurately we explain the problem, the quicker we'll find good solutions.
[1] usually licensing saying commercial projects need to either pay or not use it at all. Or some attribution clause
I think you are, though. You have to automate the justice as well, traditional courts can't keep pace. You'll just end up with more automated DMCA-style takedowns, not less.
And I don't even see how an automated DMCA system could exist because I doubt they'd win monetary damages in court over a 'stolen' function or two (or detect it in most commercial applications in the first place).
Regardless a single class action should be enough to make Microsoft either shut down their project or adapt (via whistleblowers, leaked code, public repos, etc). And regardless if they don't adapt by investing in the possible solutions here, an OSS project could take it's place eventually and the courts wouldn't even be a useful solution.
Ideally a capital-backed company will help solve this, with the obvious legal incentives that already exist. But even if it doesn't this isn't going away.
They're both more like grand-theft auto, but one involves the valet driver leaving with your car, and the other involves smashing a window.
You don't accept arguments against the use of Copilot from people unless they... use it?
That's a nifty way to ignore any and all criticism of Copilot, or indeed any discussion about any ethical issue ever.
Smells like: “ I stole this lousy apple that wasn’t any good” Then why did you steal it?
Put your money where your mouth is, Microsoft, train copilot on your own code!!!
Don’t wanna train it with windows 11 code? Prefer to hijack others projects and use their for your needs and then pretend thst insulting others and calling their code worthless will get you off the hook????
Backfire
The lousy code trained copilot in what a switch statement looks like so it can autocomplete mine for me
> You don't accept arguments against the use of Copilot from people unless they... use it?
> That's a nifty way to ignore any and all criticism of Copilot, or indeed any discussion about any ethical issue ever.
"I only listen to people who agree with me, but to make that sound legitimate, I have a somewhat indirect way of saying so."
Because it's useful, then it's not a problem?
Well, it's also useful to send our non recyclable trash to 3rd world countries and every 1st World country should try it. It will definitely make the consequences less serious if everyone does it.
Not apples to apples but I guess you get the picture.
It’s a net boon for Microsoft in their efforts to rule the world.
It’s a net loss for society and ethics.
Open up copilot code, Microsoft, if you are so sure that everyone must wear transparent underwear let’s see you wearing some. Train copilot on windows 11 code. It’s not public domain.
Truth matters. Lies matter
Github make a convenient way to search and contextualise this publicly available code and paste it into your code (adjusting local scope, format, language along the way). Suddenly we have crossed an ethical line!?
Which ethical line? Are you pretending people never copy and pasted open source code before copilot? Are you pretending open source code never copy and pasted other open source code? That we were in an ethically pure world until copilot came along?
This code has different licenses. You can't just copy code randomly without checking license first.
Copilot serves it stripped of the license to unaware users. Even if copilot user wants only to reuse code licensed in a way that allows it copilot will serve him code from restrictive licenses without him being aware.
GitHub doesn’t force you to accept the license in the repository before showing you the code.
What's the harm, specifically?
Say it copies that snippet of workflow scheduling code I made at work yesterday or the greasemonkey script I made in my own time.
How is my life worse?
See your sister comment's child for my reply.
It's sort of like a power tool — sure, you could use a screwdriver, but a drill with a screwdriver attachment will be quicker. Hammers are good, nail guns are quicker. You'd never expect someone to use a drill with sd attachment if they'd never used a screwdriver before.
There are for sure things to be improved, such as the recent post on how you could put in a very specific seed and get out a specific function that it shouldn't. The answer here isn't to shut down the project, at a net loss for everyone, but to find ways to improve it.
As others have said, with Copilot gone and the new demand created, the vacuum will bring in community projects that will happily scrape every public repository they can get their hands on.
I use copilot everyday, I love it, but it still leaves a bad taste in my mouth knowing that people out there worked really hard on their code and harder on building OSS licences just for Microsoft to throw all that out of the window.
Feels like licenses don't matter anymore. My own code doesn't matter much, but it's about principals dude, licenses are there and they should be respected, if not, then it's just anarchy, and we all know anarchy only works in very specific scenarios, Microsoft is not apart of any of those scenarios.
I disagree, and this does not hold up generally: We can, and should, argue things we have not tried or experienced, like heroin and murder. What makes it so that this has to be tried?
> It's the bare minimum to make an informed opinion.
Only if the usefulness is what is in question. But it is not.
I believe the argument being made is that in _actual, real-world_ use of copilot, no copyright infringement happens. So it's not just about usefulness.
How would you know though? The burden of proof is on Copilot. Especially now that it has been shown to spit out copyrighted code.
/s
It's not that you absolutely have to have experience with something, but you'd be foolish to discount the input of people who do. In debates about drug policy I try to be polite to people with zero first hand experience, but their contributions are rarely of interest. Murder is a bit more abstract insofar as anyone who has fully experienced it by definition didn't survive to testify, but I give a lot more weight to the views of people that have first-hand knowledge of violence and crime.
It's not that you shouldn't weigh in on a topic without first hand experience, but that it's a good idea to specify the scope of your understanding, or frame uncertainties as open questions rather than assumptions.
I tried telling that it requires a credit card number to try it but he didn't believe me… I guess the thought that non-microsoft employees have to pay for microsoft stuff didn't occur.
A 3 line boilerplate is neither novel nor a major part of the original.
The example cited by the OP is not a three line code sample - if you've ever done matrix coding, you know that sparse matrix operations are not simple.
Sure you can reduce it to a function call, but then you have library usage instead of code theft.
I think actually perhaps this is a way copilot could ethically move forward - instead of lifting code verbatim if it merely suggested libraries and approaches "here is an example of sparse matrix filtering and some libraries which do it", that would be both useful and ethical, presuming it does not obscure the license.
From where I sit, the complainant has found an extremely convoluted (and buggy) way to copy-paste their own code and is very upset about it. By similar logic, we should restrict the use of ctrl-c and ctrl-v, because they allow very simple infringement of open source licenses. Find a sparse matrix multiplication library which uses the copied code without attribution and you can take them to court; the law is already sufficient for this.
Even when it comes to stuff that seems reaaaaally close to pure derivative: Googling "How long does it take to boil water?" => "If you're boiling water on the stovetop, in a standard sized saucepan, then it takes around 10 minutes for the correct temp of boiling water to be reached. In a kettle, the boiling point is reached in half this time."
That's a verbatim snippet pulled directly from https://unocasa.com/blogs/tips/how-long-to-boil-water, and yet Google exists and continues to do stuff like this under the fair use doctrine despite massive efforts to attack/monetize their service. [To be fair, Google does link results, which probably insulates them because it's less hurtful to the commercial interests of the source; that said, with open source there generally are no commercial interests to hurt (open source attribution will be a tough sell as an actual commercial interest), and that's specifically called out in the law as a factor]
Copilot is even less explicitly at risk IMO, in that it never even stores the text, nor can it reliably retrieve it. I have no idea what makes anyone think it should be more vulnerable than Google.
From the copyright.gov page on fair use (https://www.copyright.gov/fair-use/, worth reading in detail for anyone who cares about this stuff, also has links to a monumental number of cases with shockingly intelligible summaries): "Additionally, “transformative” uses are more likely to be considered fair. Transformative uses are those that add something new, with a further purpose or different character, and do not substitute for the original use of the work."
Copilot without any shadow of a doubt does add something new, with a further purpose, and does not substitute for the original use of any codebase on Github (it can't create any of the codebases in full, without manual guidance so extreme that you'd have to be using the actual original codebase as a reference, so it clearly cannot substitute for a single one of them, and that's what a lawyer will argue, likely successfully).
In the Google vs. Oracle case (see https://www.copyright.gov/fair-use/summaries/google-llc-orac...), a big piece of the fair use finding was that "its value in significant part derives from the value that those who do not hold copyrights, namely, computer programmers, invest of their own time and effort to learn." and "further[s] the development of � computer programs”. It's hard to see where Copilot wouldn't fall into that category, as well, and that's precedent on (multiple) appeal.
By my reading this should be a slam-dunk fair use ruling, unless precedent gets really upended, and Butterick is wasting a ton of time and effort for absolutely zero potential gain other than some bragging rights, but to each his own...I guess we all have to grind our axes from time to time.
Even when it comes to stuff that seems reaaaaally close to pure derivative: Googling "How long does it take to boil water?" => "If you're boiling water on the stovetop, in a standard sized saucepan, then it takes around 10 minutes for the correct temp of boiling water to be reached. In a kettle, the boiling point is reached in half this time."
That's a verbatim snippet pulled directly from https://unocasa.com/blogs/tips/how-long-to-boil-water, and yet Google exists and continues to do stuff like this under the fair use doctrine despite massive efforts to attack/monetize their service. [To be fair, Google does link results, which probably insulates them because it's less hurtful to the commercial interests of the source; that said, with open source there generally are no commercial interests to hurt (open source attribution will be a tough sell as an actual commercial interest), and that's specifically called out in the law as a factor]
Copilot is even less explicitly at risk IMO, in that it never even stores the text, nor can it reliably retrieve it. I have no idea what makes anyone think it should be more vulnerable than Google.
From the copyright.gov page on fair use (https://www.copyright.gov/fair-use/, worth reading in detail for anyone who cares about this stuff, also has links to a monumental number of cases with shockingly intelligible summaries): "Additionally, “transformative” uses are more likely to be considered fair. Transformative uses are those that add something new, with a further purpose or different character, and do not substitute for the original use of the work."
Copilot without any shadow of a doubt does add something new, with a further purpose, and does not substitute for the original use of any codebase on Github (it can't create any of the codebases in full, without manual guidance so extreme that you'd have to be using the actual original codebase as a reference, so it clearly cannot substitute for a single one of them, and that's what a lawyer will argue, likely successfully).
In the Google vs. Oracle case (see https://www.copyright.gov/fair-use/summaries/google-llc-orac...), a big piece of the fair use finding was that "its value in significant part derives from the value that those who do not hold copyrights, namely, computer programmers, invest of their own time and effort to learn." and "further[s] the development of computer programs”. It's hard to see where Copilot wouldn't fall into that category, as well, and that's precedent on (multiple) appeal.
By my reading this should be a slam-dunk fair use ruling, unless precedent gets really upended, and Butterick is wasting a ton of time and effort for absolutely zero potential gain other than some bragging rights, but to each his own...I guess we all have to grind our axes from time to time.
That doesn’t matter, IMHO. Once Copilot manages to copy a work, a copy has been created and copyright has been violated. If this occurence is reasonably likely, then Copilot is wittingly assisting in violating copyright.
I do completely understand that a lot of people disagree with me morally, and think that extracting insights from scraping the public web should be illegal. You're free to have that opinion, but I'd recommend you start lobbying your congressman to change the law, because though I'm not a lawyer I hang out with a few who do copyright stuff, and I don't think the law as it stands is on your side. That said, who can say, maybe this will end up bubbling up through many layers of appeals and end up at the Supreme Court someday, this stuff is all certainly wildly outside the bounds of what anyone writing the copyright laws was thinking about back in the 70s (which I think was the latest significant iteration?) so it's fair to say it's a complete gray area.
And yet, someone has done so, and found that to be the case. Therefore, it falls under "normal use".
So make up your mind. Is software engineering only about assembling working programs, or assembling working programs + navigating license minutiae?
One of these, Copilot has a place in. The other it does not.
"I can use a gun to shoot someone" doesn't make guns illegal, even if people do so with some regularity. "I shot someone to make the point that guns can kill people" is worth even less in the eye of the law, and that is literally what you're pointing to here.
With open source code, the harm is much less tangible, since negligibly few open source projects make money from people going to their GitHub pages because they're searching for code snippets (not zero, but almost). My guess is that an honest quantification would put the lost revenue due to Copilot's existence in the tens to maaaaaybe hundreds of dollars. Courts look at that type of thing, which is why I don't think this will end up being an issue, at least in the US. Europe is wild, who knows what they'll do there, and that's where activists on this topic should most wisely apply pressure, you can always convince someone in government there to throw a spear at a BigCo. You won't take them down, but you may get them to negotiate, and I don't even necessarily think that's a bad thing.
That said, even in the US, if enough people make noise then things could change, so I encourage you to speak to your congressperson (I will be as well, but arguing the other side, because I really do think this is fair use and I'd like to see it enshrined as such explicitly, because this fight is going to be extremely common over the next few decades).
Really? I challenge you to write a correct email validation regex.
Some algorithms in scientific computing require lots of effort to implement as nice, reusable, performant function. Those functions often more important than whatever the whole is doing because it's what most other people will be interested in using.
Let's just copy each other's code without attribution.
If it’s all just disposable code, WHY ISNT MICROSOFT TRAINING COPILOT ON WINDOWS AND OFFICE CODE?
Creative commons maybe.
Just because you, as someone who self proclaimed to have done more OSS than 95% of the commenters here, does not know how to use OSS licenses, doesn't mean that the copyright question being discussed here is a non issue.
The issue is that you don't care about what the licenses in your code mean:
> I publish my code under MIT when possible (...) please train on my work or split out my functions verbatim (...) I don’t even care about the attribution part of MIT
Having been a member of a very high profile permissively licensed project and having started a few relatively popular ones of my own, I’d say I don’t need to take licensing advice or be called “does not know how to use OSS licenses” from someone who laughably advises using Creative Commons, when Creative Commons itself advises against using CC licenses for source code, except CC0, which is entirely different from CC.
I was considering not replying, but here goes nothing....
> not because I will personally pursue every clause in it.
Then you are out of the game, because all clauses should be respected, or else you are committing something very close to an illegality when you violate said clauses. If you don't want a specific clause, consult a lawyer and remove it, or use another license.
> Creative Commons itself advises against using CC licenses for source code
So before your didn't care about respecting clauses and now you do?
I could argue: there are some bits of text in CC that make it not a good license for code, but I don't care because I don't respect those clauses. I'm not going to make that argument, because it doesn't make any sense. You either use a license and respect it or you don't.
I mostly contribute by finding issues and reporting them, does that make me less of a OSS contributor than you?
And yet I do care if my private project is used by behemoth like Microsoft without my consent, even if it's only poorly written fizzbuzz. Why? because if I wanted to share it I would publish.
Feel free to care.
If open source communities are worried about having their source code copied... then don't open the source. Keep it closed, keep it off GitHub... I mean the genie is already out of the bottle, so doesn't really matter what they do now.
You can't prompt Copilot with things like: # Function that detects spam accurately
And get anything useful/sensitive/competitive
Is there really super sensitive algorithms out there that Copilot is exposing that are otherwise unknown?
I have a very severe ADHD and as a result terrible memory, I've been working as a dev for almost a decade now and it always was almost entirely in the browser with a search bar, not IDE, and me working with infrastructure doesn't help as I encounter more than one programming language at a time, daily.
CoPilot helps me not making dozens of jr. dev level search queries daily as I can formulate query right in the IDE and it will fill in the basic algo's, data types, language abstractions that I know exist (as I use them all the time), but I don't remember how to actually invoke them, despite doing so just an hour ago. This is the most useful part of copilot, not the complex and very specific code.
--
In case of this code, copilot merely lights up the problem that authors code is sprinkled on countless codebases with weird/no attribution or licensing.
What? You left out the second line of the quote. It never reproduces copyrighted content for me because I'm not trying to bait it into doing that.
Sure — in the same way that hacking into a competitor's GitHub account and copying their private source code is "genuinely useful" to you. As the person benefitting from unlawfully using their source code, of course you wouldn't care that it reproduces it. But you're not really the person we're trying to help here.