Sun Agrees to Talk to IBM over Open Sourcing Java
comforteagle writes "Sun has agreed to meet with IBM to further discuss the issue of open sourcing Java with them. 'Sun is closely evaluating the effectiveness of the process.' Could Sun be coming around to actually doing this?"
In other words, there will be an open source java implementation, but you can bet your bottom dollar there will be better tools and IDEs for the closed version initially.
Then there will be enough libre programmers to make decent libre IDEs etc, and the proprietary Java will wither away (and Sun with it).
Though I hope Sun doesn't die, because they can stand up against Microsoft.
Exercise your right not to vote. thinkoutside.org
...Sun is attempting to buy some time and save face by stating that they will look into it with IBM, rather then ignore IBM and the OSS community by continuing their existing party-line.
What they may attempt is to persuade IBM to understand their side and perhaps even join them in keeping Java a closed environment.
It will be interesting to see how this will all turn out in the end.
If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
The question is not whether someone will or will not turn java down because it is not free, but how much more wildly adopted and improved the language and the VM can become.
While I hope that Sun does this someday, I really think that Eric and some others are out of line for beating up on Sun.
Sun is in trouble... nothing is really working for them. The Opteron is going to kill the Sparc, and they don't make much money off software. They need to figure out ways to make money from what they're doing or they're going to go under and take a lot of really cool stuff with them when they do.
I am personally an old fan of Sun. I think they're a great company. Their lukewarm support for SCO (I personally think they were just straddling the fence so they'd be on the winning side no matter what) is disturbing, but I understand their desire to stay out of the way of a litigous monstrosity like this. I want Sun to survive.
Sun has done a great job with Java so far. If they had opened it in the beginning, it would have been embraced, extended, and extinguished by you-know-who and we'd now have Microsoft Java.NET for Windows. Cross-platform Java would be dead. Sun did the right thing, and have been great stewards over this wonderful technology.
So, as we call for them to OSS Java, please keep their interests in mind. They deserve some reward for developing such a wonderful thing. We should not just blindly beat up on them for no reason, and we should keep in mind that IBM may have entirely selfish reasons for "leaning" on Sun here.
(IBM has done the community some great favors, but that doesn't entitle them to some kind of blind religious allegence.)
An OSS version that comes with no support and little in the way of guarantees. A commercially licensed version that does.
Companies will make the same choice they make with other dual licensed OSS projects.
Neither company wants to release their own IP into an open source project. However, IBM providing the manpower, with Sun providing the specs, is a good combination for a new product.
It benefits Sun because A) it keeps Free Software advocates off their backs, and B) it promotes the continuance of Java, a flagship product, and one of the ways they as a company become known to many others.
It benefits IBM because it A) improves their image with the free software community, B) helps keep them in a leadership position for corporate attitude towards open source, C) it keeps investor opinion high.
tasks(723) drafts(105) languages(484) examples(29106)
The problem is that open sourced java means something different to everyone, thus most people rants about different things. Many are shouting the "open source good" mantra, without stoping to think what to open source or how (a language, an implementation, a licence, a platform?).
"I think this line is mostly filler"
It's being spearheaded by IBM and Sun. I don't think anyone will have issues about poor corporate backing.
Not an issue, not even for the most retarded PHBs.
put the what in the where?
I gotta think that Java operates at a loss for them, they've basically been using Java as loss-leader to buy their other sutff lately. With all their corporate wide financial difficulties spinning Java off, letting other people do their development for them makes a lot of $ sense. They've gotten enough brand naming out of Java, so it will always be linked with Sun, so they aren't losing much branding. Why spend lots of money & resources on a free product when you are strapped to the gills with financial problems.
Actually, the question -- or the worry -- is more around how to prevent somebody from forking Java and kill the "Write Once, Run Everywhere" idiom.
This could lead to some extremely good things.
Unfortunately, the only downside is that ESR is going to try to take credit for it, and he will be insufferable after this.
If its not given a BSD-style license, but one closer to GPL, there shouldn't be a problem. Microsoft won't touch the GPL since they can't make it their own like they can with BSD code. So I doubt Microsoft would do anything with Java provided its using an open-source license which prevents it from being hijacked.
The answer is easy create a test suite that a piece of software can only be called java compatible if it pass this test suite.
[]'s Victor Bogado da Silva Lins
^[:wq
The Java language specification is already avaliable in the open, just like the JVM spec. This means that anybody could write a complete java implementation, open source. The open source version could not evolve faster than the Sun spec(because it would not be a real JVM then), but the optimization and bug-tracking processes could go faster (if it gets the same kind of support Apache has).
What is interesting here is that Sun would participate directly.
You're not old until regret takes the place of your dreams.
Any fork from the Java specifications would simply not be Java anymore.
I would imagine Sun would act as a gatekeeper if Java went open source. Anything code that breaks compatibility would not be included in the "offical" Java feed.
As the grandfather post stated, this is more about portability than anything.
Who said it'd be GPL? Most likely, they'd keep it under something similar to the Sun Industry Standards Source license ala Oo.o, which IIRC gives them a bit more control.
For my needs and preferences, Java is "free enough". Anyone who ever has turned Java down in favor of something else, because it is not free?
I have. It's not free enough to be included with Debian or FreeBSD.
The only way to guarantee the possibility of future support is to open source it.
That's not true. The API's are fully documented and there is nothing preventing their implementation. Those API's are decided on by the JCP which is a community process.
Open sourcing Java would give people an implementation, it would not significantly affect the characteristics of the language. I don't see the openness of Java being significantly different than that of C/C++/C#/Ada; the languages are tightly controlled by a small group with anyone free to implement the standard to whatever extent.
What is the difference between the relationship of Java to the JCP and C to ANSI? You and I can't directly influence either; but we are free to implement either language.
Actually, the question -- or the worry -- is more around how to prevent somebody from forking Java and kill the "Write Once, Run Everywhere" idiom.
This hasn't been a problem with C, so why should it be so with Java? Sure, everyone and his brother has implemented non-standard extensions to C in their compilers --- but almost no one uses them. If you care about portability, you'll stick to the standard, and if you don't care about portability, odds are you don't care very much about Java.
If you're really into "write once, run everywhere," then an open source Java ought to be a major goal. Java doesn't run on my box, for example, because it doesn't come with my distro, and my past experiences with configuring it have been so unpleasant that I don't bother anymore. If I really could just run Java programs -- exactly as I can currently compile C programs without worrying about installing the compiler toolchain manually -- I'd probably use some Java programs.
(And yes, I know non-trivial C programs require modification to run on new platforms, but that's because C programs interface directly with the operating system without the buffer of a VM -- and the VM certainly isn't "write once, run anywere," now is it?)
Proud member of the Weirdo-American community.
OOP is only as good as the designer. Any of the OOP languages (Java, C# , VB.NET (gasp) to name a few) can still have a clueless idiot make a God class. Conversely, you can "simulate" inheritance, polymorphism, etc. in procedural languages as well. U of Delaware has a Scheme class where this is often done.
They probably can't do it. They licensed the Sun JDK and they modified t and created a new VM implementation. They probably be able to open-source the VM implementation (it's very likely that there is no Sun code left in it) but they will not be able to open-source their implementaion of the class library because most of it is still Sun code.
It will get faster to an complete Open Source JDK if they can get Sun to agree to release the class libraries under an open source license.
Note that it would make sense for Sun to do it because they will have to spend less money on fixing an enhancing Java.
The eWeek piece doesn't say any such thing, "closely evaluating" is a time honored phrase meaning business-as-usual, "agrees to talk" is something quite different. Sun simply hasn't done this.
Sure Sun's in trouble - they optimized their business for the dot-coms, took advantage of the hype, and now everyone's far more interested in cheap than sexy.
.net. And I suppose it's just about the only language being taken seriously for large application development on open systems today.
But even their sexy servers aren't all that attractive anymore as the intel line gains more ground on them. And really, the the only reason for buying 24+ way SMPs was due to limitations in oracle clustering. And now they're moving away from that.
Java's fine - if you like heavy, ponderous languages. A few years ago I worked at a system integrator and performed a study of our productivity - it actually took us longer to create an application in J2EE/Oracle in 2002 than it did in CICS/DB2 in 1987. The only good thing I can say about java is that I suppose it's better for large application development than c or c++, and it runs on more platforms than
So, now what's Sun left with? Overpriced hardware and cumbersome software. Should we be deferential with them because of all that they've done for us? Please - they spin so much hype it's disgusting, and their sales team is almost as sleazy as that of sybase or oracle.
Actually, this is VERY IMPORTANT! I think the big advantage(s) of "open sourcing" java will be seen when things such as the mess with the logging API's and the use of the assert keyword are avoided.
.02
It is still a mystery to me why Sun developed their own logging API's when LOG4J was widely used and accepted.
Hopefully a more open approach to Java would help projects that are housed at Jakarta and SourceForge actually make it into the JDK instead of sticking us with inferior rewrites.
The logging API is just one example. Imagine if the JUNIT implementation of assert was used, and if SWT could be combined with Swing/AWT to create better/superior user interfaces. I think Java could grow in leaps and bounds with an open approach.
Another good example of this would be the JDOM project. How long has it sat in the JCP? While in the meantime Sun implemented their own INFERIOR XML libraries.
The JCP is too political, and needs to modified/done away with. Let the people decide the direction of JAVA!
Just my
--Ryan
That will be news to a lot of people. A lot of software uses ms, borland, or gcc specific hacks and alterations. For example, the linux kernel won't compile without gcc or icc (now that intel implemented gcc compatibility changes to compile the kernel). How about microsoft's vc++ not implementing the scoping in for loops right? vc++ doesn't follow the standard so standard code breaks. There are a bunch of other things like this around.
"When you sit with a nice girl for two hours, it seems like two minutes. When you sit on a hot stove for two minutes, it
Probably too little, too late
When there are conventions of 25,000 Mono developers, ala JavaOne, you can talk about Java being "too little."
I once worked at Sun, and I think you might actually be correct.
Seriously. Something everyone here seems to miss is this : has Sun really made money from licensing Java? Has it? In the long run? Really?
I would doubt it very much. Java to Sun is like the iTunes Music Store to Apple. They don't really make money on it, they might break even on it, but the plan is to make money on things it supports.
Sun makes money sellling servers and services around Java, like Apple makes money selling iPods and computers that use iTMS. Only not quite as successfully, IBM has maybe made more money from Java than Sun has...
There's also a great deal of ambiguity here as to what the heck might be open sourced. Does it mean there'll just be one open-source implementation which will be tested against the Java Compatability Kit for free, and other commercial ventures will have to continue licensing from Sun? Does it mean that not-for-profit ventures can get a copy of the JCK free? What would the license be like?
A big part of the problem here is that one of the strong points of Java is having a standard API with expected behaviors across all platforms. What Sun will ( and should ) _not_ allow is some arrangement where I can grab the source, add some random API or change some existing API behavior to something non-compliant with the JCK, then release it as "x-man Java" or something. That would be very, very bad, and very likely kill Java. They might as well give MS a version and tell them "add all the system-specific OLE/ActiveX/.NET crap extensions you want, we don't mind! Call anything you want Java, that's cool!" Did I mention not going to happen?
They have that.
It's called the "Java Compatability Kit", and is what JVM implementations are tested against in licensing to get that spiffy Java logo. IMHO, they should be more strict about how well an implementation performs against the JCK, and include more graphical tests ( though of course those are the hard ones to write ).
The key is you only see the JCK after you've agreed to license Java and paid some cash. That's the only *direct* way Sun makes money on Java. If you're asking them to give that up, I Sun's shareholders will have to ask you why, and what they're going to get in return... this will likely be what the IBM conversation consists of- how to give the JCK to one open-source implementation and still keep commercial ventures going to Sun for compatability certification.
IBM is urging Sun to create an open-source implementation of Java, not necessarily open source its current implementation. Sun's current Java implementation is loaded with tweaks and advanced features (generational garbage collection, HotSpot, etc) that would not be available in such a scenario. The open-source community developing this new implementation would have to develop these features on their own or hope that Sun will donate some or all of their work out the goodness of their heart.
As such, this move by IBM doesn't seem to have any short-term beneift. Furthermore, IBM isn't pushing this new open-source implementation to be the implementation of choice. Instead, they are saying that like the J2EE specs, there should be a free and open-source implementation of the J2SE specs. Whoopie.
Two+-year-old benchmarks? That don't, as far as I can tell, take into account startup time? One of the main ways Java is used is in persistent environments. Comparing Java's performance from the command-line is like ... like comparing the speed of running a perl script from the command-line to a similar script running under mod_perl.
I'm not going to come out and assert that Java now beats Python at, say, the word-count test, since of course Python's had two years to develop, too. However there's hardly anything conclusive about 'speed' in these tests, as thorough as the guy seems to have been.
Python is copylefted and is somewhat more comparable to Java than C. It has is own VM and is bytecompiled. It consists of not only a language, but also a rather rich library layer. And it is mostly "write once, run everywhere"; unless you specifically create/use extensions which are platform-bound. But the vast majority of Python programs are extremely portable.
Any Python has not suffered from any forking issues! Nor has Microsoft corrupted it via it's usual extend/embrace strategy. But Python is really *free*, unlike Java.
>>License states that third parties cannot distribute java development kit / where does it say that? [Included section B of jdk 1.4 license]
Howabout the "non-transferable" bit? If I give my mandrake CDs to someone, have I infringed the java license?
Howabout "for the sole purpose of running your programs" -- (a) they're not my programs, they were written by various GNU authors, and (b) java would be included just because it's useful, and not to make any other particular program run
Howabout "you only distribute the Software subject to a license agreement that protects Sun's interests" -- how am I supposed to know what Sun is interested in, and am I supposed to modify the distribution CDs based on that guess?
Howabout "you agree to defend and indemnify Sun and its licensors from and against any damages, costs..." -- I'm supposed to provide insurance for sun, at my own cost, against any damage caused by the people that I'm giving distro CDs to for free?
And as for "that arises or results from the use or distribution of any and all Programs and/or Software." -- err, which programs?
This is nothing more than a move by IBM against Microsoft. It's all about positioning, as far as I can tell. IBM realizes that .NET is going to be huge in the future. The main competition to .NET is Java and if Java can be improved it might actually compete well against MS's .NET.
.NET will vaporize Java out of existence. I neither work with Java nor .NET (this isn't even my area) but I don't see many reasons why a neutral like me would pick Java over .NET these days.
The question is whether Sun will buy into this. There are some advantages to Sun but there are also some disadvantages. One immediate advantage to Sun is that IBM push into the enterprise environment can help Java tremendously.
I'm going to get flamed for saying this but, if the status quo is retained, I think
Sivaram Velauthapillai
Sivaram Velauthapillai
Seeking the meaning of life... @slashdot of all places