Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've been involved in helping out doing support for an open source project for a year or two now, and the project has gained a lot of popularity since I started. The program sees more than 100,000 downloads per week, and is used by more than 60% of people in its primary field, so we're obviously delighted that people have enjoyed using it so much.

However, the problem is that the development and support base has not grown nearly as fast, and we're starting to hit some growing pains. The small handful of developers (the main developer in particular) are getting stretched pretty thin, and the tech support volunteers are starting to get burned out.

Thus far, it has pretty much just been a bunch of dudes hanging out on IRC, writing this program and helping users. There's no 501(c)(3) organization or LLC or anything like that.

Right now, we don't have a very formal bug tracker or issue database (we do have a forum with a category dedicated to bug reports), which I do admit is something that we could improve to get more developers on board. But I suppose my real question is, how does one make the transition from small personal project to a real...thing? How have the big boys like GIMP, FFmpeg, Blender, etc. handled this transition?

And on top of this, is there a way to offer compensation with a FOSS project? I suppose donations help, but that only goes so far...it seems strange to make a living off of free software, but if the program is going to continue to get better, I don't see how we can continue without compensating people for full time work.

Basically, we're having some growing pains, and feeling "too big for our britches." What can we do to manage this transition and not get burnt out on doing too many things at once?

share|improve this question
7  
first things first get a proper bug tracker up and running, no open source will ever survive without unless the core team is very good. Also ensure the direction of the features are clear and doesn't creep away on you. –  ratchet freak Aug 11 at 22:43
4  
If you don't mind me asking, what is the project? –  Robert Harvey Aug 11 at 22:52
2  
I'm hesitant to name the project, partially because it's a little scary going out there and telling people "Hey, we're not really sure what we're doing, and we need help!" Also, I didn't want this post to come off as an advertisement for help with the project. I'm sure that some cursory internet sleuthing would reveal it, though. :/ –  Ben Torell Aug 12 at 6:16

2 Answers 2

up vote 13 down vote accepted

The stage your project is at is really exciting and crucial, it's very easy to crash and burn (out) but it's also where you can make some crucial decisions that, if everything works, will help ensure long term viability.

Here are some suggestions.

  • Read Karl Fogel's great book Producing Open Source Software. He covers most of the major immediate issues. Although I don't agree with everything he says, that's just opinion. He totally understands the open source world.

  • As @Ross Patterson said, you must absolutely set up a tracker and a mailing list or something similar in order to avoid total chaos. What are you using for version control? If you are on github you can start with their tracker or you can integrate with Jira or something similar or if you want you can go to SourceForge for now and use their free infrastructure. You don't say where people are downloading from but you want to make sure you have that set up in a reliable manner and with good download counting.

  • There is no reason that you can't earn a living on free software if that's what you want, lots of people do it, but it takes a lot of different forms. You need to decide how you want to do that before making major organizational decisions. For example, you can and should probably set up a corporation to hold the trademark and copyrights which will also provide some legal protection if ever needed. However then you will need a president or treasurer. What kind of organization it should be (non profit or for profit, LLC, co-op, partnership) really depends on your goals and should be discussed with a good lawyer. If you got accepted by Software Freedom Conservacy they would help you figure that out and also help with the accounting and tax issues and so on. There are also a few other FOSS incubators such as Software in the Public Interest. Also, I think Outercurve is a possibility.

  • In terms of how you earn a living, this is going to depend a lot on the nature of your project. This is also why I wouldn't immediately jump to say you need a 501c3 (and you may not get it ... see the Yorba project). Blender supports itself mainly by selling documentation. Other projects have small business ecosystems and/or consulting surrounding them and the developers earn their livings from that. Other projects flat out have dual licensing models so they sell supported versions (that's why MySQL did and why it could be sold to Sun and of course there is RedHat) and have a separate communty release. Others like WordPress have the hosted version as a business model. So there are all kinds of options and you need to figure out what makes sense for you and your community.

  • Pick someone now to be your community manager to start. And read Jono Bacon's book after you finish Fogel's.

  • Decide now on a road map that makes sense for your core team; be realistic and don't be bullied by people who are not contributing. Road map doesn't just mean technical plans and features, it's about where you want to go as a project.

  • Don't be shy about talking to other projects you admire or that are in the same space for that matter. Find out what worked and didn't work for them. Just send an email. Also, you can go to some of the open source general events and just talk to the other projects. On the whole foss people are pretty helpful.

Good luck, it's an exciting thing to be at this stage.

share|improve this answer
    
Thanks! The code is already hosted on Github (which is also where releases are hosted), but we really don't like Github's issue tracker...one of the guys on the team has experience with Mantis so I think we're going to use that. I also hear you about the roadmap...at the very least, having a public roadmap will be nice just to refer users to who are clamoring for particular features, so we can tell them when such features are coming relative to other features. I was exploring Outercurve earlier tonight, and I'll check out the others too, as well as the books. Thanks for the encouragement! –  Ben Torell Aug 12 at 6:05
1  
@BenTorell I tell anyone who asks, "Every bug tracker sucks, the only question is, 'Which one sucks least with respect to your processes?'". –  Ross Patterson Aug 12 at 10:51
    
Ross is totally right. I really dislike Github's tracker for a number of reasons but especially its lack of real ACL. I agree find one that matches your processes. A lot of trackers don't work that well for volunteer driven projects because they make all kinds of assumptions that make sense in commercial settings, even in the vocabulary they use. Of course, talking about what your processes actually are is a good exercise. Don't try to use a tracker to make unrealistic changes in your processes. Things are just really different when it's all volunteers. –  Elin Aug 12 at 12:11

The REALLY big boys set up all the mechanisms you know about - they run large server farms, they run (sometimes write) bug trackers and build systems, etc. They often have 501(c)3 foundations that own the copyrights, etc. They get big corporate donations, and companies lend them developers, etc. You know, BIG stuff.

The not-so-big boys get a lot of help from elsewhere. The Software Freedom Conservancy, for example, will help moderately-large projects get their legal underpinnings right, and facilitate donations. There are lots of options for code hosting and bug tracking these days - heck, anybody can get a GitHub site. And you'll find that many small-to-medium software companies will donate licenses for their proprietary products to support organized Open Source projects - especially when they align with their business somehow.

share|improve this answer
3  
I'm not trying to be pedantic and I am 100% certain you didn't mean this in a negative way, but it really doesn't help grow participation in open source to refer to the people involved as boys. Just something to think about; I know it's a phrase people use. –  Elin Aug 12 at 1:54
    
@Elin Just answering the question asked: "How have the big boys like GIMP, FFmpeg, Blender, etc. handled this transition?" –  Ross Patterson Aug 12 at 2:04
    
Oh, and +1 on the comment - we guys need to be reminded from time to time. This business is far too male-centric. –  Ross Patterson Aug 12 at 2:05
    
Thanks and yeah I didn't notice that reference in the original post. –  Elin Aug 12 at 2:31
    
Yeah, I was just using "big boys" as a turn of phrase...I guess I didn't think of it in that way, but I can seem what you mean. Thanks for the advice! My top priority right now is to get a real issue tracker up that contributors can peruse and hopefully select an issue to take a crack at (right now all we have is a messy Trello board). As I told @Elin, I'm leaning toward Mantis instead of Github's issue system. I suppose we just need something at this point. –  Ben Torell Aug 12 at 6:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.