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

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

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

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

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

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