Even if Sun prefers to retain control over a stragic asset like Java, it should take a hard look at the components of Java that are related to platform-breadth and market-reach rather than to profitability, and slough these off to small, reactive Open Source efforts. javax.swing.text.html would be a good component to start the experiment with, says Rick Jelliffe. Check out the comments on that page too.
Sun should Open Source Unprofitable Parts of Java
2004-03-13 Java 14 Comments
IMHO it is too late. It will reproduce the story of Mozilla and the Internet Explorer.
Mozilla has millions of users and is also a development platform based on xml.
Use mozilla firebird and think again
I was thinking how Sun could release Java to open source and head off the fragmentation/forking that may happen and I couldn`t come up with anything.
But this is exactly whats needed .. imagine multiple CVS accounts to download the latest bleeding edge release of the various libraries, “Merge Managers” that handle the actual merging into the CVS, mailing list that you post patches too aka LKML.
This would work a treat and the best thing is it`s all been done before in one way or another so we can build on that to produce something that is really a marvel to behold!
Now I just hope we can finally get rid of alot of that legacy cruft into it`s own library :0)
But Mozilla’s market share in comparison with its pre-IE Netscape’s past?
First of all, Sun should “open source” Java if it makes sense for Sun. Not because of the ramblings of random people on web pages. Java is pretty “open source” right now.
That said, isn’t a big problem with Java that distros can’t redistribute the JRE? Now that windows won’t be including the JRE, doesn’t it make sense to just let people redistribute the JRE. I did read the license, and I’m no lawyer, so I could be wrong(and probably am), but it seemed that regarding redistribution you can only do it with your “program”. Maybe someone knows what’s going on there.
As it stands now it seems that the JRE is not being distributed with virtually any operating system. Perhaps Apple has an arrangement for OS X, although I have heard nothing about it. If you own Sun hardware with Sun OS(Solaris) you probabl do get the JRE and perhaps IBM delivers their JRE with their OS’s. I remeber that Sun had signed a deal with SuSE prior to the Novel purchase that would allow for SuSE to distribute the JRE- but the JRE was not included in the last SuSE 9.0.
Why on earth Sun makes distributing(ie. not getting-but delivering) the JRE so difficult eludes me. Java is probably one of the most known names in the comupter world-people who know nothing about programming or OS’s have at least heard of java. This however is not due to Java’s greatness or Sun’s technical prowess-it is due to the fact that every delivered PC from 1998-2001 came with a JVM(*not* Sun’s JRE) delivered by Microsoft. Java was ubiquitous-it was already installed on everyones machine-which made that first step, the step of starting to learn to use a new language, immensely simple, in effect tempting. We all know what microsoft did to Sun’s Java, as a result of this virtually no one gets the JRE distributed with their OS.
Sun has gotten better at releasing timely updates for JRE’s for Linux in the past couple of years. Yet during the last majore gcc/glibc update round Sun’s JRE was useless. Being a Gentoo user I followed the steps already taken by a LFS user who wrote a web page detailing how to compile the J2SE from source. My work, and the work of the dozens of others in the Gentoo forums led to the creation of Gentoo ebuild for building the J2SE-enabling independence from the binary distibution of the JRE from sun. “Work” is not an exageration here- the build system for Java is horrendouly complex and I needed no less that 100 hours of trial and error to finally getting a usable JRE. The bootstrapping involved in building from source does require a JRE to already be available on the machine-even if it was built against an older gcc/glibc setup-but once the bootstrapping is over you end up with one custom tailored to your machine. Since then I always compile my of J2SE with processor optimizations for my machine-yielding a noticable, albeit minor boost in speed.
I for one hope that Sun finds it in their own self-interest to open source the J2SE. I understand their concerns about forking, but their failure to address many issues in a timely fashion has already led to the stuff of which forks are made(IBM-SWT). I would be more than happy if they would license it like they do OpenOffice-but if they dual licensed it-many projects like gcj could finally take off and really compliment Sun’s java..
Dell and HP and several other vendors have made deals with Sun to provide the JRE on the boxes they ship. Therefore the JRE is now shipped on something like 70% of all new PCs.
javax.swing.text.html isn’t the only area where Sun has not paid attention. I agree wholeheartedly that Sun has a short attention span. Often the classes are a bit of a mixture of various standards. And even if you do write your own fully compatible version, you can’t make java programs use it unless you modify the source because you can’t override the default implementations in the runtime.
I guess I would like to see all of the standard APIs available with a much more liberal license. I believe if they were open sourced, the community process that defines the standards would be invigorated by new ideas that would gain momentum.
An example is the non-standard facility in Tomcat 5.0 to modify the JSP compilation process to deal with common and simple custom tags by producing code that has the same effect as the tag, rather than by calling the tag handler.
The other advantage could be more modular runtime environments. At a minimum it should allow nearly all APIs to be overridden (via endorsed jars the way that JAXP implementations are). That way even if they don’t open the javax.swing.text.html source, you can at least install a third party implementation that actually works.
I believe that Sun is struggling to maintain the momentum on its own, and now faces the twin risks of Open source projects that re-implement Java API’s or use native compilation. There are also newer technologies designed to replace Java, like the .Net runtimes. Sun can neither maintain its stranglehold on the language or compete directly with MS.
The main problem with java isn’t that it isn’t open source. It is that JRE and SDK can’t be distributed with Linux distros.
The main advantage of opensource is that software can evolve and change to fit the needs of the users. The main advantage of java is that the java platform doesn’t change and that it is the same wherever you find it.
So if java was to be opensourced, I think it would have to become an ISO or ECMA standard first. In other words, if Sun doesn’t define what Java is, somebody else will have to, or else the advantage of Java will go away.
An standardized opensourced java would be very nice as there would be more people that could fix bugs and improve performance than Sun currently can provide. But the main obstacle is redistribution.
would that be stragic asset or stategic asset?
> One library that leaps to mind in this is javax.swing.text.html.
I vote for this too. The parser is ancient, CSS is half supported, the layout engine is very different from Gecko and IE (although it’s better in Tiger), some classes are private or package protected but should’ve been public, and there are loads of obscure bugs.
It is stupid to just strip out pieces of Java to opensource. Either Sun finds a way, IF THEY WANT TO, or it doesn’t happen.
I will still use Java either way.
‘But Mozilla’s market share in comparison with its pre-IE Netscape’s past?”
thats bcoz of ie being bundled with windows.not because of the browser quality. ie still sucks compared to any modern browser like firefox or opera
sun should release old stagnant packages which they have lost interest in, such as the Java Advanced Imaging and maybe the java3d libraries.
the last time the JAI tutorial was updated was 1999. the API is still pretty broken and not documented. even the standard (and only) textbook on the matter says so.