Java fallout: OpenOffice.org 2.0 and the FOSS community
2005.03.28 7:00
Bruce Byfield
http://software.newsforge.com/article.pl?sid=05/03/22/204244
Several new features of the recently released OpenOffice.org 2.0 beta
require a Java Runtime Environment (JRE). Since Java's license is neither
free nor open source, a small but vocal minority has responded both
strongly and negatively. For instance, when NewsForge recently published a
review of the beta, no other feature attracted as much comment. Some
groups, including members of the major GNU/Linux distributions, most of
whom repackage OpenOffice.org (OOo), have responded by looking for
alternatives, often while cursing the project for the extra work it has
dumped on them. How did OpenOffice.org come to rely on Java? What problems
is it likely to cause? How are GNU/Linux distributions reacting to this
change in a key piece of software?
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.
What has changed?
To understand the issues, it is important to know exactly what
functionality depends on Java. As of version 1.1.4, the features that
required a JRE were:
* Accessibility tools, such as the Gnopernicus Screen Reader and
Magnifier and the GNOME On-Screen Keyboard
* The Report Autopilot
* JDBC driver support for Java-based databases
* XSLT filters
* BeanShell, the Netbeans scripting language, and the Java UNO bridge
* Export filters to the Aportis.doc (.pdb) format for the Palm or
Pocket Word (.psw) format for the Pocket PC
While some OpenOffice.org members expressed concern about Java being used
at all, most accepted the argument that these features did not affect core
functionality, and were of interest to only a small minority of users.
OpenOffice.org leaders are still making this argument about version 2.0.
However, in version 2.0, the dependence on Java has grown. In addition to
the Java-dependent features in earlier versions, 2.0 requires a JRE for:
* Base, the new Access-like database application
* The media player, which adds movie and sound clips to documents
* Mail merges to e-mail, which also require Java Mail
* All document wizards in Writer
Although some could argue that basic office functionality continues to be
unaffected, anyone claiming that most users do not need Java in 2.0 may be
stretching the point.
For anyone trying to run the beta without Java, the claim becomes even
more strained. Even when version 2.0 is not linked to a JRE, tools that
require one are still available on the menu and the only way to know which
they are is to try them. When non-Java users do try them, they see an
inconsistent variety of warnings. Attempt to build a new database without
Java and watch the dialog window close with no explanation. Try to do a
mail merge to email and learn that the task requires Java Mail from the
standard window rather than a pop-up dialog. Worst of all, select Tools >
Macro > Run Macro, and you'll see a warning dialog pop up 16 times before
you can continue. Aside from showing that OpenOffice.org badly needs
common interface standards for features, these examples strongly suggest
that 2.0 was designed with the expectation that most users would enable
Java.
Why did OpenOffice.org choose Java?
For many, the observation that Sun Microsystems, the former owner of the
OpenOffice.org code and the employer of many OOo's programmers, also owns
Java is all the explanation they need for OpenOffice.org's new dependence
on Java. Although conspiracy theories abound, more considered criticism
suggests that OpenOffice.org is simply predisposed to accept Java
solutions because of its connection with Sun. And, even though
contributors make their own decisions about what programming language they
use, it does seem likely that their habits from other projects would spill
over into their OpenOffice.org work in the absence of a specific directive
to the contrary.
OpenOffice.org leaders, however, explain the decision in terms of
convenience and technical merits. Most of the explanation focuses on Base,
the new database application that adds an Access-like interface to HSQLDB,
an existing Java database.
Daniel Carrera, community contributor representative on the OpenOffice.org
Community Council, says that Base HSQLDB "is the fastest and most
feature-complete database available that could be integrated given the
very limited resources we have." He adds that OpenOffice.org's C++ core
was not altered by the introduction of Base. As a result, Base can easily
be replaced later.
Frank Schönheit, a Sun employee who is also the leader of the database
project, goes into more detail. "This decision was not because HSQLDB is
written in Java," he says, "However, HSQLDB also didn't get penalty points
just because of being Java" during planning.
Yet, at the same time, Schönheit defends the use of Java, arguing:
* Java allows more rapid development of components for OpenOffice.org,
without struggling with the complexity of OpenOffice.org's C++
build environment.
* Java is mature enough to use for complex tasks.
* To address a common prejudice, Java isn't slow by definition, but
Java makes it easy to develop poorly performing code, so developers
perhaps need more self-discipline when writing Java code. However,
this isn't per se a point against Java.
These merits were apparently strong enough for the database team to ignore
its own requirement that the new database be open source. Schönheit notes
that OpenOffice.org programmers "are not too concerned about Java being
open source or not." Although they would prefer to use code written in C++
over that written in Java -- even if the C++ code was only slightly worse
-- they will still use Java if it seems the better solution. "And
sometimes, Schönheit adds, "this simply means that there is a Java
developer who can spend time on a project, and no C++ developer who can."
In the end, Schönheit writes, the important thing is that "OpenOffice.org
2.0 will come with its own database.... That, to us, outnumbers most, if
not all, arguments we've heard so far against Java. In this sense,
functionality is what matters."
What are the objections to using Java?
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. Objections to Java tend to be based less on technical
merits than on FOSS philosophy on the one hand and the possible
consequences for the future of OpenOffice.org on the other.
One of the few technical arguments against OpenOffice.org's use of Java is
that it undermines the project's goal to be a cross-platform office suite.
Many operating systems currently supported, including FreeBSD and
GNU/Linux for the PowerPC, have no official version of Java. Those who
wish to use OOo 2.0 on such platforms must use GNU/Linux emulation or work
with an often incomplete free Java implementation. Either way, the new
requirement places new pressures on the already overworked teams of
OpenOffice.org volunteers working on these ports.
Other arguments against using Java focus on the possible consequences for
OpenOffice.org itself. Marco Fioretti, journalist and OpenOffice.org
volunteer, worries that the increased dependency on Java may destroy the
project's credibility, thereby slowing its adaptation. When asked to
explain misgivings hinted at on the OOo Discuss list, Fioretti says the
abrupt move toward Java undermines claims that OpenOffice.org is a mature
platform. Fioretti also points out that, in jurisdictions where
requirements for government use require openness, OpenOffice.org may no
longer qualify. Corporate managers or lawmakers, Fioretti worries, may
conclude that project members "are incompetents who produced
OpenOffice.org by pure accident" and wonder, "Can I trust them?"
Just as importantly, the dependence on Java threatens OpenOffice.org's
credibility with the rest of the FOSS community. Several anonymous
commentators on NewsForge's recent review of the version 2.0 expressed
doubts about continuing to use OpenOffice.org. "Maybe I should stop
promoting it," one anonymous poster wrote. Several others wished that
alternatives such as KOffice, AbiWord, and Gnumeric would develop faster
so that they could become full replacements for OpenOffice.org.
Among FOSS contributors, the reaction was much the same. The responses on
the debian-openoffice.org, the mailing list for those involved with
integrating OpenOffice.org into the Debian distribution, are typical of
ones in other pockets of the community. Anders Breindahl, for example,
writes, "I find it increasingly worrying that Sun to some extent considers
Java to be okay for a free office suite.... I think this makes
OpenOffice.org less optimal for the Free Software community." Similarly,
in the same discussion, Sam Hiser, the former marketing lead for
OpenOffice.org, characterized the change as a "challenge" that the FOSS
community must answer with other software that's more compatible with its
philosophy.
Such comments suggest that little if any dialog is ocurring between those
who decided to use Java and those who object to the decision. Each camp
has a focus that is different from the other's. To date, neither seems to
have responded to the other side's concerns.
How distributions are responding
The range of possible reactions can already be seen in the responses of
leading GNU/Linux distributions. For some, possibly most distributions, it
is a non-issue. Slackware does not redistribute OpenOffice.org, and,
according to developer Patrick Volkerding, has no interest in doing so. As
for the commercial distributions, Michael Meeks, a Novell engineer, notes
that SUSE ships with Java already. In the same vein, Mandrake CTO
Frédéric Lepied says, "Our download edition will stay free and our
commercial edition is bundled with Java."
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.
Other distributions are awaiting developments with GCJ. Paul de Vrieze, a
member of Gentoo's OpenOffice.org team, writes that Gentoo would prefer to
use a free implementation of Java such as GCJ, adding that the
distribution might decide to build with Java if no other alternative
existed. By contrast, Ubuntu would ship with a disabled version if a free
build was unavailable. "Ubuntu is committed to the principles of open
source development," Matt Zimmerman, Ubuntu project head, writes, "and
will not include software in our official distribution which does not meet
our licensing guidelines."
At Debian, Chris Hall and René Engelhard, the maintainers for
OpenOffice.org packages, are also working with GCJ and following
developments. According to Engelhard, they face an added difficulty
because the latest version of GCJ and the libgcc1 library are currently in
only the unofficial Experimental distribution of Debian. To include
OpenOffice.org 2.0 in Debian Unstable, the distribution into which new
packages are initially placed, the two maintainers might have to disable
all Java-based functionality, as they did for earlier versions. Since Java
does not meet the Debian Free Software Guidelines' definition of free
software, these are the only options available for including
OpenOffice.org in Debian at all.
Conclusion
Overall, reactions seem to split along the open source and free software
divide. As Richard Stallman is constantly pointing out, although the two
communities can be grouped together for many purposes, their basic
orientations are quite different.
Open source advocates support communal development in the belief that it
produces superior software to proprietary methods. Free software
supporters, however, are chiefly concerned with their philosophical
position, and are willing to undergo some inconvenience to stay true to
their principles. Broadly speaking, the defenders of OpenOffice.org's new
reliance on Java, with their emphasis on results and user convenience, can
be lumped into the open source camp. They see the decision as a practical
one. In some cases, they are unconcerned whether the decision clashes with
principles.
By contrast, the resistance to the reliance on Java tends to come from
supporters of the free software position. This camp is actively looking
for alternatives, both to Java and to OpenOffice.org. Rather than rely on
Java, many members of the free software camp will consider shipping a
disabled version of OpenOffice.org. They see the decision as irresponsible
and, in extreme cases, as a betrayal.
How these differences in perspective will play out remains uncertain.
Among some, they have awakened not just the usual mistrust of Sun
Microsystems, OpenOffice.org's main contributor, but a distrust of
OpenOffice.org itself. Allowed to continue, in the long term, the lack of
communication among the parties could inhibit the spread of OpenOffice.org
through lack of cooperation. In fact, given that OpenOffice.org helps to
position GNU/Linux and other free operating systems as desktop
alternatives, the spread of FOSS in general could be inhibited. Another
possibility is one or more forks in the projects, although nobody is
prepared yet to go that far.
Meanwhile, no one is talking to anyone else in terms that everybody can
understand. The entire community is poorer for it.
Bruce Byfield is a freelance course designer and instructor and a
technical journalist.
--
--[Manny [EMAIL PROTECTED]
Member: Philippine League for Democratic Telecommunications
"Affordable Access for All"
PGP Key ID 3E7F7C68 from keyserver pgp.mit.edu
--[Open Minds Philippines]--------------------[openminds.linux.org.ph]--
--
Philippine Linux Users' Group (PLUG) Mailing List
[email protected] (#PLUG @ irc.free.net.ph)
Official Website: http://plug.linux.org.ph
Searchable Archives: http://marc.free.net.ph
.
To leave, go to http://lists.q-linux.com/mailman/listinfo/plug
.
Are you a Linux newbie? To join the newbie list, go to
http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie