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."
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.
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.
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.
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
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.
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
I'm wondering what is going to happen with free Java compilers/virtual machines like GCJ and Kaffe?
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?
You have to be fucking joking!
Sun has had the thankless task for the past decade of standing alone against Microsoft in their all out assault on the Java platform. Even to this day Microsoft is making absurd decisions like trying to support a dead format like HD-DVD just because of the Java part of BluRay. And all the while they were protecting Java from every possible sleazy trick in Microsoft's playbook, they still managed to keep Java as close to a true community based open source project as possible.
And all through those years fucks like you acted like infants and threw tantrums over Java and ran off and played with garbage like mono despite the endless warnings of the more grownup members in the open source world.
Bravo Sun! You have done a thankless and most likely forever underestimated effort for open source software development.
On practical note, can you share what kind of application you use Java for?
I've removed last traces of Java from my WinXP office PC (and never had it on Linux at home) and nothing had ever complained about the absence. (I'm rather curious what had installed it in first place.)
I am long term Java skeptic. Yet would appreciate any hints on why people would want Java - especially under Linux.
All hope abandon ye who enter here.
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.
Sun may have had other motives than that, but some people will interpret this move as Sun has written off java and is now giving their inventory away. Yes that is a croocked argument, but I am sure some bonehead CTO's or MS-salesdroids will make it anyway.
This space is intentionally staring blankly at you
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.
Yes!!!
Mod up!! (It wont happen - the "fuck away" made that impossible).
Mono was so stupid I dont know where to begin... Anyhow, it's over now! Didn't MS know this was in the pipeline?? Unbelivable!!!!
The chair of that committee works for MS and is pushing C++/CLI.
.Net, so if you don't do .Net due to MS influence then C++ may need to move off your list too for same reason.
If you don't know what c++/CLI is, then you need to check up on what your trusted committee has been doing for you recently - C++ is going
So... if you look at Java 1.5 there are some interesting papers written on it's type system. Suffice to say that there's a good raeson that their generics work the way that they do. Basically, to REALLY fix Java generics requires completly redoing the entire of the Java type system, and the VM, I.E. writing a new language. The problem is basically that in java Top is the same as Bottom, that is Object is both of these. This causes major casting problems for generics due to the contravariance of subtyping over functions (basically functions don't subtype the way people expect them too). They worked very hard in Java 1.5 to maintain JVM compatability while adding features like generics because that's the only thing that makes Java useful, if you start breaking that, then you might as well be coding in a different language. Actually, the new generics are quite well done, and fairly consistant given the broken type system that they had to work with. For a language designed for programming set-top boxes, Java isn't so bad - although I do wish people would realize it wasn't a god send and consider languages with better type systems.
Nowadays Java is mostly used in systems and applications for companies, not for home users.
.NET.
.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.
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
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
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).
> 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.
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.
.net (and maybe mono on Linux).
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
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.
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
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...
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.