Fork Well: It Could Be The Last, Best Hope for Community

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2009/04/24/fork-well.html

I have faced with much trepidation the news of Oracle’s looming purchase
of Sun. Oracle has never shown any interest in community development,
particularly in the database area. They are the largest proprietary
database vendor on the planet, and they probably have very simple plans
for MySQL: kill it.

That’s why I read with relief
this
post by Monty (co-founder of the MySQL project) this week
, wherein
Monty plans (and encourages others, too) to put their full force behind
a MySQL “fork” that will be centered outside of Oracle.

Monty is undoubtedly correct when he says I don’t think that anyone
can own an open source project; the projects are defined by the de-facto
project leaders and the developers that are working on the project.

and that [w]ith Oracle now owning MySQL, I think that the need for an
independent true Open Source entity for MySQL is even bigger than ever
before.

I don’t find the root of this problem in that one company has sold
itself to another, pursuant to the the greater glory of the
Ferengi
Rules of Acquisition
. Instead, I think the error is that projects
inside Sun did not have a non-profit entity to shepherd them. When a
single for-profit company is in control of a project’s copyrights, its
trademarks, and employs nearly all its core developers, there is a gross
imbalance. The community around the project isn’t healthy, and can
easily be disrupted by the winds of corporate change, which blow in
service of the only goal of for-profit existence: higher profits.

I encourage Monty, as well as core developers of VirtualBox,
OpenOffice, OpenSolaris, Sun’s Java, and any other project that is
currently under the full control of Sun (or indeed any other for-profit
corporation) to think about this idea. Non-profits, particularly
501(c)(3)’s, are fundamentally different than for-profits. They exist
to serve a community or a constituency and the public good, never
profit. Therefore, the health of the codebase, the diversity of the
developer and user community, and the advancement of software freedom
can be the clear mission of a non-profit that houses a FLOSS project. A
non-profit ensures that while corporate funding comes and goes, the
mission of the project and its institutional embodiment stay stable.
For example, just like shareholders have a duty to fire a CEO when he
fails to make enough profit (i.e., the for-profit company is not
reaching its maximal goal), boards of directors and/or memberships of
non-profits must fire the President and/or Executive Director when they
fail to serve the community well. Instead of the “profit
motive”, 501(c)(3)’s have the “community motive”.

Yet, the challenge of focusing on such goals remains difficult for
projects that did not spawn from a community to start. GNU and Linux
were both started by individual developers that built strong communities
before there was any for-profit corporate interest in the software.
When a project started inside a company with profit in mind, shoehorning
community principles into the project can rarely succeed. I believe
that a community must usually evolve from the ashes of some incident
that wakes everyone up to realize the project will come to harm due to
strict adherence to the profit motive.

I should probably remind everyone that I’m not opposed to capitalism
per se. Indeed, I’ve often fought on the other side of this equation
when licenses (such as MySQL’s own very early pre-GPL license) permit
noncommercial use but prohibit commercial use. I believe that
commercial and non-commercial activity with the code should be
equally permitted in a non-discriminatory way. However, the center of
gravity for developers, where the copyrights and trademarks live, and
how core work on the codebase is funded are all orthogonal questions to
the question of the software’s license.

My experience has anecdotally taught me that FLOSS communities function
best when the following two things are true: (a) the codebase is held
neutrally, either in the hands of the individual developers who wrote
the code, or in a 501(c)(3) non-profit, and (b) not too many core
developers share the same employer. I believe that reaching that state
should be Job One of any for-profit seeking to build a FLOSS community.
Sadly, this type of community health is often at direct odds with
the traditional capitalist thinking of for-profit shareholders.
I’m thus not surprised when FLOSS community managers in for-profit
companies can only do so much. The rest is really up to the community
of developers to fork and demand that a non-profit or other neutral and
diverse developer-controlled management team exist. Attempts at this,
sadly, fail much more often than they succeed.

Monty’s post likely had more hope in it than this one. Monty didn’t
jump to my conclusion that Oracle will kill MySQL; Monty considers it
also possible that Oracle might sell MySQL or (and here’s the
possibility I really doubt) that Oracle will change into a
community-driven FLOSS company. I love Monty’s optimism in even
considering this possible. I honestly hope my pragmatism about this is
shown to be sheer pessimism. In the meantime, focusing on the MySQL
forks and pressuring Oracle to engage the FLOSS community in a genuine
way is the best strategy no matter what outcome you think is most
likely.

Update (on 17 May 2009):
Monty announced
an industry consortium
that will seek to be a neutral space for
MySQL development. I tend to prefer charitable non-profits to trade
associations, but better the latter than hoping for Oracle to do the
right thing.