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.
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.
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.
Tired of FB/Google censorship? Visit UNCENSORED!
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.
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?
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
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.