4 ms·
This saga goes back to Sun Microsystems and Apache Harmony. Harmony, as originally announced was to be an Apache 2.0 License cleanroom reimplementation of the J
by niftich 9y ago
This saga goes back to Sun Microsystems and Apache Harmony. Harmony, as originally announced was to be an Apache 2.0 License cleanroom reimplementation of the Java platform, complete with the standard library and a VM [1]. There was a lot of confusion [2] going forward, because copyleft folks like GNU were working on Classpath, a similar project, under the GPLv2, and none of that code was license-compatible with the Apache License. This was one of the high-profile catalysts of the harmonization of open-source licenses that happened later, contributing to the future GPLv3.
Harmony ran into plenty of other challenges, but despite the odds it managed to produce a working J2SE 5 implementation. It was speculated that Sun was theoretically okay with a copyleft open source Java, but not one that wasn't copyleft, like Harmony. Specifically, they laid out conditions in the license for the Java Compatibility Kit, the conformance test suite needing to be passed to claim that you're "Java", that disallowed certain "Field[s] of Use" i.e. natures of deployment [3][4].
The "Field of Use" restrictions that Sun has imposed restrict software certified with the TCK to "general computing devices" which would for instance restrict use on kiosks or mobile devices. [5]
The Field of Use restrictions limiting J2SE 5 implementations to "General Purpose Computing Devices" and excluding special-case appliances, kiosks, mobile computing devices and other interesting applications constitutes an "additional restriction" that would be unacceptable to us (the ASF), and equally to the FSF (by the GPL's no-additional-restrictions policy). [6]
Oracle initially supported Apache on the matter, but reversed their stance once they bought Sun [7]. Reading Sun's Field of Use restrictions heavily insinuates that covert, embedded, non-copyleft deployments -- like the future Android, a mishmash of old Harmony code, various other open source code, and closed source code -- are the exact kind of application they were hoping to curtail. Instead, Sun released OpenJDK under the copyleft GPLv2.
[1] https://lwn.net/Articles/135111/ https://lwn.net/Articles/135111/
[2] https://lwn.net/Articles/184967/ https://lwn.net/Articles/184967/
[3] https://phys.org/news/2007-04-apache-harmony-sun.html https://phys.org/news/2007-04-apache-harmony-sun.html
[4] http://blog.joda.org/2009/03/sun-apache-ip-in-pictures_9067.html http://blog.joda.org/2009/03/sun-apache-ip-in-pictures_9067....
[5] http://www.theserverside.com/news/thread.tss?thread_id=46094 http://www.theserverside.com/news/thread.tss?thread_id=46094
[6] http://mail-archives.apache.org/mod_mbox/www-jcp-open/200707.mbox/%3c468C1923.5000807@rowe-clan.net%3e http://mail-archives.apache.org/mod_mbox/www-jcp-open/200707...
[7] https://arstechnica.com/information-technology/2010/11/apache-foundation-to-vote-down-java-7-protesting-oracle-abuses/ https://arstechnica.com/information-technology/2010/11/apach...
- slackingoff2017 9y agoThis is great info!
- niftich 9y agoI meant to provide a citation for the claim that Sun was in favor of copyleft. I'm basing this on the 2007-08-09 blog entry [8] by Rich Green, then Executive VP of Software at Sun [9], which uses the word 'copyleft' explicitly. Some choice quotes from [8]: Throughout this journey, I've slept well at night knowing that Sun has done our utmost to balance the priorities of open source communities along with the responsibilities and obligations that we have with the myriad of enterprises, individual developers and consumers who have invested in the promise of "Write Once, Run Anywhere". The choice of the GPLv2 license was and is key to this balance, because it takes away the potential for a closed fork of the code, ensuring that we can all maintain compatibility. (...) We knew when we chose the GPL and the free software model for Java technology that we couldn't satisfy everyone's desires. This is the case for the Apache Harmony Project at the Apache Software Foundation. The Harmony Project has applied for a license to use the JCK under the JCP's Scholarship Program for qualified not-for-profit organizations. Sun has offered Apache Harmony a license to use the JCK and the Java Compatible logo at no charge once their implementation passes the tests, and were even offering free support to help Apache run the JCK. But because the Apache code is not governed by the GPL, and does not require code sharing by any entity using or modifying Harmony, the terms of this license are the same terms under which Sun licenses the JCK to commercial entities that build their own independent implementations of the Java SE platform. As was made clear in their open letter to Sun, the ASF is not satisfied with these terms. (...) For what it's worth, I completely understand why there is disagreement. There are fundamental principles and goals that separately define the GPL and Apache Software Licenses. Unlike the GPL, the Apache open source license does not require innovation to remain in the open. Java technology governed by the Apache license could be altered by any organization -- commercial or non-profit -- and rendered both incompatible and inaccessible to the community. The trust and value of Write Once Run Anywhere could not be upheld. (...) We believe that copyleft is both unambiguous and instrumental in fulfilling goals of both communities and commerce. (...) [8] http://web.archive.org/web/20080207222133/http://blogs.sun.com/richgreen/entry/score_another_for_clarity_and http://web.archive.org/web/20080207222133/http://blogs.sun.c... [9] http://www.internetnews.com/ent-news/article.php/3625901/Rich+Green+Executive+VP+of+Software+Sun+Microsystems.htm http://www.internetnews.com/ent-news/article.php/3625901/Ric...