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!