Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Sun To Choose GPL For Open-Sourcing Java

Posted by kdawson on Tue Nov 07, 2006 10:10 PM
from the open-'er-up dept.
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."
+ -
story

Related Stories

[+] 2007 Java Predictions 284 comments
jg21 writes "Java Developer's Journal has published the results of its end-of-year poll of various Internet technology players, from its own internal editors to industry high-ups like the founder of Apress, Gary Cornell, and including too the thoughts of professor Tony Wasserman of Carnegie Mellon West. Participants were asked to foretell what they saw happening in 2007. Among the predictions — Cornell: 'The open-sourcing of Java will have no effect whatsoever on Java's slow decline in favor of dynamic languages (Ruby, Python) and C#'; Wasserman: 'The use of the GPL 2 for open-sourcing Java will inhibit the completion and acceptance of the GPL 3 proposal'; and Rails creator David Heinemeier Hansson: 'The stigma of being a Web programmer still using Windows will increase.'"
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Divebus (860563) on Tuesday November 07 2006, @10:13PM (#16762579)
    Another thing Microsoft can't own.
      • by cibyr (898667) on Tuesday November 07 2006, @11:05PM (#16763049) Journal
        MS wishes they owned java, .NET is trying to compete with java!
              • by Weedlekin (836313) on Wednesday November 08 2006, @11:24AM (#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!
      • by miyako (632510) <miyako@@@gmail...com> on Tuesday November 07 2006, @11:10PM (#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.
        • by Dracos (107777) on Wednesday November 08 2006, @02: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.

        • Sun still retains the trademark for Java.

          So shortly after they release it under the GPL, we can expect to see "Gnuzilla IceKona".

        • Re: (Score:3, Interesting)

          but then again, you will have all C# code running on a new VM within a year... when Parrot and Java share a GPL'ed VM, developers can write platform agnostic code in Perl, Java or C#; who will need .NET or Mono?
  • by bogaboga (793279) on Tuesday November 07 2006, @10: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.
    • by TrappedByMyself (861094) on Tuesday November 07 2006, @10:38PM (#16762817)
      It only affects people who would use the Java source code itself. Does not affect people who develop applications in Java or people who use Java applications. So...a prime example of someone who would be affected would be Microsoft. They have their Java implementation in .NET. If they were to replace their implementation with Sun's, by hooking into the actual source code, they would also be bound by the GPL. I really think this is a good use of the GPL. Something as high profile as Java would be a huge target for "embrace and extend", and this protects
  • Er... (Score:5, Insightful)

    by gaijin99 (143693) on Tuesday November 07 2006, @10: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, @10: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.
      • Out of the most popular Free licenses, GPL probably is the most restrictive - many others don't have the restriction you mention.

        The GPL really only has one restriction worthy of the name: that software placed under the GPL must remain free, in accordance with the wishes of the programmer who first placed the software under the GPL. It is precisely this alignment with programmer's wishes that makes GPL so popular.
      • Re:Er... (Score:5, Insightful)

        by ozborn (161426) on Wednesday November 08 2006, @10: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)
    • Re:Er... (Score:5, Insightful)

      by timeOday (582209) on Tuesday November 07 2006, @10: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.
      • Re: (Score:3, Insightful)

        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.

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

              by rpdillon (715137) on Wednesday November 08 2006, @04: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.)
    • Re: (Score:3, Informative)

      An individual who has the right to own slaves could be considered "more free" (assuming for a moment that freedom could be quantified meaningfully) than an individual who has no right to own slaves. However, in a nation where individuals are allowed to own slaves, the average level of freedom may well be rather less than in a nation where individuals are not allowed to own slaves, and some would use the minimum level of freedom as a criterion for judgement.

      On the one hand, you could say that the people
  • by linguae (763922) on Tuesday November 07 2006, @10:20PM (#16762645)
    • Hell is seeing record low temperatures today.
    • Cats and dogs are living with each other.
    • Duke Nukem Forever will be released in December 2007, just in time for the holidays
    • Microsoft will abandon Vista and release a new version of Windows with a BSD foundation
    • Libertarians and Greens will defeat the Democrats and Republicans in most election races today

    I'll believe this when I see it.

  • by Salvance (1014001) * on Tuesday November 07 2006, @10: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 afidel (530433) on Tuesday November 07 2006, @11:10PM (#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.
      • Not obvious at all (Score:4, Insightful)

        by ClosedSource (238333) on Tuesday November 07 2006, @11:22PM (#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.
    • On the other hand, is this Sun's way of wiping their hands clean of everything besides their only Java moneymaker (J2EE)?

      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

  • by rdean400 (322321) on Tuesday November 07 2006, @10: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.
    • by Anonymous Coward
      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 (Score:5, Insightful)

    by br00tus (528477) on Tuesday November 07 2006, @10: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?

  • by starseeker (141897) on Tuesday November 07 2006, @10: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 Drunken Priest (940846) on Tuesday November 07 2006, @11:05PM (#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.

  • New License (Score:3, Insightful)

    by Enderandrew (866215) <[moc.liamg] [ta] [werdnaredne]> on Tuesday November 07 2006, @11:17PM (#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.
  • by WhiteWolf666 (145211) <moornblade at gmail.com> on Tuesday November 07 2006, @11:34PM (#16763259) Homepage Journal
    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.
    • Re: (Score:3, Informative)

      I don't feel that plugins give as good of an experience as native browser controls.

      Technically, the difference should be zero, else something is very wrong. Take Safari/Konqueror for instance; *everything* is handled by plugins, right down to simple images.

      Plugins really are just elements like anything else, they are just loaded at run-time and not linked statically into the browser. Thats all.
  • by Schraegstrichpunkt (931443) on Wednesday November 08 2006, @03: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:w00t! (Score:5, Insightful)

      by DittoBox (978894) on Tuesday November 07 2006, @10: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!
    • Re:w00t! (Score:5, Funny)

      by The_Wilschon (782534) on Tuesday November 07 2006, @11:43PM (#16763325) Homepage
      great! i'll believe it when it happens, though...
      And on Java Liberation Day, crow will be the main course!
      • 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.

    • GPL2 or 3? (Score:5, Interesting)

      by EmbeddedJanitor (597831) on Tuesday November 07 2006, @10:42PM (#16762843)
      Next fight: which version?
      • Re: (Score:3, Insightful)

        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.
    • Re: (Score:3, Interesting)

      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 fa
      • Re: (Score:3, Insightful)

        "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" (referr

    • by pembo13 (770295) on Wednesday November 08 2006, @12:38AM (#16763725) Homepage
      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)
    • Re: (Score:3, Interesting)

      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
    • 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.
    • Re: (Score:3, Informative)

      Firefox isn't GPL

      Yes, it is. Firefox is tri-licensed under MPL, GPL, and LGPL.

    • Re: (Score:3, Interesting)

      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 agai