[sword-devel] An Outsider's Opinion, or How Bazaar Helped OpenLP Succeed

Raoul Snyman raoul at snyman.info
Wed Dec 19 13:20:32 MST 2012


Hi guys,

Firstly, let me introduce myself. My name is Raoul Snyman and I am the 
project leader of OpenLP, an open source church worship presentation 
application.

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 
change.

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.

In Christ,

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 mailing list