What is a fork?

A fork is a form of software reuse.  I like your software module.  It meets some or many of my needs, but I need some additional features.

When I want to reuse existing functionality from another software product, I generally have four choices:

  1. If your module is nicely designed and extensible, then I might be able to simply use your code as-is and write new code to extend it.
  2. I can convince you to modify your module so it meets my needs.
  3. I can work with you in your open source project to make the module (“our” module in this case) meet our mutual needs.
  4. I can copy the source code of your module and change the code in my copy, and integrate that modified module into my product.

Note that options #1 and #2 are the only options available with most proprietary modules, since these techniques don’t require access to the module’s source code.  Options #3 and #4 are the additional options made possible by open source.  Option #4 is what we mean by “forking” .  Forking is enabled by open source software and is fundamental to open source ecosystems.  It is neither good nor bad.  It is a tool, part social, part technological, for overcoming an inability or unwillingness to collaborate.  The problem is not with forking.  The problem is the conditions that lead to forking.

Why do forks come about and how do they end?

Forks can come about for many reasons, including leadership conflicts, ideological differences and other political issues, as well as differences in vision and technical direction of the project.

Generally, a fork ends when the conditions that necessitated the formation of the fork have been resolved.  At least that is true for rational participants who are merely trying to optimize outcomes.  But intransigent ideological forks can continue indefinitely, and often do.

The technical side of ending a fork is typically a code merge, as different branches of the project are brought back together again.  This can be laborious, but it is a one-time task.

Ending the Symphony Fork

With the move of OpenOffice to Apache, this open source project has made the critical move from a corporate-led open source project under asymmetrical licensing terms, to a community-led open source project under a single permissive license.  This is a tremendous change and one that should lead all forks of OpenOffice,  and all those who wanted to get involved with OpenOffice before but never did,  to reexamine their orientation to the project.

John Maynard Keynes, when criticized for reversing his position in a dispute, famously quipped, “When the facts change, I change my opinion. What do you do, sir?”  The “facts” of OpenOffice have changed, with the move to Apache, and this change of venue has made a huge impact on the Symphony team, which recently announced that it was ending its fork and committing to contribute their code to Apache and to work with that community going forward.

This does not mean that Symphony enhancements are going away.  Far from it.   We’re very proud of the UI work and other innovations in performance, accessibility and interoperability we’ve brought to Symphony and we will be offering the source code of these enhancements to Apache, and if accepted, will work within that project to merge these changes into Apache OpenOffice.  The DNA of Symphony is not going away.  What is going away is Symphony as a fork, as a divided effort.  The Symphony DNA, the cool work the Symphony team has worked so hard on, will live on, in Apache OpenOffice, combined with other ongoing contributions from the community, in a larger, stronger development effort.

Now that the Symphony fork is ending, the obvious question is:    Who will be next?    If we can end a four-year old fork and merge in our work with Apache, then so much easier it should be for forks that have been around for far less time.  “When the facts change, I change my opinion.  What do you do, sir?”

If you are interested in learning more about the Apache OpenOffice project, I recommend browsing the project’s website and blog.  If you want to get involved, you can sign up for the ooo-dev mailing list and post a note to introduce yourself.  As we push closer to our 3.4 release candidate we’re in particular need of volunteers to help us test this release, on Windows, Mac or Linux.  If you are interested in helping with that, be sure to say so in your note.

TwitterIdenti.caDeliciousDiigoDiggEmailFacebookInstapaperLinkedInRedditSlashdotStumbleUponShare

{ 3 comments }

First release of the Apache ODF Toolkit

January 26, 2012

The Apache ODF Toolkit 0.5 (incubating) release is now available for download.  Detailed change notes are also posted.  The ODF Toolkit is a Java library for reading, writing and creating ODF documents.  It is entirely in Java and does not require that you install a desktop editor like OpenOffice.  It operates directly on the file [...]

2 comments Read the full article →

Shakespeare to Tim Tebow: Top Hourly Wikipedia Pages for 2011

December 19, 2011

I had grand plans.  This was supposed to be a cool looking visualization.  Over 2011 I downloaded nearly a terabyte of raw Wikipedia page access stats.  And recently I had a python script running for 3 weeks around the clock crunching the data.   This was going to be cool.  But I ran out of time [...]

0 comments Read the full article →

ODF 1.2: Approved as an OASIS Standard

September 30, 2011

To quote the immortal words of Otis B. Driftwood,  “Let joy be unconfined. Let there be dancing in the streets, drinking in the saloons, and necking in the parlor”. The day has finally arrived.  Open Document Format (ODF) 1.2 has been approved.  It is now an OASIS Standard. If you are regular reader of this [...]

18 comments Read the full article →

An Invitation to the Apache ODF Toolkit

August 15, 2011

Perhaps overlooked in all the excitement generated by the move of OpenOffice.org to Apache was the fact that a parallel move is occurring with the ODF Toolkit.  A few weeks ago we submitted a proposal to Apache to start a new project based on the Java components that were until then hosted by the ODF [...]

3 comments Read the full article →

ODF Plugfest, Berlin

August 9, 2011

I attended the 6th ODF Plugfest took place in Berlin a few weeks ago, hosted by the German Federal Ministry of the Interior (BMI) and the Ministry of Economics and Technology (BMWi).    It followed the pattern of previous events,  a two-day event,  with the first day dedicated to technical interop activities among implementors, followed [...]

2 comments Read the full article →

OpenOffice, LibreOffice and the Scarcity Fallacy

June 13, 2011

As you’ve probably heard, the proposal to move OpenOffice.org to the Apache Software Foundation was approved by a wide margin.  Volunteers interested in helping with this project continued to sign up, even during the 72-hour ballot, giving the project 87 members, as well as 8 experienced Apache  mentors, at the end of the vote.  The [...]

83 comments Read the full article →

Songs of the IBM

June 11, 2011

A few years ago there came into my possession a curious piece of IBM history, a thin paperback volume of 54 pages, privately printed, entitled “Songs of the IBM, 1937 Edition”.  The opening page lays out the context: For thirty-seven years, the gatherings and conventions of our IBM workers have expressed in happy songs the [...]

3 comments Read the full article →

Apache OpenOffice: How to Get Involved

June 3, 2011

A follow-up to my previous post on the  Apache Incubation proposal to move OpenOffice.org over to Apache and continue the project there.  In that post, I described how Apache projects are run via a meritocracy, that members gain additional rights and responsibilities based on the approval of their peers, etc.  But I have received a [...]

16 comments Read the full article →

An Invitation to Apache OpenOffice

June 1, 2011

As you have probably heard, Oracle has followed through with their earlier promise to “move OpenOffice.org to a purely community-based open source project.”  OpenOffice is moving to Apache. 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 and [...]

110 comments Read the full article →