OpenOffice 2.0 Criticized on Use of Java
karvind writes "Yahoo is running a story on how OpenOffice 2.0 Faces Opposition over Its Use of Java. According the article: "The problem, according to some free software voices, is that OO.o relies too much on Sun Microsystems Inc.'s proprietary Java programming language in an open-source project. In particular, free software advocates are objecting to the use of Sun specific Java code for such OO.o 2.0 features as the new, Microsoft Access-like database management program, Base and Writer's (OO.o's word processor) document wizards." Linus Torvalds also moved to an open-source solution for software configuration management system."
Hey ASSHOLES, the current Java source code can be downloaded here, and the latest development version can be downloaded here. And if that's not enough for you, your precious Kaffe, gcj, GNU Classpath, and other "Open Source" projects are working on reimplementing the JVM. I don't particularly care if you like Java or not, but I've had enough of this bullshit about Java being open or not. It's a God damn language/platform with thousands of successful Open Source projects under it, and has been opened up six ways to sunday. Comparing the issue to Linus's predicament is disingenuous at best, is not outright dishonest!
Not to mention that OpenOffice is Sun's baby. They PAID MONEY FOR IT. (I know that's a foreign concept here, since the entire fraking world is supposed to be FREE for the fraking taking.) If you don't like the direction OpenOffice has taken, then go play with KOffice. Oh wait, you alreay pissed them off too. Is there anyone you people won't make an enemy of in your Quixotic quests of stupidity?
Apologies for the abrasiveness of this post, but crap like this deserves it. You've been given a gift and all you can do is look it in the mouth.
Javascript + Nintendo DSi = DSiCade
If someone could explain how this relates to OO.o's use of Java, I'd appreciate it :P Otherwise I'll just assume the submitter is trying to be a little more sensational about things.
Java works, and works well. However, I can see the point about OpenOffice being totally *free.* However, Since OpenOffice is essentially StarOffice, which, if I am not mistaken, comes from SUN, why not use it?
I'm not a troll, but I play one on Slashdot.
The Stallman viewpoint is here under The Java Trap. Interesting.
While I agree with him on his, "Everyone needs to be slowly dragged out of the not-free-as-in-beer arena, one finds it tough to imagine that rewriting these basic data-interaction Java classes is going to be easy to get done. The Access mirroring probably requires extensive use of this kind of API, and err.... Not the most glamorous of tasks... Since SUN's stuff is currently Free- As-In-Parking, one might think that getting people to do the redevelopment might be tough to motivate until really necessary.
A lot of parallels between this situation and the BitKeeper one, but rather than it being a third party tool it's a completely integrated API. One might think that this could be a problem in the future larger than the BitKeeper problem, were Sun to take a completely weird turn on things.... Suddenly needing to mirror an API's functionality - especially one as big as the entirety of the JVM's data-processing infrastructure.
So it seems Stallman has a very good point here. Can you imagine trying to, say, re-implement DirectX if Microsoft suddenly wasn't going to let you code using it? I don't know if this is a comparable task, but it's the only thing I can think of in my terms....
My little site.
Sun buys StarOffice, and spins up a free version of it for the "community." They decide to use some of their own technology (Java) in this program. So what?
Sun controls OpenOffice/StarOffice, and Sun controls Java. Both have been opened more than your typical commercial holding. What's the problem?
Comment removed based on user account deletion
well, assuming that Java _does_ run everywhere, which of course, we know it doesn't. Or doesn't run _well_... like on HP-UX.
But anyway...
What better language should they pick? VB? csh? Perl? Python? Mono? Java has relatively point-n-click installers for many popular OSes, has a remarkable amount of functionality, and will smooth their development wrinkles because of its universality. Remember, this is a desktop app, it needs to largely 'just work' from an installation perspective, you don't want Joe Windows User going to ActiveState and getting some Perl package, or needing some cygwin-esque environment to run Python or something else.
I want to delete my account but Slashdot doesn't allow it.
Because it depends on undocumented "features" that are only available in the sun JRE, which is THE PROBLEM THE ARTICLE IS ABOUT. Wasn't this exactly what sun (quite rightly) criticised MS for doing with java?
I am trolling
Python which is slow, has a much smaller user base and far less consistent and well-documented standard library?
Perl whose readability for many coders is next to nothing?
C++ because we all know that more buffer overflows and random craziness is what OpenOffice needs to compete with Microsoft Office?
C# since 93-95% of the desktop users out there use Windows, why bother with the minority of others? (I actually quite like C# and am hopeful about Mono)
Ruby because a language that most coders have never even seen before is clearly the best way for a fresh start?
Objective-C because when Steve Jobs takes over the world, we'll need to be on his good side?
C, since objects really are overrated for anything that normal developers might want to maintain?
So seriously, of all of the major language choices, which would be better?
Click here or a puppy gets stomped!
Believe it or not, but OO2 relying so heavily on Java is a problem, as Java is not free software.
Now all the name calling that is currently going on here will not change this simple fact and all this "I don't give a f*** as long as it works" won't change the fact that java not being free software poses a problem.
Look for example at Debian, or Fedora, or Ubuntu, they all ship without Java because of licensing problems. Having one of the most important apps for desktop linux rely heavily on Java sure poses a problem for these distributions and their users.
That said, I get the feeling that something good will eventually come off this situation, as said distributions (and especiall RedHat) are now working even harder on providing a true free Java environment and make OO2 run with it.
As someone who prefers free software and someone who runs linux on non-x86 (ppc, therefor no current Java + firefox plugin available) I can only welcome this development.
It's like saying that Linus is going to patent Linux and stop everyone from using it for free. That's simply not going to happen. I think we're pretty safe in going with Java, certainly safer and more cross-platform-compatible than the C#/DOTNET thing Microsoft is foisting on the world.
So Java's not open source; who cares. Out in the real world, no one cares whether Java is open source or not. Anyone can quickly obtain it with a couple of mouse clicks. If it enhances the functionality of OOo then why not use it?
The only worrisome thing is if Microsoft were to buy Sun and start slowly tightening the screws on Java. That would be awful and disastrous, but it's highly unlikely to occur given past history of anti-trust suits and such.
Now, what I'm really keen on is a version of OOo for PalmOS. That would be sweet. Why doesn't Sun cook that up while they're at it. Of course then they'll have to create a JVM for PalmOS as well. Also, we'll need Ghostscript, ghostview, xpdf, and a few other goodies to round out the Palm offerings. But with 600Mh processors, gigabyte-plus storage, and larger RAM, how hard can all this be to achieve?
it's = "it is"; its = possessive. E.g., it's flapping its wings.
We need the ability to moderate the articles themselves. Myself, I'd give the article a -1, Redundant (covered before, as you mention), -1, Troll (for trying to get people unnecessarily spun up), and -1, Flamebait (for name dropping Linus in a conversation that has nothing to do with him).
Rule #1 -- Politics always trumps technology.
It doesn't do any good to have open source software if it requires a closed source VM to run. You're still at the mercy of whoever controls the VM. If they decide to pull your license (as Sun did to FreeBSD) then you're no longer allowed to use your own software. You can't build Free Software on a non-Free foundation.
There's no point in questioning authority if you aren't going to listen to the answers.
-- from the article --
Still others have suggested that instead of using an open-source Java, these components be rewritten in an entirely different language such as Ruby or Python.
However, some programmers have just gone ahead and found fixes for OO.o, which enables it to run with GCJ.
Caolán McNamara, a programmer with Red Hat who specializes in word processing, has created one such set of fixes.
A source at Sun said, "OO.o 2 works OK with GCJ" and that "Red Hat has been tremendously helpful in the effort to make that so, filing bug reports etc."
In addition, while OO.o will run without a JVM (Java Virtual Machine), it will use one if it's available, and its performance has been found to be much better if Sun's 5.0 JVM is used.
But, as Scott Carr, OO.o's quality assurance project co-lead pointed out, "OO.o will run perfectly well without any JVM, but if there is a JVM then it has to do checks to make sure what features are supported in the JVM as well as run various functions. These are only run in the presence of a JVM."
-- end FTA --
So... if there is a JVM, [something] runs better/faster than if there wasn't. For starters, the app works without Java. Secondly, it's been fixed to compile with an open-source Java compiler. Thirdly, what kind of code runs this way? The article didn't specify.
How odd.
Regardless, this is still a big deal about nothing, as per usual.
-Rob
Marriage doesn't have to suck!
Not Java. Fork Open Office. Write the whole thing in Lisp if you wish. If yours is the better deal, the world will beat a path to your door.
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
Because it depends on undocumented "features" that are only available in the sun JRE, which is THE PROBLEM THE ARTICLE IS ABOUT. Wasn't this exactly what sun (quite rightly) criticised MS for doing with java?
Read RMS's The Java Trap. He isn't complaining about undocumented features, he was complaining about using features that haven't been implemented in a 'free' version of Java yet. In essence, he's complaining that GNU Classpath isn't developing fast enough (although he would never word it that way). Once GNU Classpath catches up to Sun (if it happens), then Open Office will work just fine with it.
And this wasn't what Sun was criticizing MS for. MS was adding very well documented (and thoughtful) features to Java. New features like delegates. Sun just didn't want to loose control of Java. They didn't say no one should advance Java past version 1.1. They said only Sun should make changes to the language.
It seems that people are getting upset at looking at the imports in the code without realizing that THEY ARE NEVER USED!!! Again, I refer you to the blog entry, but for those of you too lazy:
This gcj request asks for the addition of java.awt.Frame.createBufferStrategy which is all that is missing from gcj to build the java canvas stuff. (Though the canvas module contains a pile of spurious imports of sun.awt which are unnecessary and can be removed, not that there's much point right now, if a createBufferStrategy becomes available then removing the sun.awt from the canvas/java .javas is all that's outstanding)
Nothing to see here, just move along. More jumping the gun rather than investigating things to completion.
Who is John Galt?
I notice that Richard Stallman is calling for volunteers instead of just doing it. Typical.
That's a pretty lame comment, given how much code RMS has actually written and given away over the years.
Stallman is also a maniac who refused to give a speech on his views to the SIGLinux (LUG at the University of Texas) because we were using the name "Linux" and not "GNU/Linux." He doesn't know where to pick his fights and often ends up embroiled in petty feuds over things largely tangential to his main cause. His solutions are often overly idealistic and impractical, i.e. moving everyone who uses Java off of Java.
Java code, in itself, is not bad. There is a need for a good, compile-once-run-anywhere format, and it seems Java has become the standard for this. Lots of people know how to code Java (in large part due to Sun's involvement in college curriculum,) and this is important, because when writing a piece of software, you want a large pool of knowledgable programmers to choose from. Lots of people know Java, and if Java fits your needs, you're gonna use it.
Java also makes perfect sense for the kind of stuff OO.o is using it for: basically "plug-in" features not central to the usage of OO.o, but still very useful. This is useful because of the large number of platforms supported by OO.o, they can just release an update to the java code and it will more or less run the same on every platform they support.
I think in the *nix arena, Java is more useful for application code because of the wide variety of OSes. Java VMs exist for pretty much every known architecture, and they were mostly written by the standards makers for Java (Sun) so they're gonna work pretty much the same. This involves a lot of trust in Sun, but it takes trust in some sort of standards-making body to unify any disjoint architectures. In any case, I trust Sun to start a project like this and stick with it over the years more than I do Stallman and the Free Software goblins.
The BitKeeper issue is different entirely; it was a commercial product being offered for free, with the possibility that it could be yanked out from under them at any time. There should have been background work on an eventual replacement for BitKeeper well before anything happened. Why is this different from the Java example? Because the OS kernel is totally different and there was no alternative. If Sun were to suddenly make Java pay-to-use, the programs could, for the most part, be rewritten in C++ with minimal effort (most of the work could be done in 15 minutes by a Lisp program.)
I don't see anywhere in the article that indicates they're using undocumented internal com.sun.* classes. The problem seems to be that some key functionality in OpenOffice is implemented with Java, and that Java itself is not free.
;)
;)
Whether they say it in the article or not, it happens to be the case. Here is a post by the main Kaffe developer about it. I quote:
>import sun.security.provider.*;
>import sun.security.provider.SystemIdentity;
>import sun.security.provider.SystemSigner;
Not implemented and most probably won't be. These are
the JDK 1.1 undocumented (actually sun mentions them
in an example in the java security architecture paper,
but explicitely recommends staying away from it) key
management apis. Sun has deprecated the corresponding
classes in java.security with java 1.2, and uses
different key management facilities. Open office
developers should know better, as they are supposed to
be using java 1.3, right?
[lots of other imports of sun.* and sunw.* classes]
Anyone using sun.* classes doesn't _want_ to be
portable accross VM releases/implementations. Someone
(either the open office developers, or the debian
developers wanting to build open office using free
software) should clean up the sun.* mess. I wouldn't
want to implement sun.* classes just to suit someone
else's bad programming style, and I don't know anyone
who does
Funny, this isn't as far fetched as it seems.
Replacements are already there, e.g. koffice, but they could do with more developers and users. So we point out the problems with OOo in the hope more people will come and use them and code for them, in the same way the OSS movement as a whole points out the problems with closed source software like windows.
I am trolling
If the first "O" in OpenOffice stands for "Open", then having to rely on a particular company's implementation of Java is not a good thing. Look at the various Java apps written for Microsoft's version of Java, or webpages of the past that relied on vendor-specific extensions for examples of why that's not a good thing.
Any time a particular implementation that is *not* free (as in speech) becomes a defacto standard, everyone becomes tied to the whims of that vendor's implementation. True, Sun probably won't do anything drastic, but there's still a very real possibility that they won't see eye-to-eye with the OOo developer community on some random issue somewhere down the line.
I would rather have the fallout from such a situation be that Sun was left without the ability to force the developers into a move they didn't like, rather than having the developers be forced to fork and re-engineer the whole shebang or start over from scratch. That much work shouldn't get pissed away over something like that.
Again, that's a possibility, not a certainty, but why take chances?
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
More like...
"Would you speak to my group? We have a product we call 'Foomaster,' and we used a development approach you advocate to develop it."
"Only if you change the name of your product to Stallman-is-great:Foomaster."
"uhhh... no thanks. (maniac.)"
E pluribus unum
The message you quote is from 1 Jul 2002, nearly 3 years ago. Do you have any current indication that com.sun.* classes are still in use?
The reality is that 99% of C# programmers only care about windows. Where as 99% of Java programmers could care less what platform they use.
If you want to be correct the entire distro is the OS, and they should be called "linux kernal based or GNU/linux based whateverdistro 1.45923x".
Add to that the fact that anyone who disagrees with him is considered to have a moral defect and you have one grade A, USDA choice mainiac.Free Mac Mini Yeah, it's
The JVM is a specification that may be implemented on different platforms as people are so inclined.
"Opening Java" will do nothing to address the problem of missing JVMs directly because the fundamental issue is one of demand. If you really need a JVM for your favorite toy OS, then start a project to build one.
What about platforms where Sun does not provide a JVM? Those people will never be able to tun the full OOo, and the more Java used, the less they will be able to use. Will it eventually be zero?
You simply use a JVM from someone else. Use Apple's VM, or IBM's, or HP's, or BEA's.
Although Sun largely controls Java, it is by no means the only supplier of Java.
I can't believe I'm replying to an AC, but AMEN BROTHER!
I have yet to meet a single programmer who works with mono "for pay". I would wager that 99.999999% of programmers who are getting payed to write C# are getting payed to write C# under windows. Can you say the same about Java? The Java projects I see are fairly well distributed between straight VM plays on windows or linux, or bundled into a platform like Oracle or Websphere. There is a lot of platform diversity in the Java arena, nearly none in the C# world AFAICT.
apt-get install redhat please god - Me (take it easy, I love Debian)
Indeed, the problem is big. Some BSDs don't have java, linux ppc users either. Right now Java's "portability" is a joke with Sun's VM, even if it was free as in speech.
That's why GNU classpath & GCJ is important. It will provide us with a free (as in speech & beer) java VM for those who doesn't want to use Sun's VM (linux users, basically). Redhat is putting lots programmers & money behind of GCJ and collaborating with tons of community-based projects - they really want a free java. In fact, Redhat has some people hacking on GCJ to support openoffice's java features.
Actually, GCJ 4 is one of the GCC 4.0 greatest features, here is an article about why it's so great. They've achieved almost all Java 1.4 important features and there's work ongoing to support 1.5.
And GCJ does support, in fact, MORE architectures and operative systems than Sun's propietary offerings - yes, more. It's what will make java truly palataform-independent. GCJ is part of GCC, so it supports the platforms that gcc supports - much more than Sun's VM or other propietary VMs
GCJ can compile java code for the platforms supported by GCC - way more than Sun's offerings or other propietary VMs.
Red Hat is paying people to support OOo 2.0 with GCJ. And GCJ 4.0 is already quite good...
From TFA:
So, no. It will never be zero, and it's currently 100% usable without a JVM.
Doug
If that is true, then why is there any reason to use Java at all? Convert to C++, gain huge speed increase, retain cross-platform compatibility with a simple recompile. Either Java is unneccesary or the conversion is more complex than you make it out to be. In the latter case, the "Java Trap" is very real, indeed, and very dangerous.
Well, let's see... OK, so what you're asking for is that Sun should write a standard for a slimmed-down version of Java, just for PDAs? Say, we could call it Java 2 Micro Edition? And maybe you'd want that standard to be implemented on PocketPC machines?
Wait, it gets better. You can also find a full java implementation (Java 1.3) for iPAQ.
If you want something in between, there's also PersonalJava. It has more features than J2ME, but fewer than a full java. It's nearing end of life though, I'm not sure what will come out to replace it.
There are JVMs for PDAs and cell phones and yes, PocketPC too. They are a very good way of getting your software to run on many portable devices. The only downside is that your code will run slower than something hand-crafted for a particular type of device.