Sun To Choose GPL For Open-Sourcing Java
An anonymous reader writes, "Sun is about to announce its plans for open-sourcing Java SE and ME, according to CRN — and they're going to use the GPL, not their own CDDL or another less-restrictive license."
great! i'll believe it when it happens, though...
"A witty saying proves nothing." -- Voltaire
Another thing Microsoft can't own.
Most of the stuff on
Is the reference on everything *Java*, when pundits talk about Sun and its impending change of the Java license...or is it only what we Joe Users download in order to play games and read real time stock chart information which is the Java Runtime Environment (JRE)? A slashdotter seeks clarification. Thanks.
Is that a typo? "and they're going to use the GPL, not their own CDDL or another *less*-restrictive license."
I mean, I know some people have a mad on against the GPL, but it ain't what you'd call restrictive. The only thing it does is mandate that all derivitve works also have to be GPLed.
"Mission Accomplished" -- George W. Bush May 1, 2003
I'll believe this when I see it.
Hopefully the release of the Standard edition code under a GPL license will incent more developers to make the platform better. J2EE is great, but are there that many people who still write Java desktop apps or web Java applets? Even the better Java apps appear to be ridiculously slow and cumbersome, particularly under Windows (but even on Linux boxes).
On the other hand, is this Sun's way of wiping their hands clean of everything besides their only Java moneymaker (J2EE)? They must realize that desktop Java has seen its day, and this might be a way to save some development resources while they continue to restructure in light of recurring market share losses.
Crack - Free with every butt and set of boobs
The thing is that we're not talking about Java "the Platform" here. We're talking Java the "Reference Implementations". Basically, anything derived from Sun Java will need to be GPL, which will keep the GPL crowd happy. It fills a niche that currently has no viable contenders.
When you look at the other Java implementations, you have the Apache-licensed Harmony, and commercial implementations from IBM and BEA.
Java can only be helped by this because it removes one of the major objections Linux backers have against using Java.
For those who have already started complaining about the license in this thread - why don't you spend a few years writing your own Java clone, and giving it away under BSD or whatever?
Next fight: which version?
Engineering is the art of compromise.
OK, first remark - I want to see this as an official press release on Sun's website, with a link to the code. Then I'll be confident it will really happen.
Second remark - I think the GPL is a good choice for this. Consider what Sun might gain from open source Java under any license:
1) Excellent integration with Linux, *BSD, and any other platform out there they haven't integrated into fully yet (except maybe Windows). They would get all the work done for free, too - distributions would be chomping at the bit to work long and hard on making everything work Just So.
2) Much better realization of cross platform "write once, run everywhere" goals. Well integrated Java everywhere can only help this.
3) Possible improvements as people get a chance to fix anything that's been annoying them for the last several years.
All very logical reasons to open source, IMHO - Java is already freely downloadable. Sun owns the Java trademark, so they have no fear of forks which mean anything in terms of threatening Java mind share - Java has to be one of the most publicly recognizable programming language brand names in the world. Sun will always provide the "only" Java, whatever else out there might run Java programs.
Now, what does GPL do for them, that other licenses might not?
1) Credibility - rather than inventing Yet Another License, making things simple using already established (and I think functional for this purpose) licenses.
2) Prevents commercial forking. Whatever open source Java becomes, it is unlikely that someone would try and compete commercially against Sun when Sun has the commercial code base and original developers. Any work any commercial developer did in competition (that they want to distribute anyway) would have to be offered free to the world under GPL, and even if Sun can't use it directly the ideas alone would be enough to allow them to keep up and maybe get there first in some cases.
3) Allows maximal code sharing in the open world. GPL has its own momentum, as a sort of "logical end point" - free except for the ability to become non-free. That would seem to make a lot of sense to me for Java, particularly since I would expect (like OpenOffice) that most of the best code would come out of Sun and be copyright Sun. Sun can put out what it wants, and still license commercially if they so choose.
Downsides for Sun primarily seem to be the "radical" image associated with GPL in some circles (yes that's a disadvantage if you want to look like a reasonable, sane business to some PHBs) and the inability to combine developments based on GPL Java back into their commercial Java without discussing it with the author. But since this very restriction is also a reassurance to the community in some ways, it might not be all bad.
Anyway, I will watch developments with interest and look forward hopefully to the day when Java on Gentoo can be well integrated and smooth.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
Java needs a branch that has the cruft removed, both from the VM and from the class library. A new class library is needed, taking full advantage of generics and the other Java 1.5 features. The VM needs some major upgrades, notably in the area of garbage collection, memory usage reductions, and speed improvements. The backwards compatibility requirements currently forced on Sun seem to have prevented this from happening.
Amazing you guys say this now. Yesterday someone would have argued java is clean and fast and nothing could beat it. Now that, of course, it's happening, you're all for cleaning it up and admitting it's downsides.
Sort of reminds me of Apple's switch to intel. For years powerpc was the best processor for the mac. The g5 was a super computer. The day they switched? Oh the yohan is going to be so powerful! I can't wait for the dual core!
Major contributions would not come to Java if it wasn't GPL. IBM doesn't want anybody (read Microsoft) to take any VM technology and put it into .Net. The GPL prevents this from happening so IBM can contribute to Java. Same thing happened with Linux. Much of the stuff that companies contributed to the kernel would not have happened if it was BSD licensed, but MS could use it commercially.
IBM Java is going away.
This is great news! I hope people realize just how much Sun is doing for Free Software in particular by taking these steps. It will soon be possible to run a complete enterprise-class Java development or production environment on a Free Software stack on a Free Software system. No more fiddling with GNU Classpath and GCJ.
The complete package is almost - if not - on the same level as projects like GCC and GNOME.
Not to mention, it is very exciting to consider what this new truly democratic "Java Community Process" will produce in advances in JVM technology and the Java language itself.
Sun was making some missteps... for instance how badly EJB sucked up to 2.1.
Now we have POJO's implementing enterprise beans in 3.0. We have strong standardized support for security and cryptography (ala JCA/JCE, JSSE, JAAS). JDBC is a snap. We have excellent documentation and books available from J2ME to J2EE....
Between Britney Spears being available again and the Repubs losing House and Senate... I'd say it was a good day.
Their big concern is forking, right?
They have no qualms of people seeing the code, submitting code, compiling on their own, etc? They want to port to all systems, etc.
There seems to be a huge void here. We need a license that covers this scenario and specifically prevents unauthorized forks. Change the code on your own machine. Submit upstream if you wish, but you can't distribute unofficial builds, or fork the code.
If such a license existed, it might be considerably more likely to see more open-source codecs, open sourced Flash players, plugins, video drivers, etc.
Sun has said forever that the code is basically out there already, and they had no qualm making it open-sourced over than the fork issue, and the only reason for this lengthy delay was coming up with an appropriate license. So why just settle on the GPL?
I'm confused.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Isn't it much more likely that the difference in performance between a J2SE app and J2ME app has to do with the differences between the J2SE platform and the J2ME platform, rather than the "mindset" of developers.
Imagine Java not as a plugin, but as part of your browser.
Better; part of your browser that _cannot_ be integrated into non-GPL browsers. They still have to run it as a plugin.
This has mind-boggling implications in terms of patents that apply only to browser plugins (ahem---Eolas).
I've always wished for a Firefox with Java + Flash integrated (does that even make sense?). I don't feel that plugins give as good of an experience as native browser controls.
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
Java (the VM), class libraries, etc. will still have the same distribution restrictions they always have (effectively none). But implementations of the VM, and changes to it, are now free for anyone to make, and integrate into projects that are GPL compatible.
A static VM obtained from Sun will not require source distribution when included in your product, since Sun maintains that. So anyone using Java now won't notice the difference.
It's open source, and there's no way it can be used AS THE BASIS of a 3rd-party product that isn't open source without Sun's permission, which is how they want it.
Who loses? If you want sole modification/closed distribution rights, you can get a source license directly from Sun, just like you do right now.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
A no-forking license would not meet the Open Source Definition, so many developers would shun it. Forking provides an important check against mismanagement; some prominent projects have only survived due to forks (GCC comes to mind).
You shouldn't confuse the author of the parent post with the Java crowd in general. You used the term "you guys" (referring to the author) as if he were James Gosling and Josh Bloch.
The Java VM is still a memory hog (one VM per java process, shared nothing), however Java most certainly does not need "major upgrades" in garbage collection. Java already has a modern appel-style generational copy collector. That's about as good as gc can get. Already, typical Java programs spend only 1-2% of their time collecting garbage, so further improvements in the garbage collector would lead to very little overall performance gain.
The two remaining major enhancements needed for Java, are VM isolates and escape analysis for stack allocation. Those enhancements won't affect Java runtime performance much, since Java runtime performance is already pretty good. However they will greatly reduce memory usage, and isolates will get rid of that horrible startup lag.
...The author of the parent post also claimed "backwards compatibility requirements currently forced on Sun seem to have prevented [performance improvements] from happening." That is mostly incorrect, for two reasons. First, tremendous performance improvements in Java have already occurred--they have not been "prevented". Second, the optimizations which remain to be implemented are that way because it takes a long time for a compiler/VM combination to mature. It takes longer for a compiler/VM combination to mature than it takes C compiler to mature, because the VM attempts more and handles more tasks for the programmer, therefore more optimizations need to be implemented. Java requires not only compiler optimizations like hoisting and loop unrolling and all that, but also VM optimizations like garbage collection optimizations, escape analysis, bounds checking optimizations, etc, which C doesn't even worry about. Remember that C compilers have accumulated optimizations over decades, and the C compiler writers have much less to worry about and much less to optimize.
This means that Java would be able to be included in linux distos by default, rather then requiring the user to set them up.
Klingon Software is not released, it escapes, inflicting terrible damage onto the enemy as it does
Well, just to speak to the otherside - I hate C#, and I think its more than the fact that I typically have to be on a Windows machine to code it. I very much dislike some of the design choices made - my point being that C# is one of those subjective things (IT didn't help that every tiem I go to the C# irc channel I get yelled at)
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
Actually, J2ME is a primary Java moneymaker for Sun, also. I work for an enterprise IT weekly (InfoWorld) and my colleagues and I always end up rolling our eyes whenever we are invited for a big press chat at Sun only to be regaled for half an hour with stories about running games on Java-powered cell phones. We could care less about games, but it's obviously a big issue for Sun and something they want their shareholders to know about.
Breakfast served all day!
The fifth paragraph reads, "Santa Clara, Calif.-based Sun declined to comment on its open-source Java plans and licensing choice" That doesn't sound like a definitive answer to me. The ONLY thing that is actually said is, "...using a GPL license is very much *on* the table..." (q.v. http://blogs.sun.com/jonathan/entry/busy_week1 ). This does *not* commit sun to *anything*.
Traditionally Java has been better for web applications, and the Microsoft products for desktop apps. But that's changing, in no small part due to the Rich Client Platform from the Eclipse foundation -- a desktop application framework which puts Java in the arena in a way it never previously was. And on the Microsoft side, .NET (especially the more recent versions) have greatly improved Microsoft customers' position for web-based apps.
Really, you'll probably see either environment in smaller shops, or a mixed environment for larger organizations.
-James
This won't be embedded in a lot of things because of that.
;-)
Just like Linux isn't embedded in a lot of things?
Keep in mind that proprietary Java programs may be developed and run under a GPL'd Java system.
Have you got your LWN subscription yet?
How do the linking restrictions of the GPL apply to Java bytecode that isn't (by default, without a custom classloader, 99%+ of the time... etc.) traditionally linked as we think of it in C/C++ (and most other languages)?
For those of you not familiar with it, Java goes hunting for all code at runtime based on the fully qualified (package + class) class name, and resolves methods and fields based on name as well... the code that gets executed at runtime can be completely different than the code compiled against, so long as the method signatures match. That's the crappy, its 11pm and I'm watching the daily show version.
So if I distribute my non-GPL binaries, and GPL'd libraries seperately, am I in violation? What if I use Java WebStart and the user's client downloads the GPL'd libraries from their distribution site? And if I just distribute my binaries and make the user hunt out the GPL'd libraries on their own?
I'm honestly curious.
--
Phil
Yes, it is. Firefox is tri-licensed under MPL, GPL, and LGPL.
...because "hacker" sounds way sexier than "code drone."
If Sun releases both the Java VM, and (more importantly) the Java class libraries under the GPL, it will be huge, because important packages will now be able to include Java functionality out of the box
Example: Distros can ship Firefox (a.k.a. Iceweasel/Firesomething/whatever) with a Java plugin. On every architecture. Running OpenBSD. And it'll be reliable, because weird OS-specific bugs will actually get fixed.
Another example: Debian et al. can start shipping OpenOffice with Java support.
If Sun plays its cards right, it will have eliminated the so-called Java trap, which can only serve to render Java more ubiquitous.
That said, I'll believe it when it happens.
http://outcampaign.org/
These days the most commonly used tags (besides yes and no) are itsatrap, fud, notfud, and duh. They occur so frequently (check this out for yourself) that they are all useless for searching. Furthermore, when somebody tags something fud, some other genius usually immediately tags it notfud. Furthermore, often neither tagger seems to understand what "fud" stands for. Furthermore, you can't usually tell whether the fud tag applies to the article or the post announcing the article, which often takes an opposite point of view.
I find the entire tagging mess so annoying that it is having the effect of discouraging me from reading slashdot altogether. I wish it would go away.
Phones.
Any ARM chip with a J in its name incorporates Jazelle, which allows it to run Java bytecode natively. Other chips support Thumb-2EE mode, which does things like null pointer and array bound checking in hardware, and is designed as a target that it is easy to JIT compile Java bytecode to.
Any modern 'phone has a J2ME runtime environment, often accelerated by using one of these features. Last week Erisson released their J2ME stack under the Apache 2.0 license.
I am TheRaven on Soylent News
How can these people definitively say that Sun is going to GPL Java? They have no citations of anything worth believing in that article, just links where our good ol' Sun CEO is toying with the idea of maybe using the GPL.