Stuff Michael Meeks is doing

This is my (in)activity log. You might like to visit Collabora Productivity a subsidiary of Collabora focusing on LibreOffice support and services for whom I work. Also if you have the time to read this sort of stuff you could enlighten yourself by going to Unraveling Wittgenstein's net or if you are feeling objectionable perhaps here. Failing that, there are all manner of interesting things to read on the LibreOffice Planet news feed.

Older items: 2021: ( J F M A M J J A S O N D ), 2019, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html


IBM's Symphony code contribution

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.


My content in this blog and associated images / data under images/ and data/ directories are (usually) created by me and (unless obviously labelled otherwise) are licensed under the public domain, and/or if that doesn't float your boat a CC0 license. I encourage linking back (of course) to help people decide for themselves, in context, in the battle for ideas, and I love fixes / improvements / corrections by private mail.

In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Collabora, SUSE, Novell, The Document Foundation, Spaghetti Hurlers (International), or anyone else. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences or fun.

Michael Meeks (michael.meeks@collabora.com)

pyblosxom