Slashdot Mirror


Sun Open Sources Java Under GPL

prostoalex writes "The embargo is off, and Associated Press is reporting on Sun releasing Java under GPL. Sun is hoping that this step will attract more developers, as well as extend the lifespan of Java. The article notes that this is 'one of the largest additions of computer code to the open-source community', and that Java is currently being run on something like 3.8 Billion devices worldwide." From the article: "Rich Green, Sun's executive vice president of software, said the company hopes to turn more developers into Java programmers, who may then create additional software to support Sun products. 'The open-sourcing of this really means more — more richness of offerings, more capability, more applications that consumers will get to use,' Green said. 'The platform itself will become a place for innovation.' All the Java source code is expected to be released by March 2007, Green said. The move covers all Java technology, which includes software that runs on handheld devices, personal computers and servers."

35 of 535 comments (clear)

  1. Shouldn't it have been LGPL? by Mr.+McD · · Score: 4, Interesting

    While I'm psyched about the fact that they went whole-hog and went GPL, there are a number of commercial Java Applications out there. The fact that they have this "Classpath Exemption" makes it sound more like the LGPL.But at any rate, it good that Java is now suitable for Linux.

    1. Re:Shouldn't it have been LGPL? by milton.john · · Score: 5, Informative

      From what I have read, it seems that Java will be dual-licenced, so anyone that do not feel good about GPL can use commercial licence. It seems like a win-win situation to me...

    2. Re:Shouldn't it have been LGPL? by sveinungkv · · Score: 5, Informative

      Java will have the same the same exception to GPL for its classlib as GNU Classpath, so the GPL will not have any effect on code running in the JVM. (It has even fewer restrictions than the LGPL that forces derived works to allow reverse engineering)

      --
      Spelling/grammar nazis welcome (English is not my first language and I am trying to improve my spelling/grammar)
    3. Re:Shouldn't it have been LGPL? by BeeRockxs · · Score: 4, Informative

      It's not a restriction, the one accepting the license gets more rights than from pure GPL.

  2. Holy Shit! by MostAwesomeDude · · Score: 5, Informative

    Well, on a more practical note, this means that within a few months, I should be seeing a real, complete, working JRE sitting in the main repositories for Debian and Ubuntu. Sweet. We no longer have to go and fetch it ourselves or experiment with incomplete toolkits.

    For the ideologues, knowing that there's one less piece of non-free software on your system is a real comfort. For me, personally, all that apparently remains are ATI drivers and Flash Player.

    Yay!

    --
    ~ C.
    1. Re:Holy Shit! by LarsWestergren · · Score: 5, Insightful

      Why the heck didn't Sun do this 10 years ago? It would have save the world a LOT of grief.

      Because 10 years ago, before Java had built up the momentum it has today, a certain company deliberately embraced, extended and corrupted the core libraries with their own OS specific extensions, and shipped this version with their operating system until they were forced by court to stop. Had they succeeded Sun would have lost control of the language to the other company, or it would have been forked to irrelevance. This understandably made Sun a bit paranoid about having total control over Java for quite a while.

      --

      Being bitter is drinking poison and hoping someone else will die

    2. Re:Holy Shit! by John+Courtland · · Score: 4, Informative

      Yes, there's actually an interview with James Gosling that mentions the issue with Microsoft. Refer to Q&A pairs #2 and #3.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
  3. bravo by molnarcs · · Score: 5, Insightful

    I don't think the Mono folks are rejoicing ;) With this step, SUN has became the largest commercial contributor to the free and open source software pool. OpenOffice.org, OpenSolaris, now JAVA - well, kudos!

    1. Re:bravo by jareth-0205 · · Score: 5, Informative

      With this step, SUN has became the largest commercial contributor to the free and open source software pool. OpenOffice.org, OpenSolaris, now JAVA - well, kudos!

      NFS... Netbeans... JXTA...

      Sun has been the biggest commercial contributor to Open Source for some time now... this just makes it even more so.

  4. GPL/Open Source benefits Too! by N8F8 · · Score: 5, Interesting

    I work for a LARGE government contractor and have had a hard time getting management to realize Open Source in general and the GPL in particular aren't bad for business. Open source here has the same connotation as red communism. Can't get many of them to stop calling it freeware. With Sun making Java GPL they won't have the choice of sticking with that attitude anymore. Many of our existing projects use Java already!

    --
    "God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
  5. Re:GPL for all? by molnarcs · · Score: 4, Funny
    Then it will still be easier licensewise to use mono.

    And patent-wise? I mean for non-Novell customers, obviously.

  6. More articles by LarsWestergren · · Score: 5, Informative

    Some more articles I have found, with some substance to them:
    InfoQ, also mentions Glassfish.
    eWeek.

    There is also going to be a official webcast about this by Jonathan Schwartz and Rich Green 9.30 a.m. PT.

    In related news, apparently Project Looking Glass, the 3d desktop, is likely to be included in the Ubuntu Feisty release.

    --

    Being bitter is drinking poison and hoping someone else will die

  7. finally by Kuku_monroe · · Score: 5, Funny

    Now Stallman can drink coffee again

    --
    //WR
  8. Re:This is good, but... by MostAwesomeDude · · Score: 4, Interesting

    I love how easily you just shrug off that number.

    Java is an embeddable language at the hardware level. So-called "Java chips" provide a very real platform for deployment on handheld devices. It's easier to develop applets in Java than in, say, C, since Java is higher-level. The fact that there is low-level support for such a high-level language makes it popular with cell phone developers.

    Your point of Python is a good one. After all, Python is high-level, intelligent, and permits object-oriented development. It's my favorite, and I'm writing a few programs in it right now. However, Java still has a few advantages. First, it's ported more places, the most obvious off the top of my head being that Java's Mac OS X GUIs are far more robust and less buggy than Python's. Second, it's compiled and then byte-interpreted, giving it a fairly good speed compared to Python's interpretation. Python also has structures that, while easier to read, definitely don't execute as fast. (I do concede, however, that Java is no speed demon.)

    Also, Java is embeddable as a web applet. Only a few other languages can do that. You can't exactly drag'n'drop a Python application into a web browser, hook it up to a frame, and project it to the world.

    Of course, since this is Slashdot, I'll finish up with a low-blow bit of rhetoric. If Python is superior to Java, then why is the leading Bittorrent client, Azureus, written in Java if the original Bittorrent client was written in Python?

    --
    ~ C.
  9. A more detailed link by kenlars99 · · Score: 4, Informative
    The original article leaves out most of the details that would be interesting to developers - this link on ZDNet has a more in depth story.

    http://news.zdnet.com/2100-3513_22-6134584.html?ta g=zdfd.newsfeed

  10. Re:GPL for all? by Anonymous Coward · · Score: 4, Informative

    Java Standard Edition libraries will be licensed with GPL2 + Classpath Exception which permits linking with non-GPL applications. So there isn't any problem if you don't want to use GPL compatible license for your Java SE programs, you can still use and distribute GPL Java with it.

  11. Re:But its 10 years late! by Anonymous Coward · · Score: 4, Insightful

    Well, it is not so simple, Java 10 years ago was nothing in comparation with Java today (I wouldn't actually call it usefull). Also, there was all that MS J++ fiasco, then a patent ligitation and deal MS and Sun had two years ago....lots of stuff happened, and it is really hard to tell how would things played out if Sun OSed Java 10 (or even 5) years ago.

    I personally think timing is great. Java6 is a great piece of software, lets start from that point and see if we can make it better.

  12. I, for one... by DimGeo · · Score: 5, Funny

    ... welcome our new Duke overlord.

  13. Re:RMS by Tpenta · · Score: 4, Informative

    I have quoted two soundbites on my blog from videos that will be shown at the announcement tomorrow (the quotes are from the information that was (I believe) given to the press.

    "I think Sun has well, with this contribution have contributed more than any other company to the free software community in the form of software. It shows leadership. It's an example I hope others will follow." RMS

    "Sun's policy of GPLing java which we are celebrating now is an extraordinary achievement in returning programming technology to that state of freely available knowledge that people can share and improve together. It's a crucial step in the process of turning the technology today into knowledge that people can use freely to make the technology of tomorrow." Eben Moglin

    I've seen the video shorts (well some of them) that will be shown at the announcement. I think some folks will be surprised. RMS also makes reference to the java trap.

    Tp.

  14. Re:Make? by Torne · · Score: 4, Informative
    So am I going to be able to get the sources from somewhere and build Java from scratch?

    How is this going to work?

    You've been able to do that for years - just not under an Open Source licence. Sun have provided the entire JDK source (including the VM code) under their own Sun Community Source Licence (see http://www.sun.com/software/communitysource/j2se/j ava2/download.xml for the current 1.5 code). There are various restrictions imposed by the SCSL which prevent free redistribution of changes unless you comply with certain conditions, and thus it's not considered to be an OSS licence.

    You need a bunch of binaries to get it bootstrapped (i.e. it requires Java to build Java) but the result is entirely compiled from the source you can get from the above site. ;)

    GPLing it is a change of licence terms, not a change in the actual availability of the source.
  15. Re:This is good, but... by OldBus · · Score: 4, Insightful
    You make some good points about Java being more widely available than Python, but then tail off.

    Python is also compiled and byte interpreted. It is certainly not interpreted in the same fashion as a shell script. Python even keeps the bytecode versions around and wil use them later to save recompilation. Any speed difference betwen the 2 will not be due to interpreation.

    It is likely that Java will be a bit faster because there has been more resources thrown at and therefore more people able to do optimisation.

    However, the big reason is that Python is a dynamic language (similar to Perl) and the compiler cannot make the same optimisations that a more staic language, such as Java and C can. It also tends to mean an extra layer of pointer redirection (hidden behind the scenes). When you have the ability to tie ('tie' is the Perl-speak way of talking about this - not sure if they use another word in Python) variable to external resources, you can't take any chances even with consecutive reads of the same variable. This all adds time.

    As you say, you last shot is a low blow. Just because something is 'leading' does not make it the best - is Windows the best OS or IE the best browser? Maybe, maybe not - but I htink on Slashdot we'd agree there is more to it than just 'leading'. I've not used either client, but maybe Azureus is simply a better program with a better interface, maybe it is more widely available for different platforms? I have no idea - but it says nothing about the relative merits of the 2 languages as such.

  16. FUD by Anonymous Coward · · Score: 4, Insightful

    That's like saying if you code C++, Bjarne Stroustrup has indirect control over your code. It's a ridiculous argument and the reason it gets any weight here at Slashdot is because it plays into that "Star Wars" mythology of the battle between good (FLOSS) and evil (Microsoft). And I'm sorry to say this but Star Wars isn't real.

    1. Re:FUD by Zigg · · Score: 4, Funny

      And I'm sorry to say this but Star Wars isn't real.

      That's what the Empire wants you to think!

    2. Re:FUD by just_another_sean · · Score: 4, Insightful

      The *reality* is that the EMCA specification for .NET CLR does not include WinForms. Mono not only implements the CLR of .Net but tries to also implelement the graphical aspects.

      With Perl and C/C++ available on just about every system out there I can't see choosig Mono for command line work. If I want to go Mono, it's because I want a common platform for creating a graphical interface. Choosing Mono means that I am hoping that they can keep up as MS continuesly developes and extends those aspects of .Net not covered by the EMCA spec. Whether they do it on purpose or not MS will break the API as time goes on and the Mono project will continuously scramble to keep up.

      Now this doesn't even take into account the new deal between MS and Novell which has a number of us Star Wars nerds nervous about patents as well. So cheap shot aside I think your take is overly simplistic and a knee jerk reaction to FOSS zealotry. Just because FOSS fans can sometimes go over the top about "teh evil MS" doesn't change the fact the MS has consistently abused their monopoly influence over the years and screwed over partner after partner.

      Bottom line, now that Java is GPL I beleive it will be the safer choice between it and Mono for cross platform development without hidden "IP violations" to worry about.

      --
      Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
  17. Re:This is good, but... by Anonymous Coward · · Score: 4, Funny

    If Python is superior to Java, then why is the leading Bittorrent client, Azureus, written in Java

    I don't know but it may be connected with why it's also a buggy, slow, memory-hogging piece of shit that crashes or just goes ape-shit crazy on a regular basis. I have a theory that this is actually caused by Java's garbage collection agent trying to delete the whole of the program's code on the grounds that it clearly is garbage.

  18. Re:This is good, but... by Cyberax · · Score: 4, Informative

    Java is NOT strictly interpreted language. HotSpot (http://en.wikipedia.org/wiki/HotSpot) mechanism dynamically compiles bytecode into machine code.

    In theory, Python has Psyco that can do JIT-compiling, but in practice dynamic nature of Python prevents most of optimizations.

  19. Re:But its 10 years late! by randomblast · · Score: 5, Funny

    > Just think if Sun had done this in the 90s. There would never have been a GTK/Qt appliactions split because all software would have been written in Java.

    Oh thank God they didn't open source it in the 90's!

    --
    ...these aren't my real teeth.
  20. Re:GPL for all? by molnarcs · · Score: 5, Insightful

    I think you misunderstood what I wrote. There are no patent problems with java, simply because SUN chose to license it under the GPL. Java is copyrighted by SUN, and it has a large IP portfolio over java technologies (lots of patents). As soon as they switched over to GPL, they immediately granted free use of these patents to every programmer who builds on java and distributes his code under the GPL. With SUN's choice, there are no longer any patent issues with java. Now contrast this with the deal Novell stuck with Microsoft, that guarantees a 5 year revocable (!) protective covenant for novell customers (and novell customers alone, according to SteveB himself) alone. The difference is HUGE! Of course, the details of the deal are not known - there may or may not be MS IP in Mono. Saying that there are is simply FUD, but than, Microsoft and Novell agreed not to sue each other's customers for patent infringement... which reinforces the perception that there might be patents. And which is the most likely candidate from the software stack distributed by Novell? The Linux kernel? KDE? Apart from perhaps Samba, Mono is the most likely candidate for patent infringement ... I think that is why Perens warns against it. But still, I must emphasize, that this is just my speculation. Don't take it too seriously (my original post was sarcastic, but ./ removed the evil-comment tags). One thing is certain: since SUN decided to distribute java under the GPL, as far as patents goes, it become safe. This cannot be said of Mono, even though you cannot claim the opposite either with absolute certainty... You see what meant now?

  21. Re:GPL for all? by molnarcs · · Score: 4, Interesting
    I just found this comment pointing to this blog that explains the situation much better. Qute:

    Enter Sun's open source Java decision. Novell's Mono project -- essentially a Linux-based clone of Microsoft's .Net -- was apparently a major focus of the deal. For several years now, dating back to the days before Ximian was under Novell's wing, the open source sector has been wondering if Microsoft was going to drop a shoe on Ximian-founder Miguel de Icaza's brainchild (Mono). .Net has always been a bet-the-company gamble for Microsoft. Today, the company is taking heat on every single front and it can't afford a complete cave-in on one of its most important properties. There's no way it could let a .Net clone get away with murder. Sooner or later, this was going to come to a head. Well, now it has.

    But the game is not over yet. That's because Microsoft may not be holding the cards that some think it's holding. At least not all of them. One need only look back at Sun's 2004 stand-still agreement with Microsoft to realize that when it comes to .Net-like virtual machine environements, the real IP holder is probably Sun. I'm not a lawyer. But I'm willing to be that there's hardly anything - probably nothing - in .Net for which prior art doesn't exist in Sun's Java or something that came before it. In fact, looking across Sun's entire portfolio of IP as well as the larger world of older intellectual property, it's quite possible that some of the other software that's often packaged with Linux that could potentially be infringing on Microsoft's IP (i.e. OpenOffice, SAMBA, and Evolution) is actually doing nothing of the sort.

    That answers your questions better than I could - but I recommend reading the entire blog post, it is rather interesting.

  22. And its still a PIG! by bradbury · · Score: 4, Insightful

    Anytime I startup a Java program I want to run and hide due to fear that the pages being swapped out to make room for it will crush me where I stand.

    Maybe as open source software people will be able to look at it and ask *why* does it have to take up so much memory to do such simple jobs? Compare for example Azureus (in Java) to bittorrent (in Python).

    1. Re:And its still a PIG! by RevMike · · Score: 4, Informative
      Anytime I startup a Java program I want to run and hide due to fear that the pages being swapped out to make room for it will crush me where I stand. Maybe as open source software people will be able to look at it and ask *why* does it have to take up so much memory to do such simple jobs? Compare for example Azureus (in Java) to bittorrent (in Python).

      You have to remember that you are starting up a full virtual machine environment. That is going to have lots of overhead, especially at initialization. Anyone who expects to run "Hello, World" programs efficiently is a fool.

      Java really does well with big server apps, where the cost of initialization can be amortized over a long period of time. Additionally, JIT compilation and live profiling really work well here.

      Server apps really do well with Java. There are fewer opportunities to create difficult to track bugs, memory management handles the fragmentation issues, etc. The performance delta between a C++ and a Java server app is often fairly negligible* while the development time is often substantially faster and it is easy to move to other platforms.

      * - A well written C++ app built for a generic processor architecture and a long running Java server app will frequently run about the same. The C++ app is stuck with the tuning choices made at compile time, while JIT and profiling available in Java will tune the Java app at run time, making up for the overhead of the virtual machine. If the "Gentoo" model is followed - the compiler is carefully set to provide maximum performance for a given machine - the C++ app can run substantially faster. However, the cost is that the binary can no longer be moved to a similar but not identical machine without rebuilding. This tuning activity typically requires lots of time and expertise, and generally makes environmental management efforts prohibitively complex. These solutions don't make their way into most real world environments.

  23. Re:What do you mean, "suitable for Linux"? by leenks · · Score: 4, Informative

    I see a couple of benefits of the GPL, namely that my favourite distributions can now supply Java as a standard part of the distribution, and that I should probably now be able to easily get ports of Sun Java to platforms I want to use (whereas I was limited to IBM or an older port from Blackdown before)

    Sun can still maintain control over "Sun Java", which is what most people will use. Sure, people could fork and deliver versions that break the tests you mention, but it is unlikely many people will use them. There are forks of most major GPL packages out there, but for the most part people stick with the main tree.

    The other advantage the GPL has over the existing Sun licences is that many people are unable to look at or work with the code from Sun because their employer forbids them. GNU Classpath is an example of this in open source - cleanroom implementations only, no peeking at the Sun JDK source, and make sure you don't sign any NDA's on the way.

  24. Re:Debian vs. Mozilla by A+beautiful+mind · · Score: 5, Informative

    You've got it wrong. The "shoddy debian patches" were just an excuse mentioned by the Mozilla Corporation, but they weren't the dealbreaker - they could have been negotiated. The dealbreaker were the images (their license is not free), because either debian includes them and then it violates its own standards (DFSG), or doesn't include them and then violates Mozilla's trademark conditions they set forward or they change the name of the package. They went for the latter and I'm 100% supportive of that decision.

    I got to the point that if I could, I would use something else than Firefox. Only that I need a few extensions + the resize image capability. I don't like the recent direction Firefox is heading.

    My own symphathy goes unreservedly to Debian, as a software developer I know what a total pain stupid corporate policies are to deal with.

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
  25. Re:What do you mean, "suitable for Linux"? by walt-sjc · · Score: 4, Funny

    that Java on Debian will be as easy as "apt-get install java"

    Close... More like: "apt-get install java java-doc java-common java-dev java-examples java-gnome libjava libjava-doc libjava-dev" :-)

  26. A Great Disturbance by greg_barton · · Score: 4, Funny

    I felt a great disturbance in the slashdot, as if millions of "sun is the next redmond" trolls cried out in terror, and then vanished.