Hi Clay,

I co-founded the OpenEJB project two years ago and am actually preparing
another project to open source.

Running an open source project successfully is extremely difficult.  It's
identical to running a product-based software company, except most the
contributors aren't compensated financially.  This means you have to work
many times harder to get and keep good help, this also makes people less
professional and less reliable.  Your social skills will be challenged every
step of the way.  Most people who show interest in contributing, leave from
boredom.  The few who can earn commit privileges eventually leave because
they get too busy, usually leaving a large amount of unfinished, uncommented
code.  You'll need to find time to accommodate everyone and help those that
are trying to become a contributor, you are continuously investing time in
your community.  As the majority of development is done by you, all the time
you spend on your community means the actual software isn't going anywhere.
You need to balance both or the project is going to last.

The biggest challenge is keeping your project alive until it can reach that
critical ignition point where the project really takes root and finds a
strong user-base.  Then the game changes completely from what I've described
and suddenly you're faced with an entirely new set of challenges.  Now the
difficulty is getting people to contribute, it's dealing with all the
patches and traffic on your lists.  Before you had to be extremely clever
with every word you said, now you couldn't people go away if you wanted to.

Most projects never reach the ignition point, though.  The majority die
before then.  The biggest mistake made is opening the project too soon.  If
you can, delay announcing until you are close to the ignition point as
possible.  This means you have something, anything, that is useful to
people, works flawlessly from end to end, and is well documented so people
can get it and put it into use immediately.  Only then will people start to
use and become dependant on your software.

Sometimes the best thing for a project that opened too soon, is just to let
it die and pick it up again when you have enough time to get it working
perfectly in private, then open again.  Gimp was like this, the project died
for an entire year before it was picked up again.

To know when your project has reached the ignition point, ask yourself this
question, "If I stopped work on the project and walked away from it
completely, would it live or die?"  If it would die, then the answer is no.
Once an open source project has ignited, nobody can kill it, not even the
original creator.

Getting to the ignition point can take quite a long time and takes an
enormous amount of personal dedication, unless your funded by IBM or Sun, or
both.  OpenEJB has been around for two years and it hasn't gotten there yet.
JBoss, the open source EJB solution everyone has heard of, has been around
for the same and is already several months past the ignition point.
Although Marc and I don't get along personally, I'm happy to see them do so
well.  My new project will be heating things up in a month or two when it's
good enough to release.  I'm anxious to see what happens then.

A final thing to consider is license.  To be clear, GPL is _NOT_ Open
Source(sm).  The Open Source Initiative (Eric Raymond) and the Free Software
Foundation (Richard Stallman) are two opposed groups, they don't get along
too well.

Apache, FreeBSD, and Mozilla have true Open Source(sm) licenses.
Anything GNU is GPL free software, though the source is open, it's not an
Open Source(sm) approved license -- nor will it ever be as long as Richard
is alive.

The book "Open Sources" by O'Reilly and Associates, is the bible of open
source software.  A must read for anyone becoming seriously involved in Open
Source.

-David


> -----Original Message-----
> From: tclug-list-admin at mn-linux.org
> [mailto:tclug-list-admin at mn-linux.org]On Behalf Of Clay Fandre
> Sent: Friday, December 21, 2001 12:19 PM
> To: tclug-list
> Subject: [TCLUG] Getting started with an open source project
>
>
> I'm working for a "corporate" client that wants to start an
> open-source project, but lacks experience with open-source
> projects and isn't sure how they operate. To get a better idea of
> how the world of OSS works, they would like to "get their feet
> wet" by contributing to an existing project, and eventually
> starting their own. They have asked me to provide some
> "knowledge" and experience on how they can get started, since
> they know I run the TCLUG. Since I know some of you have
> contributed to projects more than I have, I am asking you. Does
> anyone have past experiences with OSS projects that you could
> share? Lessons learned?
>
> Thanks.
>
> -- Clay
> _______________________________________________
> Twin Cities Linux Users Group Mailing List - Minneapolis/St.
> Paul, Minnesota
> http://www.mn-linux.org
> tclug-list at mn-linux.org
> https://mailman.mn-linux.org/mailman/listinfo/tclug-list