Will Sun's Java Go Open Source?
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."
Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it? Obviously there'd be some positive side effects, but exactly how much could the community benefit from having Sun's compiler open-sourced?
I already ditched java a long time ago. After trying some .net, settled on python, who wants to write 10 lines of code, and have to pass through 2 layers of variables to open a file?
Python: open(filename,r/w,0)
Java: JSKALDAHSJKDHLSA;
ASDJH(ASLDHJKLASH);
ASJHDJAKSHDJHASD();
REALLYLONGBUFFERNAME();
"Project Peabody" is really the code name for Sun's secret development of The Wayback Machine to send Scott McNealy back to a time when Sun was relevant.
__ Someday, but not this morning, I'll finally learn to use the preview button.
signs point to yes
"Sun has elected not to use an open-source license at this time because its commercial customers are concerned with "forking," or the creation of incompatible editions of the base Java software" Currently, Java seems to be close to, if not the lead in cross-compatibility. They do not seem like they want to lose their integrity as a stable cross-platform language.
Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have? We already have several Open Source JVMs, Kaffe and IBM's RVM(Research Virtual Machine). Since the Java specs are anyway open, is there any point if Sun opens up the JVM implementation?
Because it doesn't need to. Java is now so big and so corporate that stability is far more valuable to its constituents than innovation.
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.
If it were up to me (I know it's not, so shut up ;_; ), I would put it in the public domain and pretend I wasn't the one who wrote it. Then I'd be all "Oh wow, Java's so cool, you can even download all the source code for it!"
And then I'd get featured on slashdot as "Sun's Java Went Open Source" instead of some silly speculation that Sun might make up some magical license that lets you look at the code but not do anything w/ it.
Will open sourcing Java source code mean that the language will get submitted to a standards organization like ECMA or ISO or something?
[o]_O
Sun has 64-bit VMs for SPARC/Solaris and AMD64/Linux. IBM has 64-bit VMs for PowerPC/AIX, PowerPC/Linux, and z/Linux IIRC.
Sun is in trouble because GCJ is getting so much better. It has a strong chance of becoming the "defacto" version on Linux very soon. RedHat engineers already have Eclipse built and running on it, and tightly integrated with Gnome and Glade development. It's starting to look really nice, and SWT compiles natively into Linux binaries. Sun will likely maintain the lead on Windows pretty easily, but they stand a big chance to lose out to GCJ on Linux. No biggie, because Linux isn't a real server platform after all, right Sun? ;)
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/, 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
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.
As soon as Java goes open source, I plan on forking it. Job 1 will be to add first class support for COM and XPCOM objects. After that's done, I'm planning on adding Delegates for event-driven programming. Good RAD-Designer support is important too.
Of course, there might be some minor incompatibities with other JVMs, and the initial releases will be Windows-only, but since Java is such a neat and productive environment to program in, I think people will overlook these issues. Anyone interested in joining this project, please contact me.
Whenever I hear the word 'Innovation', I reach for my pistol.
It is exploiting a clueless user that doesn't know enough to click "No" when presented with a warning dialog that says that an untrusted application is trying to make changes to the local filesystem, and it asks permission from the user if this should be allowed. Previously, it had been assumed that a user would be ever so slightly clueful enough to not actually permit an untrusted application to do this, especially since they are getting a nice and friendly warning dialog, but hey... I guess user stupidity reaches new lows every week. The people that are vulnerable to this are the same people that think it's a good idea to run native exe attachments in emails from unverified sources.
File under 'M' for 'Manic ranting'
Anyone who reads Jonathan Schwartz's blog will know that Sun is gonna open-source java. He's been hinting about it for a while now, interspersed with hyping up the open-source release of solaris. Sun seems to understand that going open-source is there best chance of survival in the software world.
A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
Sun has a lot of tight control of java. But I believe IBM also has their own java implementation, and I think that version has alot of proprietary and licensed code.
Why do you think that? IBM created a superior background garbage collection for example and gave it back to the community. IBM of course write JVM's for their own OS's, and those JVM's meet Java Community specs.
It would do IBM no good to have a proprietary JVM. I haven't even heard of proprietary Java extensions from anyone but Microsoft. Would you know anything about that?
rd
It would be great if the Java JDK were open-source, or at least distributed with a less restrictive license. Installing Java on "unsupported" platforms is a nightmare. Take FreeBSD, for example. First, I have to install the Linux version of Java, because for some reason, the native Java port requires the Linux version for bootstrapping purposes. Next, I have to manually fetch the sources for Java from Sun (since Sun prohibits redistribution other than from Sun's site, and the latest precompiled package for Java is for FreeBSD 4.x, which doesn't work under FreeBSD 5.3; not to mention that I can't really do anything with the sources other than compile them; the license is very restrictive). Finally, I have to compile them, which took me 18 hours to compile on my computer (I'm not trolling; the fastest computer I own is a 475MHz K6-2 with 64MB RAM; I'm poor). For Sun to advertise that programming in Java is about "writing once and running everywhere," I guess "everywhere" is defined by Sun's view on the world. The only reason why I compiled the JDK in the first place is because I need it for my upcoming classes.
It would be great for all developers if Java were open sourced under an agreeable, OSI-compliant license. Developers of "unsupported" platforms would be able to port the JDK to their favorite operating systems (and redistribute sources and binaries of the JDK, too), which would raise the number of developers using Java, which in turn raises the number of people using Java-based applications. Next, I don't think Sun has to worry much about Java being forked. Look at C, C++, Python, Perl, and Ruby. C and C++ are ANSI-certified, and Perl, Python, and Ruby are open source. As far as I know, there aren't any forks of C, Perl, and the other languages that I've listed.
In the meanwhile, I wonder how good are the free, open source interpretations of Java and how they stack up to the Sun JDK?
It seems to me there's a completely obvious solution to this: only allow patches against their version to be distributed, not already-modified versions. And don't let modified versions use the trademark. That way it would be completely obvious which was the real java.
I am trolling
Acknowledged, Java has some downfalls (slow, etc) and it is not a native programming language, but overall, Java is a great way to go. Java applications developped for a website is a powerful tool, instead of using php. And Java games are very popular in the cell phone industry right now, not flash. Overall, I think the possibilities that Java offers are enough in itself to warrant making it open-source. But I'm biased... I just started learning it.
Foxed Design
Students should be forced to learn in a bondage-and-dicipline language like Java. Once they understand a type system, they can better understand when to break the rules.
We've already been down the Python/PHP "typeless" road with teaching Visual Basic, and the end result is a lot of sloppy programmers.
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. We have MSFT pushing their own completely incompatible java-like system.
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.)
IBM has 64-bit VMs for PowerPC/AIX, PowerPC/Linux, and z/Linux IIRC
And IBM's AS/400/iSeries/i5 is 64 bit PowerPC, so the Java JVM on the AS/400 would be 64 bit.
rd
Perhaps if you could tell us why you thought Eclipse and Netbeans suck it would be easier to come with a suggestion?
Anyway, some of the most popular would probably be JBuilder, JDeveloper, IntelliJ IDEA, KDevelop...
If you prefer more light-weight IDEs, you can always use ANT together with something like Emacs or JEdit.
Being bitter is drinking poison and hoping someone else will die
Considering that Byte Code is essentially open, you can construct a language how ever you want and have it compile to Byte Code so that the JVM will execute it. So, in this regard it's open.
.NET.
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.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
While i haven't done much research, a little casual testing suggests that opensource JREs run a lot more java software than mono runs .net software.
I've been using gcj to develop Hecl ( http://www.hecl.org/ ) with, and so far I've been pretty happy. I found one compiler bug, which I reported and which was then promptly fixed. At FOSDEM, I also had occasion to go visit the Free Java developer room, and the impression I get is that these guys are making enough headway that it doesn't matter what Sun does at this point. Redhat had something like 3 or 4 very sharp developers (Tom Tromey, for instance) working more or less full time on gcj and ClassPath. Sure, Sun has way more people, but for now, all the free guys have to do is play catch up with the spec, not surpass Sun. That comes next;-)
By the way, I don't think blackdown is actually open source in that it's based on the Sun code.
I'm curious - does the new Fedora actually ship with gcj and gij as 'Java'? That will be an interesting development to watch.
http://www.welton.it/davidw/
Both Microsoft and Firefox have made UI enhancements to make it more difficult for users to just reflexivly click "Yes" on every modal permission dialog that pops up. I think it's perfectly fair to hold Java to the same standard
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.
Lots of people use PHP instead of JSP, even for "enterprise*" applications.
*PS: The word "enterprise" in any software context is bogus.
--
the strongest word is still the word "free"
Until now, you are only allowed to distribute the JRE with Java software. This has always been an problem for creators of Linux distributions who like to include Java in their distribution.
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.
Me
Java is crossplatform. Runs on Windows 2000 AND Windows XP.
Java is a langauge and say it is prorietary is like saying C or C# are proprietary. I have read the freely available documentation on Java and you'd be surprised how complete it is. There is no need to reverse engineer anything since JavaDoc spells it all out for gou, and heck Sun provide the source code to the files too! It bugs me that people perfer Mono'a C# over Java because it's "more free". Well it's only free because people coded it up. If they spent half the time coding a JVM that they've spent coding a Mono they'd be done years ago. And if Sun keeps their own implementation proprietary, well they own so let them. You can use IBM's or Apple's or your own. Why don't people stop using C since Intel still offers it's own closed source compiler? Java is really spread wide open from letting people participate with JSR (though just like in democracies unless you are with someone big you won't get heard.. but you are free to try), and even poke around with the source. Is there some big piece that I'm missing that would bother anyone besides GPL Zealots?
Your CPU is not doing anything else, at least do something.
However, the biggest problem with the GNU compiler is the lack of compliant class libraries. The GNU Classpath project, which aims at creating an open source cleanroom implementation of the Sun class libraries are severely behind. My optimistic guesstimate would place them at being about 3 years from full 1.5 compatibility, at which time we're probably using the beta of 1.7.
However, GNU Classpath has an easier job ahead of them than the Mono folks, which begs the question as to why they chose to go with the Microsoft technology in the first place.
Not if it comes from IBM. We only hate the stuff from Sun, and we also like .NET in the form of Mono, because Miguel started that so it must be cool.
Stick Men
How to make sure any released "derived works" of their JRE, JVM and JDK are 100% compatible with their official releases.
Look at what happened with microsoft, they took the sun JVM and did an "embrace, extend and break 3rd party compatibility" act on it and so Microsoft (up until sun forced Microsoft to remove it) was shipping a JVM that was incompatible with the official VM from sun (and people actually built java apps that only work on the Microsoft VM)
What sun should do (IMO) is to release the code under an Open Source licence. BUT, if you want to use the sun java trademark (e.g. to represent that what you have released is a java VM or whatever), you need to pass a compatibility test and get a stamp from sun. Then, they could release the compatibility test to the world so that everyone can test their code before it goes to sun for approval. The same test could apply to any java VM or compiler (e.g. GCJ).
People who want to modify (and share modifications to) the JDK, JRE and JVM can do so. (e.g. people wanting to port the JRE/JDK/JVM to a new platform/OS)
People who want to try out "unapproved" modifications can do so (with the full knowledge that they arent official and may not be 100% compatible with the official sun releases)
People who want "java" so they can run java apps can feel safe and only download stuff approved by sun.
If the licence was like GPL where source must be
released if binaries are released, it would help prevent what happened with Microsoft and the MSJVM (since any incompatible modifications would mean that you wouldnt get approval and couldnt call it "java" and also any modifications you make would need to be returned to the community).
Because of the rules for the use of the java name, there would be every incentive for anyone making changes to the JRE/JDK/JVM to do the compatibility test and get their changes approved (the licence, the trademark licence and the other factors would work against any incompatible forks showing up especially since companies like MS with an interest in incompatible forks would not want to use code under a licence like the one I suggest)
Developers would have a big incentive to write 100% compatible java code (since they would be instantly able to see that their development setup is not "compatible" and unless there is a good reason to use that incompatible VM (e.g. like what happened with the MS VM being used because it was shipped with windows, IE etc), they would be more likely to choose one that had the "java" name and sun "seal of approval".
And by having a dual licence and/or a "copyright assignment" like OpenOffice/StarOffice, they could also continue offering commercial licences for java like they do now (just like they use outside code contributions to OpenOffice in the commercial StarOffice product)
There are probobly holes in my plan somewhere through, something I havent thought of.
One of the key thing that opening Java would give is the possibility to debug issues ourselves.
For example I have crashes with the official Sun's VM. I am unable to debug the problem properly without access to the code (and I won't do that with a proper license). For sun I have to go all the way to create a test case, which is not easy when it comes to isolate a problem in a complex application.
I am sure I would go faster with access to the code. Instead of spending time making a test case, which I am not sure Sun is going to have a look at.
Sneak teach kids Algebra using a game
I've never understood the argument that open-sourcing java will convince people to choose it over .NET? Why would someone choose .Net over java because java is not open source?
... would be IBM's fork of Java. There would be enterprises that would adopt that, even if it was no longer called "Java".
IBM would soon "Eclipse" the Sun.
random underscore blankspace at ya know hoo dot comedy.
Java 1.1 = Java
Java 1.2 = Java2
Java 1.3 = Java2 version 1.3
Java 1.4 = Java2 version 1.4
Java 1.5 = Java2 version 5?!?!?!
I mean crykies, I'm almost in fear of what Java 1.6 will be named. And prepare to move into a bomb shelter when Java 2.0 comes out.
Web open-source scripting tools, such as PHP You can't make a fair comparison between the Java technology (whatever that means) and PHP.
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.
Esta es una firma en Espanol.
Any employer with enough lawyers is going to give you guidelines on when it's OK to look at source code, and when it is not.
At my previous employer (a big IT company you'll have heard of), we were not allowed to even LOOK at GPL software without going through an approvals process first: for fear of "infecting" proprietary code with GPL methods.
I've not looked at these new Sun licenses, but maybe the idea is that a corporate legal team can look at them and far more easily say "sure, we're happy for you to look at that source".
Recently I discovered a Gentoo feature that now IMHO makes it the most enterprise Java friendly distro.
Besides supporting bunch of JVMs, Gentoo integrates all the Java stuff in Gentoo way: you can just "emerge jboss" and you will end up with a complete server environment with all the scipts, etc. Very nice.
Java, which faces ongoing competition from Web open-source scripting tools, such as PHP
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"?
I tried for 5 years to come up with a clever sig...only to realize that I am not clever.