Linked by Andy Roberts on Thu 9th Jun 2005 20:58 UTC
Java The recent announcement from Apache regarding their plans to embark on their own J2SE implementation called Harmony has re-ignited the long-running Java/OSS debate. James "Father of Java" Gosling reacted in an unexpected way by giving a misleading view of what open source is really all about. Now that the dust has settled a little bit, it's time for an article that is not championing the cause for the relicensing of Sun's implementation under more permissive, open source terms, but simply a look at what could (and could not) happen under the open source model.
Order by: Score:
Java should well stay under SUN control
by St Michael on Thu 9th Jun 2005 21:34 UTC

I have been a Java developer for a couple of years and
i do not see the need for opensource Java. Most opensource
developers carry the Midas touch, only that whatever they
touch turns to shit. For all these years, i could trust
the SUN Java class library to be tested, well documented
(surprise surprise) and industry proven.

The Apache fanboys may well try to do whatever they want
and they will probably implement another half-baked, buggy, monstrosity project (like most of their Jakarta output,
what a mess) that will go nowhere. Their only hope is
that a commercial company may pitty them and throw them
some code.

Deja-Name.
by BR on Thu 9th Jun 2005 21:45 UTC

"The recent announcement from Apache regarding their plans to embark on their own J2SE implementation called Harmony has re-ignited the long-running Java/OSS debate"

Wasn't the open-source QT clone (before the trolltech license change) known as "Harmony"?

v Java sux
by Grumpy on Thu 9th Jun 2005 21:52 UTC
Control
by Eric Martin on Thu 9th Jun 2005 22:00 UTC

Losing any control of java might hurt $$$ pocket. Example of losing dollars is that some might lose interest in buying Sun tools.

Let me say this about java performance before anyone bashes . If java had gone with a pure interperator and a choice of a real compiler to native code instead of bytecodes with VM then I think lot wouldn't be critical of java performance and startup time. I don't think people understand the java byte code compiler and time it takes. Nobody complains of python or perl performance. They are both real snappy because of no need to compile to bytecodes.

Example of interperator and true c compiler is Euphoria. It's kind of like C. http://www.rapideuphoria.com/

v Re: Control
by Bandersnatch on Thu 9th Jun 2005 22:06 UTC
Good job Andy
by Thrift on Thu 9th Jun 2005 22:16 UTC

I totally agree with what you are saying here.

Anyone who doesn't understand the need for open source Java needs to RTFA. Can't say much more. Well done.

Where is the dead horse?
by Bob on Thu 9th Jun 2005 22:21 UTC

I want to beat it too!

Defending Java
by Anonymous on Thu 9th Jun 2005 22:22 UTC

1. OSS doesn't mean that Sun loses control of its Java platform (NB Sun never had control of the clean-room implementations in the first place).


Let's just shoot this theory by saying if IBM gets hold of Java it can effectively usurp being the "gatekeeper" of all things Java. Now everybody lines up for IBM's Java services, IBM's tools and IBM's consultants. Microsoft came close but Sun made them backoff. A clean room Java could never be called Java so how do you tell your customers that it works like **** (where **** are the letters J, A, V, A)


2. OSS doesn't mean that any one can mess with the source - you copy it and mess with your own.

Let's say IBM messes with their own copy of Java, now IBM Global services goes and installs IBM's java at all customers place, boom, Java from Sun and Java from IBM are now incompatible - who's Java will the Open Source community trust?. (I think the answer is clear - it's IBM's Java beacuse of all the brown-nosing IBM does).


Remember how Mandrake was a fork of Redhat and suddenly Mandrake became the most popular distro (www.distrowatch.org) - that's forking in progress. A lot of things have forked - eg X.Org from XFree86 - and all because of a license. Xemacs from Emacs and a lot of cases, the fork has become the standard much to the discredit of the original developers.

3. OSS doesn't mean forking. If derivatives do come, then they don't twist anyone's arm to force them to use it.

Oh yes they do!. OSS zealots will rant-rave-screem if they don't get their way - look at how Ubuntu forked from Debian and has effectively replaced Debian as a defacto "debian" distro.

There must be a compelling reason for it. Therefore, enterprise customers can stick with Sun - whilst the OSS boys play with their toys - and needn't go running to the hills after all.

Sun's got the right to keep Java closed and more power to them if they managed to make Java as successful as it is today.

Too bloody bad the open source people stand around with a feeling of entitlement while companies are doing innovative things like Java, PDF (Adobe), AAC (Apple). Do something to counter Java and .Net but essentially threatening to make open source clones of them ain't fooling anybody into submission.

Specifically, he said that:
"I understand why [the OSS community] would like it to be different. From our point of view that would actually be more destructive than helpful. It boils down to forking: they believe that the ability to fork is an absolutely critical right."

The ability to fork has NOTHING to do with the reasons to support OSS. For one, forking only happens when there is a disagreement in the community, but the original and the forked projects tend to continue side by side. And in fact, I'm not a big fan of BSD because they HAVE forked so much.
Secondly, you're confusing open source and free software - OSS is a catch-all term for licenses which allow you to see and modify sources that *includes* the free software (GPL) license, but is not limited to it. I can't think of a *single* FS project that HAS forked, except for *functional* reasons - to make Linux run on hardware that doesn't have an MMU, for example.

Surely one could see Mac OS X and Mac OS Tiger, or Win95/98/ME/NT/XP Pro/XP Home as forks - but are you going to complain about them, too?

Thirdly, whilst we GNU supporters are often accused of being freaks, fundamentalists, etc., increasingly I'm seeing insulting and inaccurate posts on FS and OSS forums like this one, from supporters of more-or-less *proprietary* software, and less from OSS developers and supporters. I think this is a good sign (for us).

re: Gosling DID say something misleading...
by hmmm on Thu 9th Jun 2005 22:31 UTC

Samba forked. And them merged that code to make a better product.

Innovation requires change. Change is more rapid when everyone can make their changes without interfering with anyone else. Sometimes that means forking.

If you can't deal with the heat get out of our way.

Samba forked. And them merged that code to make a better product.

Yes, exactly. By contrast I don't see *BSD remerging anytime soon. Not that that would necessarily be better. I can see the point of each of the main BSD's (Free, Net, Open) foci. I just don't much see the point of the others.

RE: Gosling DID say something misleading...
by Tyr on Thu 9th Jun 2005 22:38 UTC

they believe that the ability to fork is an absolutely critical right.

Well this is sort of true though. After all the redistribution of code with your own patches in it (differentiating it from the main product) is the core of what open source is all about. You could consider this forking.

Surely one could see Mac OS X and Mac OS Tiger, or Win95/98/ME/NT/XP Pro/XP Home as forks - but are you going to complain about them, too?

Those are branches, not forks. Different versions of the same software blessed by their developers.

Thirdly, whilst we GNU supporters are often accused of being freaks, fundamentalists, etc., increasingly I'm seeing insulting and inaccurate posts on FS and OSS forums like this one, from supporters of more-or-less *proprietary* software, and less from OSS developers and supporters.

I think your opinion on BSD is pretty inaccurate, but I won't start a flamewar ;-)

RE: re: Gosling DID say something misleading
by Tyr on Thu 9th Jun 2005 22:44 UTC

Yes, exactly. By contrast I don't see *BSD remerging anytime soon. Not that that would necessarily be better. I can see the point of each of the main BSD's (Free, Net, Open) foci. I just don't much see the point of the others.

The 3 main BSD's are pretty much all that matter, all the others are minor variants of the kind Linux has too. Experimental stuff.
And the BSD's share a lot of code, a lot of innovations in NetBSD and OpenBSD go into FreeBSD for example (RcNG, openSSH, ..)

Open source would not help
by Slava Pestov on Thu 9th Jun 2005 23:07 UTC

I don't think anybody would contribute to Sun's Java implementation anyway. Look at what happened to Netscape 4 when it was open sourced -- the code was so terrible that nobody could comprehend or modify it. Same will happen with Java, so open sourcing Java is a non-issue, I think.

Clarification
by Jeffrey Rollin on Thu 9th Jun 2005 23:29 UTC

>Thirdly, whilst we GNU supporters are often accused of being freaks, >fundamentalists, etc., increasingly I'm seeing insulting and inaccurate posts on FS >and OSS forums like this >one, from supporters of more-or-less *proprietary* >software, and less from OSS developers and supporters.

I think your opinion on BSD is pretty inaccurate, but I won't start a flamewar ;-)


Sorry, I didn't mean that BSD's are more-or-less proprietary. In fact I think they're more-or-less free. I was referring to comments by fans of lock-up-your-daughter-style closed source software (though fans of BSD-style licenses also obviously aren't often fans of GNU!).

Re: Don't forget...
by Jeffrey Rollin on Thu 9th Jun 2005 23:35 UTC

Yep.

Whoever controls the present controls the future. Whoever controls the past controls the present. -- George Orwell

Great article
by Tiago Cogumbreiro on Fri 10th Jun 2005 00:30 UTC

This one of the best articles I've read in OSNews. Insightfull, well written and very interesting. It's a pitty the troll like comments that haunts this excellent news site.

Re: Defending Java
by pixelmonkey on Fri 10th Jun 2005 00:43 UTC

Excuse me, Ubuntu did not "fork" from Debian. Ubuntu takes Debian's immense packaging effort and focuses effort on polishing the desktop so that it is useable out of the box. Ubuntu does what I used to spend 2-3 days doing after a fresh Debian install: making the damn thing useable.

Someone wrote on Ian Murdock's blog:

"I would have thought that everyone realized that the only reason that Ubuntu can offer such a fine finished product as Hoary Hedgehog is that it is based on such a fine unfinished product as Sarge."

That's exactly right. Debian is an amazing volunteer effort; every time I explain how Debian works to a crowd of people, they all go "Wow--you mean all those developers, all over the world, put together an operating system with thousands upon thousands of free software packages? And they do all this for free?" Yes, they do. So bare with them if the end-result isn't so pretty from a Desktop Linux point of view.

All Ubuntu does is say, "Okay, Debian is great, but let's make it a polished desktop, a nice user experience, and then let's support the software that we choose from Debian so that users don't have to deal with breaks on upgrades and things like that."

I still run pure Debian on my desktop, but I run Ubuntu on my laptop. Debian is my desktop, many years old, built the way I want it. Ubuntu is the Linux I'd like to show to the outside world of non-Linux geeks, so they understand that you don't have to be a complete computerphile to use a Free OS.

Let's remember that if derivatives weren't allowed (due to a more restrictive license from Debian), then Ubuntu wouldn't have existed, and pushed desktop linux innovation a bit further. I understand some devs take issue with Ubuntu because it basically gets all the attention for what is really nothing more than a "Debian system in a shiny package," meanwhile Debian developers are the unsung heros. I feel bad about that too. But Ubuntu's website does recognize the relationship between Ubuntu and Debian: http://www.ubuntulinux.org/ubuntu/relationship/document_view

Then why does Ubuntu call it a fork?
by Anonymous on Fri 10th Jun 2005 00:52 UTC

http://www.ubuntulinux.org/wiki/BugTracking:

"This procedure involves a temporary fork of the package, but:

* if the maintainer accept the patch than the fork can be deleted immediately and the package reimported from Debian.
* if the maintainer does NOT accept the patch we still need the fork to fix the issue for us.

Either way is a win-to-win situation because it is work that needs to be done.

For bugs that are NOT RC we can relax and wait for Debian to incorporate the fix.[[BR]]? If this will not happen in a decent amount of time (let say 15 to 20 days or 2 uploads of the package in Debian?) we might want to fork and upload. "

RE:os Java
by Anonymous on Fri 10th Jun 2005 01:26 UTC

Call me ignorant, but what I don't get is why does the oss community focus so much on existing (mostly proprietary) software solutions instead of innovate and make something of your own. Then you can control it as you like. For example take the Mono project - instead of beeing innovative and starting a solution of their own when Microsoft announced .NET they waited until .NET was huge and then just tried to "make something similar". The same could be said about Java, really.
Obviously I'm generalizing here, but that's my impression. Some of the most successful os projects I know of didn't play catch-up with proprietary software. Instead they made something of their own and know proprietary software is playing catch-up with them. A good example would probably be Apache.

Why oh why did Eugenia remove the gtk+/Cairo story
by Edwina on Fri 10th Jun 2005 01:48 UTC

Inquiring minds want to know

Read my blog to find out.

RE:os Java
by Ravnos on Fri 10th Jun 2005 02:01 UTC

For example take the Mono project - instead of beeing innovative and starting a solution of their own when Microsoft announced .NET they waited until .NET was huge and then just tried to "make something similar".

Such an ignorant comment. Perhaps you'd like to explain how else I'm supposed to run .NET apps on non-Windows OSes? And before you make any comments about that being the point of .NET, I'd like to point out that one of the big selling points of .NET was similar to one of Java's (it's supposed to be totally cross-platform). Since MS didn't want to make a version of the .NET framework available to *nix developers/users, the Mono guys took Microsoft's published standards and developed their own compatible implementation. Sounds to me like that's what the Apache people want to do.

@Ravnos
by Anonymous on Fri 10th Jun 2005 03:08 UTC

Read my comment again as you obviously didn't the first time.

RE: Java should well stay under SUN control
by Cosmo on Fri 10th Jun 2005 09:30 UTC

Most opensource developers carry the Midas touch, only that whatever they touch turns to shit.

I can't believe that this statement did not get moderated...

Distribution restrictions
by Kevin on Fri 10th Jun 2005 11:29 UTC

Finally someone who mentiones the problems arising due to SUNs restrictions for distribution.

The JRE is really a base package, shared by all Java applications, and yet SUN's is not installable by your excellent package distribution and install technolgy?

Where is the write-once run anywhere in this?
Burden the developer/packager with adding a JRE for each platform they want to release on doesn't sound like write once run anywhere to me.

Re: Defending Java
by Anonymous on Fri 10th Jun 2005 11:31 UTC

> AAC (Apple)

The rest of your post is stupid, but that particular part is just so wrong that it makes my brain bleed.

RE:os Java
by Anonymous on Fri 10th Jun 2005 11:46 UTC

Obviously so that they can provide interoperability and leverage mindshare. Implementing popular tools to reap the benefits of popularity. Reusing existing work instead of reimplementing the wheel.

It's not as if because Mono or free Java implementations exist, that everything else that isn't Mono or Java doesn't. There are more projects that aren't Mono or Harmony, so what exactly is your point?

All of this "innovation" nonsense that is constantly repeated is kind of stupid. Most things aren't innovative. Being innovative isn't some mystical inherit asset that makes what you're doing valuable. I'm creating a never before seen pile of no one gives a crap! Come one and come all!

RE: Then why does Ubuntu call it a fork?
by Lars Hansson on Fri 10th Jun 2005 12:29 UTC

Way to quote out of context.
You do realize that there's a significant difference between an individual package and Ubuntu/Debian as a whole, right?
Also notice the word temporary?

I finally understand
by peragrin on Fri 10th Jun 2005 12:43 UTC

That people are stupid and don't know the mean of cross platform support.

Sure java is cross platform unless you are using a BSD, Skyos, Beos, QNX, or any one of the thousand of smaller OS's that Sun just doesn't give a rats ass about. If it doesn't make it in the news then it's not worthy of Sun's management. Apple has to compile their own JVM because Sun won't provide one for them. I wonder how many millions of dollars a year Apple has to pay for that privillege.

.NET was/is advertised as a cross platform enviroment. It's cross platform all right as long as you run MSFT Windows. Mono and DotGNU are attempts at actually making it cross platform. Why because someone saw value where MSFT doesn't.

Cross platform means it can be run any where. You can't run it anywhere if the developer won't let you run it on a non-approved platform, and won't approve your platform cause hit only has 50,000 users(BSD's) or millions of users(Apple).

hmm
by Legend on Fri 10th Jun 2005 12:51 UTC

That would mean making a truely cross platform application is impossible.

@ legend
by peragrin on Fri 10th Jun 2005 13:31 UTC

Open Source can be cross platform. Closed source will only be on platforms that give the developer a lot of money.

Why is Net BSD, Free BSD, Linux, and other Open Source applications, and software are available for any processor past,present,and future

MSFT can't say that, Sun can't say that, Apple can't say that.

Windows is limited to x86 and sometimes power. Solaris x86 and Sparc.
.

java or ubuntu
by joe on Fri 10th Jun 2005 13:31 UTC

is this a java thread or a ubuntu thread....

I thought it was a given that ubuntu was a FORK! ;)
Desktop Debian is just fine thank you!

great article...
by Anonymous on Fri 10th Jun 2005 13:50 UTC

I agree ... this is one of the best thought out articles I've read in a while. Kudos. I lean on the OSS side of things, primarily more because of pragmatic reasons. I just want to install linux, or BSD and run my Java apps and not have to worry about GCJ being incomplete or something not working - and I want my clients to be able to do the same. Java has become as mainstream as c/c++ in the business world. It's time that every platform ship with a certified Java implementation, IMHO.

There is no contamination
by Ray Gans on Fri 10th Jun 2005 22:25 UTC

Hi Andy,

I'd like to correct an error in your article where it states, "NB, if you ever sign up, or even look at Java's source, you are no longer eligible to contribute to OSS Java projects as you are now contaminated!"

We at Sun want to stamp out this misconception. The Residual Rights clause in the Java Research License (JRL) was added to make it clear that examining Sun's source code under the JRL does not stop you from later participating in an open source effort. There is no contamination.

The JRL and FAQ can be found for those interested at: http://java.net/jrl.csp

Best regards,

Ray Gans
Sun Microsystems

@Ray
by Andy Roberts on Fri 10th Jun 2005 22:51 UTC

My apologies, I should have checked this.

Re: @Ray
by Ray Gans on Sat 11th Jun 2005 00:19 UTC

Thanks Andy. It's a common misconception and we're just trying to assure people, "it ain't so." [grin]

Sun wants to encourage developers to look at what we're doing with Mustang (J2SE 6.0) and to contribute in making Java better. We want to be more transparent with the developer community by showing what we're doing and explaining how decisions are made. We're publishing weekly snapshots of the builds (source and binaries) for experimentation and testing, and through more readable licenses, we're trying to provide assurance to developers that they won't get locked into awkward situations (like contamination).

Check it out if you haven't and please consider submitting a fix to a nagging bug or let us where we're going wrong.

http://community.java.net/jdk/

Ray Gans
Sun Microsystems

@Ray
by Ravnos on Sat 11th Jun 2005 01:50 UTC

While we're talking about licensing, is anything going to be done about the license situation that's preventing the BSDs from distributing Java binaries for their platforms? There's something inherently screwed up when I have to install the Linux Java binaries to compile a native JDK for my FreeBSD machine.

Its very simple.
by Anonymous on Sat 11th Jun 2005 03:45 UTC

Sun won't provide the following:

Java integrated and distributed with free OSes and their packaging tools (e.g. apt-get install java)

Timely releases of Java compiled for new architectures (e.g. x86-64)

Java for platforms it doesn't see as relevant (Linux/PPC)

Java language compilers which produce native executable code (e.g GCJ)

Supported Java bindings for their own desktop technologies (i.e. GNOME)

GUI application libraries that provide good speed

Desktop integration and interoperability functionality.

and the list goes on.

Basically, while they seem to have this idea there are no holes in what they are offering, but the reality is they have done an awful job of making Java a good choice for anything.

They profess not to understand what they dont provide, when anybody who has ever used Java as at least one big complaint, and most people can make a much bigger list than that.

Will open source make it better? I don't know, but I'm all for them trying to do so, because Sun clearly doesn't want to.


RE: Its very simple.
by Anonymous on Sun 12th Jun 2005 11:36 UTC

Exactly!

I just don't understand how people can fail to grasp such simple concepts.

Personally I have great trouble understanding why SUN does not remove that clause:
"...(iii) you do not distribute additional software intended to replace any component(s) of the Software,"

This is such an ugly piece of legalese it makes my fist itch. Every time I upgrade Suns JDK my hackles are thoroughly raised again, as I have to go to their site and manually download various files, and I'm reminded of why.

This is the only piece of software on my system that cannot be freely distributed by my distribution. Several entirely proprietary, for pay, pieces of software have less restrictive terms on distributing their binaries.

No need for a freely distributable JDK? For crying out loud, from a manhour perspective, considering the number of installed JREs and JDKs, the entire development effort might be neutralized by the time saved on installs and upgrades alone!

The biggest threat from open sourced java
by Anonymous on Sun 12th Jun 2005 11:36 UTC

Losing Apache web server.

Apache foundation better stick to their knitting before we find ourselves having to buy IIS or Websphere, or whatever.

The real problem with OSS is follow through -- sticking with a project. You see this everywhere you look with Linux -- broken, poorly maintained, drifting projects. The 'new' project is always better than the old, so the old one just decays.

Hello, Mozilla/Firefox -- how many developers do they have left, 6, 8, 5, 2? OpenOffice?

IMHO, java is just fine where it is, as it is, I would rather we have one working free version of java than 5 half working implementations. At least we can all bitch at Sun when java breaks and have some resonable expectation they will fix it.

RE: The biggest threat from open sourced java
by Anonymous on Sun 12th Jun 2005 12:05 UTC

Ah! Nothing like the smell of FUD in the morning.

"Apache foundation better stick to their knitting before we find ourselves having to buy IIS or Websphere, or whatever."

Right, because Apache is a static limited collection of people that are all working on the apache webserver, so if anyone spends time on another project the webserver will automatically lose out.... wait now, none of that is true. Oops..

"The real problem with OSS is follow through -- sticking with a project. You see this everywhere you look with Linux -- broken, poorly maintained, drifting projects. The 'new' project is always better than the old, so the old one just decays."

Yup, if the original developers loses interest the project dies. It's not like OSS is licensed under OSS licenses so that as long as there is interest in a project there's virtually guaranteed to be someone to pick up the torch as a maintainer or by branching.

"Hello, Mozilla/Firefox -- how many developers do they have left, 6, 8, 5, 2? OpenOffice? "

Now that's just absurd. You take two of the most popular projects and claim they are dying. What have you been smoking?

"IMHO, java is just fine where it is, as it is, I would rather we have one working free version of java than 5 half working implementations."

Well, it doesn't work! Unless you're on one of the few platforms Sun cares about.

Open source solutions
by Anonymous on Sun 12th Jun 2005 23:49 UTC

Call me ignorant, but what I don't get is why does the oss community focus so much on existing (mostly proprietary) software solutions instead of innovate and make something of your own.

The open source community has built one. It's called Python. But that doesn't run the code that was written for Java, nor does it run the code that was written for .NET. The open source community has an alternitive for asp as well. It's called PHP. The only reason you keep hearing about the compatibility projects is that the proprietary owners of the originals have fairly deep pockets to dig into for advertising and name recognition. However, unless you have a real need to use one of those kits, it would seem better -- in my opinion -- if you were to use one of the totally free stacks.

The benefit of OSSS
by John Kloosterman on Mon 13th Jun 2005 12:52 UTC

I think there is one good reason to make things like Java open source. That reason is to be vendor-independent. As long as things like Java is kept under the hood of a company they are vurnable.

Let me explain... As long as the company holding the source code is healthly there is no problen (at least few). But what happens when that company comes in heavy weather, or worse, goes bankrupt. What happens to the source code?

When in heavy weather the company could easely decide to put an more restrictive licence on the code and aske a fine for it. Hey - they need the income you know... Who would stop them? The source code is not pulic - is theirs! So everyone using the code would pay for it to keep using it. Pulling the code out of a system depending on it would not be easy - if not impossible..

When they go bankrupt the picture even darkens. It is possible another big company (fill in the name you think it would be here) will take over the source code and put it under a closed source licence after some "tweaking" to make it incompatible with other systems. They would only put out the compiled version and will restict this version to the system of their choice.

Let me say here and now - i don't wish ány company to go down. It's only an example. But i think this is the reason why critical languages and similiair things hás to be open source. We have to rely on these things to be - and stay - usable for everyone, even if some company holding the source code would fade out...

(sorry for the grammar - englisch is not my native language)