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.
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 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.
And let's not get started on IDEs...
the confusion surrounding Java on Windows, thanks to the MS VM supporting only v1.3.
I could be wrong, but I believe that MS's Java support (while it existed) only extended as far as v1.1.3, not v1.3. Of course, that's because they lost the court case to Sun, not because they couldn't or wouldn't support a newer version.
For us Windows devs, no one uses Java anymore
That's because traditionally, with a few notable exceptions, client-side Java apps suck. They're clunky, slow, and they look like arse. That's getting better, but it's almost certainly too little, too late. I do Java development on the server side, and I'm learning C#/.NET in order to do Windows client-side dev work (just scratching an itch). I'm not about to ditch Java, I just believe in using the right tool for the job. Now, it's arguable whether or not C# is the right tool, but experience tells me that Java isn't.
It's official. Most of you are morons.
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 .NET-based or native code.
.NET has meant that a significant number of VB developers have migrated to Java. If you are migrating, it might as well be to something portable!
This may well be true for you, but it is not true in general. A quick search of Job sites shows that there is a considerable amount of new Java development on Windows, even client-side. There is also a lot of J2EE deployment on Windows servers.
The lack of a straightforward migration path from VB6 to
Linux already has basically everything you need to build packages that way. The key thing is that Linux already has a way to specify where to find libraries relative to the binary that is trying to load them. Most people who build software for Linux don't know this and stupidly build hard-coded paths into executables and make you change your /etc/ld.so.conf to include
every directory on the planet, but in
reality this is a total waste of time
since $ORIGIN is available and
makes this issue totally go away.
Basically, $ORIGIN works like this: when you build the binary and link against the libraries it need, you can put something like -z origin -rpath '$ORIGIN/../lib' on the ld command line. (Note that the dollar sign is quoted and is intended to go into the executable file unchanged.) This means if the binary in /usr/local/foo/bin/foo
and it wishes to find libfoo.so,
one of the places that the runtime linker
(ld-linux.so) will look when it
tries to load libraries is /usr/local/foo/bin/../lib,
which equates to /usr/local/foo/lib. Presto,
it finds libfoo.so and everyone
is happy, and nobody had to set
LD_LIBRARY_PATH or modify /etc/ld.so.conf.
This means you can, if you want, distributed software that all goes into a directory, and that the directory can be put into any location you wish without any configuration changes needed to run it.
As a matter of fact, even if your goal isn't to distributed a package with all its dependencies bundled in, it still should be the default to use $ORIGIN. If you are building binaries to distribute and your install process require the user to use ldconfig or modify LD_LIBRARY_PATH, you should consider the build broken.
"Although it's true that functionality is important, at what cost?" .net are Java shops. This non issue will not slow down deployment one bit.
Simple. Every and all costs. I program that is not "functional" is useless.
" Corporate adoption may be slowed, as OO.o isn't a completely "free, fully functional" product anymore."
I guess you are right here. I mean so many companies worry about using Java. I mean it is not like java is "free as in beer". Guess what? A huge number of corporations already use Java for internal development. Those that are not tied to VB or
This is yet another religion war that really means next to nothing. It is right up there with the GNU/Linux fight and BSD vs GPL.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
And your point is well-taken, but the beef of this argument is with the corporate sector who have serious licensing issues to consider before they even evaluate some alternative application (much less an alternative desktop platform).
For personal users, this is likely a non-issue. For those involved in the creation and maintenance of distributions, or those looking to advise a switch to an alternative corporate office suite, this debate is quite important. It's not a matter of paying up for software that isn't free. It's a matter of how the free software movement should cope with having a flagship application not being completely free.
http://jeffkrimmel.com
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.
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.
So people use Java when releasing applications for multiple platforms. What's the big deal? The JRE costs nothing to companies anyways.
.NET to program if you can't get the windows and controls to work on MONO on linux?? GTK runs on Linux and Windows but no Mac support without installing X11. Installing X11 might be a pain for most Mac users, let alone that adds another step and requirement on the Mac side.
Why use
Why do people dislike Java so much? Is it because it takes to much RAM when using Eclipse to program or NetBeans??? Is it because it's not easy enough for people to program?? What the hell??
Java it's free, IDEs for development are free, it runs on Macs, Linux, BSD, Unix, Windows, etc, etc, etc... My point is... WTF??? It's like we say in spanish "peladito y a la boca" can't be any easier to develop for multpiple platforms having all the tools.
I say people are just ging nuts over peanuts.
Your multiplatform programing are belong to us... get it??
Have a good one.
===== "Every head is a different world so don't invade mine you FREAK!" smartSAGA said
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.
Yes, but OpenOffice.org isn't aiming for a spot on the server (where Java is entrenched), it's trying to upset MS Office on the desktop, and that's an entirely different situation.
Say what you want, but a large percentage of the folks that are gutsy enough to be rolling out OpenOffice.org are doing so at least in part because they are Free Software advocates. In short, they are pushing OpenOffice.org for ethical reasons, and not for practical reasons. After all, a switch of that magnitude is definitely a risk. Lot's of folks are willing to take a risk on Free Software that they would not be willing to take for "inexpensive" software.
Sun is just being stupid on this front. Java has already fragmented into several mostly compatible forks. IBM has their own JVM, as does Apple, Oracle, Borland, and there are a wide range of Free Software Java-alike systems. Heck, Red Hat and the Debian team are hard at work turning GCJ into a useable (if not completely compatible) system. Already one of the most popular desktop Java applications is IBM's Eclipse, and Eclipse uses the non-pure-Java SWT toolkit instead of Swing.
Sun is losing control of Java, and the best way to reign in the various Java offshoots is to release Sun's JVM under a Free Software license. Freeing Java would completely kill all of the non-Sun Java toolkits, and it would give Sun the Free Software allies it needs to compete against Microsoft's .NET. Heck, right now Mono is doing a better job of enticing Free Software advocates than Sun is.
I like the concept of LyX, but the implementation has some serious drawbacks, IMO. I couldn't get it to produce good PDF output, and the widgets are bizarre and don't behave the way I expect.
[...] until recently it seems to me that the (UNIX-centric, remember) FOSS community abhorred the very concept of "word processors." Why would you bother making a dumbed-down, WYSIWYG,...
Scribus is a possible counterexample, although it's really meant as a graphic design and page layout program rather than as a word processor.
when a text editor, markup language (Troff, TeX, DocBook, etc.), and postprocessor is easier [...] and better?
Well, TeX does have some big advantages:
it's free, and not tied to unfree software like Java;
its implementation is of very high quality;
it does a better job of mathematical typesetting than any free or nonfree software in existence;
it has a big, healthy, friendly, helpful user community.
Find free books.
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.
Besides a nicer UI, I have not found anything that VS and Vim does not, while I have found a lot of things Vim does which VS does not. This is Vim, which is simple and lean. If you go for Emacs, it also has a web browser, e-mail and news reader, Eliza and the kitchen sink.
Once you learn the Vim keybindings, it is *much* more productive to use for programming than Visual Studio. Your hands never have to leave the keyboard and there are loads of mnemonics. Just make sure you get a special reinforced Escape key.
It's not the JVM so much (though the OSS versions are a bit lacking there). It's the class libraries. Java has a very large and functional set of class libraries. If they're not available Java by itself is not terribly interesting. GNU has the GNU Classpath project which has been muddling along for a long time to recreate all of these libraries.
The problem is that SUN can remove all distribution rights after this really catches on
And if they did this I am sure IBM would be more than happy to step in and let their VM be used in its place.
You have a choice of compliant JVMs. This is a good thing.
Irritable, left-wing and possibly humorous bumper stickers and t-shirts