Papers on GitHub Copilot, copyright law, and ownership for AI-generated code
fsf.org
fsf.org
It's pretty obvious that without the open source code corpus, such tool would not have been possible, hence the (IMHO) justified derivative work question. Companies and individuals have spent decades building this open corpus and in exchange they deserve to have their will (aka license) respected. For a significant fraction of those, it means sharing the derivative works under the same license.
It's pretty sad, though not surprising to many of us, to see that Microsoft isn't really playing openly and nicely with the FOSS community about those issues.
When people started saying Microsoft had changed and was a fair player now, I had my doubts, and this doesn't help.
Note though that a work not being possible without your work is not sufficient to make that work a derivative work of your work. It just suggests that you need to take a closer look at the relationship between your work and the other work.
For example Windows applications, even ones that make intimate use of the behavior of Windows and would take significant rewrites to port elsewhere or to run under current Windows compatible operating systems like ReactOS or under things like Wine, are not automatically derivative works of Windows.
To be a derivative work the work has to include copyrighted elements from your work in a way that is not covered by fair use. That's why clean room reverse engineering works--by making sure the coders do not have access to the work being reverse engineered they cannot copy any copyrighted elements from it and so cannot produce a derivative work.
I suspect that under current copyright law it is possible to do something like Copilot without the output violating copyright but it may need to be more sophisticated than the current Copilot.
From the few examples of Copilot output I've seen it seems to output stuff that would probably either be covered by fair use or that doesn't have enough creativity to be copyrighted. But from what people have said it occasionally spits out longer things that seem likely to be copyrighted and not covered by fair use.
What may be necessary for systems like this is to couple them with a second AI that can recognize when the first AI is making a suggestion that goes beyond fair use and stops it. I don't know if it is currently possible to make such an AI. Where would you get a good set of training data?
The above was about the output of Copilot. Another question is whether Copilot itself is legal. When you train an AI on some data is there a copy of that data in the AI? If there is then Copilot may be an infringement of the copying right.
In the US copyright law defines copies in 17 USC 101, where they are defined as
> [...] material objects, other than phonorecords, in which a work is fixed by any method now known or later developed, and from which the work can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device. The term “copies” includes the material object, other than a phonorecord, in which the work is first fixed.
Is a collection of neural net weights something from which you can perceive, reproduce, or otherwise communicate the individual works the net was trained on? Or is it more like some kind of hash of the work?
My guess is that both the output of AIs and the AIs themselves are sufficiently beyond what anyone was contemplating the last time there was a major update of copyright to deal with new technology that to fit AI in we are probably going to need a major update to the law.
How is that obvious? I am relatively certain that MS committing their entire code base as training material would do the trick, if that's what it took. Or, additionally, maybe licensing some other huge high quality code bases (restricted to just training the ai) for a few million bucks? It's not like it would be an issue to find vendors happy to remonetize their already written code.
Given what's at stake here and who sits at the helm, I don't see how Copilot would not or could not be moved forwards regardless.
There would be huge benefits to going that route, but they didn’t. That’s what makes me think that it’s impossible because they needed a huge volume of data, and the only way to get enough was to take it without consent of the license owners.
Simple: They disagree with you on the risk of that happening and the potential cost if it did.
If this is not derivative work, how come they didn't use their own codebase instead of taking the opensource ones ? Either their codebase is low quality, either they think it would leak their IP, meaning it's derivative work. Neither solution sounds great for them
Convenience probably.
Using their own code would have required them to coordinate inhouse, and carefully and expensively sanitise everything, because committing their code, which was largely never written to be open sourced, to run the wild Copilot experiment (which it still is at this point) probably seemed a little riskier than they liked, potentially creating some kind of security disaster. So just use the stuff that is already in the open and thus better be secure enough as is, at what they apparently deem the relatively small risk and costs of lawsuits happening.
I could also see them wanting to test the water on how the license thing flies.
I am more than relatively certain that it would provide far worse quality, if not be unusable by developers on average.
“How about Outlook366?”
This is such an important debate to have and my fear is that the companies investing in this tech have deep pockets, the lobbying around it could result in a unbalanced outcome. This isn’t really an area where “move fast and break things” is necessarily the right process.
Exciting though to see where this technology could lead, co-pilot blows my mind at times.
But what we mere citizens have to say about it, I fear, won't matter much.
They already are. Even Dall-E mini does a respectable job at cartoon characters (it struggles a lot with people, especially faces, but handles cartoons quite well).
Ethically it is not very different from myself reading books, blogs and other available source codes, and then writing my own program based on whatever I learned.
Legally, IANAL but either the code generated would be novel, common enough or otherwise easily searchable to original source. For case 3, developer can take the call to keep it or not.
That is a matter of some debate among neurophysiologists and others. There are clearly differences but there also seem to be similarities that go beyond mere analogy.
But even with the human mind, I am 100% sure Microsoft would not like it if I read their precious Windows source code and then go and work on wine, they might claim that I did not learned from their code but memorize secret algorithms , or maybe would claim that I did not ask for permissions first.
This is really different though in that this code is all open source. The argument is that sufficient code is being verbatim copies so as to be a derivative work.
Open source or proprietary you still have to respect the license.
>The argument is that sufficient code is being verbatim copies so as to be a derivative work.
Yeah, it also depends what derivative work means, I could make a script that inputs MS code and outputs it with obfuscation, is it derivative work or will MS complain that is not enough and I did not had permission to do this,
AFAIK code on GitHub does not have the permssions to be used as input for copilot, and not all code there has the permissions from all authors to be hosted there.
What MS should do is
1 use their proprietary repos as input too to show us that they think the results are derivative code
2 use their customer private code too to prove again that they are ready to prove in court that this is derivative work
3 open the model with no restrictions, then we could say MS is doing it for the advancement of society and sure charge for the service
4 promise to defend any developer in case their AI outputs copyrighted content.
>they might claim that I did not learned from their code but memorize secret algorithms
The difference is that you can't claim open source code is a trade secret that contains algorithms that you can't reimplement in your own code.
You can't use "trade secret" but MS Windows code is also no longer secret, they shared the code with third parties and was also leaked, so they can claim you do not respect the license or TOS,NDAs etc. Not sure if "secret" has anything to do with this, proprietary stuff is not secret, it could be source availleble or be a scripting language stuff or something trivial to find the original implementation like C# and Java
[1] https://opensource.com/article/18/3/patent-grant-mit-license
My main concern here is that copilot itself might not be illegal but that it is causing otherwise well-meaning developers to put themselves at legal risk.
Can someone prove that it at least managed to understand trivial algorithms, like this is a find.sort,reverse,filter,map operation and it can say map an algorithm from one language to other?
Thinking at it , bad students when learning programming are doing this kind of stuff, they start writing stuff from memory that looks like valid code , one student wrote something like if(int i =0; i < n; i++) , clearly this student did not understand the lesson so Copilot will do a similar mistake just one level higher
I think your example is close. Copilot is a lot like an inexperienced developer. It doesn't (usually) make syntax errors, but because it doesn't understand your problem space, and because it doesn't have as many layers of abstraction as a human does, it does sometimes make silly mistakes. I definitely wouldn't trust it to write an entire program on its own! But with a human in the loop doing the more complicated abstract pieces of coding, it handles the more simple menial pieces pretty well!
Other experiment maybe test if it just repeats text that iot seen and has realy no idea about stiuff. I would use missleading variables, like
int namesLis; int[] counter; string i ="test";
add some comments or unrelated stuff here like print heelo world 12 times
then start with for( int ... and see it it just completes it correctly or will do something stupid and have 3 or more error) If it is a bit smart it will know what variable is the list because it associated the [] with a list
There are different levels of learning and reproducing. I think you could easily make a "neural net" trained exclusively on a copyright work, that reproduces the work exactly on request. Simply because the data entered and then subsequently exited a black box of a system doesn't mean it was transformed in any way.
If you have a movie camera and you use it to record a copyright movie at a movie theater and upload your recording, you used a creative tool but in a way that directly violates copyright. I don't see why using a tool like Copilot to reproduce a copyright work is any different.
You could create such a system. I agree that Copilot operates at a very different level of learning :) the question is a little murky actually, but I think some people are arguing that everything Copilot produces isn't sufficiently transformative and hence violates GPL of code in its training set. Some people are arguing it sometimes generates direct copies and hence violates GPL. Some people are arguing that it is sufficiently transformative and at little to no risk of violating copyright. It's a big question!
It is by definition a min/max reduced solution of a direct copy of existing code and therefore should have to respect their licenses.
I don't think that's the same. It's more similar to copying and adapting snippets of code, in which case I would have to check the licence.
Also, it's not an ethical, but a legal consideration. It's not particularly ethical that the Mouse keeps on having its copyright extended but it is legal.
Most legal issues are ethical issues. The reason copyright law exists is because an ethical argument has been made that artists should be able to profit/make a living from their creations for a reasonable amount of time. Another contradictory ethical argument is that art should enter the public domain so that it is available to all. Copyright sits in limbo between these two conflicting ethical requirements.
But since release people have found code snippets of their own making. Therefore a layer in there is just an advanced indexing algorithm called AI.
Like other posters pointed out, the fundamental issue is the mismatch of license and purchasing of github. Retroactive change of terms of service, etc...
An AI can't do that by definition.
Yes, demoing it in that setup, which the FAQ explicitly said not to do, will result in unusable IP infringement.
But when using it in a mature codebase that flavors the output to match the existing code, what you get pretty much doesn't ever match the training data vs reflecting a fusion of the training with your existing code.
So you have 90% of the conversation occurring by people who appear not even to have used the thing in any considerable way but saw demos of the edge case fail condition, which probably occurs less than 1% of the time in actual usage.
It's a good idea to have serious discussion and debate about the intersection of IP and AI.
But it'd be refreshing if that conversation orbited the reality of the intersection and not a largely fictional bogeyman.
One thought is that in construction you will learn to do things through others teaching you. And then you’ll do them at future sites, and they’ll be nearly identical. There’s only so many ways to build walls or run electrical, etc. to code.
I think coding is often similar. Let’s not fool ourselves: a lot of what we write isn’t novel or interesting or challenging. It’s the total end product that is.
That said, to my non-legal mind, I don't see Copilot as being that much different from taking a code block from a book or Stack Overflow or wherever to implement some function. Clearly there are some limits; Copilot probably couldn't lift an entire grammar checker or whatever. But people reuse function templates and the like all the time and no one generally cares. And I doubt most people upset about Copilot really want the copyright police scrutinizing every single line of code.
I think that’s another item I keep thinking about. Why should code be copyrightable? Especially when so much of it is just, like plumbing, just plumbing.
I think I might share your thoughts. Isn’t copilot just a template/boilerplate generator but on steroids?
If anything, I think Copilot is forcing the industry to recognize: a lot of the code people write is not the valuable or interesting part. The real value is in figuring out what to write and in what way it should all be connected together and interacted with.
This was an open question for a long time. Is it just a set of functional instructions about how to do something (which wouldn't typically be copyrightable) or is it a creative work?
It wasn't even an interesting question in the early part of the computer industry because software was mostly something created so that companies could sell hardware. Or it was written for internal use.
However, in 1974 the Commission on New Technological Uses of Copyrighted Works (CONTU) was established in the US and decided computer programs were in general copyrightable. Congress added this to copyright law in 1980.
Already done, although I don't think an actual lawsuit has been filed.
Even the most naive takes I see here (it's no different than you reading public code = "the AI should be treated the same as a human") will be forced to re-evaluate their position once they become unemployable because of these AIs.
Is this actually happening? Some years ago there were articles about neural networks which can find errors/interesting points in law documents or find tumors during cancer imaging, but did this actually replace any jobs instead of just being an additional tool?
Edit: actually I take that back. I think a team that previously needed 3 developers might get away with only 1 or 2 developers thanks to improved productivity from copilot. So it can replace jobs in that way. Dalle can make a team that has one designer go to 0 designers.
In 3-4 years - maybe, but not now.
That being said, luddism was a thing for obvious reasons and it's not clear to me that we will be able to create any jobs at all post automation with this type of AI models. At the very least what will happen is that human intelligence will be devalued significantly in the job market.
Vox hosted a fantastic discussion with artists after showing them Dalle, and their thoughts on how it'll affect their jobs are very interesting! Would highly recommend. https://youtu.be/sFBfrZ-N3G4 it notes a few times in history when people have thought a technology would dangerously displace jobs (eg photography replacing painters), but that in general new, unforseen jobs appear.
I know some argue that UBI is the natural conclusion of AI replacing more jobs. Or jobs shifting to be more coordinating the AI (the Vox video uses the term "prompt engineering" to describe this a bit). It's definitely an open question! But I'm honestly a little excited (and nervous!) to see where it goes. It could have realty positive impacts on humanity if we're careful! I think these tools could allow a certain level of individual productivity that would allow people to achieve more of their goals in our limited lifetimes :) But the future is murky and not guaranteed.
UBI is not the natural consequence of automation increasing the value of automation and reducing the relative value of all other labor, sharply increasing inequality and with extraordinary concentrated wealth and increasingly broad poverty is.
UBI is a potential intervention to mitigate that natural consequence, though.
It is the same as what happened with digital photography. In the old days every single publication, no matter how local or modest, that wanted to have a photo to accompany the text needed a photographer. With the invention of digital photography and smartphones, this is no longer the case. Any writer or editor can snap a picture themselves and often it even looks kind of ok.
However, for a real "professional" look and and quality, you still need a skilled expert to take care of the imagery. Because part of providing the image are the mechanics of producing one, but another part is knowing/deciding what the right image is for this occasion. The latter part can only be done by humans for the foreseeable future.
The result is that it is much easier to acquire some picture for you publication, but also there there still is a need for professionals that can do it "proper".
Automation tools shift demand from the job automated to the jobs producing the automation tools.
That's why all other automation shifts demand to programming. Automation of programming, though, just shifts the demand within programming to a higher level of abstraction.
The members of the movement are also quite often criticizing Copyright laws. While I agree that the law is not ideal, to my vision the Berne Convention foundations are on the individual creators side. Fighting against Copyright, in my opinion, is a shooting yourself in the foot.
I'm not a big fan of the FSF and other similar movements rhetoric because of this(even though, I agree with some points). If creators just want to share their work with other people, and they don't care about the business "plutocracy", they can offer a License contract that would simply restrict the work usage by individuals only. It could still be a free of charge License that would allow even commercial use of the work, but the License should grant permissions to individuals only who are not representing a 3rd party interests(a business in particular). Such License is not a FOSS License in common sense, but in my opinion it could solve the initial goals laying behind the FOSS movements true intentions.
This is a skewed and very narrow view. The main contrast is not between "businesses" and "individual creators", but between people who control and people who use software. For example, between governments that hire programmers to write software, and citizens that get to use this software. The idea of the free software movement is that users of any software should have the right to know exactly what the software does, and to change it as they see fit. This has really nothing to do with business.
> The members of the movement are also quite often criticizing Copyright laws.
Do you have a reference for that? My impression is that the FSF is quite respectful of copyright laws, and acknowledges their importance. This is an orthogonal issue to that of software freedom.
> Do you have a reference for that?
I didn't talk just about FSF, but about the free software movement in general. Of course individual members may have different points of view.
For reference example. In the chapter "On Copyleft Maximalism and Unilateral Capitulation" of the first Article in the Thread's link:
"""
Draconian copyright law generally horrifies software freedom activists for good reason. Nearly all copyleft activists would prefer a true, multilateral rewriting of copyright rules that prioritized the interest of the general public and software rights. Copyleft exists primarily because of the long-standing political non-viability of a copyright law reboot. Nothing has changed in this regard; if anything, changing legislation has become an even more expensive lobbying proposition than it was at copyleft’s advent. Copyleft activists should expect, indefinitely, for proprietary software companies and media oligarchs to control copyright legislation.
"""
Source: https://www.fsf.org/licensing/copilot/if-software-is-my-copi...
If I take a dataset of public available images of Disney characters, which are obviously copyrighted, and train a model to generate new characters, they will sue me until they find a judge that rules I infringed their copyright just by using their copyrighted work, even if the result does not have any similarity with the copyrighted work.
But if a big corporation take a copyrighted public dataset to train a model, and this model start to regurgitate exactly copies of the copyrighted work, which apparently is the case of Github Co-pilot, in the case of a lawsuit, the big corporation will spend money until they find a judge that rules their use of the copyrighted work as fair use.
So, at the end, any decision will benefit big corporations.
The real question is if people will make big corporations fight for their victory or if people will let them win easily.
[1] https://luckytrader.com/news/x2-y2-to-release-dmca-takedown-...
[2] Ask HN: Why do devs feel CoPilot has stolen code but DALL-E is praised for ART? https://news.ycombinator.com/item?id=31868837
I encourage you to read the linked article and respond to the authors instead of making me argue their case for them!
[1] https://www.fsf.org/licensing/copilot/copyright-implications...
If it becomes that powerful, we'll ignore these and other concerns. Just imagine Chinese or Russian devs moving 2x or 10x faster because they have no regard for our privileged concerns. Don't even have to go that far, a competitor is using GPT-17 and you're not - good luck!
And if it stagnates and never goes far beyond the current capabilities, then sure, it might become fashionable to try and hunt for copyright infringements caused by Copilot.
---
Let's take Google as a better example of an overpowering technology. Its world-domination has been built on scraping everyone else's data, and regurgitating it to users in a very useful manner. Had it been less useful, I'm sure you'd have everyone constantly complaining about them "stealing" public information.
Either way, I wasn't making a judgment of how the world should be, merely how it's probably going to work out. Copilot in its ideal final form would be: 1) great at writing good code 2) if needed, very good at obfuscating any stolen code into something that looks brand new.
Good luck fighting this mostly-undectable, productivity-boosting technology that has no obvious victims.
This is practically freeing the code. Paradoxically, open source people oppose it, but it's going to empower open source as well.
Come back with that line when the absolute number (not to mention the pay) of developer jobs worldwide starts decreasing because of this. It will probably happen by the end of the next decade.
Devaluing all human intelligence (which is what the endgoal of all those advanced models is) is not "moving forward" in my book.
As for the physical vs cognitive labor: we automate the bottlenecks. Back in the day that was physical and now it's cognitive labor.
Also, let's not forget that right now programmers are one of the best compensated professions. For the non-tech businesses, we are the expensive gatekeepers for the world of software. Need to build a non-trivial tech solution? You could easily end up paying hundreds of thousands of dollars for devs to write it and maintain it.
If that instead can be done by the end-user themselves or with less employees, I'm sure they will be super happy to save resources. Or maybe you don't care about these people?
Turning people into economically useless appendages (at best being consumers at the mercy of state-dispensed UBI) is not something to celebrate but a dystopia. So is destroying the ability of humans to achieve station in life because of their cognitive ability. I however don't think we will find common ground regarding that question.
Anyway, my paper is at https://gavinhoward.com/2021/10/my-whitepaper-about-github-c... .
File an official complaint against these companies for their blatant theft and sale of your copyrighted content with the FTC, BBB, CA State Attorney General, San Francisco DA office & FBI IP Theft division.
Like I did.
But please don’t start with an organization as utterly biased as the FSF.
First and foremost anyone who cares should remove their code from github.
Anyway, time to move back to bitbucket
It is also not a derivative work, as it is not recognizable as any of the works it was trained on.
However, if the output it produces is close enough to existing copyrighted works, than that output cannot be used without a license.
That seems fair, and just like how we would judge a human being.
On the topic of derivative, backpropagation the method of training a model relies specifically on calculating the gradients or derivatives of your data.
What I wonder here is if you train a model with no Disney works, then tell it "draw a black mouse with red shorts" and it draws a close facsimile of Mickey RTM then what? You created the work without copying and provably so; you can derive from that work without infringement ... that would seem to break copyright in rather wonderful way?!?
However, there is certainly a broader spectrum of "copyright infringement" than simply cutting and pasting text verbatim.
The "source data" does not exist in a ZIP file either. Neural networks are just a form of data compression like ZIP, though more opaque and lossy, but still, a highly compressed abstract version of the training corpus is encoded in the weights.