An Invitation to Apache OpenOffice

By Rob Weir
robweir.com

June 1, 2011

As you have probably heard, Oracle has followed through with their earlier promise [ http://emeapressoffice.oracle.com/Press-Releases/Oracle-Announces-Its-Intention-to-Move-OpenOffice-org-to-a-Community-based-Project-1ca9.aspx ] to “move OpenOffice.org to a purely community-based open source project.”  OpenOffice is moving to Apache [ http://www.marketwire.com/press-release/statements-on-openofficeorg-contribution-to-apache-nasdaq-orcl-1521400.htm ].

I’d like to offer you my own thoughts on this new opportunity and what it means.  I recommend also the insights of my colleagues Ed Brill [ http://www.edbrill.com/ebrill/edbrill.nsf/dx/openoffice-moving-to-apache-good-news-for-the-desktop-productivity-market ] and Bob Sutor [ http://www.sutor.com/c/2011/06/some-remarks-on-openoffice-going-to-apache/ ].

First, we should all be excited to see OpenOffice move to a foundation with the stature and track-record of Apache.  If you are a web developer or server admin, then you of course know about the eponymous Apache [ http://httpd.apache.org/ ] http server and Tomcat [ http://tomcat.apache.org/ ].  If you are a developer you know about Ant [ http://ant.apache.org/ ], Maven [ http://maven.apache.org/ ] and Subversion [ http://subversion.apa ].   If you work with XML you know about Apache Xerces [ http://xerces.apache.org/ ], Xalan [ http://xalan.apache.org/ ], FOP [ http://xmlgraphics.apache.org/fop/ ] and Batik [ http://xmlgraphics.apache.org/batik/ ].   And if you don’t know about Apache Hadoop [ http://hadoop.apache.org/ ] yet, then please do your résumé a favor and study up on it.   All said Apache is custodian of nearly 170 open source projects, including 5 of the top 10 open source downloads.  I’m hoping that soon, as OpenOffice transitions to Apache, they will be able to claim 6 of the top 10!

These diverse projects are run according to meritocratic development process, a tried and tested governance model, strong shared technical infrastructure, a pragmatic, commercially-friendly open source license and a set of social conventions known as the “Apache Way”.

I’d point out in particular that the Apache 2.0 open source license was recently blessed by the Free Software Foundation [ http://www.fsf.org/blogs/licensing/new-license-recommendations-guide ]:

The Apache License 2.0 is the best non-copyleft license that does what a copyright license can to mitigate threats from software patents. It’s a well-established, mature license that users, developers, and distributors alike are all comfortable with. You can tell it’s important by the way that other free software licenses work to cooperate with it: the drafting processes for GPLv3 and the Mozilla Public License 2.0 named compatibility with the Apache License 2.0 as a goal from day one. The Apache Software Foundation deserves a lot of credit for pushing to do more to tackle software patents in a license, and implementing an effective strategy in the Apache License.

As you can tell, when it comes to Apache I’m a fan.   I’ve experienced much of this first-hand.  I was a committer in the Apache Xalan project many years ago (1999-2000).  It was a great experience then, and  when the opportunity came to add my name to the OpenOffice incubation proposal I did not hesitate.  It was an honor.   I look forward to coming back to Apache and participating in this continuation of OpenOffice.  I am planning on getting directly involved with the engineering effort of this project.

So what are the next steps?  As I understand it (and I’m not an Apache process expert), it is not accurate to say that “Apache OpenOffice” really exists yet.  We’re not quite there.  At Apache, you can’t just walk in off the street, drop some code and call yourself an Apache project.  There is a multi-step  process for initiating, reviewing and approving a new project.  We’re at the first step, with the proposal submission, which Oracle made earlier today.  This proposal will now be reviewed and voted on by the Apache Incubator Project Management Committee (PMC) over the next few days.  If approved, the project then advances into incubation as a “Podling”.  Incubation at Apache is a probationary stage, where the project recruits new members, reviews the code to establish IP provenance,  adapts the project to the Apache infrastructure,  and so on.   We’ll undergo periodic reviews, and at some point, when we are ready, we can then be approved to “graduate” to be a new top-level Apache project, ideally something like  http://openoffice.apache.org.  There is no fixed time for how long this incubation state takes, but I’m told it generally takes several months.  I don’t think we should rush it.  Everything that occurs during incubation is for the long-term benefit of the project, so I think we want to soak up the help and special attention from our Apache mentors as much as we can.   For more details on the process, I recommend the process diagram here [ http://incubator.apache.org/incubation/Process_Description.html ] and the associated process description.

The Apache process is based on a strong meritocracy. Developers who regularly provide high quality patches get elected as “Committers” and they then help review submitted patches as well as write their own code.  And those Committers who remain active and have earned the respect of their peers typically then get elected to the Project Management Committee (PMC) and steer the direction of the project.  And those who are most valued on the PMC may become the PMC Chair for their project, which also ranks them as an Apache Foundation Vice President.  And some then have the opportunity to serve on the Apache Board of Directors.   With this cursus honorum [ http://en.wikipedia.org/wiki/Cursus_honorum ], it is recommended that those with leadership ambitions get involved early.  When the Apache OpenOffice project begins, there will be project decisions to make and leadership roles to fill, and this will happen fast once we get started.   Obviously, you can’t advance in the meritocracy if you are absent.  Although, you can join anytime you want, there are clear advantages to “getting in on the ground floor”.

In particular, we need to attract a wide variety of project specialists.  This includes C++ programmers (on Linux, Mac and Windows), QA (also on all platforms), help/documentation, UI/UCD, translation/globalization, accessibility, install, etc.  Please keep your eyes open for an announcement from Apache in the next week or two, saying that the OpenOffice incubator project has been set up and is ready to accept members.

(I know that OpenOffice.org prided itself on a strong marketing committee as well.  I think this is important, but it is not clear to me yet how that fits into an Apache project.  Certainly this aspect is more critical to an end-user facing project like OpenOffice than it would be to a developer tool.  Maybe someone out there in Apache-land will be able to offer some suggestions on how best to integrate this function into an Apache project?)

An extraordinarily cool thing to look forward to, once Apache OpenOffice graduates to be a top-level project (TLP), is that we will be able to sponsor other incubation proposals that would be a good fit for OpenOffice.  So other components, plugins, toolkits, modules, even entire complementary productivity applications, could be brought into the project, via the incubation process, to help enhance the OpenOffice application suite.  Imagine having a mind maps editor?  Or a project planning tool?  Or a standalone outliner?  Or smaller, lighter, component-based editors?  All these things — and more — are possible.

I have a vision of a free, high quality productivity suite, one based on open standards and open source, one that doesn’t treat the web and mobile and tablet form factors as a design afterthought,  one that has a strong extensibility and programmability model that makes it the preferred platform for innovation, one that has a dedicated community of supporters.  I’ll need your help to get there.

Copyright 2011 http://creativecommons.org/licenses/by-nc-nd/3.0/