4 ms·
I think copyright issues are getting blown out of proportion. Ethically it is not very different from myself reading books, blogs and other available source co
by blackoil 4y ago
I think copyright issues are getting blown out of proportion.
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.
- simion314 4y agoThe analogy is wrong, AI does not at all look similar to a human mind, it is a more complex algorithm , a obfuscated script that if done wrong will output the exact input you used it for training. This can happen probably very often withy original stuff and less often with trivial stuff.
- ghaff 4y ago>AI does not at all look similar to a human mind 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.
- simion314 4y agoThat depends on how you define similarities. This ANN AIs are a complex version of a polynomial interpolation , you have some points from a measurements and you build a function to fit those points, so in the end you have a function with a giant matrix of data as a "knowledge" database behind. 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.
- ghaff 4y agoThese days I doubt Microsoft would care much. But to your broader point, yes, that's why you do clean room implementations of public APIs. If you've never seen an implementation, you can't really be accused of copying it. 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.
- simion314 4y ago>This is really different though in that this code is all open source. 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.
- ghaff 4y ago>Open source or proprietary you still have to respect the license. >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.
- simion314 4y ago>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
- ntoskrnl 4y agoThe leaked Windows source is actually hosted right on GitHub. I wouldn't be surprised if it was part of Copilot's training set.
- cdrini 4y agoAI is not similar to a human mind in the general case (ie general AI), but in the context of reading and learning and generating code there are similarities. And I would argue that humans are also very susceptible to "output the exact input used for training".
- simion314 4y agoHow is similar in generating code? From my case I don't create code by combining previous seen code, for example I can write a Lua/Haskell script now even in my memory I have no Lua/Haskell code stored. I can do it because I create a model of the problem, then I create structures of data and operations on those data, only the final step is to look up the syntax and standard libraries to generate the code. 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
- cdrini 4y agoI definitely agree copilot isn't understanding the problem space of your code. But I also don't believe it's simply remixing code samples from its training set. It's somewhere in between. I don't know the internals, but it looks to me like it's operating at a few layers of abstraction over literal code and syntax. It find patterns in the relationships between symbols and references. Not to mention since it's GPT-3 based, it's cross referencing the "meaning" in these abstract relationships with the meaning of plain English text written in comments, too. These pieces are similar to humans. Just like a human, copilot doesn't have a ton of exact literal code in its model. It's seen lots of code and has patterns and relationships in its model. That's why just like a human, it can translate ideas between different coding languages -- my guess would be it can write an algorithm its seen in C in F# even if its never seen that algorithm in F#; but that's hard to prove. Just like a human though, it might have some literal snippets, though. It can definitely translate between languages ; I've done that a few times. (It can even translate human languages eg English to French! I've done that sometimes for fun) I would highly recommend giving the trial version a go, if only to better understand how it works. Whether it "understands" eg a map operation... That's hard to prove. Can you think of any experiments? I think it understand the relationship between the English word map and the code patterns often associated with that word. 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!
- cookiengineer 4y agoAs the AI concept that is being used is an analytical algorithm, it cannot be a "novel solution". It is by definition a min/max reduced solution of a direct copy of existing code and therefore should have to respect their licenses.
- heurisko 4y ago> 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. 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.
- cdrini 4y agoIn my experience using copilot, I believe it's more similar to the former than to copying and adapting. Copilot generates code snippets that are transformative and derived from multiple code sources--like Dalle does with images. I think making the AI algorithms more transparent is what needs to happen. The AI needs to be able to say that this five line code snippet was generated based on learning from these 2000 repos. That would not only directly provide input on whether copying is happening, but would also just generally be an amazingly useful tool. But the tech isn't there yet. 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.
- diffeomorphism 4y agoEthically it is also not very different from copying other people's code, removing/ignoring all copyright notices and then changing some parts slightly to try to hide this.
- l-lousy 4y agoSo half of stack overflows users
- deleted 4y ago[deleted]
- mtkhaos 4y agoIf you strip out the magic of AI or different machine learning models strung together. The question for copyright is thr type of model. If it is a diffusion based model that competes against human written code. There is no conflict. 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...
- rmbyrro 4y agoThe thing is that you can add original, creative aspects on top of other knowledge you acquired. An AI can't do that by definition.
- kromem 4y agoThey are, because the armchair critics are focusing on the edge case scenario of populating a mostly blank file in a blank project. 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.