Why Java won't be GPL'd

Why Java won't be GPL'd

Summary: Rumors have been swirling lately about what license Sun will choose for open source Java. One thing's clear to me - it won't be GPLv3.

TOPICS: Open Source

Rumors have been swirling lately about what license Sun will choose for open source Java. One thing's clear to me - it won't be GPLv3. I know Jonathan Schwartz says that "using a GPL license is very much *on* the table", but the DRM restrictions famously pointed out by Linus Torvalds will almost certainly put the kibosh on that. I suppose they could use GPLv2, but it would be very unusual for a large contribution like the JDK to be stuck at a back-level of the license (Linux is the only other example that comes to mind).

The problem is that GPLv3 section 3 (2nd draft) says "no permission is given for modes of conveying that deny users that run covered works the full exercise of the legal rights granted by this License". RMS wants to make sure that users can switch the software in their hardware devices that run GPL code, to prevent vendor lock-in. But this is the bread and butter of cell phone makers. Most won't even allow you to make your own ring tones for goodness sakes.

Now, whether that's a user-friendly thing to do is beside the point---this is the "pragmatic" open source column, remember? Cell phones are a huge market for Java, and cell phone makers have alternatives to Java they could use if Java adopted a license that forced them to change their business model. Therefore I would be very surprised if Sun adopted this license for Java.

In my opinion, RMS's stance, while commendable in the abstract, falls down under practical considerations. For example, could GPL code be used in voting machines? If I'm reading GPLv3 correctly, a voting machine maker could not lock down covered software in the machine to prevent modification. But as recent voting security problems have shown, this kind of lock down is absolutely necessary to preserve the integrity of the vote.

So what will Sun use? My bet is on CDDL, which is a perfectly reasonable OSI-approved license based on MPL (the Mozilla license). Of course, my favorite is still EPL (the Eclipse Public License), but Sun's about as likely to use anything with "Eclipse" in the name as RMS is likely to accept a job at Microsoft.

Topic: Open Source

Ed Burnette

About Ed Burnette

Ed Burnette is a software industry veteran with more than 25 years of experience as a programmer, author, and speaker. He has written numerous technical articles and books, most recently "Hello, Android: Introducing Google's Mobile Development Platform" from the Pragmatic Programmers.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Why can't it be GPL?

    Sun can license in more than one way, if they so choose (cf QT, MySQL)
    • Because the GPL SUX.

      Well, you are one of the millions trying to make a living that is.
      • No different than any other license

        If you don't like the restrictions of a license, you don't use it. Simple.

        This applies to GPL, Microsoft Shared Source, any other source code under any other license.

        It certainly hasn't affected my earnings at all.
        • Correct, and Sun won't.

          If you don't like the restrictions of a license, you don't use it. Simple.

          Yup, good words, and I hope Sun listens.
          • No restrictions for Sun

            It's their code. The GPL doesn't add any restrictions to them since they are free to use multiple licenses in any combination.
      • Red Hat doesn't seem to think so.

        Or perhaps you don't consider their developers, marketers, executives, etc. to be trying to making a living?
        • Linux is GPL'd, though

          RedHat, I believe, makes their money from training, certifications, support, and the like, not from the actual software since the GPL forbids them from doing so, unless they also sell proprietary software that is not GPL'd. So instead they make money from everything else.
    • Who cares. Java is a dwindling stock!

      Until Micro$oft join in without fear of being sued, it won't come back. Open source? They will be sued too!
      • Not quite

        Except Java is used in a lot of cell phones out there, along with being used on web sites and the like.

        About the only thing that would kill Java at this point is if .NET found its way into the cell phone market, which I doubt would happen because that would require cell phone companies to rewrite their software from the ground up instead of just adapt.
  • CDDL all the way...

    YOu want open, you can make it open, you want closed, you can do that too. Best of both worlds.
    • LPGL, BSD, Apache . . .

      There are many open source licenses that allow someone to make proprietary software.
      Roger Ramjet
      • True, but Sun already uses CDDL

        For Solaris. It makes sense they would continue to use it. At least I hope they do.
      • Not the LGPL

        If the linking of LGPL code requires incorporation of the LGPL object code into the module, your distribution terms must allow for reverse engineering and modification, which many proprietary projects do not allow.
  • GPL code in voting machines

    While you have a point about the GPLv3 and vendor lockdown, you need to find a better example than voting machines to demonstrate it.

    There's nothing in the GPLv3 that prevents distribution of code that allows the [b]end user[/b], in this case the government, to lock down the code to the machine. Even though the voter uses the voting box the GPLv3 program hasn't been "conveyed" to them so they don't have any GPLv3-based rights to the source code, nor to the keys that lock the code to that box.

    Of course, any private vendor of GPLv3-based voting machines to the government would have to provide [b]the government[/b] in question with the keys that bind the software to the box but, frankly, that should be a condition of the purchase anyway. Lord help the government agency that buys 10,000 voting boxes only to see the vedor go bankrupt in 3 years leaving those 10,000 voting boxes unmanageable.
    • you got it in one

      have a cookie *throws cookie*
      Scott W
  • It can be both GPL and other licenses

    Sun can distribute Java under more than one license (just as it does not with its source code program).
    Personally I also think EPL is most industry friendly, but if they don't like 'Eclipse' they can use CPL - its the same as EPL with no 'Eclipse' in it. Or, they can rename EPL to SPL and replace 'Eclipse' with Sun...
  • Um, GPLv3 isn't done yet

    GPLv3 wouldn't be an option because it's not a known quantity at this point. Even if they decided to release under GPLv3 based on the terms of GPLv3-draft2, those terms might be changed under -draft3 or later.

    Also, the statement "it would be very unusual for a large contribution like the JDK to be stuck at a back-level of the license", while true, is disengenuous. No software is yet released under GPLv3, as GPLv3 is not finalised. Some software is released under "GPLv2 and subsequent versions", but the subsequent versions clause has yet to kick in for that precise reason.

    I think Linus made a typically insightful technical decision *not* to bind his software to future license upgrades (over which he has no control) by explicitly staying with GPLv2. Authors who licence software under "GPLv2 and subsequent versions" aren't able to make an informed choice to those terms, as GPLv3, v4, v5, etc. have not yet been developed.