Today IBM seems about
to deliver on their promise of opening up the Symphony codebase. That is a
good thing. It represents an important way-point, in the middle of a long
process.
A long journey
I recall well meeting Don Harbison at the OpenOffice conference in Koper
in 2005, and a memorable party during which I no doubt bored him to death by
re-iterating the importance of working with the community, in the open and
contributing your code. Then around April 2006, IBM Workplace 2.6
arrived: a proprietary product based on a version of the OpenOffice.org
1.x code-base. That was enabled by the non-copy-left SISSL license variant
the code was under at the time. Fast fowarding to September 2007,
Lotus Symphony appeared in beta, complete with an
interview "IBM joins OpenOffice to widen it's reach"
with Doug Heintzman, promising:
"IBM will dedicate a core team of 35 programmers in
China to the OpenOffice project, but more people will
be added as needed around the world, he said."
Around this time, we got some contributions of parts of the Symphony feature-set
thrown-over-the wall. Sadly these were mostly vs. an obsolete code base, and were
mostly not maintained or forward ported (though LibreOffice's current Lotus Word Pro
filter was rescued from that dump). At the time I confess I was eager for IBM
not to contribute anything towards propping up the fundamentally unjustly
managed and structured OpenOffice.org project, with which I'd become utterly
disillusioned.
As time passed, the waiting and suspense continued to build, in November 2008 at
OOoCon Beijing
I had the pleasure of meeting Michael Karasick, whose (keynote) gave an
apologetic score-card for this contribution, and promised "we will be contributing".
More time passed. By July 2011, the donation of the code was announced in
a press release
"IBM Donates Lotus Symphony Source Code to the Apache OpenOffice Project",
and still no code.
Then, this week Don Harbison announced that IBM have
signed a software grant agreement to the Apache project for the code, which is
planned to appear in svn as a single, flat, code dump. At last ! the code will be
read and the valuations independently assessed.
I have fond memories of working together with Doug, Michael & Don,
and I'm certain their commitments were sincerely given and meant on each
occasion. I suspect the primary cause of the delay is degrees of embarrassing
frustration inflicted by part of a corporate machine fearful of, and unused
to the transition costs of open, community based development.
Every day, open and engaged ...
Of course, it is great when code that has been proprietary and closed is finally
opened, and licensed in a way that LibreOffice can include it. While there is some sad
level of duplication vs. work done in LibreOffice, there are also some nice sounding
features that
should be useable for our next release as/when we have re-licensed.
On the other hand, one of the real pleasures of working in LibreOffice is the
collegial, interaction and co-operation with my much-appreciated
colleages from Red Hat, SUSE, Canonical, Lanedo, Google and the hundreds of
developers and other supporters that have contributed to the project since we
started ~eighteen months ago.
The credit these guys deserve, for their outstanding effort defies praise.
In my book what looks like the boring, every-day, long-haul work of open
interaction to achieve shared goals is worth immeasurably more. It may take
time to hammer out results that I don't always agree with, but it is good.
Playing well with the community seems to me to mean a lot more
than a one-off code-dump. It also means being willing to compromise and work
constructively with others of differing ideological viewpoints, encouraging
and motivating people to work together.
It means that companies should not horde their changes, to try to be
first to the market. There should be direct contribution of the totality of bug
fixes and improvements, as they are made, to an appropriate branch.
Unfortunately, licensing is a factor here too. The Apache license, by
providing you with the choice of when to release your code: "now ? later ? never ?"
creates an economic incentive to horde and create a saleable, proprietary
feature-edge. That in turn creates a disincentive for others to share. In
contrast, a weak copy-left license pushes people inevitably towards sharing,
working together, and a service & support based business model.
Hoping for good corporate citizens
So, what does this mean, if anything ? if this move signals a
genuine change of heart, towards working collaboratively with the developer
community in a sustained and non-proprietary fashion - releasing code
changes as they are made and working fully in the open, that is good news.
Of course, the most convincing way to make such a commitment
to work well as peers with the community, is to join with the existing
majority of the developers around the code-base, who are eager to work with
IBM as part of LibreOffice. Indeed, more than that - I (and I suspect others)
are anxious to make room for our friends from IBM: Peace, Love, LibreOffice !
However, that will inevitably mean making a few real compromises, working
in community always requires that. One would be formalizing that intention
to contribute well in the most convincing way: using the form of a
source-code-license like the MPLv2
or LGPLv3+
which codify such good behaviour. That helps to ensure timely,
collaborative code contribution from all players, protecting everyone
independent of scale. Is it hard to make such a binding commitment ?
Failing that the option of competing with that community, while
trying to build a track record from scratch as an enthusiastic believer in
open development, collaboration, compromise, working as an equal, etc. may prove
problematic. One canary here may be how this substantial code dump is treated.
Will it be split up into individual, digestible features & commits, which
can be merged individually into the existing Apache OpenOffice codebase.
Or will a single, big, un-documented code commit be attempted ?
A conclusion or two
It looks like IBM will release six+ years of work by their
development team; that is a good thing, it will be interesting to see what
their sharp team has been up to over that time. Opening previously proprietary
software is almost always a good thing, and it may provide our users with
some improvements in due course.
In this historical context actions speak much louder than words,
but are much harder to extrapolate into the future. Will we see a
positive, constructive engagement moving forwards ? the best sign of that
would be positive interaction with, compromise and re-unification with
the vast majority of developers. An ongoing sadness for me is the lack
of even contemplation of that.
Still, in the meantime the LibreOffice community is having fun preparing
for it's 3.6 freeze with steady hacking progress; a prototype new
feature page is in the process of getting built, though I
suspect completing that will need to wait for some last minute
features to get pushed. It's a great place to have fun, make a
difference and get involved with Free Software, why not try an
Easy
Hack today ? every little helps.