As Red Hat finalized the acquisition of JBoss, senior vice president of enterprise applications Tim Yeaton said the failure to make Java completely open is a disappointment to those who rely on the technology in their products.
As Red Hat finalized the acquisition of JBoss, senior vice president of enterprise applications Tim Yeaton said the failure to make Java completely open is a disappointment to those who rely on the technology in their products.
You can go through the article and decipher all of RedHat’s buzzword marketing newspeak (throwing in “open” every other word), but the bottom line is that RedHat is sick of working on Classpath and just wants Sun to hand over Java so they can do what they please.
Everytime a RedHat wonk opens up his mouth about open source Java, Sun probably takes a step back from open sourcing it.
Oh, give them a break about the marketspeak. All executives got to where they are by listening to their superiors and trying to sound at least as important as them. Then when they reach a senior level, they surround themselves with other “think-outside-the-box-ers” so that they can all be outside of the proverbial box and yet still inside a comfortable bubble of self-aggrandizement. They talk that way at the dinner table, with their significant other, and probably at the McDonald’s drive-through.
But to generalize your point, I think this issue is rooted in the fact that Sun likes to create its own communities, first with Java, and then again with the CDDL-based OpenSolaris. In neither case is there a really compelling reason why they can’t unite their communities with the larger GPL/BSD-driven community (I combine the two because they are compatible, not because they are the same or because their fanatics agree with one another), but nor is there a solid business case for doing so.
Remember that Sun did “open” StarOffice in the general sense of the word as implied by Red Hat’s men. The only tangible result is that more CIOs are now familiar with OpenOffice.org than they are with StarOffice, especially since the OOo codebase has proved daunting enough to defeat the interests of most independent developers. Red Hat is one of their primary competitors, and they see the prospect of an open Sun Java implementation as something that benefits Red Hat more than anyone else. Opening Java causes Sun to lose control of its precious Java community and creates a market situation where Sun would have the options of supporting new features from Red Hat and others or risk fracturing the Java community for good.
That said, opening Java should be a good thing for most end-users, but it could go either way for Java developers and Java-dependent businesses. This is a really tough one to call. While Red Hat stands to gain significantly, the rest is more or less unpredicable. I’m inclined to believe that the potential for significant innovation is less than that of significant disruption.
But to generalize your point, I think this issue is rooted in the fact that Sun likes to create its own communities, first with Java, and then again with the CDDL-based OpenSolaris. In neither case is there a really compelling reason why they can’t unite their communities with the larger GPL/BSD-driven community (I combine the two because they are compatible, not because they are the same or because their fanatics agree with one another), but nor is there a solid business case for doing so.
There are multiple community’s which are controlled by different interests – Ubuntu, Debian, Red Hat, OpenBSD etc. To say that Sun’s relationship to Java, and OpenSolaris is any different is totally incorrect. Also I will combine BSD/CDDL as they are compatible 🙂 GPLv2 is the only one with a compatibility problem. There are many Solaris 10 features being implemented in the BSD world, and many BSD features being implemented in OpenSolaris. I dont see your point.
Maybe you should look at the BSD history, and see where it originated and who contributed to it.
Opening Java does not stop Sun controlling the direction of Java. They will still own the trademark, as does Linus ownes the Linux trademark. Sun already support many new java features from other companies. I dont think that Red Hat adding features will be a big issue for Sun. I also doubt that the Java community will let it be fractured.
the open source philosopy is:
* not to say “hey, you! give us the software you created, wrote, developed and supported”.
* to make a free/open alternative yourself. do it yourself.
“* to make a free/open alternative yourself. do it yourself.”
Which is exactly what Red Hat are doing with GNU Classpath and friends. The problem is:
– Sun has said that it will open-source Java.
– Reimplementing the whole Java class library is a lot of work reinventing the wheel.
– Having several implementations of the class library will lead to lots of subtle incompatibilities.
Personally as a Java user and programmer/developer I have rarely felt the need for Java to be open sourced.
That being said and i Will get flamed no doubt for having said that, it truely is a shame that Sun who says the number 1 feature of Java is write once run everywhere ignores JVM releases for certain distros. If they dont want to open it they should at least release a version for all the prominent distros. My understanding of Open Source and its millions of licenses is poor so I wont say much more in this matter but from what I understand, it is not that Java isnt open already…but rather the license on which Java is released that is the bone of contention, no?
Java doesn’t need to be open-source. In fact, Java is a specification and Sun’s is producing the Reference Implementation.
That being said… Anybody who wishes to produce a Java VM only need to follow the specification ( IBM, BEA, Apple did it! ).
Open-Sourcing the Reference Implementation isn’t relevant. If you want the fate of Java to be completly free, you got to free the specification and turn it to some 3rd Party Consortium/Foundation such as the W3C or Apache
My 2 cents!
IF only the VMs worked properly with all java apps. My experience of running non Sun Java VMs on Linux and FreeBSD is that some apps just won’t work well with them but work absolutely fine with Sun java.
Personally I do not see anything wrong with opensourcing java. Sun moaned about potential forks but many opensource programming languages such as Python, Perl, PHP etc are opensource and no one has forked them so I don’t see what Sun is worried about.
I’ve taken type 4 JDBC drivers and Java code and had them work flawlessly with both a Sun JVM on Windows and an IBM JVM on AIX without a re-compile or porting issues. That is only possible because both JVMs were certified and Sun guards their standards religiously.
Are those non-Sun Java VMs you were referring to really Java or are they Kaffe or gcj/Classpath. I ask because there is no certified open source implementation and it is no wonder they don’t work as well as the real Java.
Are you suggesting that Sun’s Open Java won’t be certified?
Are you also suggesting that alternative open implementations can’t be certified too? If so, see Apache Geronimo.
> Are you suggesting that Sun’s Open Java won’t be certified?
It will be certified if/when it arrives.
> Are you also suggesting that alternative open implementations can’t be certified too?
No, I am not. I was merely pointing out that (like the Abominable Snowman) certified, open-source JVMs are still mythic beasts.
>> Are you suggesting that Sun’s Open Java won’t be certified?
>It will be certified if/when it arrives.
Are you also suggesting that alternative open implementations can’t be certified too?
>No, I am not. I was merely pointing out that (like the >Abominable Snowman) certified, open-source JVMs are still mythic beasts.
There is a reason for that, there is no oss vm in existence currently which could pass the JVM Testing suite on technological ground. Other APIs are beyound that stage, tere is geronimo and jboss and jonas which are fully jee 1.4 compliant and moving towards jee5
There is myfaces as clean room jsf 1.1 compliant implementation, there is tomcat which is not anymore the ref impl of the servlet and jsf specs, but nevertheless the most popular clean room spec implementation.
As for JPA there now is openjpa and hibernate as clean room jpa implementations independend from Sun, while the ri is opensource as well, but not directly Sun independend (well the codebase was donated from Oracle)
Especially in the jee world having opensource clean room implementations is more the rule than the exception, the only missing piece is the jdk, but the momentum was not there due to the fact that for most devs the current status quo is a good one. (In the jee world there was the monetary pressure of having extremely expensive app servers which were close to unaffordable for many devs)
Are you also suggesting that alternative open implementations can’t be certified too? If so, see Apache Geronimo.
I suspect that Classpath-based JREs will never be certified, but Harmony will. Apache has a special relationship with Sun so that their projects can be certified.
Personally I do not see anything wrong with opensourcing java. Sun moaned about potential forks but many opensource programming languages such as Python, Perl, PHP etc are opensource and no one has forked them so I don’t see what Sun is worried about.
There have been alternative, non-compatible VMs before. Pizza Java comes to mind. I think there was an implementation that added multi-methods too. Actually, I’m not sure if those were language additions that would compile to compatible Java bytecode, or if there were VM enhancements as well.
An open source Java allows a real fork though, and also lowers the barrier to alternative, incompatible implementations.
Sun doesn’t fear just a fork. They fear a relevant fork. It’s doubtful that a conservative IBM or even RedHat would initially or even intentionally go down the path of an incompatible fork, but when RedHat starts talking about realtime extensions, and other “innovative” things, then it starts to move in that direction.
Personally, I could care less. Forks might be a good thing. Java stagnated for quite a while until they got some competition from .NET. Maybe a relevant fork could spur Sun on to something better.
VM compatibility. I once had to port a medium sized app of 500.000 locs which was developed on Windows into a VM which was running on an RS6000, I had to change exactly one line of code, which triggered am ambiguity in IBMs vm implementation regarding a certain language feature.
Yes the vm compatibility is really that good. And I even given my experiences with other VMs consider something like that a shoddy implementation, it should not have happened.
Every VM has to pass several million unit tests before getting the branding (I think the state of affairs around 2000 was 1.1 million or so so go figure how much they are now 6 years later)
Java doesn’t need to be open-source. In fact, Java is a specification and Sun’s is producing the Reference Implementation.
Then would you care to point out where the specification is for the standard library packages? Cause there is a lot more to Java then the VM.
Open-Sourcing the Reference Implementation isn’t relevant. If you want the fate of Java to be completly free, you got to free the specification and turn it to some 3rd Party Consortium/Foundation such as the W3C or Apache
The Java specifications has already been turned over to a 3rd party. It is called JCP, and you are free to join yourself and have your say how to open source java.
JCP is a big money play. You can join up all you want, you won’t be able to have a say on what Sun does with their code, or any of other comanies who’ve sunk money into staking out their licensing claims via JSRs. That’s the community the “C” in JCP really means, not individual developers.
Unless one has a few million dollars to put on the table, all an individual at the JCP can do is pretend to have some influence.
The JCP is no third party, it’s ran by Sun exclusively. Sure, there is an EC, but it has no real power, as Roy Fielding from ASF has explained on Apache’s legal-discuss mailing list: http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200604.m…
“Sun legal currently has complete authority to prevent publication
on jcp.org of any specification that doesn’t meet Sun legal’s
requirements (which are determined by Sun at their own discretion).
As such, the EC is entirely irrelevant to the actual policy and
procedures imposed on spec leads. I suggest that the EC might want
to address that issue in a revision of the JSPA, since the actual
publication process occurs behind the scenes and allows Sun to
control the content of a JSR *before* it is presented to the EC
for a final ballot.”
There you go, from someone who knows the inner workings of the ‘third party’ JCP.
Geronimo!
Sun will open source Java under the GPL+n03viLF0rks4ll0w3d license
Most people using and programming in java dont even care if it is under one of the accepted oss licenses, you can get the code, the VM is good enough for the tasks it is used for.
If RedHat is serious about wanting an OSS VM then they should give the apache effort a serious helping hand instead of bitching around. Sun always said that they would not stand in opposition of an oss VM but no one has done it fully yet, bits and pieces are there though.
As for the Sun VM given Suns past I am sure they will stand to their word and will OSS the Sun VM, but OSS is a two edged sword, an enforced GPL on top of the VM would be way worse than the current status quo of being able to look into the code, send in the patches and use it for free without any big restrictions codewise.
I think something like the Mozilla license or Suns CDDL would be the best, or a BSD license with an enforced branding (like it happens in many subapis which already have bsdish oss equivalents but can only the brand name after having passed the conformance tests)
I agree: “Forks are (almost) evil”.
In that matter (of open source java) I think, if sun release the java code in GPL, the only benefits is for redhat business.WHY REDHAT BUSINESS IS “GOOD” AND SUN BUSINESS IS “BAD” ?
Edited 2006-06-09 07:37
WHY REDHAT BUSINESS IS “GOOD” AND SUN BUSINESS IS “BAD”?
Because RedHat’s business is an ethical one. It doesn’t deny users freedom while (parts of) Suns business are unethical and immoral because the giving you software you can’t study, change and copy wich leaves you helpless and creats some kind of vendor lock-in.
I don’t know what Sun would bitch about as well, considering one can’t call those forks Java unless they pass the Java conformance test.
The current licence is bloody stupid, you can only distribute the patches, but not the complete package – want to make life easier for freebsd, allow people to redistribute the modified source, and heck, as long as they don’t call it java, why the hell should Sun care?
Well there always was the option to program a clean room oss vm, Sun never opposed it, in fact there are many clean room api implementations in the oss world. But given the fact that projects like classpath only have a handful of people and that it needed the money from IBM etc… and lots of donations to get the ball rolling, is a good indication that the pain inflicted by the current license was not really that big.
Given the fact that Java has been out since 1997 and is industry standard since 2000, this is a pretty clear indication.
A sun vm under GPL would be a desaster and would be the commercial death for the language. To bring it up to the point shortly.
Some people in the OSS scene would drool over it, but those would be the only ones.
There are many good and fitting licenses for a language stack and a language, but the GPL is not one of them!
since the bsd people are used to compiling anyway, either get the code and do a self compile or run it in the bsd linux app stack always has been the way to get things rolling there. But I agree, not being able to distribute a JDK out of the box with a BSD or Linux was a big problem in the past, and to some degree still is.
>I suspect that Classpath-based JREs will never be certified, but Harmony > will. Apache has a special relationship with Sun so that their projects can be certified.
Yes the relationship is there, although the bounds used to be stronger, but the climate still is good and sun employs some important apache people like Clanahan. But I rather doubt that this is really an issue, Apache also had its fair share of fights to get into the certification problems on a shoestring budget. And I am not sure but I am almost certain that the TCK testing is not opened for apache only but generally for OSS software.
Know wonder RedHat is going nowhere:
What are customers asking for from both your companies as far as the software stack is concerned?
Yeaton: What we are hearing from customers is a desire to have an open source platform that extends from engaging with developers and architectures at applications integration through testing and certification to actual products out through production and deployment. They want this in a way that will enable them to take full advantage of next-generation data center infrastructure — like microprocessor technology, hardware architecture, virtualization — and to drive down costs and improve utilization agility. The exact parallel of this, of course, is facilitating the creation of next-generation component-based applications and their use.
???
Anywhy, here’s a tip:
http://jcp.org/en/home/index
Redhat, start the JSR of your dreams.
Sheessss
http://jcp.org/en/home/index
Last I checked FreeBSD *did* get the ability to distribute it via ports, there was a press release about it roundabouts 2-3 months ago. Correct me if I’m misunderstanding what you mean by making life easier for the FreeBSD people.