7 ms·
Thankfully they couldn't; OpenJDK is released under the GPL. Copyleft works, people!
by ryukafalz 6y ago
Thankfully they couldn't; OpenJDK is released under the GPL. Copyleft works, people!
- Alupis 6y ago> Thankfully they couldn't; OpenJDK is released under the GPL. Copyleft works, people! Not quite. There are many commercial JDK/JVM offerings that are closed source and survive very well with their "secret sauce" (usually GC related), such as Azul's Zing JVM. Red Hat's customer base that used JavaEE containers (and just Java code in general) was large enough that Red Hat could have easily decided to implement and maintain their own JDK offering - but they didn't. Probably based on Red Hat's history of being a good open source "netizen", they chose to use the GPL code even though they did not have to. We're all better off because of Red Hat's contributions to OpenJDK (porting to 64 bit ARM included) - but that's not exactly "Copyleft works!".
- ece 6y agoRedhat is a big contributor to OpenJDK, so there's really less of a "maybe not" than you think. Even Azul maintains an OpenJDK distribution, so copyleft is playing a part in keeping things more open and supported than not.
- Alupis 6y agoThe part OP missed, and perhaps you may be overlooking, is none of these companies are required to use OpenJDK (and the GPL'ed code) for some unavoidable business reason. They opted-into using it consciously. Red Hat because they embrace Open Source above all else (or at least did at the time), and Azul as opportunists during the decline of Oracle JDK as a way to get Java users into their ecosystem (and eventually make money). OpenJDK is wildly popular as the defacto reference implementation of Java, due to moves Oracle made a few years back (on purpose to push Java language development into a more community-driven approach). OpenJDK is good, but there are reasons people seek out custom implementations (massive heaps, pauseless GC, better tooling and monitoring, re-implemented IO, etc). All that is to say, contrary to OP's original assertion, it's not that Red Hat "couldn't" release some closed source JDK... they chose to embrace the GPL'ed code. The notion that "Copyleft Works!" is by compelling companies to open source their GPL'ed code. That's not what happened here.
- ece 6y agoThis is really a distinction without a difference, none of these companies choose to forego a OpenJDK distribution and all of them actually contribute to it. If it wasn't compelling to do these things, they wouldn't do it. FOSS and copyleft isn't about requiring anyone to do anything, it's about increasing user freedoms. Users and developers have more choice today in the Java ecosystem thanks to all of JDK distributions. I think it's you who has mistaken OPs comment to mean companies are being required to do something, when in fact everyone is benefiting by playing by the same copyleft rules.
- pron 6y agoJust so that people understand, OpenJDK is the name of Oracle's implementation of Java, to which Red Hat, SAP, Intel, Azul, Google, Twitter and others contribute, but Oracle contributes ~90% of the work. "Oracle JDK" is Oracle's support subscription, but the source code to that software is OpenJDK. A couple of years ago Oracle completed open-sourcing the entire JDK, making the JDK fully free and open source for the first time in Java's history, and now it offers no proprietary features. It also started focusing more on, and shifting people's attention to, the OpenJDK brand. Because Oracle owns the OpenJDK code, only Oracle and companies that license the OpenJDK source code under a proprietary license from Oracle, like Azul, can release closed-source implementations of the JDK that are based on OpenJDK. (I work at Oracle on Java, i.e. OpenJDK)
- syrrim 6y agoIf others contribute to it, how can oracle license it to azul?
- pron 6y agoLike other large open-source projects by Google, Microsoft and others, contributors sign a contributor's agreement that gives Oracle joint ownership. This means that, in addition to the GPL license, either you or Oracle can license that code as you or they please. This is a fairly standard practice.[1] [1]: https://en.wikipedia.org/wiki/Contributor_License_Agreement https://en.wikipedia.org/wiki/Contributor_License_Agreement
- pjmlp 6y agoJust like there are many commercial C and C++ offerings, so is the beauty of language standards and independent implementations.
- cmeacham98 6y agoThey couldn't develop a _port_ though, that would violate the GPL. They could write their own JVM from scratch without using any OpenJDK code, but decided here that it was easier to ""only"" port OpenJDK. Copyleft can't prevent other people from making a clone of your software, but it does redefine the choices to "clone software entirely" or "fork existing software and share changes", it removes the option of "fork existing software and DON'T share changes", i.e. benefiting from the open source nature of the project without giving those same benefits to others.
- chrisseaton 6y ago> They couldn't develop a _port_ though, that would violate the GPL. The person you're replying to already gave you an example of someone who does exactly what you're saying is impossible! > There are many commercial JDK/JVM offerings that are closed source and survive very well with their "secret sauce" (usually GC related), such as Azul's Zing JVM. How does that work? Even if code is GPL if you own it you can do what you want with it. That includes licensing it to someone under a _different_ licence. Being available under the GPL does not mean it can't also be available under another licence, such as a proprietary one. Which is what is done in this situation. > but it does redefine the choices to "clone software entirely" or "fork existing software and share changes" .. it removes the option of "fork existing software and DON'T share changes" None of this is true.
- ece 6y agoThis is all conditional on Oracle actually giving others a proprietary license like Azul received. Oracle can say no, and in this case they might actually have given that it's ARM and not some proprietary chip that only Azul makes and sells AFAIK. There are no such conditions if you want to port the GPL code.
- cmeacham98 6y agoMy understanding is the part of OpenJDK Zing is based on is entirely owned by Oracle, so they can give Azul a license for it. Oracle could not do that for all of OpenJDK today unless OpenJDL has a super weird CLA that signs away ownership of the code because they do not own all of the code.