Java Fallout: OO.o 2.0 and the FOSS Community
Joe Barr writes "Bruce Byfield has an interesting look at the 'fallout' between OpenOffice.org and the free/open source software communities because of their reliance on Java in the latest release. As he says, "It seems a decision based largely on practical considerations -- and with a disregard for the consequences for both the rest of the free and open source software (FOSS) communities and the future of OpenOffice.org itself." This is an issue that is not going away."
The only virus I've ever had infect my Windows computer was Java based, installed due to a flaw in 1.4.2 and some website I visited I suppose. I don't feel any better about Java being integrated in some way that I don't understand with Open Office, than I do with Word using Macro files, or offering VBS integration perhaps.
Saskboy's blog is good. 9 out of 10 dentists agree.
Just re-write everything in Visual Basic. That should make FOSS advocates happy.
I'm a big tall mofo.
Lots of people say that this doesn't matter; as long as OO.o works well, who cares about what free or un-free components it uses. The article does an excellent job outlining the real issues here.
Although it's true that functionality is important, at what cost? Using java not only adds dependencies, but dependencies that some parties are uncomfortable with. Corporate adoption may be slowed, as OO.o isn't a completely "free, fully functional" product anymore. Some of the core features (wizards) require java. Even though a wizard isn't "core" functionality, they're something that people in a workplace would likely need to use.
Either way, this is a good article... it explains the issues in a very clear way.
I store my recipes online (the way nature intended)
A few years back MS made a lot of fuss about Java while developing an alternative (.NET). In the process, they've planted some seeds such as "Java is neither open nor free!", and "Java is lock-in!", or the confusion surrounding Java on Windows, thanks to the MS VM supporting only v1.3.
.NET-based or native code. So if you, the open source community, cause more fuss over Java and whine about using it, then Microsoft has truely succeeded in it's FUD plan over Java.
I'll tell you all now, I'm a Winodws developer and I write C# code. For us Windows devs, no one uses Java anymore; if you do, it's for support of an existing product. Virtually all new projects are
Tech, life, family, faith: Give me a visit
Can't these features be ported/compiled with gcj and run as native binaries?
Paying taxes to buy civilization is like paying a hooker to buy love.
Kinda ironic that Novell's Mono (with root in Microsoft research) is the most promising free VM these days. Too bad Parrot doesn't seem to have java running on it...
I read this earlier. If they're going to use java, they should at least make sure it works with GJC out of the box. The one Java alsmost all distros ship with.. So redhat et all. don't have to jump through hoops to get it installed.
I sometimes wish Linux had a application packaging system like MacOSX where you have the option of brining tons of libraries with you hidden under a file system pretending to be an app icon. It just works (most of the time). I'm tired of ldd.
I think the article makes some interesting points, such as:
Some might argue against Schönheit's characterization of C++ as complex or Java as being not slow. However, technical arguments are in many ways beside the point.
What I got out of it is that the Java environment makes it far easier to add features to the current OO. From the article:
Java allows more rapid development of components for OpenOffice.org, without struggling with the complexity of OpenOffice.org's C++ build environment. People complain about releases not being quick enough and when Java is used to make the build environment less complicated, people bitch about it not being open source. You can't have your cake and eat it too.
As much as I wish I could be a purist, I have to agree with this simple statement. I started my business on softare that originally used Abiword and was controlled by Perl (Abiword was only called from the command line through Perl), but when OOo reached 1.0, I converted, which meant I had to learn Java (which I don't regret), and I had to base the entire program on Java and the Java interfaces with OOo. And, unlike command line purists prefer, my software is used in the real world, by real people who pay good money every month for my company's services (and I don't mean some measly 29.95/month -- they're paying enough to expect an easy to use program. I can't run it on Blackdown, or other forms of Java that don't have a GUI.
If OOo changed, I, and I'm sure, thousands of other developers, would have to re-write a ton of programs. Such a change would make me seriously re-think OOo, since it would make me wonder when they'd do that again.
I know we all make jokes about how those of us on Slashdot don't have lives or girlfriends, or have poor social skills, but it seems to me those who are pitching a hissy fit over this need to get their heads out of the ground, look around, and try living in the real world for a change. Instead of complaining about their bosses and cramped cubes, maybe they should try to run the business and find out just how hard it is to make sure they have an income if they insist on staying purists.
I don't see how anyone who has had to make decisions based on what customers want and will pay for could seriously expect a product like OOo to dump Java. People like that are the real 100% geeks, like Harold on Red Green, who have no life, no girlfriend, and no concept of what it's like to interact with the rest of the world.
"Java is probably already on most desktop computers." Most computers may have some sort of Java libs, but you have to have the Java Runtime Environment or the SDK for OOo. Most computers do not in fact have this. Microsoft packages its own Java runtimes which, as far as I know are incompatible with OOo, and many linux distros don't package it due to licensing issues. I do agree that OOo is a great office suite and the price is great, but it would be a lot more portable and easier to distribute if it did not rely on Java so much.
What would be nice is a ppt reader to go along with them...maybe Evince could be made to read ppt?
As for Java, I am only interested in the subset being promoted by RedHat - the free gcj/classpath variant. Call it FreeJava or whatever, but to me anything else is unacceptable. Come on folks, we came this far insisting on free software, don't give up now over one lousy VM and language spec.
From TFA,
"By contrast, Red Hat and Fedora prefer to build OpenOffice.org with the GNU Compiler for Java (GCJ), which is not only a compiler, but also a free JRE. This was Red Hat's strategy with earlier versions of OpenOffice.org, and Red Hat engineers are attempting to continue it. Caolan Macnamara, a programmer at Red Hat, has reported limited success compiling earlier developer builds of version 2.0. However, GCJ is not yet a complete replacement for official releases of Java, and adding patches makes the strategy painstaking and laborious at best."
- vimal
OpenOffice.org is released as an open-source license, right? So if they have such a big beef with the direction it's going, then someone can create a fork of the project and put the work into ridding it of this supposedly undesireable Java dependency. Or pick up the codebase, write all the currently java-dependent code in C++ and submit it as a patch.
To me, this sounds like a bunch of politicians and lobby activists trying to make the most noise so that they achieve their respective ideological agendas. As an end-user of OO.o, I really don't care either way as long as the functionality is there. And, afaik, the current Java license allows for redistribution of the Java Runtime Environment so they can't retroactively pull that license and prevent people from doing something they've already granted.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
Here's a case where the FOSS (Free/Open Source Software) acronym doesn't work, because Free Software and Open Source Software are not the same thing.
Practical, pragmatic decisions like using Java are not a problem for Open Source. That's what Open Source is: developing software in an open manner because of a belief that software developed this way is technologically better than closed-source software. It does not insist that every tool (or language) used in the development process be Free Software or Open Source. From a practical standpoint, it is sufficient that the tool or language meets the needs of the developers and is available on the required platforms, and does not appear to be a patent or other legal liability.
Free software on the other hand, insists for idealogical reasons that any software or tool which is not completely free is deterimental to the community. It's important to have respect for this opinion, but it is not a catastrophe for the OO.org team to choose the Open Source route.
I agree with your points. And the grandparent's point as well. If you want to compete with MSOffice (or any of the other packages that are leading over OpenOffice.org) then you have to get market share. Ordinary consumers couldn't care less about whether it's open source, built on free-as-in-Java, etc. They want it to work. They like the free as in beer, but if it doesn't work (at least as well as MSOffice for whatever they're doing) they won't use it.
Silly open source developers - putting practicality and pragmatism above more important things like dyed-in-the-wool political viewpoints. Next you'll be telling me they're all off using these newbie Linux systems, rather than diligently waiting for HURD to stabilise like they're supposed to. Tch.
Sorry, but what competitors to VB6 does the OSS community have?
PythonGTK is nice, but still nowhere near VB6 (look at the complexity of the runtimes). There is a few 'fringe' programs but to be honest you have to get much closer to the bone to do anything on Linux. Even Mono is still lacking true click and drag programming.
I'm not saying this is a bad thing, but there is some areas where Linux still is 'lacking' vs Microsoft/Apple/Sun/whoever, and of course it'll get fixed, but suggesting that people who built CRM suite in '97 would be better off now if they had chose a non-existent Linux/OSS solution is a bit silly.
IntechHosting - Free domain, 2GB, PHP, £4.95/$8.95
People are just being crybabies. All of the functionality that relies on java is new, and in my opinion non-core. Yes, they need to clean up the menu system so that choices that require java are greyed out if its not available, but 2.0 is worth it just for the ui enhancements and better filters.
Base is a lame Access knockoff that crashes all the time. It won't be stable until OOo 3. And why do we care if we can't use wizards, aren't we always lampooning MS for their endless "wizard to create xyz"?
What now we're mad cause someone used the best language available (to them) to produce some new features? I though FOSS was about choice, but I guess thats only if you pick the language that FOSS condones... You can pick anything as long as its lisp and emacs! Anyway, I'm not a java fanboy, I much prefer python or perl, but java does have its place and there are alot of coders who know it, so now we're saying you can't develop OSS in java.. that's a great stance to take.
Grow up, download the JRE, or don't whatever, I've been running the 2.0 beta since it was released without the JRE and I haven't missed anything, for what I need an office suite for it works great. To be true I did install the JRE to check out Base, but it sucks, and I ditched it after about 10 minutes.
I'm not disagreeing with you -- I have to say I wasn't even thinking in terms of market share (I have a business that doesn't have to worry about advertising, market share, or most of the marketing stuff most businesses have to face -- I am VERY lucky!). I was just thinking in terms of income. I could have saved a LOT of time by writing my software so it is all command line based, 100% open, and using something like Blackdown. But that would mean my customers wouldn't even use my service (and no, most of them don't have someone else to turn to). I directly improve their bottom line, but if they had to keep looking up references and using the command line, they'd drop it, or I'd spend hours a day on the phone for tech support (my clients hardly ever need to call me for tech support!).
I was thinking more along your point about ordinary customers. That's where, to me, it's not even a market share question. It's about whether anyone will buy or nobody at all. Yes, OOo can go for 100% open source, but I'm sure using Java for many functions saves months of programming time over C or C++, and lets them put out a better product.
Another point: Life is a process. Sun is talking about opening Java. The purists here are like people in PETA -- especially the ones that threw a fit and said the city of Fishkill should change its name because it had violent conotations, then later found out kill means stream, and that's where the "Kill" came from. These people are so full of anger and frustration, they have to take it out on others, so they hold everyone to a really stupid and high standard, so they can always criticize others for not meeting THEIR standards.
Open source is a process. Have any of these purists thought about what a BIG step it is that Sun is even considering open sourcing Java? It's a big step. It's not perfect, but it is a big move in the right direction. It won't get there overnight, so it is important to understand that it is more important to be a supportive part of the change than someone pissing and moaning because it's not exactly what they want -- instead of trying to help the process along.
Given that it's perfectly legal to implement a system like Kaffe, given that it exists, that it can be done if you absolutely must, what is the actual issue with using Java in Open Source projects? Lord knows there are _tons_ of FOSS projects written in Java out there...
If the issue is just the Sun license and the "non-official" status of projects like Kaffe, to that I just have to say, guys, get over yourself. If you don't like the Open Office folks writing functionality that depends on Java, write it in C or whatever your self and contribute it. Seriously.
As far as end users? They don't care what something is written in. They want something that works. To that end, placing yet another installation requirement in the chain isn't great, but at the same time, the vast majority of user installations ( including on Linux ) simply aren't complete without a working JVM anyway, so... what's the big deal again?
I've,
Built corporate infrastructure with Java for about ten years now. I've coded probably a million lines of Java in that time frame.
Except because of the most minor of Java changes on Sun's part I've never had to re-write anything.
My Java programs from ten years ago still run just fine.
Sun has many times declared many classes and methods as being obsolete, but they have never turned anything I use off so that I could no longer use it.
So go ahead, complain all you want, but there are people like me out there that are moving forward a lot faster because they use Java, and there are a lot of people moving slower because they cannot get past ideology.
It's fine by me, my children will eat well because of your ineptitude.
---- Go ahead, mod me down, I'll just post it again and you lose your mod points.
Read my post if you want to have a feel for how difficult it is to install Sun's JDK on FreeBSD. There are so many twists and turns here that when I reinstalled FreeBSD, I decided to install Kaffe instead to learn Java with (needed for future classes; language use not under my control).
This may be flamebait, but one of the main reasons why I haven't used OpenOffice on my computer is due to these Java dependencies. OpenOffice not only requires Java, but it specifically requires the Sun JDK. Some users may be asking me, "What's the problem?" The problem with that is that there is no binaries for the JDK for FreeBSD 5.x, and that I must agree to a very restrictive license in order to download the sources. Next, I can't compile the sources into a redistributable package (because Sun says so, meaning that for every FreeBSD machine that I have I must compile Java manually, nor give Java packages to others), and I can't even look at the sources without being tainted for life. Finally, the compilation takes an extremely long time to finish.
Don't get me wrong. I like what I've heard about OpenOffice. But as long as OpenOffice is encumbered with Java code that requires the Sun JDK, I'm not using it. How many of you know the BSD story when the BSD developers got tired of AT&T due to its licensing (for those of you who don't know, BSD was originally based on AT&T Unix) and started rewriting the "encumbered" portions of their operating system? It would be great if some developers would do the same with the Java portions in OpenOffice.
To elaborate further, I feel that Sun's handling of Java is a nuisance. Java may be a nice language, but as long as its only really complete implementation of it remains licensed the way that it is, I won't code any open source projects with the Java language, and Java is never going to be a primary open source development language. Why should the code that I write be tied to a non-free, restrictively licensed runtime environment that only runs on the platforms that Sun says that it should run on? Python, Ruby, and even Microsoft's own C# (in the form of Mono) isn't encumbered by such restrictive licensing. Sun's slogan for Java was "write once, run everywhere." Well, it depends on what Sun consists of "everywhere." Since the operating system that I choose to use is considered "nowhere" by Sun, well, I guess that Sun's JDK is going to be "nowhere" near my machines again, and for all of the projects that require this JDK, well, I'm sorry, but I'm not installing them, either.
Have any of these purists thought about what a BIG step it is that Sun is even considering open sourcing Java? It's a big step. It's not perfect, but it is a big move in the right direction. It won't get there overnight
Or it might not get there at all. Declining to integrate Java in opensource projects because it is not free enough seems to me like a good way to motivate Sun to make it more free. To blithely accept depenceny on it in opensource projects on the other hand sends the message that there is no problem with the current situation.
From the article:
By contrast, Red Hat and Fedora prefer to build OpenOffice.org with the GNU Compiler for Java (GCJ), which is not only a compiler, but also a free JRE. This was Red Hat's strategy with earlier versions of OpenOffice.org, and Red Hat engineers are attempting to continue it. Caolan Macnamara, a programmer at Red Hat, has reported limited success compiling earlier developer builds of version 2.0. However, GCJ is not yet a complete replacement for official releases of Java, and adding patches makes the strategy painstaking and laborious at best.
The usual response to anyone who wants anything included in a F/OSS project is "why dont you do it yourself? The developers do it to scratch their itch not yours"
The developers made a design decision for THEIR project. But oh no, thats no good because it's not what the F/OSS community wanted. Lets get this straight - its their project but they shouldnt use the language of their choice because others dont like it?
They're the developers, they decide what they do with it. Who are you to tell them what they should develop their own product in? So it doesnt conform to YOUR philosophy, so what? Sorry but this certainly smacks of zealotry. If you dont like it then fork it and create your own version of OOo.
Consider all those foolish companies who built infrastructure on VB6 now that Microsoft is cutting off support for that platform
Had they picked an open source platform it would be much less disruptive for their business.
The point you have raised - the ability of a company to drop support for a development language - has nothing to do with whether or not that language or platform is open source. Most organisations that use a development language aren't interested in being dumped with megabytes of source code if a language provider either stops development or goes out of business - open source doesn't help.
Java is so successful and popular for commercial development because it is multi-vendor. If you don't want to use Sun's VM and JDK you can use IBM's, or HP's, or BEA's, or TowerJ's, or even GJC. Not all are available on all OSes, but you have a choice, and you are not going to be left abandoned, like VB6 users.
The problem is that SUN can remove all distribution rights after this really catches on. Didn't we learn anything from mp3.com or that big community created CD database? If you want to use other peoples stuff, fine, but protect yourself, and make sure they can never take it back.
What?
OO.o 2.0 is already working on free JVMs. FC4 is shipping this, along with Eclipse, Tomcat, and a ton of other stuff. We've got jonas running as well, just not quite ready to ship.
"If something costs us 5 minutes now, or 5 hours later, they always choose to wait until later."
They're probably figuring that they won't be working for that company 5 hours from now. VB is a fantastic tool for creating problems for other people.
--
the strongest word is still the word "free"
Fork OO.o. The source is out there. Create a Free Software-correct fork of OO.o, call it "Free And Open Office" and go to town. Replace the database module with MySQL or PostgreSQL or whatever database you want. Hack out anything and everything that you don't like. F/OSS sees proprietariness as damage and routes around it.
Knowledge is power. Knowledge shared is power multiplied.
There is no Sun JRE for Linux PowerPC, or ARM, or FreeBSD, NetBSD, OpenBSD you name it. Distros have switched from XFree86 to X.org for less.
With all the developers bitching about Java and the fact that it's not free, and considering the fact that there is a massive base of Java users and developers that are friendly to the idea of a *nix system to be won over, they sure do seem to be dragging their feet at getting an up to date free JVM.
Java is one of those things that you CONSTANTLY see ppl in the free software camp bitching about. Why don't they bloody well put their heads together, through their weight behind one of the many free software projects out there that are working on the problem and clean-room reimplement the damn thing if it's such an issue?
Even if they couldn't make a free JVM and call it Java, they could still include it all the distributions configured to drive things like OOo. I can't imagine that an OpenOffice 2.0 Kaffe Edition (or whatever the JVM clone turns out to be called) would be such a big task if everyone stepped up to the plate where the JVM was concerned.
-1 Uncomfortable Truth
Heheh - I love that the acronym would become FOO.org. That ought to win over the geek crowd at least.
Servlet v2.4 container in a single 161KB jar file ? Try Winstone
They're trojans really, not viruses, as they do not spread themselves, usually they act as a vector for installing malware. The most common one takes advantage of a bytecode verifier bug in the MS JVM, which Sun allowed MS to patch in release 3012 (distributed as a critical update to Windows since about 2 years ago), despite being ordered by a court not to continue to release updates to their JVM.
There was a vulnerability with 1.4.2_04 (or maybe _05?) and earlier JVMs recently, but I have yet to see an exploit in the wild. People are probably becoming alarmed because their virus detection is picking up a "virus", since the exploit code was downloaded from a porn or warez site they visited, but if they are running an up to date JVM, then the exploit code was not executed, so its mere presence in the cache is not cause for concern in itself.