ESR's Open Letter to McNealy: Set Java Free!
yukster writes "Eric Raymond has posted an open letter to Sun Microsystem's Scott McNealy asking him to 'Let Java go.' He says Sun can 'have ubiquity or [it] can have control.' The excellent improvements made to Java in the upcoming 1.5 release help re-level the playing field with C#. But, it seems like if Sun really wants Java to rule the world, they should heed ESR's advice. Hey Mr. McNealy, listen to this guy... set Java free!"
...would you give away the only technology that might possibly save your company from bankrupcy?
What is the point of writing an open letter, particularly one as snarky as this? Does anybody think McNealy will see it, much less care?
...but not both. Good point. Except that Microsoft seemed to have managed both with Windows, Office, etc.
SUN knows exactly what cards they hold in their deck. While the letter does point out that SUN has much to gain, it is filled with nothing more than well wishing and potential profits. SUN already owns the source, and it will take more than a "if we work togeather as friends" to get them to assist in the continued expansion of the Open Source community.
The cards are all in their deck. Open Source needs to provide something more profitable than a "cant we all get along" letter.
Money talks...
My Thoughts, Kyndig
What do you expect the guys at sun to do if they turn the development of Java over to the open-source community? Sure, open standards are great, and so is OSS, but don't forget, Sun is a commercial entity that needs to make money. Why would anyone invest in Sun or take them seriously when they don't exercise control over their flagship product anymore? If you want a free, open language, try using c++ with gcc. I'm sure the good folks at Sun like trying to make the best possible software, but you can't expect them to destroy their company for a shot at making their software even better.
But there is another kind of evil that we must fear most... and that is the indifference of good men.
Java is already more ubiquitious than C# -- so what would Sun stand to gain from setting it free? For all intents and purposes, it's as free as I need it to be. I have full access to the Sun's source code for the JVM and the Java classes. I can use it the JVM for free in commercial applications. I have many different virtual machine implementations to choose from, on a wide variety of platforms. I'm afraid that setting Java "free" is going to lead to future revisions of the language being designed by committee -- we don't need another C++ thank you very much.
Sun needs its tight control over Java in order to, well, tightly control it. Remember what happened when Microsoft tried to "embrace and extend" Java with Windows extentions, Sun was able to kick Microsoft completely out of the Java business.
Open Source would allow Microsoft to create WinJava so long as they released the source, which might not be that hard of a thing to do. I don't think Sun wants to go there...
I always thought Sun's tight control over Java was so that they could keep Microsoft from polluting it, using their usual 'embace, extend, extinguish' method.
After all, Sun did force MS to change their product name from Java to J++, since it did not follow the spec.
Even if such a tragedy would not recur, can you blame Sun for being paranoid?
Practice Kind Randomness and Beautiful Acts of Nonsense.
Setting Java Free was actually Gosling's idea first, but the idea is correct. It should be free as in open source.
Maybe the critical path to being able to think simply involves being able to listen to ideas regardless of your personal feelings toward the messenger? Give the ideas some thought - it makes sense.
All Ad hominem replies happily ignored as the sender shall be deemed to lack the faculties to comprehend the equation.
The Sun SDK comes with sources to the standard API classes, there are alternative opensource virtual machines and compilers available for Java and changes to the environment are made via the community process.
What is it that is being ask of Sun here?
Even in GPL style open source development there is a central core of people who decide which patches make it into the product and which dont.
I see absolutely nothing wrong with the way Sun are managing Java as long as it remains freely available.
As for 1.5 helping to 'level the playing field' with C#, I dont think suitable credit is being given here. Java is ahead of C# in the vast majority of ways that count. All C# has done is formalize well know design patterns into syntax (delegates vs observer pattern). This is not worthy of accolade.
Make no mistake, it is Microsoft that is playing the catch-up game!
What portion of their revenue comes from what sources? How much does Java generate, and how? How much does developing it cost them?
It's hard to get an accurate picture without asking some questions like these and getting answers. Otherwise, you can't make an informed judgement.
http://www.welton.it/davidw/
Sun is not in a position to make things free for strategic reasons. Their mandate is that every project within Sun must make money. Period. And yes, I know this will sink the company eventually. They are stuck in a short-term profit mentality and there is little we can do about it.
The Open Source implementations of Java are coming along well, and could catch up with a little help.
Thanks
Bruce
Bruce Perens.
I like the fact that there is only one "branch" of java. I can write a program once and compile it anywhere. I hate C++ because I need #ifdef's everywhere in my code just so I can build it on other platforms/compilers. If someone feels that it is lacking, they should get involved in Sun's community.
Just my $.02
"What can be the VB for Free Software?"
That's easy to answer. Python. Java is too low level for RAD, and quite possibly won't be Free Software in the predictable future.
Save your wrists today - switch to Dvorak
Okay, ESR is writing an open letter to a CEO of Sun. Why the *hell* is he comparing Red Hat and Sun by *share price*? Share price means effectively nothing when comparing company worth -- market capitalization is what should be looked at, as it takes into account the number of shares. RHAT's market cap is impressive, but it's still 1/6th Sun's, not the three times Sun's value that ESR implies when comparing share prices.
So, there are two possibilities that I see here.
A) ESR is unaware of the difference between share price and market cap. This seems a pretty awful knowledge hole. If he doesn't know, he just made himself look pretty dumb in front of some major business folks while advising them on business strategy. It's pretty embarrassing to consider that ESR can't even have had a savvy person read over his letters before he tries to speak for the open source community.
B) ESR knows what the difference is, and is hoping that "three times" sounds better. Since there is no *way* that ESR can fool a CEO into blindly going along with him (if there's one thing a CEO of a publically traded company knows, it's stock value), he must be putting this in the letter for the masses of people that are completely unversed in market economics, which pretty means *maybe* some high school and below kids. This is nothing more than a propaganda job. I'd view this as extremely disappointing, coming from someone who I consider capable of putting out good, straight arguments about open source. Propaganda does not work well on online forums. A few people inevitably punch holes in it, other folks spread the problems, and your argument is left without any meat. It happens to Microsoft all the time.
Either way, it's a disturbingly unprofessional job. It reads like some of the worse "I just sent this in to the company" Slashdot posts. For someone who is concerned about the business credibility of open source, ESR sure as hell isn't holding up his end of things.
He compares, in an incredibly simplified manner, three projects that Sun has done (throwing out all but one factor -- whether they were open source), and then claims that Sun should free Java. That's absurd. Sun execs will have gone over this in far more detail many times before, and the only thing this does is ensure that ESR emails go in the wastebasket. The fact that this letter is open makes it doubly embarassing.
I have deep respect for the work that ESR has done, and I like his famous study "The Cathedral and the Bazar". However, I really wish he'd refrain from writing open letters, or at *least* show them to a couple of people before blasting them off.
May we never see th
If you have been following gcj's progress recently it is maturing rapidly, just give those dirty gnu hippies a few more years they'll be on par with Sun's own implimentation.
Two facts:
This lead me to conclude that GCJ would never catch Sun's level unless something drastic changes happen. Don't get me wrong, I like GCJ's idea and try to support it, but I firmly believe that they need to change to boost more progress.
--
Error 500: Internal sig error
I have no idea whether Sun should let go of Java or not. But I don't think I'd accept any business advice from someone who compares company value by stock price.
IIRC, he's still maintaining fetchmail.
He *is* getting more than a bit self-important, though. The last time I heard about him, he was advocating a "hacker symbol". Dammit, ESR, shut *up* for a while, and go have fun writing code or politicking or *something*. It takes forever to build up credibility, and a couple of silly open letters and articles to blow it. That may not be just, but such is life.
Just because open source is a good idea does not mean that open letters are always a good idea.
ESR, if you wanted to do this and actually do it *right* and maybe have an impact, you would have been *much* better off writing a high-quality open letter in combination with a few other major open source/free software figures, and somebody high up at IBM. People like that. That would let them catch flaws (many eyes, no?), give you more weight, and ensure that you have a good representative view of the open source community. Now you blew it, and it's too late to take it back. Unlike software (and even your rather unusual web pages), letters do not have revisions.
May we never see th
...but in a different way.
We all know that Java has its perceived flaws and many people say that, whilst Java is good, if they were doing it again, they would not go the same route.
So what I ask is - why not design an open source Java type language and libraries for the next decade, and start from basics all over again?
Like many people on Slashdot, I don't believe absolutely everything must be free in the fullest sense of the word. Companies have a right to keep their products as closed if they wish to. If we truly believe open source is better then we should design a new Java equivalent from beginning to end.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
I'm too lazy to look, but this isn't the first time slashdot has covered some yahoo with a grudge blasting Sun over not releasing Java to the public domain or whatever.
I consider myself a "Java Developer" by profession. I switched years ago and have avoided C++ ever since. I love Java because it ISN'T C++.
And I can't help but feel that Sun's control over Java is what has kept it from degenerating into a mess like C++.
As another poster has mentioned, everything you want to know about Java's internals and source code is there for anyone who wants to look.
About the only thing you can't do is break standard's compliance and still claim to be Java and thank god for that. If Java was not under Sun's control then there would have been no recourse against MicroSoft for pulling that stunt.
How many companies have been taken to task for claiming to have a C, C++, Pascal, Fortran, Cobol - you name it compiler that wasn't standards compliant? When's the last time you wrote a non-trivial program using VisualC++ that compiled and ran out of the box on Linux EVEN with strict standards compliance turned on? Yeah, a lot of it's library issues and not language itself, but with Java everyone has access to the same rich library, and with few exception, most third party libraries are fully cross-platform as well (at least if they claim %100 pure Java).
Thank god for Java and thank god for Sun's control over it. The JSR is enough openess we need.
Yeah, the best way to convince someone to do what you want is by telling them they don't know what they're talking about. Open Source IS a zero-revenue model. IBM and Redhat don't make money on the software, they make money on hardware and/or support. This is something that Sun obviously understands (as quoted in the article), and the condescending tone of ESR's letter doesn't help this cause very much.
A better first step, IMO, would be to convince Sun to loosen up their distribution restrictions so that the Java SDK could be included in Linux distros. It's not bloody likely that Sun's just going to jump up and let all of their stuff go at once. It would be better to work on smaller things before moving on to the big battle.
'Standards' in computing only impress those who are impressed by things like 'standards'.
Part of the problem is its cross-platform nature. As a user of more than one minority platform, I see this as being a massive advantage. However, I know that people who only use Windows (and some who only use Linux) see it merely as a speed penalty; should those people have the right to fragment the platform, making it a little better for the majority, but much much worse -- or even impossible -- for the rest? Is 'majority rule' such a good thing in this case?
If Java had been completely free in its early days, I think there's little doubt that, er, a certain company would have embraced and extended it in their traditional fashion, turning it into a de facto Windows language. Sun's strong control early on was necessary to prevent this. They've slowly relaxed their control, though; the Java Community Process lets anyone propose improvements, and many of the current ones have come from outside Sun. And the platform has always been open in the sense that anyone can make a clean-room implementation of the spec and call it Java if it passes the compatibility tests.
The question, I think, is just how much control they still need to have. Too much, and people will worry about their motives and Java's future; OTOH, too little, and maybe even now the platform will fragment, making it far less useful to developers, and possibly leaving room for a less altruistic company to take control of it? A similar question is how fast should the platform change -- too slow, and it risks losing out to more modern ones that have whizz-bang features; too fast, and it risks losing developers who don't want to keep relearning or rewriting.
So, while I generally agree with open-source principles, I think Sun has generally done the right thing for Java so far. But how much control do they still need? I don't know. Does anyone?
Ceterum censeo subscriptionem esse delendam.
I think ESR doesn't understand that there could be open-source implmentations of Java if only he wanted one (in fact, there are). The Java specs are public, and anyone can implement against them if they feel like it. In fact, this whole thing can be thrown back to ESR -- he has said that open source projects come into existence because someone somewhere needs to "scratch an itch". So if Eric has an itch, he's free to start scratching.
Maybe he's talking about opening up the specs, but what would that mean exactly? There's good reason to say that it's happened already. Sun flirted with the idea of turning the specs over to a standards body some years ago, but it soon became clear that Microsoft would try to influence any such organization and bastardize the language. Remember, cross-platform portability is one of the highest-priority features of Java, the main reason it's interesting at all for Sun and many other players, but it's precisely what Microsoft most urgently would try to destroy. About the same time, Microsoft created a version of the JVM shot through with Windows dependencies and lacking some libraries they were required to implement, all in violation of the license, for which they were duly bitch-slapped by the courts (a set of facts that many Slashdotters curiously like to overlook). Sun learned the hard way that they couldn't go along with any standards process that could endanger cross-platform portability.
So now there is the Java Community Process, over which Sun has only limited control, and in which organizations such as the Apache Group participate. Arguably, this is at least as open as the standards processes for many open-source projects. Anyone can access the code to Apache software and the Linux kernel, for example, but only voting members of the Apache Group decide what goes into and out of Apache software, and essentially Linus and his lieutenants decide what goes into Linux. The JCP has its faults, but being strictly proprietary or less open than most of the open-source projects are not among them.
Finally, I'd like to know the grounds for ESR's claim that Sun's alleged control of Java is "throttling acceptance of the language in the open-source community, ceding the field (and probably the future) to scripting-language competitors like Python and Perl." Java has one of the largest development communities in the world with lively activity among open-source developers -- think of Jakarta. And although Perl and Python developers tend to disintegrate into a blue rage when somebody says this, Java is the language of choice for a wide range of industry projects, including the most business-critical applications, and Perl and Python certainly are not. (Flame away if you like, flail against the windmills, rage impotently against the stubborn truth.) I think ESR's insinuation of a dim future for Java due to the displeasure of open source developers is just blowing smoke.
Always keep a sapphire in your mind
Java has the potential, Sun just needs to open it so Java can grow at a faster rate. Look at SWT compared to Swing. Swing has been around longer and has a little more functionality. However, SWT is faster, has a smaller memory foot print and just looks great IMO. I don't want a Swing based Java GUI to look the same on all platforms. I want my Java apps to look like a native app. I alos like the idea of gcj. I personally would rather write once and compile anywhere over compile once run anywhere. I think compiling on each platform would give the fastest performance and lowest memory foot-print.
If Tyranny and Oppression come to this land,
it will be in the guise of fighting a foreign enemy. -James Madison
Hmm... Lets see....
Sun creates Java, releases it for almost all platforms. Then, they maintain it and allow other companies to produce products to sell and run with their standards for free(just look how many J2EE servers there are out there).
Then, Sun goes a step further by creating a developer's network and allowing other developer networks to arise to further the advancement of java based products.
On the otherside, Microsoft creats C#, sells it for a hell of a lot of money, and says it can only run on these platforms and by the way, all your previous VB stuff, throw it out, we don't care.
Who cares if Sun wants to keep the source code, they have done a great job with Java and I only see good things in the future. Just because something isn't open source doesn't mean its not good. I love open source but some people in that world need to get over themselves and thank the companies (like Sun) that work so hard to provide us with tools. Where would organizations like the Jakarta organization be if Sun had not helped them so much.
Kudos to Sun!
It takes forever to build up credibility, and a couple of silly open letters and articles to blow it. That may not be just, but such is life.
A lot of ESR's credibility is for the fact that he says what he thinks. He doesn't always sugar-coat his opinions for corporate digestion, and doesn't seem to care if people consider him a nutcase or whatever. I respect him for that.
Many in his position would start to move more carefully, in order to not blow their "hard earned" reputation. Not ESR - he keeps on saying aloud things many of us want to be said aloud. I don't think I have ever strongly disagreed with anything he has written, and nobody listens to me, so it's nice to have ESR saying those things.
ESR-bashing seems to be all the rage at slashdot these days, and I wonder why that is. Are some slashdotters so insecure that the feel threatened when they see someone with a certain amount of self-importance/arrogance? Or are they offended because he is a self-proclaimed gun nut?
Screw that. We need one ESR, one Bruce Perens, one Linus and occasionally even one RMS. Well, we could use a few more Linuses and Bruces. But anyway.
Save your wrists today - switch to Dvorak
Which, I think, would be the most appropriate stance for an open source/technological figurehead.
Open Source will get by just fine without fanatics who do more politics than code. As much as I hate to admit it, I actually have some respect for RMS.
Not because of his ideology or his fanaticism, but because he has something concrete to back that fanaticism up with. On the other hand, I don't know what ESR or Perens have done, except that they like to blow hot air in public once in a while.
But still, Linus remains the top OSS "leader" to me because he doesn't want to be a leader. He's the Captain who gets out in the field with his men and gets things done quietly and properly whilst the OSS Generals are fuming and posturing over some petty political insult.
The owls are not what they seem
i am mainly a C user but i tried java years ago when i was using a Mac and i have kept an eye on Java since. my problems with it and how Sun behaves are :
1. the claimed "portability" of Java
i think this is a fine joke. a java program has portability trouble across different JRE on the same processor and OS. dont even try to think of this about different processors or even various operating systems. the high deniability of people when you tell them about this tells a lot of the inner problems of Java : axioms you are not allowed to discuss even if everything shows there's something wrong.
let's get an exemple. you can install NetBSD 1.6.1 and in its kernel you have compatibility options that allow you to use binaries compiled on previous versions of NetBSD like a binary coming from ten years ago, compiled on NetBSD 0.9
how can i be able to run BINARY code that is ten years old on a machine, and not be able to run Java bytecode on the same machine with two different JRE properly ?
i can even grab a binary for a proprietary unix system years and years ago and have it run... so we are able to run today programs from machines whom are no longer available and that existed before Java even came to birth.
2. Writing non-portable code using Java
Java is said to be impossible to be used to write non-portable programs. fine. so why does the applet that works fine under Internet Explorer and Windows doesn't work on a Macintosh under MacOS or MacOS X ?
3. Standards
C is a standard. We had the ANSI C that was followed by ISO C and more recently the C99 which GCC supports. So if you write code relatively cleanly it will get compiled (sometimes with a few fixes) on weirdo platforms. C should suck compared to Java about portability. So a few monthes ago why did I run into so much trouble to try to run Freenet ? It has been written using Java so it would be as portable as possible. But when you try to run it with JRE A it doesn't work so you move to JRE B but you get even worse problems so you try another JRE... Excuse-me ?!
While in the same time we got programs written in C that can be compiled on Linux, BSD, Windows, HP-UX, AIX across a dozen different kind of processors. We could be able to find rpm, debian packages, Free/Net/Open's entries in their respective Ports/pkgsrc...
NetBSD 1.6.1 released in august 2003 runs on 52 different architectures, with 17 disctinct hardware architectures and 11 different processors and it's mainly based on C code. The beauty of it ?
If I find a PCMCIA card and write a device for it, it will also mean that if you got a Zaurus (which runs a different archictecture and processor as the i386 I could have used to write a PCMCIA driver) you can plug the PCMCIA card and have it work. It means that if you install NetBSD on a Mac and it has a PCI port, you can plug a x86 supported card and have it work while you have no driver for that very same card available under both MacOS and MacOS X.
I'm not saying that C is the answer but that proper design and continuous work can achieve great results. Linux is also available on an incredible number of platforms, probably even more than NetBSD currently has from small cards with tiny processors to big 8-way monster machines.
Last, let me reproduce the words of someone from Advogato about this, dej who says :
The only real problem with Java is that it is proprietary.
I cannot legally use Java in any way, without giving Sun the ability to impair my business. This does not hold true for C++.
The license that accompanies the JRE you can download from Sun gives you the right to use it to test your own applications. It does not give you the right to run other people's applications arbitrarily. I suppose you can buy a JRE from Sun for this purpose. But then Sun controls
I have never got along with the whole object-oriented thing anyway -- I'd rather tell the computer how to process the data, than tell the data how to let the computer process it. Assembly language will always be free, of course; but not everybody thinks in the same way, and learning a programming language can be as big a job as actually writing a programme in it.
Java really is as close as it gets to open source without being open source -- and it still isn't close enough. There is also the question of whether Java would have matured so well without someone keeping a tight rein over it. Sometimes you have to protect your little ones while they are growing -- but you have to realise that the thing about children is that they eventually grow up and learn to live without you. Sun once has a lot to lose by opening the Java source, but today it has far less to lose in doing so. There soon will be "clean" Java interpreters that contain no Sun code anyway, and the choice for Sun will be whether to free up Java or break it.
But there is always the option of multiple-licencing. Sun's licence restrictions -- particularly the bit about not distributing competing products -- are there deliberately to keep Microsoft from spoiling Java. What if some Linux vendor were to negotiate a separate licence from Sun, permitting them to distribute Sun's Java interpreter ready-to-go with OpenOffice.org and their Web browser?
Their distribution probably would be "tainted" and not freely redistributable in its entirety {thus introducing logistical difficulties, but not insurmountable ones}; but at least it would give Sun a toe in the waters of open source.
Je fume. Tu fumes. Nous fûmes!
You don't seem to understand Open Source. This *will* save Sun from bankruptcy. By making Java Open Source, Sun will gain a huge number of developers who will work on it for free. ...yup, that trick ALWAYS works! Just like it did for Netscape! And Ximian! And Eazel!
You appear to have confused "open source" with "magic fairy dust". I hate to be the one to break this to you, but it doesn't work that way.
News for Nerds. Stuff that Matters? Like hell.
ESR, once more, is publicity-whoring on a subject he either knows nothing about, or chooses to be deliberately ignorant of. Any brief perusal of the Java scene will uncover an enormous amount of Open Source work going on, some of it very high quality. (And much less so, of course, but that's the same all over).
What ESR really means is that there's a lack of adoption of Java from Unix/C programmers. This has nothing whatsoever to do with whether Java is Open Source or not, and everything to do with the perception amongst such programmers (whether deserved or not), of the Java language itself. People don't choose Perl, Python or Ruby over Java because the former are open source. People choose them because they prefer using the scripting languages.
I have this feeling that Scott McNealy isn't sitting there thinking "Damn, I guess if we totally cede control over this language, all those Unix nerds who hate Java anyway are going to drop their copies of Python and come rushing to embrace us!"
Charles Miller
The more I learn about the Internet, the more amazed I am that it works at all.