Almost 10 years to the day since Sun first introduced Java, the news comes that it may finally become open source code. Sun will deny it, but the move has been inevitable for some time. On Feb. 1, it was open source Solaris 10. Now it's J2SE, which will take a year or more to become available, if and when it gets past all the political hurdles. Next up: J2 Enterprise Edition? That will take a bit longer, although it does have three major J2EE F/OSS projects -- JBoss, Jonas, and Geronimo -- all committed to compatibility with the JCP's specs and all with good relationships with Sun.
A group of 12 Apache developers have put together a proposal called Harmony. The proposal appeared as a simple project call last Friday on an Apache incubator mailing list. It would make this new, built-from-the-ground-up version of Java available under the Apache 2.0 free software license. And it's causing quite a stir in the Java community, especially since respected Sun frontmen Tim Bray, Simon Phipps, and Graham Hamilton have given the project their blessing. As yet there has been no reaction from Dr. Java, James Gosling himself, who is in Brazil talking to developers.
'Next step in Apache's work around Java'?
Hamilton, who has become one of the new "media faces" of Sun in recent months, posted this in his blog on Saturday: "In many ways launching a J2SE project is the obvious next step in Apache's work around Java. Personally, I am very curious about how the Harmony project will work out -- creating a full scale implementation of J2SE is a mammoth task, as the Sun J2SE team knows only too well. However I wish Apache success and we'll certainly be tracking this as it develops."
Phipps' response: "Things like this (and the new openness of the v6 -- Mustang -- work) renew my confidence in the promise of the Java community ... This is just the sort of responsible, community-led evolution that the JCP rules were changed to facilitate."
In a FAQ on the Apache site, Harmony project leader Geir Magnusson Jr. wrote: "We believe that there is broad community interest in coming together to create and use an open source, compatible implementation of J2SE 5, the latest version of the Java 2 Standard Edition specification. While the Java Community Process has allowed open source implementations of JSRs for a few years now, Java 5 is the first of the J2SE specs that we are able to do due to licensing reasons."
Could this lead to a fragmentation of the Java community? Magnusson said he doesn't think so. "Our intent is to bring people together, let us share what we know, solve common problems, and collaborate on things where we can," he wrote. "A diverse Java community is a healthy Java community. Multiple implementations of the Java specifications show the value of Java -- that we do have a specification, that anyone is free to make a compatible implementation, and that users of Java have the opportunity to run their Java code in more places, on more platforms. This is the central promise of Java, and we think that our efforts support this."
Brian Behlendorf, director of the Apache Software Foundation, told ITMJ via email that he's not personally involved in Harmony, "aside from being a fan of the idea, following passively, and talking with others outside Apache about it."
Asked if he thinks Harmony could eventually offset Sun's own "clean-room" J2SE in the marketplace, Behlendorf said: "This is a long-term project, and yet to be decided are how it would work with the other existing open source efforts in the J2SE space, as well as whether there are existing codebases that could bootstrap the effort. While even the goals of the project are still up for discussion, no one is interested in this being a purely academic exercise. The implicit assumption is that we're working towards a J2SE implementation that one day we would run our own applications upon in a production setting. Whether it becomes the preferred Java platform remains to be seen, of course."
Asked if this project might finally be the answer to Java developers' prayers of freedom from lock-in, Behlendorf said: "One answer to this question is that Java has not been 'locked in' for a while now -- there are many vibrant and legal open source implementations of different parts of J2SE, from Kaffe to Classpath to Jikes and GCJ. As with Geronimo, we seek to prove to Sun and the rest of the Java community that open source is not antithetical to the concept of adhering to standards, so we will be seeking certification by passing the J2SE TCK when it's ready.
"Sun has long held to the premise that as Java technologies evolve (both specific projects and the Java effort as a whole) there's a gradual handoff of responsibility and authority to the community. We definitely think Harmony can play a part in that."
Sun, a company in financial trouble for the last four years, made some inroads last year with the development community and with several market foes (namely, former sworn enemy Microsoft) in order to get back into the IT business race. Observers say Sun is beginning to learn how to use sales and manufacturing channels -- national and international -- much more effectively, and this also can be traced back to strategic moves (mostly personnel) it made last year.
Sun can't stop development of open source Java
But Sun needs more than that, and the company knows it. Because so much of its revenue is tied up in long-term licenses involving J2EE enterprise hardware and software, it knows that it can't come out and open the code just like that. There is simply too much to lose right off the top; too many potentially irate customers and too many already designated dollars. But if someone else were to attempt it ... someone respected, like, say, Apache ... well, hmmm. That's a thought.
Sun cannot control what the open source community wants to do. But open source Java appears to play into Sun's most pressing need right now: good will from the development community at large, so that the company has better chances to land server, software, and service sales. If this indeed comes to pass, and Java becomes open, Sun can put its hands up and claim legitimate innocence about how it happened. And the Java community will rejoice in victory.
Sun had already announced in March that it is loosening up the licensing requirements for J2SE anyway. This is the next logical step.
Note: Comments are owned by the poster. We are not responsible for their content.
Java is already Open Source.
There are Open Source Java implementations such as JBoss, and Kaffe.
And the Free Software Foundation has created another Open Source (more specifically, Free) Java in the GCJ.
Given their feelings about licensing, do you really think the FSF would have implementaed Java if the license didn't allow Free implementations, including the freedom to fork and redistribute the result?
> Mr. Bill has his windows compatable Unix with MS-Solaris...
First, Microsoft already has a Windows-compatible Unix, namely, Xandros Linux, which lists among its Top Ten Reasons to use Xandros:
"The ability to run Microsoft Office, Photoshop, Quicken, and Dreamweaver on your Xandros Desktop."
Second, the money Microsoft had to pay to settle Sun's lawsuit, while large, was still small compared to the cash Sun has in the bank. It was hardly enough for Sun to sell out its future.
Third, in order for Sun to become subservient to Microsoft, you would need to remove Scott McNealy, and his ego.
Fourth, I see no lessening of competition between Sun and Microsoft. Sun continues to support Mozilla, Apache, Linux/Gnome, and OpenOffice, all of which are eating into Microsoft's marketshare. And Sun's Java continues to be a roadblock to<nobr> <wbr></nobr>.Net acceptance in the market. Likewise, Microsoft is continuing their FUD war against Sun (I'd accuse you of being part of it, but your post is too inept to be paid astroturf).
The fact is that Sun won their lawsuit against Microsoft over Java. Sun was also in a position to cause trouble for<nobr> <wbr></nobr>.Net, given the various patents Sun holds on Java technologies. On the other side, Sun wanted access to information on Microsoft's networking protocols and file formats, so Sun servers could continue to talk to Windows clients, and Star/OpenOffice could continue to access MS Office documents.
Sun got the better part of the deal, but then, Sun had Microsoft over a barrel.
Of course, I take it as a given that Microsoft intends to renege on their deal sometime in the future. Microsoft is hoping that, in a few years,<nobr> <wbr></nobr>.Net will have given them so much control over the Internet, that they will be able to threaten to break the deal, in order to squeeze concessions out of Sun.
Sun, on the other hand, fully expects Microsoft to try that, but Sun believes that Star/OpenOffice, Linux, Open Solaris, and Java will be so strong that they will no longer need anything from Microsoft.
I'm betting on Sun's side, i.e. that Linux, Mozilla, OpenOffice, Java, and so on, will weaken Microsoft to the point where they can no longer threaten anybody, and are forced to compete like everybody else.
> Microscoff needs a proprietary MS-JAVA, and that's that.
Microsoft already had a proprietary Java, in the form of J++. They lost it because they cheated.
Microsoft also paid Kaffe to add J++ extensions, at one time, though it didn't do them any good. Regardless, Microsoft can have an Open Source Java bundled with Windows any time they choose, just by giving the PC vendors permission to do it.
And Microsoft has created their own Java in<nobr> <wbr></nobr>.Net and C#.
In short, your statement makes no sense.
When Apache is back under the 1.x type licence it will be reasonably free (ego-free). Meanwhile producing a Java clone with an A2 licence will help fuel the egos of those who imposed that licence on a once proudly free project.
ASF isn't too sure itself about GPL compatibility:
"The result is a license that is supposed to be compatible with other open source licenses while remaining true to the original goals of the Apache Group and supportive of collaborative development across both nonprofit and commercial organizations. The Apache Software Foundation is still trying to determine if this version of the Apache License is compatible with the GPL." (Apache.org website)
As to the "market share" of "70%" do you think that every copy of Apache/Apache derivatives running is under ASF 2.x licencing? They are not and all of the figures are necessarily wafty anyway. There are no hard data to support your claim but I do know that there are lots of 1.3.x and derivatives out there on the previous simple and free-er licence.
Whenever masses of text are added to an existing licence it is NOT adding freedom. It always reduces it.
The so-called "lock-in" that was discussed was a concern that the OpenOffice developers might accidentally use Java features that were available in Sun's Java implementation, which had not yet been implemented in an Open Source Java, such as GCJ.
It turned out, of course, that the whole thing was a panic over nothing, as the OpenOffice developers were already taking steps to ensure that any Java used in OpenOffice would also work with GCJ.
><nobr> <wbr></nobr>...Is being unable to fork any time you don't like what so and so has done.
Which is not the case here. All OpenOffice code, including any Java, is available under the LGPL license, and is thus forkable.
Likewise, Java, the language, is forkable. GCJ, JBoss, Chai, and so on, are all forks, to greater or lesser degrees, of the Java language.
The only thing that is not forkable is the source code for Sun's _implementation_ of Java. And, as I said, work was already underway to ensure that OpenOffice was not dependent on using Sun's Java implementation.
> A favoured tactic in OSS.
I wouldn't say that. In fact, lock-in goes against OSS, both in philosophy and in practice.
Now there are some companies that use Open Source, or even Free software as a cover, while locking-in commercial (non-GPL) developers with a proprietary license. One example would be Trolltech, which releases Qt under both a GPL and a proprietary license.
> Plus not being able to call your fork "Java".
Big deal! JBoss is a somewhat-incompatible fork, which prevents them from calling themselves Java, but that hasn't stop them from succeeding. Likewise, HP's Chai is a fork of Java.
Similarly, X.org couldn't call themselves XFree86, yet that did little to slow the transition. In fact, it helped to make it clear to people that a fork was occurring, and to highlight the reasons for that fork.
> The licenses don't have anything to worry about, because they're buying more than just a language.
Correct. The licensees are buying more than just a language. They are also buying Sun's certification.
But Sun's certification only has value as long as Sun is trusted as an authority on ensuring Java compatibility.
And that's one of the reasons for Microsoft's astroturf campaign against Sun and Java. Microsoft wants to weaken the trust in Sun, thus reducing the value of Java certifications, and cutting off one of Sun's sources of revenue. Microsoft also hopes to weaken support for Java, in order to give<nobr> <wbr></nobr>.Net a better chance of succeeding.
> But as MS demonstrated. A language backed by consistency, enforced by a legal structure. Something OSS doesn't have.
All of that is wrong, of course. But thank you for revealing whose side you're on.
ishmal
Views of Miguel De Icaza on this
Posted by: Rohit on May 14, 2005 03:30 AM#