OSI president asks Sun to opensource Java

Eric Raymond, president of the Open Source Initiative (OSI), wrote an official letter to Sun questioning their open source strategy.

Read the article here:
http://www.catb.org/~esr/writings/let-java-go.html

Other articles:
http://news.com.com/2100-7344_3-5159134.html?tag=nefd_top
http://slashdot.org/articles/04/02/14/1819249.shtml?tid=108&tid=126&tid=156 (a lot of discussion)

Google News:
http://news.google.de/news?hl=en&q=raymond+java

What is your opinion?

If this happened I'd probably never use java for any more commercial projects. I have been a professional C programmer, and if I'm to go back towards that hell (i.e. the chaos of an uncontrolled mainstream language) then there are better languages to use [1]. C++ as a value proposition gains a great deal (comparitively) if java becomes yet another opensource limp biscuit without standards and without control.

Eric Raymond is being silly to say things like X-windows beat NeWS because it was open source - he is well aware how inaccurate this is. Ditto the claim that java is ceding the field to Perl and Python - only someone who doesn’t understand what java is at all would make such an amazing claim. I don’t believe ER is dumb, just that he’s spinning the facts far from any rational perspective, merely to support his political aims.

Frankly I wish ER (and other highprofile advocates from the opensource world who are just as bad) would stop acting like a corrupt politician and use his intelligence on issues like this rather than just run around like a headless chicken saying “open source best, everything else bad”. I fear for the day when someone important but not quite wise or strong enough gets swayed by such rubbish :frowning: (similarly foolish arguments have swayed governments on more important matters, so…). I also feel sorry for Scott because he’s bound to get pressured by more analysts/ignorant others because of this - people who either don’t understand the issues or can’t think for themselves.

ER does get one thing right, though. It is all about control; one of the best things Sun did for java was to control it (obviously many of us have complaints about how well that control has been exercised, but I for one am sure it’s better than if Sun hadn’t taken the control aspect seriously). For instance, only through the present arrangement has Sun managed to force MS to cease “embrace and extend…and kill” (how many other languages, systems, and platforms can claim to have achieved that?).

OTOH one of the worst things sun did for java was not to promote it; recall that IBM did most of the promotion for java in the early days, and witness Sun’s faltering progress in promoting java for client development. AFAICS, opensourcing java would take away one of the things Sun’s been doing very well, and do nothing to solve the things it’s doing badly.

PS very similar arguments apply to my company’s decision years ago not to open source any of our code or architecture. No potential customer has yet disagreed (not in any discussions with us, at least), and it’s not because they don’t understand opensource, in fact I believe in most cases it’s precisely because they do.

[1] - if anyone cares to claim otherwise, please point me to proof that the well known fragments of C that compile differently on different compilers have now been fixed. The last time I checked, they hadn’t - you could still compile the same program on different compilers and get “X = 5” from one with “X=6” from the other from the same source code. Gnu compilers have traditionally been particularly dodgy in this area, IME, making me even less pleased by the concept of opensourcing java.

I agree with Blah…

I hope Sun keeps control of Java and further develops the Java Community Process. One fear I have is Java would end up like Linux where there are a zillion versions and all are in some small way incompatible.

Crickey, another rathole thread…

I agree with blah as well, there is just to much fragmentation in the opensource community and open source projects.

[quote]Sun’s terms are so restrictive that Linux distributions cannot even include Java binaries for use as a browser plugin, let alone as a standalone development tool.
[/quote]
Is this true? I read that lindows distributes java with their distro?

It is not true. All they need to distribute at the most would be a single Java app - then they are allowed to distribute the JRE to run it… problem solved.

I think there may be a restriction on distributing the JRE on it’s own without the app. (Probably a silly lawyer paranoia thing.)

[quote][1] - if anyone cares to claim otherwise, please point me to proof that the well known fragments of C that compile differently on different compilers have now been fixed. The last time I checked, they hadn’t - you could still compile the same program on different compilers and get “X = 5” from one with “X=6” from the other from the same source code. Gnu compilers have traditionally been particularly dodgy in this area, IME, making me even less pleased by the concept of opensourcing java.
[/quote]
What are you taling about?

Something like ++x += ++x?

This C code has undefined behavior. That’s not a fault of different compiler implementations. That’s just what the standard says. You can’t modify the same variable without an intervening sequence point. C (and C++) is portable. If you write code that relies on the standard, you will get the same behavior on different platforms. The primary problem is that the standard library is so small, it’s hard to write any meaningful program that relies on just that.

God bless,
-Toby Reyelts

[quote]It is not true. All they need to distribute at the most would be a single Java app - then they are allowed to distribute the JRE to run it… problem solved.

I think there may be a restriction on distributing the JRE on it’s own without the app. (Probably a silly lawyer paranoia thing.)
[/quote]
Actually, all you have to do is distribute the JRE in it’s entirety and you can. you just can’t ship parts of the JRE, you have to ship the whole thing.

-ChrisM

[quote]I don’t believe ER is dumb, just that he’s spinning the facts far from any rational perspective, merely to support his political aims.
[/quote]
His reference to the share price of Sun and Redhat makes you wonder though. The best way to defeat a standpoint is to defend it with really stupid arguments and that comment is right up there with Microsoft’s “it’s unamerican to support Linux” on the silliness scale.

I think it’s good that Sun hasn’t tried to squash the open source implementations of Java, like GCJ, Kaffe, and the Classpath project. Open source at least gives you an assurance of availability (though that doesn’t really apply to those projects, because of their questionable legal status).

Still, since IBM has dared to invest so much of their business in Java and since Microsoft has provided C# as an ISO-standardized clone, I guess I shouldn’t worry too much about Java being swept under an expensive and restrictive license in a bad turn of the economy.

True, although the Microsoft C++ compiler has always been a rather limited approximation to the full standard.

From reading the posts above I see two different topics:

  1. License and distribution of Java

Here’s a FAQ explaining license issues: http://www.debian.org/doc/manuals/debian-java-faq/ch5.html. What Scott said above is right, but the Java license contains some other clauses, which make it difficult to distribute it. If you package Java for Linux, you allow people to download only the JRE without any app. It’s unclear to me, if this violates the license (probably not, but I’m not sure). Another clause is that it’s not allowed to replace parts of the JRE. This means that, if one distribution packages Java, it’s not allowed to package free VMs. I think there is quite some confusion about licensing even amongst Java developers (Javalobby discussion).

Nevertheless there are Java packages for Linux (special agreements?), but they are usually not an integrated, fundamental part of the distribution. Instead free VMs are integrated there. Generally Java is not widely used in the opensource community, although people do realize that it has its advantages.

  1. Is it good to opensource Java?

Just want to throw in other questions for discussion here:
Is it possible to maintain a strong leadership of Sun even if Java is opensourced?
Will existing standards vanish, if Java is opensourced? Will it be harder to establish new standards? Will these standards fit the needs of the user better?
Do you think it’s more future proof to work with an opensource API?
Do you think Java will reach a broader userbase, if it is opensource? Do you think it will reach more developers?
Will the development (bug fixes and enhancements) of Java be of higher or lower quality? Will the the needs of the developers be addressed better or worse?

(To avoid misunderstandings of this thread: I don’t think Java will be opensourced in the near future.)

I haven’t read what ER was spouting but it seems that either he’s asking for something that has already happened (Java is open sourced already) or he wants to put Java in the hands of an infinite number of monkeys with an infinite number of typewriters. And although I expect in the short term a number of irritating bugs would get fixed a fair bit sooner, in the long term the language would fork in all sorts of daft ways. What I want is a benevolent dictatorship upon which to base my software development, so I can be guaranteed that what they say is going to happen, happens. I’ve got that with Sun, much though they annoy me.

Cas :slight_smile:

On slashdot there was alot of discussion about the effect of open sourcing java on Sun’s bottom line. I’m not sure how sun’s revenue breaks down, but I am sure Sun is multi-billion dollar company with revenues in the billions. J2EE can’t be a very large part of that pie. J2EE would seem to be a support/enabling product for Suns real business, which is servers; Maybe a Sun employee could give us some real details about Sun’s business?

We could take a closer look at the strong ties between SUN’s Staroffice and the Opensource OpenOffice. The latter one is being distributed under two licences: LGPL (GNU Lesser General Public License) and SISSL (Sun Industry Standards Source License).

Both applications share the same code base, but Staroffice offers more packages (also commercial ones).

http://www.openoffice.org/FAQs/mostfaqs.html#7
FAQ 7. What are the differences between StarOffice and OpenOffice.org?

http://www.openoffice.org/FAQs/faq-community.html#4
FAQ 4. Will Sun continue to work on the StarOffice software sources as part of OpenOffice.org?

Ahem cough cough etc Java is already open source.

Cas :slight_smile:

[quote]Ahem cough cough etc Java is already open source.
[/quote]
No, it is not. It violates clause 1, 3 and 9 of the Open Source Definition (correct me, if I’m wrong). The whole article of Eric Raymond would not make sense, if Java were already Open Source.

The distinction is between “open source” and Open Source" (note the capital letters).

Again we see the results of insiduous political twistery. Where once upon a time in the past “open source” just meant “you can see the source code”, now it’s “Open Source” with all its little bells and whistles, thanks to some meddling markitectural machination. I choose to ignore the capital letters and the spin and get to the point.

Cas :slight_smile:

I agree 99% with Cas. You can get the source for Java. It’s “open source”. “Open Source” is some nonsense crap.

The only part where it falls apart is in your right (or lack of it) to change the source for your needs and make a personalized version. Something I am very thankful can’t happen with Java… though with a fancy license there may be a way to make that work, I would rather not open that can of worms.

The Java lobby guys suggested at one point to look at the source and submit bug fixes to Sun… I nice thought, but the quality of the fixes would likely be very low… at least until there were a few experts out there that had a good birds-eye view of the affected code. It is just to complex and Sun would have to spend more time reviewing proposed patches than actually fixing the issues themselves.

Well, I may be wrong here but if you try to modify Sun’s source code, you can’t redistribute you work.

You may wonder why someone would want to do that (profanation of the sacred code), so here are a few random reasons :

  • better hardware acceleration of Java2D and AWT
  • new garbage collection algorithms
  • structs

Still not convinced ? :wink:

What does Free Speech mean for you? Just the fact that a human can open his mouth and speak without having to pay anything?

Whoever thinks that Open Source is just a matter of making the sourcecode available doesn’t understand the ideas behind it (no offense intended). The first sentence of the Open Source Definition is “Open source doesn’t just mean access to the source code.”.