Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Sun To Choose GPL For Open-Sourcing Java 407

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."
This discussion has been archived. No new comments can be posted.

Sun To Choose GPL For Open-Sourcing Java

Comments Filter:
  • w00t! (Score:2, Insightful)

    by T3hFish ( 943693 ) on Tuesday November 07, 2006 @11:13PM (#16762571)
    great! i'll believe it when it happens, though...
  • by bogaboga ( 793279 ) on Tuesday November 07, 2006 @11:15PM (#16762603)
    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.
  • Er... (Score:5, Insightful)

    by gaijin99 ( 143693 ) on Tuesday November 07, 2006 @11:17PM (#16762613) Journal
    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.
  • Re:Er... (Score:5, Insightful)

    by glwtta ( 532858 ) on Tuesday November 07, 2006 @11:21PM (#16762655) Homepage
    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.

    Out of the most popular Free licenses, GPL probably is the most restrictive - many others don't have the restriction you mention.

    Not to say that I don't think the GPL is a good choice for this.
  • by Salvance ( 1014001 ) * on Tuesday November 07, 2006 @11:21PM (#16762661) Homepage Journal
    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.
  • by rdean400 ( 322321 ) on Tuesday November 07, 2006 @11:22PM (#16762669)
    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.
  • Re:Er... (Score:5, Insightful)

    by timeOday ( 582209 ) on Tuesday November 07, 2006 @11:23PM (#16762683)
    It will seem restrictive to those would like to tweak the JVM and then use it to compete against Sun. Personally I think Sun made a great choice.
  • by Anonymous Coward on Tuesday November 07, 2006 @11:29PM (#16762731)
    It would seem that the GPL was chosen so as to try to dissuade those who might want to fork the source code. While commercial, closed-source forks are out of the question now, it's also unlikely that we will see a separate, open source fork.

    Prominent GPL'ed projects have rarely been forked. One major case was that of GCC (forked into EGCS), but that was a rather severe situation. The development of the FSF's GCC branch had stagnated to a horrible extent before the fork was made. This likely won't be the case with Java, since Sun will likely update it on a contining basis.

    Had they chosen a far less restrictive license, such as the BSD or MIT license, we likely would have seen several prominent forks. As we can see from FreeBSD and Dragonfly BSD, and NetBSD and OpenBSD, the BSD license promotes forking. The same is true for the MIT license, as shown by the X.org and XFree86 split.

    A forked version of Java would likely have been the most beneficial thing to have happened. 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.

  • Re:w00t! (Score:5, Insightful)

    by DittoBox ( 978894 ) on Tuesday November 07, 2006 @11:33PM (#16762767) Homepage
    Is it just me, or has every article now been treated to the "itsatrap" tag? Getting annoying, and it's a flagrant abuse of the tagging system. Come on people, this isn't digg.

    No, wait, it's Slashdot!
  • This is great (Score:5, Insightful)

    by br00tus ( 528477 ) on Tuesday November 07, 2006 @11:37PM (#16762801)
    Until I installed Debian I didn't even know there was no good free Java. I think this is great.

    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?

  • Re:Er... (Score:3, Insightful)

    by kjart ( 941720 ) on Tuesday November 07, 2006 @11:39PM (#16762823)
    It will seem restrictive to those would like to tweak the JVM and then use it to compete against Sun. Personally I think Sun made a great choice.

    Just because the GPL isn't terribly restrictive doesn't mean there aren't alternatives that are less restrictive. The BSD license comes to mind.

  • by starseeker ( 141897 ) on Tuesday November 07, 2006 @11:48PM (#16762893) Homepage
    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.
  • by Anonymous Coward on Tuesday November 07, 2006 @11:50PM (#16762931)
    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.
  • by kelk1 ( 660671 ) on Tuesday November 07, 2006 @11:56PM (#16762963)
    Well,
    It also affects all the regular users of ready-made distributions who only package and distribute GPL software.
  • by Drunken Priest ( 940846 ) on Wednesday November 08, 2006 @12:05AM (#16763045)
    For some reason a lot of people diss Java... but other modern languages simply don't compare when it comes to implementing distributed enterprise apps. This is my bread and butter; so I'm a big fan (the only competition, really... is .NET).

    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.

  • by cibyr ( 898667 ) on Wednesday November 08, 2006 @12:05AM (#16763049) Journal
    MS wishes they owned java, .NET is trying to compete with java!
  • by afidel ( 530433 ) on Wednesday November 08, 2006 @12:10AM (#16763087)
    The funny thing to me is that almost every large scale Java desktop app I have used is slow and a memory hog, yet J2ME apps run well on slow mobile chips with limited memory. Obviously it's not the Java language itself that creates the bloat but rather the mindset around Java desktop apps.
  • by miyako ( 632510 ) <miyako AT gmail DOT com> on Wednesday November 08, 2006 @12:10AM (#16763091) Homepage Journal
    I'm not sure it could happen quite that simply. From what I understand, Sun still retains the trademark for Java. Microsoft could fork the language, but they couldn't call it "Java". Basically, it should be much the same as it is right now - anyone can make a compatible VM (though now they can build it off the original code) - but it has to meet up with Suns standards before they will give the go-ahead to call the thing Java.
    Given Sun and Microsoft's past history I would imagine sun would test anything that came out of Redmond wanting to be called "Java" very carefully.
  • New License (Score:3, Insightful)

    by Enderandrew ( 866215 ) <enderandrew@NOsPAM.gmail.com> on Wednesday November 08, 2006 @12:17AM (#16763135) Homepage Journal
    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.
  • Re:GPL2 or 3? (Score:3, Insightful)

    by jsantos ( 113796 ) on Wednesday November 08, 2006 @12:22AM (#16763163) Homepage
    Well, since the GPL 3 is not going to be ready until January 15, 2007 [fsf.org] at the earliest I guess the question is if the licensing is going to include the "either version 2 of the License, or (at your option) any later version" part [gnu.org] of the copyright notice for GPL 2. My guess would be that they won't include it, so that they can know exaclty how it's going to be licenced in the future. Once the GPL 3 is out, thay may change it.
  • Not obvious at all (Score:4, Insightful)

    by ClosedSource ( 238333 ) on Wednesday November 08, 2006 @12:22AM (#16763165)
    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.
  • Re:Er... (Score:1, Insightful)

    by Anonymous Coward on Wednesday November 08, 2006 @12:26AM (#16763199)
    BSD license == zarro protection against MS taking the Java sources and releasing an MS only version of Java again, the GPL will prevent this since it's so against their DNA to truly release code.

    Which has "zarro" relevance to the current discussion. The current discussion started with someone saying that the GPL isn't restrictive (wrong by OSS standards), then someone said that BSD is less restrictive.

    This is completely not debatable.

    EVERYTHING you can do with GPL'd code, you can do with BSD'd code. There are things that you can do with BSD'd code that you can't do with GPL'd code. Therefore the BSD license is a less restrictive license.

    Now, you're absolutely right that that doesn't mean that it's automatically a better license, or that it promotes Free software, or whatever, but fact is, that the GPL is more restrictive than BSD. Period.
  • by Ayanami Rei ( 621112 ) * <rayanami AT gmail DOT com> on Wednesday November 08, 2006 @12:38AM (#16763289) Journal
    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.

  • by Wesley Felter ( 138342 ) <wesley@felter.org> on Wednesday November 08, 2006 @12:49AM (#16763393) Homepage
    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).
  • by cartman ( 18204 ) on Wednesday November 08, 2006 @01:13AM (#16763573)
    "The VM needs some major upgrades, notably in the area of garbage collection, memory usage reductions, and speed improvements." ..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.

    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.

  • Re:w00t! (Score:4, Insightful)

    by Tim C ( 15259 ) on Wednesday November 08, 2006 @03:42AM (#16764421)
    Yeah, I'd noticed that. Also, almost every article about MS is tagged fud, notfud, itsatrap and notatrap, most of the political articles are tagged fud and notfud. Nice to see I'm not the only one getting annoyed that people seem to be using tags as comments. Mind you, is it really surprising? The "editors" have been using the article summary to make comments for years.
  • by Dracos ( 107777 ) on Wednesday November 08, 2006 @03:47AM (#16764447)
    Microsoft could fork the language, but they couldn't call it "Java".

    True... MS would have to call it something else... like... say... J++? Or maybe J#?

    If the MS-Novell deal turns out to be the catastrophe that everyone thinks it is (based on MS' track record of how it treats its "partners"), then this is a really smart move for Sun. SuSe and Gnome get tainted, Mono becomes a dirty disease, what's left to fill in the void? Java: the reason why .NET and Mono exist in the first place.

  • by Schraegstrichpunkt ( 931443 ) on Wednesday November 08, 2006 @04:55AM (#16764729) Homepage

    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 [gnu.org], which can only serve to render Java more ubiquitous.

    That said, I'll believe it when it happens.

  • Re:Er... (Score:5, Insightful)

    by rpdillon ( 715137 ) on Wednesday November 08, 2006 @05:41AM (#16764929) Homepage
    "EVERYTHING you can do with GPL'd code, you can do with BSD'd code."

    It lacks the assurance that your software will remain Free and open source to anyone who uses it. This is something you can do with GPL'd code that you cannot with BSD'd code; make a legal guarantee about the freedom of the software.

    Which is more free?

    1) that which ensures freedom or
    2) that which grants so much freedom that it permits denial of freedom

    You make the argument that the answer is obvious, but if you pause to think rather than simply mashing the "reply" button, you may find that it is actually a question worthy of some consideration. I'm not saying I know the answer, but the answer has far reaching ramifications many arenas (abortion, wars, government, software, etc.)
  • by nissu ( 823183 ) on Wednesday November 08, 2006 @09:48AM (#16766495)
    What about the class library? Is this going to make GNU classpath unnecessary?
    Does somebody actually use GNU classpath? According to the project page, version 1.0 (it's now at 0.9x...) will be "largely" compliant with Java 1.2 API, which means that it's unusable for any serious work, especially if you want to use any of the numerous popular frameworks and libraries. I don't want to be harsh, but in my view GNU classpath has been quite unnecessary from the beginning.
  • Re:Er... (Score:5, Insightful)

    by ozborn ( 161426 ) on Wednesday November 08, 2006 @11:35AM (#16768429)
    Saying the GPL is "restrictive" is like saying emancipation is restrictive. Yes, emancipation does "restrict" you from owning slaves but the point is to maximize overall human freedom - which it suceeeds at.

    The freedom the GPL is taking away is for someone to take source code that is GPL'd and then:
    1) Take that code, bundle it into a restrictive (often commerical) license and give nothing back to the community
    2) Put it into a BSD style or public domain which is fine - until somebody does 1)
  • The Tagging Mess (Score:2, Insightful)

    by rubato ( 883366 ) on Wednesday November 08, 2006 @11:36AM (#16768451)

    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.

  • by Weedlekin ( 836313 ) on Wednesday November 08, 2006 @12:24PM (#16769359)
    "Yes, that was MS's version of the Java language that could have made Java popular on the Windows desktop if Sun hadn't sued them."

    Microsoft's VM was a lot better than Sun's at that time, and their Windows GUI library made AWT look like the utter pile of shit that it was. They also put a lot of effort into marketing Java as the future of Windows application development to developers, and had a language independent native interface and interoperability layer that was offered to Sun, but rejected in favour of JNI.

    "Sun decided that pure Java was more important than success on the Windows desktop so I guess they should be happy that things turned out the way they wanted."

    I think it was more of a case of Scott McNeally's pathological hatred of MS leading to yet another in a remarkable series of bone-headed maneuvers that ended up nearly bankrupting Sun. This particular bone of contention seemed to revolve around the fact that while the MS VM and libraries supported JNI, their use required a command-line switch, and Sun reckoned that the command-line switch should be used to enable Microsoft's options rather than theirs (for some reason, an old illustration of Swift's Lilliputians and their war over what end of a boiled egg was the correct one for breaking with a spoon kept coming to me whenever I read about that particular saga).

    "These days MS isn't interested in Java and Windows developers are even less interested."

    And because of Mono, the same can be said for growing numbers of Linux and OS X developers. By cutting off their own nose to spite their face, Sun not only closed the door on a big source of revenue (MS were their biggest, and therefore most lucrative licensee at that time), but also spurred the development of a competing system by a company with effectively unlimited funds that had already written their own Java compiler, VM, and libraries, and therefore had a very good idea of not only what Java had done right, but also what was wrong with it. This together with Sun's foot-dragging over open sourcing Java led in its turn to a clone of the competing system that check-mates Java's ability to run on a variety of platforms. Way to go Sun!
  • Re:RIP Java (Score:3, Insightful)

    by orasio ( 188021 ) on Wednesday November 08, 2006 @05:13PM (#16775265) Homepage
    Phones.

It is easier to write an incorrect program than understand a correct one.

Working...