4 ms·
> A programmer working on a project for a large corporation—as I was told—shouldn’t even be reading code that is licensed under, for instance, GPL. In effect, a
by Hackbraten 4y ago
> A programmer working on a project for a large corporation—as I was told—shouldn’t even be reading code that is licensed under, for instance, GPL. In effect, absorbing information from that code and “repurposing” it in a new solution would constitute an intellectual property rights violation if not expressly permitted by the license.
Wait a minute. Reading some GPL’ed code and then writing a new thing, based on the ideas you’ve learned from the code, can be an intellectual property rights violation?
- NoGravitas 4y agoYes. Clean room implementations are a thing for a reason.
- thegeomaster 4y agoThey are a thing for CYA reasons. Abstract ideas and algorithms are not intellectual property, only the concrete code implementing them is, and as such do not fall under licenses such as GPL.
- phendrenad2 4y agoNot only that, a clean room isn't enough. You need to hire programmers straight out of college who have never looked at GPL code. Just kidding, it's even worse than that - most developers right out of college have read at least one character of GPL licensed-code. Even stack overflow is tainted, because the questions and answers there were written by people who read GPL code. It's best to exclusively hire race car drivers and fedex delivery workers to your software development workforce, as they are statistically least likely to have been exposed to GPL code (per bureau of labor and statistics).
- smsm42 4y agoThat would likely depend on the meaning of "based on" (not a lawyer here!), and the actual lawyers would feel very happy charging exorbitant sums for arguing it out in court. As any sensible corporation (that is not deriving its income from lawyer's fees) would like to avoid that so the easiest approach would be "don't look at GPL code". That raises an interesting question though. If I read the code, remember it, and then re-type it as is, that'd obviously fall under license's terms. But if I write an ML process, that knows to read code, understand it, and reproduce it, and it ends up reproducing the said code byte-for-byte, is that considered copying too? Suppose I didn't intend for ML process to work that way, I just programmed it in a way to find optimal solutions, and trained it on a dataset of GPL code, and it happened that this particular piece of GPL code, byte-for-byte, was chosen by the ML algorithm as optimal. Did I copy the code? Did I violate the license even earlier, when training the ML model on GPL code?
- smachiz 4y agoYes. Building a tool that facilitates or even automatically copies code and then using it would absolutely open you to issues. I'm actually not sure what your thought process around why it wouldn't - if you're byte for byte copying something that you, or a machine, saw, that didn't have rights to use (or rather, didn't have rights to determine how other people use it - and you tried to enforce them) would be a problem. If you're not supposed to look at GPL code, why would you train your model using such code?
- smsm42 4y agoWell, if I trained, say, search engine ranking model on GPL code, would that be a violation? Or, say, if I needed data about frequency of keywords in certain languages and I used GPL code would that be a violation? I don't think so... If so, there must be some boundary there - but I am not sure where.
- smachiz 4y agoIf your boss says “write me code that doesn’t have a GPL license because I want to license this to other customers in a non-GPL way” you cannot use, or have a machine use, GPL code. This isn’t about whether or not you’re allowed to use GPL code, it’s about whether you’re allowed to enforce ownership rights against it, presumably. If you copy GPL code you are in violation, however it happens.
- smsm42 4y agoI don't think it's true. Can a non-GPL backup tool backup files with GPL code? It will certainly be copying them, that's what backup is. I think you would agree that claiming it is a GPL violation would make no sense. What if that tool also calculates hash sums of the code? Still OK? What if it also builds inverse indexes on the content of the files, for better backup retrieval? Still OK? What if more complex calculation on the content of the files is done, for more efficient storage and compression? The resulting data set would certainly have something derived from the code, but it would not be anything like the original code. What if the same data set is used to train an ML model? I still don't see the boundary there, and "you can't touch bytes in any GPL code in any way" doesn't seem to be it. I am not talking about "enforcing ownership rights" - if I train a model on GPL code and it produces some code, I am not asking about ownership rights on that code. For all I care, that can be public domain. What I am asking is how much of the original code should be left in this product for it to be still covered under GPL and how would one find such a boundary?
- EarlKing 4y agoIdeas? No. Expressions? Yes. Github Copilot arguably copies protectable expressions. Microsoft is banking on the fact that nobody will sue them over it because it involves projects that cannot defend themselves, and because they will endlessly argue over where the line between ideas and protectable expressions is. TL;DR Microsoft is being Microsoft again. Also water is wet.