Gosling on Opening Java
An anonymous reader writes "It sounds like James Gosling's nudging Sun closer and closer toward open-sourcing Java, as requested variously by IBM,
Eric S. Raymond, and Richard Stallman, though not by JBoss's Marc Fleury. 'Developers value Java's cross platform interoperability and reliability,' Gosling writes, adding 'If we do something to make Java even more open-source than it is already, having safeguards to protect the developer community will be something we pay a lot of attention to.' Surprisingly, 'the creator of the Java programming language,' as Sun usually calls him, seems to be at odds on this issue with his own CEO, Scott McNealy. So, who should have custody of the child, the father...or the boss?"
Java is not open-source at all.
(Pre-emptive response to the argumentative sorts who point out the various GNU Java projects: These are not "Java proper". Java is a Sun product, and it is not open-sourced.)
Honey, I shrunk the Cygwin
that they open-source it before Sun tanks, or before some nasty company takes control of it. In short, they ought to do like Netscape did, and I'm sure even McNealy would rather do that than any other alternative...
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Worth noting that Gosling is the one who produced the first non-free version of emacs, which was a direct motivation for RMS to produce the GPL!
He also produced NeWS which was superior to X in almost every way... except... it wasn't open either!
I've always thought that Java will become open source over Gosling's cold dead body, but maybe he'll prove me wrong.
"Developers value Java's cross platform interoperability and reliability. They're afraid that if Java is open-sourced then someone will try to fragment the community by creating incompatible versions of Java and ignore the community process, just like Microsoft did. Microsoft did a lot of damage to the community and many developers strongly do not want that to happen again."
Microsoft is one of a handful of entities in a strong enough position to be able to do a lot of damage to the community.
In the present situation, that damage could be avoided by writing a License that, for example, specifically excludes 'any employee of Microsoft'.
A lot of this just seems to do with the name Sun could feel good about being "open source" GNU can feel good about another OS project, IBM can feel good about making it happen and Microsoft can feal confused. But it does not mean anything really changes for developers.
Maybe there needs to be a distinction between and Open Source License and an Open Source Development Process. Just because the code is open source does not mean they need to follow the same development model as Linux.
There are four sorts of people in the world: fools, lunatics, idiots and morons. - Umberto Eco, Foucaut's pendulum.
He was (and still is) a Sun employee and developed Java during that time, by today standards any product developed by an employee is property of the company, so even McNealy is the father, McNealy is just the obnoxious uncle that says wierd things when is drunk.
Gosling was just a surrogate father.
BTW what happened to the other people around OAK project?, did sun killed all of them and throwed them into a ditch?.
As has been pointed out, it's a programming language with an environment. Open sourcing it is irrelevant. What it really needs is ISO Standardisation - so that the test suite is not a moving target as defined by a single vendor.
For goodness sake, MS did that for C# and environment that it requires. Anyone can implement it and MS get no say and no kickback.
Please may Sun do the same for Java.
Anyone is free to make their own implementation of a Java framework. There's an (outdated) list here of alternative implementations (and possibly more here as well).
For example, SableVM and Joeq are the first two that I found on Sourceforge (and there are several more).
So it's not really a question of "open sourcing Java" - because there are already open source implementations of Java (and a few commercial ones as well). It would be a question of Sun opening up their reference implementation of Java.
So the main advantage of opening up their reference implementation would be to focus the software community's efforts more on one Java implementation and to stop the fragmentation. People would still be free to develop their own Java compatible VM's & compilers, but it would provide less of an incentive for them to do that if there's one central, relatively community-oriented distribution.
GPL isn't giving it away. its not as if you have to pay for it anyway. whats the difference between freeware and GPL to shareholders?
all it means is that the OSS community can make it better, and Sun can, if they want, use it more in their operating systems or whatever to get more money.
how is GPLing something thats already freeware giving it away?
Oh, wait. You want something Sun spent 100's of million dollars developing, and protecting for free. Like 100% really free.
Except that it seems "Solaris maybe, especially if we can knock Red Hat, Java unlikely even though its creator gets it".
Sun need to keep a tight rein on the java name, and maybe the standard process. You want it to be called Java, you make it pass the test suite. That bit makes sense, although its hard to take too seriously given all the things out there like vnc java versiosn "patched to work with macos", "patched to work with ie5" etc.
What matters is that a JVM+class library called "Java" or "J2EE" etc behave in the defined way. Just as "Posix" and "LSB" matter. Implementation, reference code, no reason that can't be truely open.
In the Sun case the fact some of the interface specs are secret for tests for some of the extensions is not umm helpful. Imagine C++ programming where you had to sign an NDA to open a file 8)
Try finding a better way to break out of an inner loop. For example:
for (int i=0;i<n;i++) doublebreak:
To exit from a function, while cleaning up properly afterwards:
if (error) goto error;
if (anotherError) goto error;
error:
close(files);
delete stuff;
return -1;
Well, ok, that one is pretty much covered by exceptions in Java, but in C it's useful and justified.
there is concern that looking at the code taints you for life, unlike open source.
FUD. The license specifically grants you the rights to study the code for research and learning purposes. This not an NDA.
When we say "Open Sourcing" why do we really mean "GPL"? Granted, the GPL has the advantage from Sun's point of view, as they get any changes back.
But Perl was released for the longest time under the Artistic licence, which (IIRC) allows derivitive works, but doesn't allow you to call them Perl. This could keep the one, true source of Java unsullied by broken or incompatible implementations yet gives everybody else the hope that when Sun tanks Java won't.
We do agree, then, that Miguel is doing this based above all on personal preferences about the language and not necessarily based on platform capabilities or deficiencies. And it might just be the right call especially because of the multi-language thing.
(Not that your previous post meant differently, but as I said earlier I needed a bit more detail. Thanks again!)
The revolution will not be televised.
I think that there is exactly one person who thinks that Java should be GPLd.
As opposed to what other license? (L)GPL would probably be the best choice for Sun because it ensures that people cannot create proprietary forks (Microsoft anyone?). BSD or similar less freedom-guaranteeing licenses would be an awful choice. And if you think Java shouldn't be open source at all, well.. you're just an idiot. It's going to happen whether Sun wants it to or not. This whole discussion is only a question of whether they remain a player.
I'm trying to find a sound file of a hammer hitting the nail on the head. I can't find one... so just use your imagination.
The people actually working on the GNU java stuff don't want Sun to open source Java. they want to prove that they can do it themselves with out their help and do it better. There was a post on one of the previous slashdot threads by one of the developers indicating that.
The reality though is that most of the open source projects don't get to where they are based on a large community of volunteer developers. The big gains in open source software have been by corporations donating money and paying their developers to work on open source solutions. I'm not saying this is bad, but it should be recognized.
Maybe RMS is still just ticked off at Gosling over emacs.
Open Source Java DAO Generator
For an implementation to use the Java trademark, it must pass Sun's tests. The source is already "open" (easily available). Anybody can make changes and call it "Java", as long as it still passes the tests.
That sounds like "open source". We all want Java to retain its portability, so Sun requiring the tests is valid. The tests could be (and effectively are) under the control of the JCP, so that process is "open", although it is design by committee, which frightens me, but is the basic premise of the FSS community.
The issue is how to make Java free to redistribute. Under the current license, no JVM can be included in a totally free distribution. Is there some license that can protect the trademark and portability that allows free distribution? Can such a license be written that is acceptable to Sun?
Transfer the Java trademark to the JCP. Fund the JCP to protect it. Allow the JVM and all associated tchnologies to use the trademark if the tests score 100%. Allow free redistribution of certified code.
You could still modify your JVM for internal use, but you must recertify it if you want to distribute it. Is that close enough to the intent of the GPL to satisfy RMS? (No, they would not be using the GPL, but that should solve all real world issues without allowing Java to fragment.)
---
MS JVM:
Why do most people assign to malevolence what can easily be assigned to stupidity?
MS did not write a JVM that met the standards. In THIS case, they did it to add proprietary extensions to better allow virus and other integration with their OS.
But MS has a very lengthy record of not being able to write programs very well. Their original claim-to-fame was the BASIC interpreter that could not interpret the BASIC language. Their version became the standard we all learned to program in the early 80s, but they did not change it because they wanted to steal the market from all those other (nonexistent) BASIC interpreters; they changed it because they did not have the technical ability to write it correctly.
They have since won many software markets. I do not know of one case where the software they sold to capture the market was better than the current leader. The closest examples are when they leveraged MSWindows3 to capture the GUI market while making certain their competitors did not have the APIs to be able to write software for MSWindows3. Usually MS writes programs that work worse than the existing leader, then use their marketing and monopoly to conquer.
Every programmer will tell you that it is easier to write an application when there is already a working version. MS has repeated failed to match the existing functionality for their early releases.
Did MS change the JVM because they wanted to corrupt it? Or was it simply that they did not have the technical expertise to write it without corrupting it?
I spend my life entertaining my brain.
Once open sourced, it cannot ever be bought out and buried.
We all know who I'm talking about. And frankly, Sun does look pretty weak these days. I wonder if they'll be around in 5 years.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
Please enlighten me? Why GPL Java?
That question itself points out a core problem with Java: it isn't a standard, it is just an implementation: Sun's implementation (and its derivatives: IBM, Blackdown, Apple). None of the implementations (gc, kaffe, waba) that don't derive from Sun's are even close to being compatible.
Before we can talk about Sun open sourcing their Java implementation, we have to talk about making Java an open standard. Right now, it is further away from that goal than even Microsoft Windows is.
In any case, it doesn't matter anymore. I doubt that it makes much of a difference at this point what Sun does with the Java license. I think the world is going to move away from Java over the next few years--Sun screwed up.
open source does not mean fragmentation.
Do you know php, perl and python ?
Theses are 3 languages which are Open Source projects (and they are not the only ones). Is there any fragmentation ?
Why couldn't it be the same with Java ?
wtf.n0x.org
Sun -- either get your act together, or open Java up.
There is no reason for this. .sxw files that require you to install their "version" of OpenOffice ? .tex that require you to install their "version" of LaTeX ?
Do you see a lot of programs that require you to install their "version" of python or perl to run ?
Do you know a lot of
Do you know a lot of
The MS VM was different, they volontary created something incompatible to break portability (that's what they often do).
wtf.n0x.org
IBM, for example, could fork the code and really open up to the community. The entire open source community gets behind the IBM version and, after awhile, Sun disappears.
If Tyranny and Oppression come to this land,
it will be in the guise of fighting a foreign enemy. -James Madison
Why this surprises me, I don't know, but for god's sake, stop seeing the world with Linux coloured glasses and see it as it really is.
Gosling's position on open-sourcing Java is well understood:
http://today.java.net/jag/page7.html#62
OSS has absolutely nothing of value to offer Java.
No, that is just proof that of lots of people (including distributions that ought to know better) are incredibly sloppy about licenses.
Of course they can distribute JRE - but may they? Are they violating the license - or encouraging others to violate the license? The license puts rather strong (if vague) restrictions on any GNU/Linux/*BSD distribution who wants to (legally) distribute the JRE, and a general-purpose distribution that does so is probably violating the license. Not a good idea.
.Net+C# or even J# is similar enough to Java to attract former Java developers and to leverage the marketing done by Sun for Java. Sun promoted portable bytecode as being essential, JIT compiled code as being competitive with native compiled code and these same advantages Microsoft is using now to promote its .Net.
So, they are actually using Sun's effort already and imho you could already consider .Net as a Java fork.