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."

94 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. GPL for all? by Lauritz · · Score: 2, Interesting

    Will they use the GPL for all the components? That is the compiler, the class libraries and the runtime? Then it will still be easier licensewise to use mono.

    1. 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.

    2. Re:GPL for all? by moro_666 · · Score: 3, Insightful

      If you choose mono, you choose an indirect control of microsoft all over your code. Good luck & god speed.

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    3. 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.

    4. Re:GPL for all? by molnarcs · · Score: 2, Interesting
      Perhaps some Microsoft patents? But that is of course, speculation - without having all the facts of the Novell-MS deal at hand, I don't want to imply anything... except that whenever mono comes up, there is always talk of patents. These might be legit concerns, or not... I don't really know. But the fact that this always comes up might be considered bad enough by some (that's why I linked Perens's post). Not to mention this recent deal between the two companies, that gave legitimacy to MS's patent claims. Mono stands out in this respect from the application stack Novell distributes... if there is any single piece of software that may have patent concerns, it must be Mono (really, what else? eDirectory?, linux? perhaps Samba..)

      Oh, and I put my comment in evil-comment tags, but ./ erased that ... so don't take it too seriously...

    5. 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?

    6. 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.

    7. Re:GPL for all? by nrc · · Score: 2, Insightful
      Rubbish. The MS fan boys have been hand waving away legitimate concerns about patent and licensing liability in Mono since day one. Now Novell has made it absolutely clear that Mono has patent and/or licensing liabilities and they still want to dismiss very real issues as FUD.

      Not all parts of the .Net environment are covered under ISO/ECMA standards. Even if it were completely covered, the notion that Microsoft won't violate it's own standards or ignore a toothless standards organization if it pleases is just foolish.

      You can't "fix" a patent violation. Once it's done, it's done and you're liable. Assuming that there's some work-around you might be able to remove future liability but depending on the nature of the patent there's no guarantee that's practical or even possible.

      One of the common excuses for directing OSS mindshare to MicroSoft IP encumbered technology has been that "Java is just as bad." That excuse has now been eliminated. It's time to stop wasting OSS resources helping Microsoft and Novell build elaborate IP traps.

    8. Re:GPL for all? by Enselic · · Score: 2
      Rubbish. The MS fan boys have been hand waving away legitimate concerns about patent and licensing liability in Mono since day one. Now Novell has made it absolutely clear that Mono has patent and/or licensing liabilities and they still want to dismiss very real issues as FUD.

      Please direct me to where they make it absolutely clear.

      Not all parts of the .Net environment are covered under ISO/ECMA standards. Even if it were completely covered, the notion that Microsoft won't violate it's own standards or ignore a toothless standards organization if it pleases is just foolish.

      Why would we care if they violate their own standards? They exist nevertheless, and we can benefit from them.

      You can't "fix" a patent violation. Once it's done, it's done and you're liable. Assuming that there's some work-around you might be able to remove future liability but depending on the nature of the patent there's no guarantee that's practical or even possible.

      There is a risk, yes. Hopefully, the Mono developers and contributors can stay away from this.

  3. 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 smilindog2000 · · Score: 2, Interesting

      It's great to have this in the GPL domain, but it's just gotta PO all those open-source developers who have built a GPL version of the same system. Why the heck didn't Sun do this 10 years ago? It would have save the world a LOT of grief.

      --
      Beer is proof that God loves us, and wants us to be happy.
    2. Re:Holy Shit! by binaryfinery · · Score: 3, Insightful
      --
      "Synergies are basically awesome, and they're even better when you leverage them." Tycho, PA 14/2/7
    3. Re:Holy Shit! by marcello_dl · · Score: 3, Insightful

      I think we must thank microsoft and its C# initiative, er... plan for world domination, for convincing Sun to open up. That couldn't be done 10 years ago when Java was the only player, and it being free as in beer was already a step forward compared to other environments.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    4. 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

    5. Re:Holy Shit! by Anonymous Coward · · Score: 3, Funny

      He he he, I have already started compiling Java.

      Of course, I am on Gentoo... :)

    6. 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.
    7. Re:Holy Shit! by Aceticon · · Score: 3, Interesting

      Nowadays Java is mostly used in systems and applications for companies, not for home users.

      Thus, most Java applications out there have a server component using the J2EE (Java 2 Enterprised Edition) framework and running under an application server such as JBoss, BEA Weblogic or IBM Websphere (to name just the bigguest) and a client component, typically (but not necessarilly) a web-based user interface.

      The J2EE framework defines which and how "enterprise" functionalities (HTTP call handling, asynchronous messaging, database access, transactions, distributed functionality, discover and communication with remotedly hosted application components, HTML templating, etc) are provided by the application server to the application itself. J2EE is roughly split in 2 parts, one dealing with dynamic web-based user interfaces (as in, the server component of it) and one for (optionally remotelly accessible) business components and their supporting backend functionality (such as database access, messaging, transactions, etc).

      Java with J2EE occupies the same enterprise niche as C# + ASP with .NET.

      It's quite likelly that you've already been exposed to Java with J2EE servers via web-sites on the Internet (URLs with script names ending in .jsp, .do and .action are quite likelly on a J2EE application server or at the very least a J2EE web application server (which just implements application server functionality for web-based user interfaces), and even more likelly if you've worked inside big companies (such as banks) since a lot of this stuff is used for intranet web-based user interfaces which need to be reliable, are used by many users simultaneously and are connected to one or more core systems within the company.

      There's also a lot of backend systems out there in Java/J2EE doing things like gathering and consolidating data from multiple systems, both internal and external.

      The reason why many of us (which work in this area) would like to see more Java under Linux is because currently a lot of the J2EE application servers out there are running on top of Windows (*gasp*), even though all the mainstream J2EE application servers support multiple flavours of Unix (including Linux).

    8. Re:Holy Shit! by jonaskoelker · · Score: 2, Interesting

      > For the ideologues, knowing that there's one less piece of non-free software on your system is a real comfort.

      And for the ideologists, now being able to use java (as opposed to kinda' sorta' sometimes using java for some things) is a real comfort.

    9. Re:Holy Shit! by AJWM · · Score: 3, Interesting

      Nowadays Java is mostly used in systems and applications for companies, not for home users.

      Actually in terms of numbers of installed JVMs, most Java is probably in mobile phones. There's a lot of J2ME out there, although J2EE gets the visibility because of the web-based server role.

      Java shows up in some other interesting places: my wife had a couple of x-rays done a week ago and they included a printout (screen dump) of the patient info metadata from whatever application they used to control the system; the GUI was clearly Java Swing (platinum plaf).

      --
      -- Alastair
  4. 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 Tim+C · · Score: 2, Informative

      Sorry to pick on you, but you're the first person I've seen do it and there aren't too many comments on the article yet, so I thought I'd get in quick:

      Java is not an acronym, its name should not be capitalised.

      It's a minor thing I know, but I'm picky and pedantic enough* for it to irk me every time I see it.

      (* goes with the territory; I'm an ex-physicist who moved over to programming. Equations and computers do not know what you mean, only what you say)

    2. 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.

    3. Re:bravo by byolinux · · Score: 2, Funny

      Which of the following is correct? ;)

      NeXTSTEP
      NEXTSTEP
      Nextstep

      Answers on a postcard.

  5. let's see who's the first one by cucucu · · Score: 3, Funny

    to post a link to a forked java

    1. Re:let's see who's the first one by iapetus · · Score: 3, Funny
      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
  6. Huzza! by Anonymous Coward · · Score: 2, Insightful

    This will remove, at a stroke, one of the largest issues of licence trouble in the *nix world. Fully Free server offerings can now be broader, and the Free desktop gets access to one of the three major ways of bundling sophisticated apps into web pages(Not that I like the practice much; but if Flash, Java, and ActiveX have to exist, I'd rather that more be Freely supported than less).

    I'm really impressed with Sun on this one.

  7. Re:This is good, but... by Ksempac · · Score: 2, Insightful

    Come on, you dont do the same kind of applications with a script language like Python and a lower level, general purpose language such as C, C++ or Java.
    Script languages are good for small applications but when it comes to big and/or commercial software you need something else. Java is probably one of the most used language (with C and C++) in commercial applications. So yes it is important.

  8. 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
  9. 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

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

    Now Stallman can drink coffee again

    --
    //WR
  11. Technical Details by digitaltraveller · · Score: 2, Informative

    Linux Devices has a fairly comprehensive list of just what technologies 'GPL Java' encompasses. The std libraries are GPL with the classpath extension.

  12. 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.
  13. 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

  14. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion

  15. Re:This is good, but... by FrostyCoolSlug · · Score: 2, Interesting

    Java is an easy to learn, fully cross platform (and by fully, i don't mean pseduofully like most languages, if you code a GUI in Java, you don't need to install stuff like GTK+ to make it work in windows / linux), with a 'one class file fits all' attitude. You don't need to spend time making sure that your code is compatible with every OS that java runs on, you also don't have to waste time compiling for each system, It's fast, complete and as i say, easy to use. I'm primarily a C++ programmer, but my current occupation requires that I code java most of the time, and to be honest, i don't mind, it's much less of a problem making sure everything doesn't segfault, and with a true OO nature, it's just a joy to use. The only real quibble i have is with the way the Java VM behaves and handles memory. As far as open sourcing goes, i welcome it, although i doubt it's going to effect anyone really at least for years to come, the only real advantage is that it may (as stated) be shipped 'as default' in some linux distros, which is a good start

  16. future of GCJ/Kaffe by xianp · · Score: 2, Interesting

    I'm wondering what is going to happen with free Java compilers/virtual machines like GCJ and Kaffe?

  17. 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.

  18. You sure on that? by glesga_kiss · · Score: 2, Interesting

    Remember the "Ice Weasel" nonsense? That was because the Debian team did not want to use a copyrighted Firefox logo. Isn't Sun's Java going to have the same problem?

    1. Re:You sure on that? by Anonymous Coward · · Score: 2, Informative

      Mozilla wouldn't let them ship a patched version while still calling it Firefox, and Debian want to make sure it works on all architectures they support, has security fixes backported, etc., none of which Mozilla can be bothered to do.

  19. Towards to a one platform by Iloinen+Lohikrme · · Score: 2, Insightful

    I'm very happy that Sun is going to bring Java -platform to Open Source and under GPL license.

    I believe that this move by Sun will increase development speed of Java and more importantly it will make Java more common. By having Java as a GPL, there is no reason left why Linux distributions wouldn't include Java in default installation. By becoming a standard part of Linux installations, it will gather more mind share from developers, both open source and commercial, and make developing of Java based applications more lucrative. It's interesting to see if this move will bring Java over a tipping point in desktop environments and lead to a situation where more and more applications are based on Java, leading to a total commodization of desktop.

    When Java will become more standard part of a desktop, I believe that it will change deeply on how we build our applications. I think that the future is for applications that have desktop application component that is integrated to a server application. Already it's quite easy with Java to develop server software that works via multiple interfaces, ie. web and desktop. The only question for now has been, do all clients have Java, maybe in the future there is no need to ask this question.

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

    ... welcome our new Duke overlord.

    1. Re:I, for one... by LarsWestergren · · Score: 2, Informative

      I, for one welcome our new Duke overlord.

      Well, he has been open sourced too, so there really is no escaping!

      --

      Being bitter is drinking poison and hoping someone else will die

  21. 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.

  22. GCJ, Kaffee, GNU Classpath by Espectr0 · · Score: 2, Insightful

    I wonder what is going to happen to these three projects?
    Let's hope now Java integrates all the good features of C#, like true generics.

    1. Re:GCJ, Kaffee, GNU Classpath by julesh · · Score: 3, Informative

      I wonder what is going to happen to these three projects?

      GCJ will survive because it provides a facility that doesn't exist in the standard JDK (i.e., ahead-of-time compilation).

      Kaffe will survive because it's BSD licensed.

      Classpath will initially try to survive by copying large amounts of original Java code into itself, but I suspect will eventually become irrelevant as patches for classpath-using applications become available to allow them to use the original Java class library.

      Let's hope now Java integrates all the good features of C#, like true generics.

      That's easier said than done. A stable binary platform is important to the success of Java, and I suspect implementations of this kind of thing (of which there will be multiple) will result in a forked, fragmented platform with multiple implementations incompatible of interoperating with each other. Then an official Java distribution will pick up new features at probably only slightly faster rates than the current one, and the best of the features will be backported. We'll see slightly accelerated improvements in "official" Java because of the interest, but nothing dramatic, is my guess.

    2. Re:GCJ, Kaffee, GNU Classpath by Monkey-Man2000 · · Score: 2, Insightful

      This should substantially help GCJ, because last time I checked it uses the standard libraries from Classpath to compile programs. Some things were unimplemented in Classpath, and so you could run into problems compiling non-trivial applications in GCJ.

      --
      This post was generated by a Cadre of Uber Monkeys for Monkey-Man2000 (603495).
  23. 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.
  24. 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.

  25. Re:This is good, but... by juhaz · · Score: 2, Insightful

    Second, it's compiled and then byte-interpreted, giving it a fairly good speed compared to Python's interpretation.

    Python is compiled and then byte-interpreted, just like Java. If you have to bring the speed argument to the table, at least bother to verify WHY it's slower before spouting nonsense.

    Also, while Python maybe be slower objectively, especially in number crunching, the significantly faster startup times and generally smaller memory usage often make it seem much snappier, which is at least as important for many if not most applications. Java GUI toolkits other than SWT are also universally regarded as slow, and Python is significantly easier to extend with C so you can speed up the parts that really need it.

    Also, Java is embeddable as a web applet.

    In theory, in practice Java applets never worked well, and have been going the way of dodo pretty much since their inception, you rarely see one these days - fortunately, painful as they were.

  26. 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 Cyberax · · Score: 2, Insightful

      That's right, if you write in C++ then Bjarne Stroustrup (or to be more precise, C++ Standards Comittee) has indirect control over your code. But I trust them much more than I trust MS.

    3. Re:FUD by ir · · Score: 2, Informative

      C++ is not C++/CLI. C++/CLI is irrelevant outside of Microsoft corporate headquarters.

      --
      Irina Romanov
    4. 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
  27. Re:This is good, but... by julesh · · Score: 3, Interesting

    Second, it's compiled and then byte-interpreted, giving it a fairly good speed compared to Python's interpretation.

    Python is bytecode-compiled also, although to be fair I believe Python's bytecode is substantially higher level than Java bytecode. There is also a native-code just-in-time compiler (psyco) for x86 platforms that works reasonably well.

    IMO, the main problem with Python, performance-wise, is that a variety of operations it supports are defined by the commonly-accepted understanding of the language to be atomic. This includes modifying lists and dictionaries. Because of this, these structures must have all accesses synchronised, which the standard Python implementation achieves by only allowing one thread to execute at once. I don't think I need to point out how horrible this is for scalability to multiprocessor systems.

  28. GPL with Classpath exception by rca66 · · Score: 2, Informative

    Just to make it clear: Java is going to have the GPL with the Classpath-exception, which explicitely allows to create closed source applications when using the standard libraries.

    See Gosling's blog:
    http://blogs.sun.com/jag/

    and here you'll find the mentioned exception:
    http://www.gnu.org/software/classpath/license.html

  29. RMS previously on SUN freeing Java (transcript) by H4x0r+Jim+Duggan · · Score: 3, Informative

    Richard Stallman discussed this in a Nov 1st interview. I've put a transcript online.

  30. Re:Java sucks by julesh · · Score: 2, Informative

    I want a GPL'd latte :-(

    No need, latte is already distributed under a BSD license, which is GPL compatible.

  31. 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.

  32. Re:Not if it is GPL by julesh · · Score: 3, Informative

    GPL does not prevent forking (and some forks will develop due to $$$)but if the forker abides by the GPL he has to publish his code for the forks, so Sun could have incorporated those changes making Sun java compatible with MS-J.

    Not necessarily:

    1. GPL doesn't require patent licenses to be granted.
    2. Most of the modifications MS made to their Java implementation wouldn't have worked for Sun because they were heavily dependent on features of Windows that aren't present on any other OS. Sun could've easily reimplemented compatible extensions to Java if the only issue was access to MS's code. They didn't because doing so would have violated the spirit of Java as a cross-platform language.

  33. Re:In Ur Face, Novell by tomhudson · · Score: 2, Insightful

    Too bad java is just as slow as Mono though.

    I don't think so. While Java isn't as fast as C, it also doesn't peg my cpu at 100% on a regular basis. If Novell made their deal with the devil^H^H^H^H^HMicrosoft to protect Mono, they screwed up.

    This is interesting enough that I'm going to hit the book store for some more O'Reilly - for some Struts, Hibernate and Spring.

  34. 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.

  35. Re:Impact on IBM's patents by frogstar_robot · · Score: 2, Interesting

    IBM licensed Java from Sun a number of years with contracts signed and everything. Assuming the Nazgul did a good job on the contracts, IBM can continue doing whatever they like with their Java code tree.

    The GPL isn't some black hole that can suck up any and all licenses into it's undeniable gravitational pull. Come to think it, real black holes don't do this either unless their event horizons are crossed. Put that way, IBM Java can't and won't cross the GPL event horizon. At most, it will orbit at a safely removed distance.

  36. 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.
  37. Debian vs. Mozilla by Per+Abrahamsen · · Score: 3, Informative

    Debain wanted to distribute their own patched version of Firefox, the Mozilla people didn't want to get blamed for all the bugs introduced by Debian, the name change was the way to resolve that conflict.

    My own sympathy goes unreservedly to Mozilla, as a software developer I know what a total pain Debian is to deal with.

    1. Re:Debian vs. Mozilla by fimbulvetr · · Score: 2, Insightful

      Yeah, what a pain. A distro that has principles and standards and holds them high. How could they do such a thing?

    2. 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
  38. And then the dirty little secret is revealed by eclectro · · Score: 3, Funny

    That it was all written using Visual Basic.

    --
    Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
  39. 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.

  40. Re:My only worry by Just+Some+Guy · · Score: 2, Insightful
    we'll see applications built on custom versions of Java that aren't compatible with each other or have fixed bugs differently to how someone else has fixed them.

    I know. I hate navigating the maze of incompatible GCC, Perl and Python implementations we're stuck with.

    --
    Dewey, what part of this looks like authorities should be involved?
  41. Re:This is good, but... by Just+Some+Guy · · Score: 2, Insightful
    Script languages are good for small applications but when it comes to big and/or commercial software you need something else.

    Tell that to Google. My own company has switched to Python for all future application development. If Python is a scripting language, then so is Java.

    --
    Dewey, what part of this looks like authorities should be involved?
  42. 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.

  43. Re:What do you mean, "suitable for Linux"? by Mr.+McD · · Score: 3, Informative

    I meant suitable as a Linux compatible license. Now distributions can include the JDK without conflict. Personally, I find Java's performance, stability, security, and reliability to be just fine.

  44. This settles it by Lisandro · · Score: 2, Funny

    I'm moving to Hell this summer. I hear the weather is lovely down there lately.

  45. Re:Java sucks by tomhudson · · Score: 2, Informative

    And I want a link that doesn't crash Firefox 3 times in a row ...

    I don't know what's on the page that's so evil for Firefox under Linux, but I had to open it in Epiphany to see ... meybe its another hint for me to get SuSE off my hd ASAP.

  46. actually it's much worse than that even by Ender+Ryan · · Score: 2, Insightful

    That should actually read:

    Only if C++ is patent encumbered, there are few implementations, and the only useful implementation is owned by a company that is no longer willing to try to work around the patents to produce a truly free implementation, and, in fact, has made a deal with the devil so only their own customers can legally use their implementation.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  47. Re:What do you mean, "suitable for Linux"? by squiggleslash · · Score: 2, Insightful
    If by "suitable for Linux" you mean that you can now start hacking the JVM to your heart's content, you may be right. But I interpret "suitable" as referring to stability, performance, security, and reliability, not whether I can personally hack the code.

    This is one of those cases where being specific about the language you're using might help. What he probably meant was "suitable for distributions of GNU/Linux". There are no (serious) licensing issues any more with Java and it can be easily integrated with pretty much all standard distributions. Java can also become a base for further development of projects that make a point about not being tied to proprietary technologies. For example, it can be integrated into GNOME and KDE such that critical components can rely upon Java being there in a way that would be legally dubious today.

    Aside from that, if people start hacking Java itself, they'll end up with versions that won't pass the compatability tests and break the very commercial apps you mention.

    If people "hack" Java in order to add new features that make it incompatible with other versions, then Sun would have every right to enforce the Java trademark against them so they can't offer as "Java" and such confusion is reduced. If one of these forks turns out to be successful, then that's great as it presumably would have reasons for being successful, like, say, being better.

    If, on the other hand, people start hacking it to:

    - Port to alternative platforms
    - Integrate it into frameworks it doesn't "natively" integrate with right now (KDE, GNUstep, etc), IIRC the current GNU/Linux distribution uses GTK, though I'm prepared to be corrected on that
    - Play with various features of the system to improve performance and memory usage (there are a million ways you can write a garbage collector)
    - Do the latter, but optimized for specific instances (should the same GC model be used on your Sharp Zaurus, Playstation 3, and 100GHz Core8Octomegaseptupal with 8T of RAM*

    ...then I don't see the problem, and I do see this as a good thing.

    Either scenario, even your "People will corrupt the holy Java" instance, seems like it can't work out negatively, and may work out positively. They're good things!

    * Note to people reading this a decade from now. Believe it or not, people in 2006 thought dual-core 3GHz CPUs were "Where it's at". I don't know what Octomegaseptupal is either BTW. The point is that's supposed to be a really insanely high end system.

    --
    You are not alone. This is not normal. None of this is normal.
  48. Re:In Ur Face, Novell by DuckDodgers · · Score: 2, Informative

    I haven't tried JSF, but I'm the sole maintainer of a Struts application. It works reliably, but changes are a pain in the behind.

    I have zero experience with the Stripes web framework, but this comparison between Stripes and Struts has an excellent illustration of the klunkiness of Struts: http://stripes.mc4j.org/confluence/display/stripes /Stripes+vs.+Struts
    "One of my prime frustrations with Struts is the fact that just to implement a single page/form, I have to write or edit so many files. And I have to keep them in sync, or else things start going horribly wrong. With Struts I have to write my JSP, my Action, my Form, a form-bean stanza in the struts-config.xml, an action stanza in the struts-config.xml, and if I'm going to do it the Struts way, a bunch of forward stanzas. And let's not go into the fact that since this is all stored in one xml file I'm continually facing merge conflicts with my team mates. Yes, there are annotations for Struts, but they are just literal translations of what's in the XML file, and they don't feel natural to me."

    You may with to learn Struts anyway, because it's so common. But if you're builing a new Java web app from scratch and no one on your team is used to Struts, I'd investigate alternatives. The Struts project page even lists a few under the 'Similar Projects' heading. Now, extensibility, stability, and other buzzwords matter just as much as ease of initial configuration. So don't use speed of initial development as your sole criteria.

  49. Re:Not if it is GPL by oohshiny · · Score: 2, Informative

    1. GPL doesn't require patent licenses to be granted.

    If you redistribute code under the GPL, you give all the recipients rights to all the patents they need to actually use the code, and they can pass those rights on to others.

  50. Where are the open source zealots now? by aled · · Score: 2, Insightful

    What the people who believed this will never happen are saying now?

    --

    "I think this line is mostly filler"
  51. Re:Java sucks by akeyes · · Score: 3, Funny

    That's what you get for using Firefox 3. I had no problems using Firefox 2.

  52. 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" :-)

  53. The real reason by Qwavel · · Score: 2, Interesting

    I've seen a few posts suggesting that Sun couldn't do this till now because of the forking threat in the past, reprepresented by MS's J++. I think this is wrong and probably comes from people who blame everything on MS.

    Sun didn't open Java before because it didn't have to. The fact that they are opening it now suggests to me that they are starting to fear .net (and maybe mono on Linux).

    Personally, this makes me much more inclined to go to Java as my next language, rather then C# (I'm currently using C++) but, given Sun's past refusal to open Java, this move by Sun suggests to me that Java isn't doing as well now. (If only Sun had done this 10 years ago I could have been using Java all these years instead of C++.)

    One other possible factor is the 3rd party open-source Java efforts. I don't know how they were coming along, but if any of them were doing well then they could have increased the pressure on Sun to do this. The great irony of those projects is that they get wiped out if they are successful.

  54. 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.

  55. Re:Not if it is GPL by Kjella · · Score: 3, Insightful

    1. GPL doesn't require patent licenses to be granted.

    Actually, it does. If Mircosoft didn't want to grant a patent license, they could not distribute it under the GPL. The funny twist is the one Microsoft pulled with Novell - what you need to make sure is the party distributing the code (Novell) isn't the same as the one holding the patent (Microsoft). They can't give Novell a patent license because that'd hold Novell to the GPL - instead they create a covenant saying they won't sue Novell for those patents. It's in essence a patent license without actually giving one. Mircosoft could have pulled exactly the same with a subsidiary "Microsoft Java, Inc." who'd happen to be in a covenant with Microsoft, Inc. to not get sued, but everyone else is.

    7. If, as a consequence of a court judgment or allegation of patent
    infringement or for any other reason (not limited to patent issues),
    conditions are imposed on you (whether by court order, agreement or
    otherwise) that contradict the conditions of this License, they do not
    excuse you from the conditions of this License. If you cannot
    distribute so as to satisfy simultaneously your obligations under this
    License and any other pertinent obligations, then as a consequence you
    may not distribute the Program at all. For example, if a patent
    license would not permit royalty-free redistribution of the Program by
    all those who receive copies directly or indirectly through you, then
    the only way you could satisfy both it and this License would be to
    refrain entirely from distribution of the Program.

    --
    Live today, because you never know what tomorrow brings
  56. Re:Java sucks by OoberMick · · Score: 2, Informative

    That's a flash 7 bug. export XLIB_SKIP_ARGB_VISUALS=1 somewhere.

  57. Re:What do you mean, "suitable for Linux"? by just_another_sean · · Score: 2, Funny

    Reading package lists... Done
    Building dependency tree... Done
    Package java-examples is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    E: Package java-examples has no installation candidate

    --
    Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
  58. Even bigger than some might think by kkoning · · Score: 2, Interesting

    Java being released under the GPL might have an even bigger impact in the long term than it appears (from these comments) many people think. It may represent the beginning of a huge leap forward for open source. The following line of reasoning seems at least somewhat plausible...

    1. Starting with the obvious, Java will become more acceptable as a generalized platform for open source projects because there is no longer any danger of having the base platform disappear, go exclusively commercial, etc...
    2. The greater use of Java for applications will further drive development that reduces the (system) cost of starting an additional Java application. Some of this work has already been done. Think of desktop widgets running in some sort of system-wide application server, rather than their own separate process. This drastically reduces the (marginal) cost of starting and running an additional Java program.
    3. This will make it even more likely that Java is selected for new open source applications.
    4. The above will be a mutually reinforcing cycle.
    5. These applications will be able to reach a much larger audience, specifically those who run Windows or Mac OSX on their desktops. Yes, some other apps are already cross-platform (i.e., Firefox), and cross-platform compatibility may not be perfect, but cross-platform compatibility becomes the default, rather than the exception.
    6. Just like the shift of some applications to the web, the underlying operating system again becomes less relevant. GPL'd GNU/Linux becomes a better substitute for Windows on the desktop, because the same applications will more often run on it as well.
    7. So more people use it.
    8. Competition and innovation flourish as Microsoft looses its unrivaled power to take over new markets/applications by leveraging the Windows monopoly. More firms will take development risks (for commercial software) without the threat of being so easily crushed by Microsoft.

    Of course, the idea's not perfect, especially due to the large number of existing platform-specific applications and the fact that some applications need to be platform specific to run efficiently. Perhaps ahead of time compilation will be used/developed further? Anyway, even if this happens, it's probably going to take a very long time- maybe decades. But if the end result is that people coalesce around a freer and more open platform, and better (often open!) and cheaper (often free!) software comes about as a result, we'll all (well, except for Microsoft, of course) be better off.

  59. Re:What do you mean, "suitable for Linux"? by TheRaven64 · · Score: 2, Insightful
    The nice thing, from my perspective, about Java being GPL'd is that the FreeBSD port can easily be installed. The previous license did not allow distribution of modified versions, so you first needed to download the Java source from Sun (accepting their license), then apply the FreeBSD-specific patches, and then compile (which required a Java VM, which typically meant installing the Linux Java VM binary, and compiling using this).

    Now, I can just grab the binary (since the GPL allows binary distribution of derived works, as long as the source is available). The real question is how is the trademark licensed? Will the unofficial ports be allowed to be called Java? Or will I have to run 'KenyanPeaberry, base on Sun Java(TM)?'

    --
    I am TheRaven on Soylent News