May 16, 2005

Free Software Foundation and team up to escape Java trap

Author: Bruce Byfield

A dispute between the Free Software Foundation (FSF) and
(OOo) over the increased use of Java in the upcoming version 2.0 release of
OOo is over -- at least for now. The two groups have found a
short-term solution, and are working together on ways to keep the dispute from
happening again.

This a cautionary tale about the problems created by the growing complexity
and size of the free and open source software (FOSS) communities -- and proof
that the spirit of cooperation on which the communities were founded can still
be relied upon -- at least most of the time.

Falling into the Java trap

The dispute arose because of the number of features that require Java in the version 2.0 beta. First reported in early March in a
on Newsforge, the news provoked enough response to justify
another article
that explained that the increased dependency on Java was decided upon chiefly for practical
reasons, why others objected, and how major distributions planned to deal with
the issue. This article provoked even greater response than the original review. It, in turn, lead to a
third article
by Christian Engfeldt, in which Simon Phipps, Chief Technology Evangelist at Sun
Microsystems, defended the increased Java dependency.

Meanwhile, in early April, Richard Stallman became aware of the situation. Stallman had
warned earlier
of what he calls "the Java trap":

If your program is free software, it is basically ethical -- but there is a trap you
must be on guard for. Your program, though in itself free, may be restricted by
non-free software that it depends on. Since the problem is most
prominent today for Java programs, we call it the Java Trap.

On May 6th, the Free Sofware Foundation posted a call for volunteers (since changed) to help maintain
a Java-free version of The call resulted in a
fourth article
by Steven J. Vaughan-Nichols that assumed that a fork in
was about to happen.

Vaughan-Nichols was far from the only one to make this assumption. Judging from some of the
responses to all these articles, in some circles it would have been a popular move. And, in fact,
Stallman was originally considering a fork as a possibility. In a telephone interview, Stallman said
his first thought was, "Let's rewrite that code in OpenOffice that is dependent
on Sun's Java platform."

Some advocates greeted the announcement with cautious welcome.
John McCreesh, OOo Co-Marketing Lead, noted that a still-debated
marketing plan
recommended the division of OOo into separate brands and added, "It's great to see
the FSF picking it up." Similarly, Sam Hiser, former Marketing Lead,
said, "It's a healthy development for the code. There's little doubt that
the Java in OOo is a proprietary dependency -- which in the long run can bite a project in
the bottom."

Others were less certain. Louis Suarez-Potts, Community Manager,
expressed surprise at the move, noting that nobody at the Free Software Foundation
had contacted him about any problems before the announcement. While aware of
Stallman's article on the Java trap, Suarez-Potts apparently thought the announcement
an over-reaction. "A fork to satisfy an ideology seems... well, there are better things to do,
no?" he asked.

With these differences in perception, in the first week in May, the stage seemed set for
the fork to go ahead.

Reasons for the dispute

The dispute is complicated by the fact that activists in the Free Software Foundation
and the Project talk in almost entirely different terms.

Within the OOo Project, Sun Microsystems, which released the project's code in 2000
and still provides most of its developers, is regarded, with some exceptions, as a community benefactor.
By contrast, free software advocates view Sun -- and, by extension, --
with suspicion, largely because Sun has a history of alternately supporting and damning
free and open source software (FOSS). For instance, while CEO Scott McNealy
has called Sun a "heavy contributor" to open source and claimed that
Sun invented it,
president Jonathan Schwartz has heavily
the GNU General Public Licence. Although this inconsistency could be interpreted as an
effort to steer a middle path between proprietary and FOSS software, or as an internal difference of
opinion at Sun, more often the
community has seen it as evidence of duplicity and untrustworthiness.

"Nobody ever believed
Sun was a friend to the free and open source communities," was the first comment posted to
Newsforge's previous article
on the subject. Another comment suggested that the new version of was designed to
"push" Java, and that the company then planned to "...exert some kind of 'intellectual property'
influence at some later point and extract license fees."

For its part, the project seems to consistently underestimate its own size and the extent of its influence. Louis
Suarez-Potts, for example, stresses that the decision to use Java was "public and sought to include stakeholders."
A quick search through the OOo mailing lists proves that he is correct. Yet Scott Carr, one of the most active OOo volunteers,
who subscribes to many of the lists and "probably receives 1500 e-mails a day" in his mail reader, says he
originally missed the discussion.

Perhaps, Carr says, "I was subscribed to the wrong lists for an overview." Just as
likely, the OOo project has become too large for any single member, let alone an outsider, to be aware of everything that
is happening with it. What seems like consensus may only be agreement among those who know a
discussion is taking place -- not among all those with an interest, even within the project.

Looking at dependencies, not just licenses

The division we're seeing here lies in different interpretations of software freedom.
While many leaders define FOSS entirely in terms of the license,
free software advocates also look at dependencies. Suarez-Potts, for example,
notes that
the database behind OOo's new Base application, has a licence derived from BSD,
and is hosted on SourceForge. "The fact that it is written in Java does not make
the source closed or proprietary," Suarez-Potts says flatly. Moreover, OOo as a whole
"...remains open source. Open source and free software mean the source
is open for any user, in brief, to see, copy, distribute, improve. Run
it, too. The source of OOo is open and will remain so."

From this perspective, the definition of software freedom is either-or: Either a piece
of software is free, or it isn't.

By contast, free software advocates see a third possibility: Software that is free in
itself, but that requires non-free software to be fully operational. In describing the
Java trap, Stallman writes;

If some of a program's dependencies are non-free, this means that all or part of the program is
unable to run in an entirely free system -- it is unusable in the Free World. Sure, we could
redistribute the program and have copies on our machines, but that's not much good if it
won't run. That program is free software, but it is effectively shackled by its non-free dependencies.

To free software advocates, this third possibility is only marginally better -- if at all -- than non-free software.
Yet, because many activists apparently do not perceive a third possibility, earlier attempts to
discuss the situation on the project mailing lists resulted in mutual puzzlement. When Stallman first posted
his call for volunteers, the initial responses seemed to offer no better chance for a solution.

Finding a solution

Credit for starting a dialogue goes to Scott Carr. A long-time volunteer, Carr is
currently Documentation and QA Co-Lead, and has been involved in several other aspects
of the project, including the production of WordPerfect filters. Carr explains that he makes a habit
of reading the comments to articles about Some of the comments to Vaughan-Nichol's
article were "kind of nasty," he thought. Seeing no immediate response from, he e-mailed Richard
Stallman unofficially "just to get the ball started," ccing Louis Suarez-Potts.

Echoing many of the comments that Suarez-Potts and others were making privately,
Carr wrote that the project would welcome contributions from the Free Software Foundation, and
defended Sun's record. "Let me know how I can help to foster a better relationship between OOo
Community and FSF," he concluded, "I'd love to see everyone working on OOo itself to
make a better product instead of branching off multiple forks."

In the few days since the call for volunteers, Stallman has learned that efforts to compile using the GNU Compiler for Java (GCJ) were close to success, and has amended
the call to a request
for help in continuing this work. He replied to Carr that:

What we need is a way to distribute a version of OpenOffice that we can
count on not to encourage people to use any non-free programs. If the
developers of OpenOffice want to maintain their version with this
policy, that would be ideal. Until recently I assumed that they did
maintain it this way, but it appears they don't: with the current
policies, any release of OpenOffice might depend on a non-free program
merely because that was the fastest way to implement something

The FSF, Stallman explained, did not have a preference for other programming languages
over Java. It simply wanted assurance that any Java code would be compatible with free
implementations of Java. After discussion options with Carr, he suggested that the Free
Software Foundation would concentrate on expanding the GCJ efforts. Carr also
suggested that the FSF become involved not just with OOo programming, but also
quality assurance, and report as a bug any features that did not run with free versions
of Java. Carr also volunteered to participate in such testing himself and to get an official response
from the Project Leads and developers.

That response is apparently still forthcoming. However, the unofficial agreement has been strongly
welcomed by leaders. "There really is no need of any
adversarial situation," Suarez-Potts writes. "What we are doing now... is to clarify how
OOo uses Java, why, and how the FSF community can help extend OOo's flexibility." Similarly, after talking to Scott Carr,
Vaughan-Nichols wrote a
in which he suggested that what remained to do was largely a matter of programming.

Outstanding issues

While sounding cautiously optimistic, Stallman is less certain. "We're making some progress," he says. "There's a possibility that
we might be able to cooperate with the OOo developers." While pleased that the immediate issue
has been resolved, Stallman remains cautious about the idea of reporting features incompatible with
free versions of Java as bugs:

I think that's not reliable by itself. Obviously whenever somebody decides to, they
can make mistakes and someone else is going to have to notice the mistakes and
report them. But that's not the way to get this done reliably. To get this done reliably,
the other developers are going to have to be thinking about this. There has to
be a stated policy that they shouldn't fail to try to get it to work [with free java].
We need a policy decision by the OO developers.

Together with the bug reports, Stallman believes, a policy statement "will solve the problem
fairly reliably. Since Suarez-Potts explains that the Project already has a list of
about the use of Java code, this policy seems possible in theory. However, whether
the OOo Project will amend its policy remains to be seen.

Another area that Stallman has yet to discuss with is documentation. "That is,"
he explains, "Does it come with instructions telling you to get the Java interpreter from Sun?
We certainly don't want people to use something that tells them not to use a free Java platform."
This issue does not appear to be a problem with the
draft installation documentation
for version 2.0, or the
draft User Guide,
neither of which mentions Java at all. However, the on-line help and
the Installation FAQ
do refer directly to Sun Java, so clearly some editing would be required.

Stallman is also considering other alternatives. Getting to use GCJ in
its official builds, making official FSF packages using the code, and getting
FSF programmers involved with OOo development are all possibilities. New programmers,
comments from Suarez-Potts suggest, might be especially welcome by

Whatever solutions are eventually implemented, Stallman is adamant that they must be found.
While seeming relieved that a fork now seems unnecessary, Stallman says:

I want to resolve the problem in any way that will work. It's largely a matter of how much
they're willing to work with us on this. We have to do this. We have to get this
problem solved. It's simply not acceptable the way things are... That would be the best thing
for the community, if they were willing to work with us.

Given some of the hostility to the larger community within, as well as Stallman's
determination, deciding on the solutions and implementing them could still create problems.
For now, though, at least the two sides are talking and trying to cooperate
-- and free software advocates will get a version of they can install
without pangs of conscience.

Bruce Byfield is a freelance course designer and instructor and
a technical journalist. He is also a regular contributor to Newsforge,
ITMJ and


  • Free Software
Click Here!