[sword-devel] An Outsider's Opinion, or How Bazaar Helped OpenLP Succeed
raoul at snyman.info
Wed Dec 19 13:20:32 MST 2012
Firstly, let me introduce myself. My name is Raoul Snyman and I am the
project leader of OpenLP, an open source church worship presentation
I have a keen interest in SWORD and its associated projects (I've
written a couple of lines of code for BibleTime), and I hang out in
#sword, #bibletime and #xiphos (I'm "superfly"). Other than that, I have
no bias to any of the projects or the people.
Via chatter in the various IRC channels, I was alerted to a recent
thread on this mailing list, and thought I'd give my experience with
using Subversion and Bazaar in my project, and how using a DVCS has
benefited my project.
I am in no way making claims that it will do the same for SWORD (or any
of the other projects), though I do personally believe that it will help
a lot. I am not trying to attack anyone either, nor point fingers or lay
blame. This is all my own personal experience and opinion, so YMMV,
IANAL, and all that jazz.
Way, way, back in the day, OpenLP was hosted on SourceForge.net and used
Subversion. In fact, initially we used CVS, but one kind soul migrated
us to Subversion before we started developing masochistic tendencies.
Back then we had a whole 1 developer... me.
Then, quite late in the game, another person popped onto the scene, and
offered to help. Unlike all the previous offers I had, this person
actually DID stay to help, and in order for him to actually be able to
help me, I had to either accept patches (ugh) or give him write access
to Subversion. So I did the latter.
Four years went by, and the total number of developers the project had
was at an all-time high of 2. Despite calls for more developers over and
over again, no one else stepped up to the plate. In retrospect it was
the combination of a few things: a proprietary development environment,
and proprietary platform, and (what seemed to be the biggest of all)
difficulty in collaborating and contributing.
Soon after the release of version 1.0 of OpenLP, a group of interested
parties got together in IRC and decided to dump the proprietary stuff
and move on to a proper open source development environment. This was a
great move as it instantly attracted about 5 or 6 new developers, but it
was not enough to encourage more casual contributors to work on the
code. Subversion access was still required for even the smallest code
A few months later another friend of mine introduced me to Bazaar, and
with it, Launchpad.net. Initially I resisted as I didn't see the
advantages, but eventually I let him manage the migration of the new
codebase to Bazaar and Launchpad.net.
Since that move about 4 years ago, we've been able to handle
contributions large and small from a much larger group of contributors
due to the fact that they can quickly and easily grab the code and work
on it (including committing and branching) by themselves. Often this
leads to bug fixes, features, and (in some cases) even architectural
changes being contributed back to the project.
Thanks to Launchpad's merge proposal system, developers can work on a
feature and then submit it back to the project for review before being
merged into trunk. This gives the core developers a chance to review the
code and ensure that only high quality code which aligns well with the
project goals is committed.
It still took us 4 years to reach version 2.0, but I can tell you
without a doubt that a number of features which are present in OpenLP
today would not be there if we didn't make use of a DVCS (VLC
integration springs to mind). It greatly reduced the barrier to
contribution to the project.
In my personal opinion, moving to a DVCS will only help SWORD, both in
terms of frustrations expressed by various parties, but also in
encouraging more people to collaborate and contribute to SWORD.
P.S. If you'd like to know more, please feel free to ask!
Raoul Snyman, B.Tech IT (Software Engineering)
e: raoul at snyman.info
More information about the sword-devel