3 ms·
Part A does exist: it's the J2ME license that Google did not want to follow, since doing so would require not being Android. Sun was entirely uninterested in Ja
by kmeisthax 6y ago
Part A does exist: it's the J2ME license that Google did not want to follow, since doing so would require not being Android. Sun was entirely uninterested in Java being the programming language of other people's platforms, as Macromedia found out when they tried to license Java for ActionScript 3. They wanted to be a platform that subsumed everything else - "write once, run anywhere".
The entire point of using Apache Harmony was to evade a licensing regime, and in fact, Apache even avoided collaboration with other Free Java implementations specifically because they did not want to be covered by GPL. In fact, when the Apache Harmony team went to Sun to ask for a license to the Java 5 TCK (the thing you need to pass in order for Sun to license your JVM), Sun's response was to specifically announce the GPL-licensed OpenJDK and TCK terms that only extended to GPL-licensed JVMs. They specifically selected a license to exclude Harmony. So this case starts to look a lot more like readline!
Furthermore, I feel like the particularities of GPL copyleft might be confusing. The reason why the GPL is able to demand source code conveyance is because copyright law grants it exclusive ownership over derivative works. The GPL can't just say "you agree to release all software you ever write under GPL forever" - it can only talk about cases in which copies or derivative works are made of the software the GPL covers. Same with Java; Oracle only has a valid claim if a derivative work has actually been made - not merely that licensing compliance was demanded. If you change your program in such a way as to not make a derivative work, then you aren't engaging in subterfuge, you're just stopping the infringement!
What Bruno Haible was arguing, was that, if he wrote his own library implementing the same functions as readline, then he would be able to distribute CLISP with his own readline workalike library only. Then users would be able to take either library, with the caveat that distributing the combination of CLISP and GNU readline is forbidden by the GPL. The only way that RMS can be right is if some element of copyright extends beyond the implementation of GNU readline and into it's interface, such that anything that uses the interface can be reasonably expected to comprise a derivative work of the implementation. If RMS doesn't own the readline API, then he has no claim against CLISP.
The main difference between readline and Java would be the direction in which derivation flows: RMS is arguing that users of his interfaces are derivatives, while Oracle is arguing that providers of it's interface are derivatives. However, there is nothing stopping Oracle from also arguing that all Java-language programs are derivative works that need to now worry about license compliance. That's the Java trap, at it's most extreme!
- jancsika 6y ago> Part A does exist It doesn't. In the readline example, the author was explicitly saying, "Let users decide to link against a thing so I can do an end run around licensing issues." Stallman is claiming the judge would be harsh because the judge knows prog1 with "choice" of subterfuge.a or inconvenientLicense.a is really just prog1 trying to get around an inconvenient license with which they must comply. "inconvenientLicense.a" is "Part A" of my example, and the author knew that users will link to inconvenientLicense.a. (Otherwise why have the choice at all?) With the Google example, the devs said, "Let's do a clean room implementation so that the entire VM has our preferred license." There was no equivalent inconvenientLicense.a on any Android device. You can talk about J2ME existing in general, but that was what I mean by saying that "Part A" doesn't exist. It's an important distinction-- it's the reason why Oracle basically was reduced to arguing copyright of an API. That's the only conceivable thing that could have inconvenientLicense on the device. Edit: clarification
- kmeisthax 6y agoSo, if I'm understanding this correctly, is the argument is that providing the user with a choice of library to link to, effectively "induces" the user to violate the GPL? I'm using the concept of inducement as a theory of contributory copyright liability, even though it wasn't a concept of law at the time that RMS and Bruno had this discussion. It feels like an inducement argument, though - the idea that telling your users to break the license is just the same thing as breaking the license. However, I don't think Bruno's argument hinges entirely on telling the user to break the GPL on his behalf. There is an API boundary, and in the time following this argument, people have written actual readline replacement wrappers that use BSD-licensed line-editing libraries (e.g. editline). The way I interpreted Bruno's argument was with the implication that he would actually reimplement readline instead of just, say, writing a functionality-free shim to induce the user to replace it with a functional but GPL'd library.
- d110af5ccf 6y agoNot a lawyer or anything, but ... Not inducement but rather intent. The question would be what the genuine intent of the author was behind the decision to so conveniently choose to place an API boundary right in that particular spot. The precise layout of the API also seems like it would be relevant - if no non-GPL libraries conforming to that particular API existed at the time of the decision, then what would the non-infringing justification be for choosing to implement that specific API in the first place? (Aside: In Google's case, IIUC the non-infringing justification is code portability. Also, there's the bit where they (re)implemented the entire system - I don't believe they were linking against or otherwise using anything owned by Sun. Other than the API layout itself ... allegedly.) Presumably questions about the decision making process itself, the technical merit of the final decision, and the state of any alternative implementations would all need to be considered.