4 ms·
That 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
by smsm42 4y ago
That 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?