Will Sun's Java Go Open Source? 519
Ritalin16 writes "CNet report that Sun Microsystems wants to send Java closer to the open-source world, yet keep it safe from harm. "Project Peabody" adds two licenses that make it easier for outsiders to see the code. But Sun stops short of embracing open-source. Sun's licensing practices for Java are closely watched. Proponents of making Java open-source argue that a different license and development process will help accelerate usage of Java, which faces ongoing competition from Web open-source scripting tools, such as PHP, and Microsoft's .Net line of tools."
Why Java open-source will never happen (Score:2, Insightful)
It will be the development system of choice for corporate development for another decade, providing jobs for all the new and soon-to-be CS graduates who aren't taught anything else. Yet Java is already completely ossified.
Doesn't matter much (Score:3, Insightful)
If Sun wanted to make themselves insanely relevant very quickly, they would fully embrace Debian and support it extremely well. Then, they should work to standardize on http://www.autopackage.org/ [autopackage.org], or something very similar to it. Then, they should work to get Java much better integrated into Firefox and vice versa. Here is a good article on it the level of integration between the JVM and the browser, which is just pathetic at the moment:
http://www.softwarereality.com/soapbox/swing.jsp [softwarereality.com]
I wish there were a sane event model to share between Java and the Browser so that I could use the browser as a display technology and have access to all of the Java class libraries for networking and such.
Re:Integrate into FireFox? (Score:1, Insightful)
Re:No, they want to keep their integrity. (Score:3, Insightful)
You can say that with a straight face, after the debacle with Microsoft's J++ Runtime of Incompatibility?
You may have heard of the court case. Took years to resolve. Somehow, I think Sun has learned its lesson about relinquishing control over what is, and isn't, Java(tm)./p.
YAY! (Score:2, Insightful)
and how's that working out? (Score:4, Insightful)
Now, lets look at some fairly popular languages that have been open-source since the beginning: perl, python, tcl, ruby. Gee, not one of them has shown the faintest sign of forking. My conclusion? Sun is run by a bunch of idiots. (Really too bad, because I used to be a big fan back in the eighties.)
Byte Code Is "Open" (Score:3, Insightful)
As for opening it to a standards committee, I hope Sun never takes this route. The committee mind for just about anything is terrible. Many great artists won't work with committees and I think Java is better served if Sun calls the shots on it.
I don't know much about the licensing of J2EE but for people that don't want to pay (do you have to?) you can always use something else or pay for
I don't care one way or the other really if Sun "Opens" Java but I'd rather them or a small group of people call the shots on the language. Gosling et all for instance. Whatever they do, I hope Java doesn't fall victim to ANSI or IEEE or whatever as the language will never advance.
Re:Already ditched (Score:5, Insightful)
For small programs, Java can get very wordy and very verbose, especially if you coming directly from C/C++, or from a language like Perl or Python. It does get annoying at first, typing in public in front of nearly every class/method and having to type in System.out.println when a simple printf() or cout or print would do suffieiently in another language. However, once you start making larger programs, Java isn't that bad, and all of those words are there for a reason. It starts making sense after a while, and it really is a nice language, once you grasp the OO concepts and get past some of the annoying differences between Java and C/C++/Python/whatever. It gets really convenient when playing around with Swing.
Put it like this, I'll bet you that you'll want to code in Java long before you want to code in Visual Basic, or even worse, COBOL. If you thought Java was verbose, Visual Basic is even more verbose, and COBOL takes verbose to another level....
Re:No, they want to keep their integrity. (Score:5, Insightful)
Mono Developer Meeting [oreillynet.com]
Mono viability (Score:5, Insightful)
Re:and how's that working out? (Score:5, Insightful)
We have MSFT pushing their own completely incompatible java-like system.
Imitation is the sincerest for of flattery. Microsoft has cloned Java, and now you are going to blame Sun for the fact that it isn't 100% compatible.
Let's see: we have kaffe, gcj, and a handful of other open source attempts to clone java, all of which are not exactly one-hundred percent compatible, and none of which would exist if java had been open source in the first place.
I think you have to explain your reasoning a bit here, because no matter how I try to read this it sounds like you contradict yourself.
"Open source versions are forked. Therefore, if it had been open source there would be no forks"?
Re:and how's that working out? (Score:2, Insightful)
If i'm wrong, I apologize.
Re:Integrate into FireFox? (Score:4, Insightful)
You're clearly just trying to save face if this is all you can complain about. Not all vulnerabilities involve users clicking Yes in security dialogs.
since it turns out that Java really is not safer than "native" extentions like ActiveX or XUL or Plug-ins (despite years worth of propaganda saying otherwise).
The "years worth of propaganda" was probably referring to Java's immunity to buffer overflow vulnerabilities and other attacks that exploit the machine-level details of C-style calling conventions. Or it could have referred to the sandbox security model under which applets can be run safely without even requiring a security dialog- as opposed to ActiveX for example, which is typically implemented in "unmanaged" (but digitally signed) C++, has a security model consisting of nothing but a security dialog, and which must run either with full privileges or not at all- based on whether you feel you can trust the author. You can run Java code in a sandbox and not have to trust anybody. The sandbox has such restrictive security, in fact, that it partly (along with install base and JDK versioning issues) led to the demise of applets relative to ActiveX.
Re:zerg (Score:5, Insightful)
So, your objection is that the "open" in "open source" can be interpreted to mean merely available to be viewed, despite the other meanings of the word open. Which is no worse than the problem "free" has, in "free software", since gratis software is quite common.
Here's the thing -- a random member of the public, hearing the word "free software", will immediately jump to the conclusion that it doesn't cost anything. Especially since the way the word is most often used in the media as "gratis", and since the Windows world is full of "freeware" -- most of it low quality software that supports the proposition "you get what you pay for".
The same person will not have any idea what "open source" means, since he is unlikely to even know what source code is. Instead of being misinformed by the term, he will notice there is something here he doesn't understand.
Which is better, from a public-education point of view? The term that immediately misleads your audience from what is meant, or the term that is a semantic nullity, in which you can pour meaning?
Hint: they're less likely to listen if you tell them their first conclusion was wrong than if you don't have to tell them they were wrong.
Re:Java and "Unsupported" Platforms (Score:4, Insightful)
Yesterday, I tried to install Java because a colleague is developing a web application with a Java component in the browser, and I wanted to try it and maybe help him out. That meant installing a Debian helper package. Then manually downloading Java, clicking through some license agreement nobody reads. Running the helper package, typing answers to questions, paging through the same license agreement in the terminal, having to type out "yes" and hoping things work. Not impossible, but at least 10X more work than every other piece software on my system, especially if I want to keep up to date with point releases
And of course it ended up not working - my Firefox still refuses to run Java for some reason. I ended up taking the path of least resistance which was VNC to a Windows computer - a pathetic and painful workaround. Normally I'd file a bug and the package maintainer would smooth out these system integration issues, but Sun's redistribution terms are preventing that. To add insult to injury, I think I remember reading that Sun sued Microsoft for NOT distributing Java at one point, which makes me wonder about corporate schizophrenia. If Java were true open source, I'm confident things would finally get smoothed out and I'd be much more inclined to develop for the platform and trust that it would always be there for me.
Furthermore, there's now a few useful open source programs written in Java that also get hampered. For example, the Lucene search toolkit can't currently be built without Sun's SDK. Therefore, it can't run on the Debian autobuilders and gets relagated to second class citizenship status. As both a proprietary and an open source software developer, my life would be easier, happier and I'd be far more Javaphilic (as opposed to just plain grumpy) working on an open source platform.
Distribute JRE with Linux distro (Score:5, Insightful)
I seems Sun is gonna change their license at this point so every Linux distribution can distribute the JRE and support Java out of the box.
This is probably the most important part of the license change and I hear nobody about it.
Re:What's so significant? (Score:3, Insightful)
2 All the main OSS libraries build and run on Kaffe, including things like the SWT window toolkit, xerces parser, etc. Look at the Gump to see how well it is going: http://brutus.apache.org/gump/kaffe/ [apache.org]
3. A lot of focus in the gump/ant dev groups is about improving gump builds. If we can clean build the OSS stack on the OSS platform, we will be independent of Sun.
4. the big issue with libraries is testing compliance. One thing we want is for sun to open up the TCK for Java so that OSS implementations can test against the official java TCK
5. Although the TCKs are opening up, it is patchy and trouble. TCK access is only under NDA, which makes it hard to broadly test and debug, which is what OSS relies on.
Java is open like C (Score:4, Insightful)
Re:Doesn't matter much (Score:5, Insightful)
Now if you say they are afraid that if they BSD-license Java and then end up having the GCJ team dictating what Java is and is not, then yes. That is exactly what Sun means when they say there is a potential problem with forking.
Re:You won't make this crowd happy (Score:1, Insightful)
Here's some more facts:
+ In bed with Microsoft? That would be why they produce StarOffice - a competitor to MS's main cash cow.
+ In bed with SCO? Sun really doesn't seem to want any more lawsuits - that's why they bought a SCO licence, and that's why they paid off Kodak.
+ Despite you whining bastards constant Sun-bashing, Sun has tried to be nice to the OSS community - there's no way they're going to start lawsuits - see the comment above, too.
+ Sun's licence is incompatible with the CPL entirely because they don't want Solaris merged into Linux, and can you blame them?
Re:Already ditched (Score:5, Insightful)
You know, that is an annoyance just because you do not use object orientation much. Java is strongly typed, and it has a lot of advantages. A quite usual way of creating a new variable is:
Or the more familiar:
This does also enable stuff like:
If you don't understand the advantages of this kind of casting, you don't understand object orientation, and therefore, you don't need Java.
Re:Already ditched (Score:3, Insightful)
Believe it or not: Java is Sun's next cash machine (Score:1, Insightful)
Why on earth would they open-source something that looks like the next goldeen goose ? That would be pure business suicide.
Waken up people. It's all about the money ! Not about "forking" and other stupid claims made to distract the open-source zealots from the real issue.
Re:Already ditched (Score:4, Insightful)
java vs. .NET??? (Score:2, Insightful)
Scripting? (Score:2, Insightful)
PHP has its uses and Java has its uses. And Java is not a scripting language. Just because you can deploy a web site using JSP, you can't put Java in the same category as a web scripting language, me thinks.
Re:off-topic-a-roony (Score:4, Insightful)
This may have a reason. Swing doesn't work properly on Linux. At least not if you don't use an US keyboard and US locale. In many European locales some characters will be untypable, what exact charaters depends on the locale.
This is of course a bug, but its been around ever since swing was born. It was almost emediatly bug reported. After a couple of years sun closed the bug with the bug still UNFIXED. I guess it got embarassingly high bug votes on their top 25 list.
Now the bug is reported again (under a new bug id) and has been on the top 25 list for a couple of years now.
Any Linux programmer know by now, that Sun either is too incompetent or fix this, or have some other agenda that make them unwilling to fullfil the promis of compile once run everywhere that once was used to promote java.
You can get more information on this bug from:d =4799499
http://bugs.sun.com/bugdatabase/view_bug.do?bug_i [sun.com]
If you like you can even cast your vote for it to be fixed. Not that I think it will make much of a difference. To Sun java is something for the serverside only.
Seriously? (Score:2, Insightful)
Is that a joke?
I mean PHP is great and all, but are there really fortune 500's out there going "you know what lets replace our entire java infrastructure with PHP"?
Re:off-topic-a-roony (Score:3, Insightful)
http://bugs.sun.com/bugdatabase/view_bug.do?bug_i [sun.com]
Re:Already ditched (Score:3, Insightful)
Yeah, this:
And you're worse off than with an unchecked exception that isn't caught.
Re:Already ditched (Score:3, Insightful)
If the "do something with it" looks like this: ...that's not going to help you, it's just going to make the compiler not complain.
I actually make it a point to put in a comment like "// do nothing, this is OK" when I do something like that, so it's clear to the next programmer that I meant to just shut up the compiler, and I've either got a case that I know doesn't matter or cannot happen because of other constraints.