On 20/09/2007, Eric Lease Morgan <emorgan@...> wrote:
> How does one go about building a community around open source
> software such as MyLibrary:
> While I am extraordinarily biased, I think MyLibrary supports a lot
> of functionality. The home page is complete with bunch's o'
> documentation, sample scripts, descriptive text outlining what
> MyLibrary is (and is not), mailing list administratativia, links to
> sample applications and production-level applications, etc. The whole
> thing lives on top of WordPress.
> I try to emphasize that MyLibrary is NOT an application as much as it
> is digital library framework and toolbox. MyLibrary is about
> creating *relationships* between the three primary entities of
> libraries: 1) information resources, 2) librarians, and 3) patrons.
> It does this through the management of an institution-defined
> controlled vocabulary of facets and terms. By classifying resources,
> librarians, and patrons with facet/term combinations MyLibrary can
> address things like:
> * As a librarian, my collection includes...
> * As a patron, my databases are...
> * People like me also use...
> * Other resources like this include...
> * If you use this, then you might like...
> * As a patron, my librarian is...
> * As a librarian, my patrons are...
> * Resources for my class include...
> Through the blog and the mailing list I can facilitate communication
> but what other techniques can I use to build a community around the
> applications? Workshops? Demonstrations? Articles in journals? Maybe
> I could sponsor a contest. $2,500 to the coolest application written
> against the modules?
> What is your experience?
> Eric Lease Morgan
> University Libraries of Notre Dame
If you want a good read, Steven Weber's "The Success of Open Source"
(2004) looks at the open source development process from microeconomic
and macroeconomic perspectives and dissects many of the standard
arguments about why people participate in open source projects. I'm
about half-way through it so far, and quite enjoying it.
However, my uninformed knee-jerk and somewhat redundant reaction is:
1) The contest probably won't work. I've seen it tried by various
large companies to try and build participation around a newly released
open source product (Apache Derby and Ingres come to mind); a few
people show up to try to claim the prize by building a cool
application that uses the product, there's a tiny bit of "buzz" at the
announcement & award phases, but it doesn't get people on board.
2) Are you trying to build a community of users who will use your
project as-is or a community of developers? There is some cross-over,
of course, with user-developers, but at a gross level you're either
trying to tell people that 99% of the hard work is done and they just
have to stitch a few lines of code together to build some amazing
applications, or you're trying to tell people that you have an
interesting project with lots of opportunities for challenging &
2) a) How does the code look, btw? If it's a tangled undocumented
spaghetti mess, that can turn potential developer / contributors off.
2) b) What's the pace of development? Is there an easily accessible
ChangeLog showing that the project is lively (even if it's currently a
2) c) Who else is using this project? It's a chicken or egg thing, but
having testimonials or pointers to other people who are doing
something with the project helps reassure others who come sniffing
around that the barrier to entry isn't too high and that the resulting
product actually works.
2) d) Where are the mailing lists / IRC channel / other modes of
communication? How active and responsive is the current community to
newcomers? Mailing lists that you have to sign up for an account
before searching the archives will turn off many newcomers (again,
it's about the barrier to entry, as trivial as that might be); links
to mailing list archives that don't work (check your link to the "old"
mailing list archive, Eric!) are also a bit of a red flag.
2) e) Why isn't the MyLibrary blog part of the planet.code4lib.org
aggregator? Ask the nice people on #code4lib and ye shall receive!
3) Most importantly: tell us why should we bother investing our
limited spare time in this of all of the potential projects we could
participate in or build ourselves. It takes a long time to learn how
to use and contribute to a project; there needs to be a pretty
compelling case to draw users or developers to a particular project.
What are the killer apps that MyLibrary enable you to build, and how
does it make that easier / more flexible / more scalable / more
something than the alternatives? Defining the right niche(s) for
MyLibrary might be the key; if the statement is that "it can be all
things to all people" then you're likely to get few people that
respond to that message.
If it's any consolation, you're not alone in trying to build a
community of users and/or developers. And from what I've seen (in the
MyLibrary docs and on the MyLibrary site) you're heading in the right
Evergreen, for example, had some major community-building milestones
after going live last year - having someone outside of Georgia
successfully build and install Evergreen independently, loading data
into a system, getting patches contributed from outside the core
development team, getting a second library system to commit to
adopting Evergreen, stripping the PINES-specific branding from the
default catalog interfaces, adding a new committer to the development
team - all of those milestones reassure potential adopters or
contributors to the project that the project is accessible to and
supportive of newcomers, and willing to nurture potential new
The horribly named fac-back-opac project managed to garner some
interest because, I think, it staked out a fairly clear niche: this is
a toolset that will give you a faceting catalogue suitable for a
backup to your primary catalogue, or as an experimental alternative
interface for your primary catalogue. There were some clear areas for
people to contribute from the outset ("how-to" info and code for
importing data from other library systems) and at least one other
person who was working from the same codebase I started from was
willing to join the project to try and avoid having to solve the same
problems as he worked on pushing the code outside of its experimental
/ alternative niche towards a production catalogue.
Interestingly, proprietary products go through the same battle for
user and developer mindshare. Talis, for example, did cartwheels when
Ross did some work with the Talis Platform and blogged about it
because, until then, they could blog and present as much as they liked
about their product but there was no concrete evidence that it was
actually useful to anyone (and they're _very_ guilty of staking out
the "all things to everyone" marketing message). Ross provided a use
case for the product that gave others a way of understanding it at a
practical level. As an aside, it might have been a mistake for Talis
to hire Ross, because an independent developer using a product is
arguably a much more valuable asset to a marketing campaign than a
kept developer. But I'm veering wildly away from oss4lib territory,