The Source for Java Technology Collaboration
User: Password:



David Herron

David Herron's Blog

Yup, GPL

Posted by robogeek on November 13, 2006 at 07:43 AM | Comments (12)

Okay, we're finally public with what we're doing. Maybe I'll find time to resume posting on my blog. Especially as we have some interesting Quality Team plans cooking in the background.

Anyway I'm reading through the slashdot thread and it seems worthy to post a few responses to what I see there.

And it's worth saying up front -- I am not a lawyer, so for the real legalese of various questions you should consult your own lawyer.

From what I have read, it seems that Java will be dual-licenced, so anyone that do not feel good about GPL can use commercial licence. It seems like a win-win situation to me... Yes, this is true. Sun has a lot of customers who don't want GPL, they're happy delivering proprietary software thank you very much. Further if you look into the details, if you use the GPL license you're on your own. No support, no ability to call it 'Java' ® etc. If those things are important to you, then that's a different license.

Will they use the GPL for all the components? That is the compiler, the class libraries and the runtime? Then it will still be easier licensewise to use mono. and one of the replies If you choose mono, you choose an indirect control of microsoft all over your code. Good luck & god speed. ... okay, Sun is choosing the appropriate license for each project based on the needs of that project. For Java SE we chose GPL plus this exception we borrowed from the Classpath project. Java ME chose pure GPL. Other Sun software projects are using CDDL or the Berkeley license or whatnot.

I found that statement about mono to be curious and I don't know the licensing for mono. Maybe someone can explain that. Clearly the context for mono is it's a Novell sponsored project, Novell just made a deal with Microsoft about cross licensing IP, the F/LOSS community is really concerned about that deal, and in general Microsoft has a very controlling history.

It's interesting to contrast the standards governance between Microsoft's platform (Windows and .NET) with the Java platform (JCP etc). Which is more open? Which is more inviting?

..and.. It is my understanding that we're talking about the Java language compiler and virtual machine here, right? Which libraries will be GPL'd? What about the Java code for the J2SE libraries and the J2EE framework? The article is a bit short on details... The GPL applies to the Java SE project. Today we're releasing the hotspot VM, the javac compiler, and JavaHelp. We intend to release the rest of Java SE by Q1 2007. Except there are a few bits of encumbered code that we cannot release under the GPL.

Todays announcement has nothing to do with Java EE. But Java EE has already been open sourced and you should start with the Project Glassfish.

Further, I understand Sun has an intention to open source "every" software product we have. That's Jonathan S's stated goal.

Why the heck didn't Sun do this 10 years ago? It would have save the world a LOT of grief. Ah, 10 years ago was a different universe in terms of the environment. The term open source had barely been invented, despite it being the common practice on the Internet for many years prior. Software companies back then tended to be closed source, and for that time Sun was very open (relatively speaking) with Java source. We just didn't hit all the check marks of compliance with the open source model. It may be hard to remember from the vantage of today, but at that time the open source model was not so widely accepted by the market as it is today.

Plus, you have to remember our history with attempted hostile forking of the Java platform.

So, uh, that question really invites you to try and rewrite history and say "what if?". Is that really a useful path of thinking to do? The past is gone, the future will never get here, and all we have is the present.

... especially ... Just think if Sun had done this in the 90s. There would never have been a GTK/Qt appliactions split because all software would have been written in Java. Boy, that's a stretch isn't it? Would the Java implementation we had back then been very satisfying? The "Java == slow" argument came about because of performance issues y'all have been rubbing in our noses for years, most of which are fixed now.

That said, I cringe every time I see some new cross platform application that's not written in Java. I've been around the cross-platform-GUI-toolkit game for many years and I think we (Java and the Swing team) have the best approach to it. The license has hobbled acceptance, and that java==slow argument has also hobbled acceptance. Hopefully with the license out of the way the community will realize the java==slow argument no longer holds any weight and things will change for the better.

With this step, SUN has became the largest commercial contributor to the free and open source software pool.

'Lest you think Sun's "dabbling" with open source started with Open Office .. let me remind you of a little technology called NFS and NIS. Isn't it widely used by Linux folk? I sure know both of those exist on my Ubuntu laptop.

For being a "proprietary" software company, Sun has sure donated a lot of code to the open source world going back way beyond even the coining of the phrase "open source".

In any case, opening Java under the GPL sure is a huge step. Really huge.

I work for a LARGE government contractor and have had a hard time getting management to realize Open Source in general and the GPL in particular aren't bad for business. Open source here has the same connotation as red communism. Can't get many of them to stop calling it freeware. With Sun making Java GPL they won't have the choice of sticking with that attitude anymore. Many of our existing projects use Java already!

Y'know, there's some truth to that idea that open source is "communism". Linus Thorvalds does come from a socialist country (Finland), and in the FLOSS WEEKLY (er.. shouldn't that be named FLOSS WHENEVER WE GET AROUND TO IT?) podcast from a few weeks ago they talked with a Samba developer who's from this town in England that's famous for its socialistically minded population.

Now Stallman can drink coffee again

I can't wait to see the video we have of Richard Stallman giving his endorsement to this step. this comment has some related quotes.

I'm wondering what is going to happen with free Java compilers/virtual machines like GCJ and Kaffe?

I think the official line is "we wish them the best of luck". As their own project it is for the community around those projects to decide what they will do, isn't it?

We at Sun have no control over the decisions of the project owners in question. Oh, and you left out the Harmony and Classpath projects from that list.

So am I going to be able to get the sources from somewhere and build Java from scratch?

Actually, you've been able to do that for quite a while now.

Go to the JDK 6 project and the JDK 7 project and you'll be able to download buildable source code. However you'll have to agree to the Java Research License (JRL) to do so.

Over time we are promising to make the rest of the Java SE implementation available under GPL. Today it's just a subset that you can see as a downpayment on the rest. the openjdk project has the details. And yes that will eventually be a complete buildable JDK.

Wow! Despite all the rumours, I never really believed Sun would release Java under GPL instead of CDDL. Hats off to Sun. I assume the class libraries are also under GPL. The question I now have is, have they explicitly given a GPL linking exception for the class libraries to avoid GPL tainting Java code? Rather than implicitly saying there's no problem, I hope they make an explicit exception similar to the one given for FSF's libgcc or libstdc++. This commenter obviously didn't read the fine articles before making their comment. We are using the classpath exception because that is completely compatible with the choices already made by the OSS community.

Releasing Java under the GPL rather than the LGPL may hurt more than it helps. If that's the case then why did the Classpath project choose their exception rather than using the LGPL? We are using the same exception used by the Classpath project. Plus we are making it available under dual license so if you don't want the GPL version you can get it under a commercial license.

Now that Java is under GPL, IBM will have to release their JDK under GPL as well, right? and if they fork it to something else, will they still be able to use the Java name? How will this affect their patenting strategy, with regards to Java? and I wonder how this will affect Apple - on the Mac

No. IBM is under a commercial license as is several other companies like Apple. What Sun is releasing is our implementation of Java. There is a dual licensing system involved so that commercial licensees like IBM can do as they've always been doing. And the use of the trademarks are not being released for free and unfettered use. If you distribute the GPL version you cannot call it Java, until you take the route of running the TCK's and getting certification.

There is actually a policy at the company I work for that prohibits the use of Open Source Software. I never brought up the fact that many of the apps used on our HP-UX box are OSS, but will be looking forward to an opportunity to bring this one up. Ah, the winds of change. If your boss's are not comfortable with the GPL version they can always get the commercial version of Java.

I would like to know which parts of Java aren't being open-sourced. I do hope they aren't critical. We have a list somewhere and I'm sure it's going to be posted sooner or later. And some parts are critical. Replacing the encumbered code with free code is one of the high priority projects we're looking at.

The early announcements suggest that this is a GPL release with a linking exception and no "dual license" scheme. You must have missed something reading the fine articles. There is a dual license scheme.

Sun may have had other motives than that, but some people will interpret this move as Sun has written off java and is now giving their inventory away. Yes that is a croocked argument, but I am sure some bonehead CTO's or MS-salesdroids will make it anyway. To believe that idea (and I'm sure it's gonna be tossed around) is to completely ignore the steps we're taking, the discussion and business plan our current CEO is running the company under, etc. But to be fair, when Sun open sourced Solaris that was exactly the statement my brother (who has worked on the Mozilla project) tossed at me.

Jonathan S has been talking a lot about the power of building activity around the product line, around sharing, etc. He talks about the eBay model where their business plan is to build activity around their site and that activity gives them (eBay) more and more revenue opportunities. Now, Sun is in a different business than eBay, but if you think of this as a kind of Pattern Language for Business models, you think "Hmm... activity means more revenue opportunities". The more people come to Sun because Sun has interesting activities for geeks to do, the more chance there is for revenue accruing to Sun.

At least that's the theory.

I can say from viewing the Java SE project from the inside -- we're really excited about building up a real honest-to-goodness large scale and significant open source project.

Thanks. You did the Right Thing. Thank you. Our pleasure.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Okay, we're finally public with what we're doing. Maybe I'll find time to resume posting on my blog.

    While I think that it will need some time for everybody to get the big picture with all the details, it looks like that Sun has been very smart, taking the best of both worlds (open source and commercial). GPL means no more prejudicial refusal of Java in some environments; keeping control of the TCK means to preserve WORA. Good job. We understand that you guys at Sun faced with a very tough problem in the last months, and we want to thank you because your sleepless nights gave us a better world to work.

    Posted by: fabriziogiudici on November 13, 2006 at 09:09 AM

  • Let me second that; wow, and thanks!This is a tremendously generous contribution to the free software community. The SE platform is now ready to become the dominant free runtime, in addition to being the dominant proprietary one. Everyone wins!At last, in the fullest sense of the expression: write once run everywhere.I think it's also safe to say: No one has contributed more to free software, than Sun Microsystems.John

    Posted by: cajo on November 13, 2006 at 09:43 AM

  • First of all, a big thank-you to everyone at Sun! Pink Floyd's "A Great Day For Freedom" was played here in our lab in celebration. :)

    And the use of the trademarks are not being released for free and unfettered use. If you distribute the GPL version you cannot call it Java, until you take the route of running the TCK's and getting certification.

    This is an interesting and important detail. As a developer of a small community-based Linux distro (GoboLinux), I figure going through the certification won't be a suitable path for us, but we'll certainly want to include Java in our live CD to improve our users' web browsing experience. I wonder if there will be a "generic name" that will be generally accepted (to avoid going through the whole Firefox/Iceweasel debate again). Perhaps just calling the package "JDK" or "JRE" would be enough, or are these three-letter-acronyms Sun trademarks as well?

    Posted by: hishamhm on November 13, 2006 at 10:13 AM

  • We have a list somewhere [of parts of Java that aren't being open-sourced,] and I'm sure it's going to be posted sooner or later. And some parts are critical. Replacing the encumbered code with free code is one of the high priority projects we're looking at.

    Is there somewhere that Sun will be posting this list, including the status on if and when these parts will be re-written? It would be nice if Sun could let the community know about these deficiencies, and maybe the community could help with the reimplementation.

    Posted by: ian_bailey on November 13, 2006 at 11:17 AM

  • Parts of that list can be found in (extremely usefull and detailed) FAQ.

    http://www.sun.com/software/opensource/java/faq.jsp

    "The most significant encumbrances are in the 2D graphics area: The ICC color-management library, the font rasterizer, and the graphics rasterizer. There is a fairly direct open-source replacement for the color-management library, so we suspect that one will be easy. Reasonably good open-source font and graphics rasterizers are available, but unfortunately they don't at present support all of the features of the Java 2D API, so fitting such components into the JDK will require significant work."

    Posted by: selendic1 on November 13, 2006 at 11:41 AM

  • selendic1, thanks for the FAQ link. I see that JDK is also trademarked. I guess we'll wait to see what package name will become standard when packing builds of the GPL'd OpenJDK code.

    Posted by: hishamhm on November 13, 2006 at 12:02 PM

  • @ hishamhm

    It seems to me, from quick browsing through the FAQ, that you should be alright with distributing GPLed builds with your distro, as long as you don't change anything. There's lots of explanations under "Goals" and "business model", however, I for sure hope that Sun won't make halfassed GPL version just to make money from selling commercial one with support.

    Posted by: selendic1 on November 13, 2006 at 12:14 PM

  • Todays announcement has nothing to do with Java EE. But Java EE has already been open sourced and you should start with the Project Glassfish.

    Well, that's not entirely correct. We've also announced that GF is now dual-licensed under GPL.

    Dmtiri

    Posted by: trembovetski on November 13, 2006 at 12:46 PM

  • As a GNU Classpath contributor and long-time Java developer, I'd like to say a big thank-you to you, David, and everyone at Sun for this fantastic initiative. Sun is removing most of the obstacles that have restricted my previous involvement in the JDK development process...so my Classpath days are numbered. I look forward to getting involved with the OpenJDK project. Regards, Dave Gilbert.

    Posted by: dgilbert on November 14, 2006 at 06:26 AM

  • yup, without robogeek's steady leadership open source java may never have happened. I still think we should try him out for Java's dictator for life.

    leouser

    Posted by: leouser on November 14, 2006 at 05:00 PM

  • @dgilbert While you are here, can you shed some more light on how likely parts of classpath are to be included in the OpenJDK. In particular do you think code from classpath will be included to replace the encumbered code in the java libaries?

    Posted by: luke_sleeman on November 15, 2006 at 02:33 AM

  • Luke, I am not dgilbert, but I am sure we would be happy to consider donations of classpath code.

    Brian, you're making me blush again.

    Posted by: robogeek on November 15, 2006 at 06:35 AM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds