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.
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.