Sun to Fully Open Source Java
Dionysius, God of Wine and Leaf brings news that Sun Microsystems will be removing the last restrictions on Java to make it completely open source. Sun wants Java to be easily available for use in Linux distributions. We've discussed the steps Sun has taken to open-source Java over the past couple years. From Yahoo! News:
"'We've been engaging with the open-source community for Java to finish off the OpenJDK project, and the specific thing that we've been working on with them is clearing the last bits that we didn't have the rights,' to distribute, Sands said. 'Over the past year, we have pretty much removed most of those encumbrances.' Work still needs to be done to offer the Java sound engine and SNMP code via open source; that effort is expected to be completed this year. Developers, though, may be able to proceed without a component like the sound engine, Sands said.
So this is to make up for MySQL? They giveth they taketh away.
One problem is that it creates forks of forks of forks. And pretty soon you have compatability issues and qualification clauses eg: Compatable with IBM Java 1.2.3.4.5 a or RedHat VirtualJ (for other java compatabilities please ensure that you have libXYZ installed) etc and this is where is gets frustrating.
I know that Sun are addressing this issue but I still think that it is inevitable.
I don't know if this will change with the announcement, but being a java developer that works on macs, I'd like to get whatever jdk I want, and not be forced to use what apple gives me.
You could argue that if Java goes GPL, gcj has been successful even if it suddenly becomes irrelevant. The same would be true of GNU Gnash if Adobe were to GPL the Flash plugin. It wouldn't invalidate the open source efforts: far from it, it would accomplish the original goal of having a free implementation of the application.
While open source is good, the real issue is the license. The only mention in the article is some parts were not compatible with GPL(I assume v2). What will the license be for OpenJDK? Looking here (http://freejdk.org/faqs/openjdk_license.html) and here (http://www.gnu.org/software/classpath/license.html) it looks interesting...
Does this mean the Classpath exceptions will be removed? Not clear. Kind of a problem for some if it is removed.
FTA: "Once Java is 100 percent open source, it can be shipped as part of Linux, Sands said. Ubuntu has distributed Java as separately available commercial software, he noted. But once Java is fully open source, it can be offered as part of the free Ubuntu distribution and other Linux variants, Sands said."
For me, and I assume most people interested in open development platforms - the real question about using Java will be around the license (once it is open source) and what that means in terms of success, options, and longevity for the projects we build.
Hassle, more than anything else, sums it up. Installing the JDK or JRE is never as easy as installing other programs. Some distros won't include Java in their standard package repositories because of licensing constraints. You end up with two maintenance/upgrade processes: one for Java, and one for everything else. It's a pain if you have a lot of machines that need to run java- you're always manually copying around install tarballs and jar libraries that you can't just yum or apt-get out of the appropriate repo. Difficulty in Java installation is also a barrier for simple desktop Linux; at this point, Java should Just Work for any reasonable desktop experience.
I suspect that the closed sourcing is also why support for Java on non-priority systems has lagged behind. It's been a while, but I used to support Java apps that were running on FreeBSD. At the time, the state of Java there lagged behind the big three (Linux, Windows, Solaris) considerably- the latest versions of of the JDK/JRE weren't always available, and when they were there were sometimes weird bugs lurking in them that would cause applications to puke. Support for other languages wasn't anywhere near as far behind because it was much easier for BSD developers to track changes in the source of languages that primarily targeted Linux.
For that matter, despite Suns attempts at making Java a universal platform, support on some platforms has been better than others. My employer bought a 3rd party Java HR application for employees to use for leave/VK time reporting, with the promise that it would work for any system since it's Java (a lot of people have Linux or Mac). No such luck. It's interface is an applet that works on only certain versions of the JRE under windows. Maybe the vendor is just incompetent, but Java is supposed to simplify the writing of cross-platform applications. I strongly suspect that these kinds of problems are a consequence of Sun keeping the source closed: priorities on development of the JRE/JDK had to be constrained by Sun's resources and economic priorities. No matter how enthusiastic the user community on lower-priority operating systems, they couldn't fix problems themselves.
We were looking for something cross-platform, and at that time Java was every bit as proprietary as VB and other close dead-end languages. I understand why Java wasn't FOSS at that time, but that still made it ineligible as a serious contender for long-term development. Had Sun made Java's openness a goal a lot sooner, many companies (including mine) might have chosen it over whatever else they decided upon.
Dewey, what part of this looks like authorities should be involved?
You chose your language based solely on the license, rather than how well it supported your development tasks?
Bullshit.
Tired of FB/Google censorship? Visit UNCENSORED!
Generally the vendor is incompetent. Java won't prevent you from hard-coding "C:\Program Files" into any programs, and will work perfectly well with it under Windows. For most properly coded Java programs, cross-platform support is pretty much trivial though.
My blog. Good stuff (when I remember to update it). Read it.
Who is this "we"? Certainly not the real world. Hopefully by "we" you mean your small group of still-in-college developers that are in for a rude awakening when you hit the real world.
By "we" he probably means "a group of knowledgeable developers who are lucky enough to be employed somewhere that they can choose the best tool for the task instead of having to go with whatever the PHB thinks is the hot buzzword this week." It's very true that the "real world" can be a difficult place, but people with attitudes like yours don't help make it any better. Fortunately, there are businesses where management knows enough to get the hell out of the way and let the developers make their own decisions on which tools to use.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
Not caring about licensing questions probably means that you've failed to consider them in depth. That probably seems like a very reasonable choice - if you wanted to worry about legal issues you would have gone to law school - but it's also very short sighted.
"Freedom" seems abstract and irrelevant until you find out that the elegant technical solution you want to implement is disallowed by the license of some component you're using. This rarely happens immediately, because you wouldn't have picked a tool if it didn't let you do what you initially wanted, but it comes up pretty frequently when you try to do something that you didn't initially consider.
Examples:
- You design your application using Oracle as the database. $20,000 a server seems fine - until you realize that the whole design would be more elegant if you moved a bunch of logic into the database and replicated it a bunch of times (say... at each client site). But $20,000 * 100 sites isn't in the budget, so you're forced to scrap the best technical solution for legal reasons.
- You design a data entry interface in Flash. The project expands, and it turns out that it'd be more effective if the users used tablets rather than PCs to do their data entry. So you bring on a hardware team, and they tell you that ARM tablets cost 1/3rd what x86 tablets would cost. Sadly, there's no flash player on ARM - and with your budget it would have been a simple port, too.
Far from being irrelevant and abstract, the issue of licensing is directly relevant to anyone selecting software to build anything important (software or any business process). Proprietary licensing means usage constraints - both explicit constraints like the limited set of Flash platforms and economic constraints like the per-server Oracle license fee. Developing on proprietary stuff is like working in a mine field - sometimes you have to do it, but it's sure as hell something you want to avoid.
-- The act of censorship is always worse than whatever is being censored. Always.
Honestly, it wasn't that funny to begin with (and I don't even like java).
A cat can't teach a dog to bark.
Dead last?! Spoken like someone who has never been fucked over. Just wait 'til a proprietary compiler/runtimelibrary vendor tells you, "No, we're not ever fixing that. And you can't fix it, either." It's even better when you have to tell the same thing to your client.
Sympathies to the FoxPro guy. I was once a Clipper guy. I don't know whether the availability of maintenance is number 1 or 2 on my list, but it's waaay up there. Never again. Never fucking again will I have that kind of shit in my life. I'll get out of IT and flip burgers for a living, before I write another line of code that has miserably crippled and hopelessly unmaintainable dependencies.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Who cares? We're a company, not a bunch of broke kids, and don't have problems spending money if we need to. "Free as in speech" is much more important to us than "free as in beer", even though the lack of price tag is a nice bonus.
Dewey, what part of this looks like authorities should be involved?
How many times have I read that Sun is open sourcing java already? So has it happend? May be we should bet on how many more PR they can generate with the word 'Java' and 'Open Source' together....
It is good news for users of java on linux.
Major distros will ship proper java by default (some already are shipping java builds based on the code sun has released so far with bits from elsewhere to try and plug the gaps) and they will be able to patch it themselves to backport security fixes or fix issues with new versions of libraries (there was a bad one involving sun java 6 and a new version of some library recently, I don't remember the details but I do remember sun took ages to get a fix out).
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
I'm not sure Google expects all of their employees to do stuff. Or, maybe I should say, sometimes it seems like it. They haven't released a whole lot of stuff for a company with 10,000+ of the best and brightest. They sell a lot of ads though.
Nerd rage is the funniest rage.
That's a silly argument. Nothing preventing Linux distributions from bundling Sun's JRE in the past the same way they do now. The fact that Linux distributions refuse to bundle software with licenses they do not *personally* approve of is not the same thing as saying that the license actually prevented them from doing so.
Open-source extremists have no one to blame but themselves.
Java's source-code was open to the public for over a decade now. The only thing that changed recently is the license, but that license never prevented you from bundling it beforehand.
I hope this begins the end of the GCJ effort. I'm sick and tired of landing on machines, and finding out only when things begin to go horribly wrong that GCJ is installed, not the Sun JDK. GCJ will have no reason to continue, and should be shelved as soon as the Sun JDK is officially open source.
You mean because Java is the language in which enterprise applications, cellphone games and HD Blu-ray discs are programmed then its success should be put on display?
"I think this line is mostly filler"
The funny thing is that of those 15,786 jobs, not one has any economic impact on Sun's bottom line. It's like the old joke - what do Bill Gates and Scott McNealy have in common? Neither can make a dime on Java.
My $BIG_FORTUNE_500_EMPLOYER uses a ton of Java...but I don't think Sun makes a dime on any of it. We certainly aren't using their IDE tools, nor running the code on Sun servers.
It's nice that Sun is open-sourcing Java. But it's also kind of funny/sad that only Sun would invent a hugely successful product, not make a dime on it, and yet keep it closed-sourced for 13 years.
Advice: on VPS providers
Seeing into the future is *really hard*. Given a choice between a proprietary platform with potential future licensing woes and a high quality free platform, selecting the free platform simply due to licensing is a good first approximation at the right choice.
-- The act of censorship is always worse than whatever is being censored. Always.
Just a bit faster machine -> bing!
Just two cores -> bing!
And with source you get the added benefit of new compilers! Bing bing bing!
Most of the problems I have encountered with Java are exactly same: badly written un-tested programs which cannot handle slightly changed, sometimes concurrent, execution paths.
Random BedHead Ed wrote
You could argue that if Java goes GPL, gcj has been successful even if it suddenly becomes irrelevant.Even better, the two compilers can be compared, the better ideas identified and the final compilers can get better. Think of the Multics Emacs in lisp and RMC's evenual rewrite of the TECO emacs in lisp.
--dave
davecb@spamcop.net
Or maybe it's just because Python (or Ruby or ) doesn't come close to having the level of corporate or community backing and support that Java does.
Like it or not, companies *like* the idea of a big corporation being the face behind something like Java. It means stability, predictability, support, long-term viability. It means someone you can bitch to if things go wrong. I means, in short, a sort of corporate legitimacy that's craved by upper-management types. And you can't that by simply being technically better (not that Python is better). Otherwise, we'd all be running around hacking code in Lisp and Smalltalk.