3 ms·
Yes, Oracle open sourced its entire JDK project, i.e. OpenJDK, but while anyone can offer builds under the GPL's license, Oracle and its licensees can publish b
by pron 6y ago
Yes, Oracle open sourced its entire JDK project, i.e. OpenJDK, but while anyone can offer builds under the GPL's license, Oracle and its licensees can publish builds under a proprietary license. Oracle hasn't stepped back from anything, and, in fact, has only increased its investment. OpenJDK is the Oracle implementation. We've just shifted branding focus to the OpenJDK brand rather than the "Oracle JDK" brand, which is now the name of a support subscription.
- Alupis 6y agoWe could be splitting hairs here - but Oracle has indeed stepped back from being the "official" offering. Each new LTS JDK release gets a "caretaker" which provides the "official" OpenJDK build for that release. Azul gets a turn, Oracle gets a turn, etc. This is a stark contrast to pre-JDK9 where Oracle was the only "official" build. Starting with JDK9, the licensing for an Oracle-provided JDK got a lot more murky, which seems to have been on purpose (to push Oracle into a support position instead of leader position). It cleared the way for Oracle to be "just another vendor offering paid support" along with IBM, Red Hat, AdoptOpenJDK, Azul, Amazon, etc. This transition was started around OpenJDK7, where Oracle made a lot of effort to make OpenJDK the "upstream" and "reference" implementation for all other JDK's and the language specification. While many OpenJDK contributors are on the payroll of Oracle, it wouldn't be fair to say they are steering the entire ship at this point, nor does anyone require a license agreement to offer OpenJDK binaries - with the exception of actually calling it "OpenJDK" (see agreement above for "sharing" LTS releases) - hence "AdoptOpenJDK" and "Zulu JDK", etc... all OpenJDK builds that don't call themselves OpenJDK. It was one of the more surprising things Oracle has done in years... and many applauded the changes.
- richardwhiuk 6y agoApart from the nasty JRE licensing changes
- pron 6y agoThe only licensing change Oracle has done is to make the JDK 100% free and open-source. The license of the JRE didn't change; it had simply been discontinued and replaced by something much better.
- Alupis 6y agoYou have some interesting perspectives, as an insider. > The only licensing change Oracle has done is to make the JDK 100% free and open-source. JRE/JDK8 had a very public, nasty license change during one of the late releases (200+ or something) that quite literally had a popup on people's computers stating commercial use of Oracle JDK would require payment to Oracle going forward. That's quite an extreme change, and set off quite a panic in the Java world. It wasn't until some time later Oracle made it clear this move was because, going forward, Oracle would be a vendor of Java that happens to sell support and a licensed JDK/JRE, among many others. This is when Red Hat, AdoptOpenJDK, Azul and others stepped into the limelight with this LTS release time-sharing agreement. It may be true majority of the governing body overseeing Java's development is employed by Oracle... but that doesn't make these other things true. Oracle took very deliberate, calculated steps to put Java into the hands of OpenJDK and ensure they were a major contributor - but not the sole dictator of Java's future. The reason AdoptOpenJDK, Red Hat's OpenJDK port, Azul and others are gaining so much ground these days is directly a result of the changes Oracle consciously made. It really is one of the few surprisingly good things to come out of Oracle in the past few years - and was extremely forward thinking.
- pron 6y ago> JRE/JDK8 had a very public, nasty license change during one of the late releases (200+ or something) that quite literally had a popup on people's computers stating commercial use of Oracle JDK would require payment to Oracle going forward. Nope. It was neither nasty nor a change. JDK 8, is out of the ~5 year free public updates period, just like all JDK versions before it. The only difference from the past is that extended support is now cheaper. The reason people see the popup that they hadn't before has nothing to do with any license change but with the mere fact that the JRE is now discontinued (and replaced with jlink runtimes). In the past, when 7 was out of public updates, people got a popup to update to 8. But 8 was the last ever JRE version, there's nothing to upgrade to, so people just got a popup that it's out of free public updates. > That's quite an extreme change, and set off quite a panic in the Java world. I don't know who panicked and why, but all JDK versions have always been out of a free public update period after about 5 years. I wouldn't call the drop in support prices an "extreme change," but I'm sure it's a welcome one. > This is when Red Hat, AdoptOpenJDK, Azul and others stepped into the limelight with this LTS release time-sharing agreement. First of all, none of those companies offer an 8 JRE, because OpenJDK was not yet open-source in version 8, and OpenJDK 8 doesn't have the JRE (it's missing Applets and Web Start, for example, the very things people need a JRE for). Second, there is no such agreement. Oracle passes the leadership of backport projects of old releases when a new release comes out to whoever steps up. AdoptOpenJDK, by IBM, are barely involved with OpenJDK at all, and aren't in the same bucket as Azul and Red Hat, which do make significant contributions to OpenJDK. > The reason AdoptOpenJDK, Red Hat's OpenJDK port, Azul and others are gaining so much ground these days is directly a result of the changes Oracle consciously made. All of those are support programs for an open-source project developed, for the most part, by Oracle; they're not ports. Everyone is gaining ground mostly because support prices are lower and many have yet to upgrade past 8.
- pron 6y agoYou are mistaken about some things (I am an OpenJDK developer who works at Oracle). Oracle is the company that develops OpenJDK in a similar sense to how Google develops Chromium. Sure, other companies and individuals contribute, and some contributions are big impactful features, like the wonderful Aarch64 port by Andrew and others, but the lion's share of the work is done by Oracle. Also, OpenJDK has always been the name of the open part of Sun's, and later Oracle's JDK; it's just that Oracle has made that part 100%. It's not some separate implementation. If you go to the OpenJDK homepage and click the download link, you will get the OpenJDK builds by Oracle that are free and come without support. "Oracle JDK" is the support service. Yes, it's great that Oracle open-sourced the entire JDK, but its investment in developing it has increased not decreased. Now, OpenJDK has no notion of LTS whatsoever. LTS is a service offered by any company for any version, although most companies offer it for the same versions Oracle chooses. In any event, you weren't referring to LTS but to OpenJDK Updates. Oracle leads the bug and security-fix updates for all versions for six months. After which, other contributors may step up to continue leading the maintenance of updates for old versions for as long as they won't, but they don't do original maintenance, but rather backport patches from the mainline. ~90% of the full-time OpenJDK contributors are employed by Oracle, and close to 100% of the changes to the specification are done by them (you don't have to take my word for it; you can look at the list of teams and projects, http://openjdk.java.net/census http://openjdk.java.net/census, and get the people's company at https://db.openjdk.java.net/people; https://db.openjdk.java.net/people; all active projects and teams are led (and mostly done) by Oracle employees, except for some ports, Shenandoah, and backports to old releases. Don't get me wrong -- we work with contributors from other companies every day, and they do more and more and that's exciting and amazing -- but we also do more and more. Anyone can build and distribute OpenJDK binaries, but to do so under a different license from the OpenJDK license requires obtaining the code from Oracle under a different license.