Please create an account to participate in the Slashdot moderation system


Forgot your password?
Programming IT Technology

Recruitment Options For a Small-Scale FOSS Project? 210

thermian writes "I've been developing my open source project for several years now, and I've never found a solution to one fairly important issue. How can a small-scale project attract new members? My project is pretty specialist, (no URL, sorry, I can't afford to get my server nuked) and I find that while it gets a fair bit of use, most users come to my software out of a need to solve their problem, or use my tutorials to learn about the subject, and none seem inclined to stick around and help make the product better. This is a fairly serious problem for me now, because my software has recently been adopted by a university, and I'm just not in a position to manage the entire set of applications and update everything on my own. Just preparing a version for release to students has been especially hard. The open source maxim 'Many eyes make all bugs shallow' only works if those 'many eyes' are available. So do you have any suggestions as to how, and where, to find people who fancy joining open source projects?"
This discussion has been archived. No new comments can be posted.

Recruitment Options For a Small-Scale FOSS Project?

Comments Filter:
  • Suggestion (Score:4, Insightful)

    by Anonymous Coward on Sunday May 11, 2008 @08:59PM (#23373142)
    Suggestion: post your project name.
    • Re:Suggestion (Score:5, Insightful)

      by Whitemice ( 139408 ) on Sunday May 11, 2008 @10:26PM (#23373718) Homepage
      Maybe the question was made generic so it would be of general interest? It certainly is a legitimate question for lots of projects.
      • Re: (Score:2, Insightful)

        by alex4u2nv ( 869827 )
        And to his question, he already has the answer. Setup a project account with one of the many large OSS hostings like sourceforge or google's. Then publicize the project like he just did.
        • by albalbo ( 33890 )
          There's only so many places you can publicize projects, though, and if every "small" project did that we'd quickly be overwhelmed. Places like slashdot rarely talk about specific software any more too; unless you do something unique and/or very different in some way, it's likely many places won't run your puff advertizing piece anyway.

          The issue isn't to get the project well known: the issue is to find those people for whom the project would be useful/interesting and make the project well known within that s
    • Re:Suggestion (Score:5, Interesting)

      by JoshJ ( 1009085 ) on Sunday May 11, 2008 @10:43PM (#23373812) Journal
      What gets me is that he's about to release it to an university and yet he manages to miss the most obvious resource yet: university personell. Unless the school lacks a CS department, there should be CS professors, CS grad students, and undergrads all available to work on the project.
      • Re: (Score:3, Insightful)

        by SerpentMage ( 13390 )
        Even more basic... A university is using it, and they are not paying support... That is a huge gaping missed opportunity.

        I would put it very simple to the university, "I appreciate the support, but I need support as well."
      • by blowdart ( 31458 )

        Availability != Willingness

        I have the sort of the same problem; but my little project is terribly specialist and outside of the US I'm the only person who really seems to care about Information Cards. So I just potter along, slowly adding features when I have time and dealing with emails asking when it will be ready. The people that are using it are simply customising it for their own needs (which is the general idea, there's a provider model for this and everyone assumes the core is correct; ah, how I wi

  • No URL? (Score:5, Insightful)

    by e4g4 ( 533831 ) on Sunday May 11, 2008 @09:00PM (#23373148)

    no URL, sorry, I can't afford to get my server nuked
    Changing that might have been your first step. Putting your site on coral cache and posting *that* link here may have gotten you a dozen people interested in helping.
    • Re:No URL? (Score:4, Informative)

      by sugarmotor ( 621907 ) on Sunday May 11, 2008 @09:10PM (#23373228) Homepage
      I thought sourceforge, or freshmeat provide free hosting for projects like this!


      • Re: (Score:3, Interesting)

        by edalytical ( 671270 )
        Actually I find SourceForge to be cumbersome for development. About the only thing it has going for it is a large user base and shell accounts. Making releases is just plain tedious.
        • Re:No URL? (Score:4, Informative)

          by Chandon Seldon ( 43083 ) on Sunday May 11, 2008 @09:23PM (#23373304) Homepage

          Making releases is just plain tedious.

          The last time I messed with it it was pretty straightforward. Is it somehow more complicated now than "type in some name/version info for the release, upload a source tarball"?

          About the only thing it has going for it is a large user base and shell accounts.

          Well, that and free web hosting for the project site.

          • For one, you can't automate releases. You have to upload using FTP and then you have to select your file from a long list of other recently uploaded files on a webpage. Plus do a bunch of other stuff that sucks.
            • Re: (Score:2, Insightful)

              by Lershac ( 240419 )
              waaaaaahhhhh. work! waaaahhhhhhh
              • Re:No URL? (Score:4, Insightful)

                by Architect_sasyr ( 938685 ) on Sunday May 11, 2008 @10:04PM (#23373574)
                Childish, but I agree with you. That said I always find it amusing when people whine or whatever over something provided to them FOR FREE. Personally I've never had a problem uploading a tar ball, nor has the only other programmer I know well enough for this (Oblig. Plug FreePDB []). If you have a problem with SourceForge then try FreshMeat, or get yourself a Dreamhost account and host things there - that way your own server isn't really getting nuked and things are just SEP. Basically, quit whinging about it and fix your damned problem.

                Back on topic: IMHO the best way to get more interest in the project is to find like minded people. What is your software trying to do/solve? Google something that would find it - post your URL in a few forums. Leave the link in your forum signature with a "looking for developers". Actually do something about getting your stuff out there. An online resume with a link to the software perhaps? There is a hundred ways to get information out to the world. Mostly they just require a little effort.
                • Re:No URL? (Score:4, Insightful)

                  by bzipitidoo ( 647217 ) <> on Monday May 12, 2008 @12:32AM (#23374498) Journal

                  Freely available is not effortless. Wish people would stop belittling such complaints. Just because you aren't paying money for something doesn't mean you're not paying in some way. Before using something, I like to have an idea whether it'll pay to go to the effort of learning about it, dealing with its idiosyncrasies, and jumping through whatever hoops are in the way.

                  Just one amazingly trivial seeming hurdle can be enough to dissuade people. For instance, many people abandoned big newspapers' web sites when they started demanding registration.

                  There's a lot to "real" software development, whatever that is exactly. Ought to have a web presence, perhaps sourceforge, or perhaps your very own site. You'll want CVS or Subversion over the Internet. Probably need forums, some kind of bug tracking (Bugzilla?), and an IRC channel can't hurt either. Your source probably needs sprucing up to various standards. GNU has a lot on just how the code should be indented and commented. Then there's getting it integrated with automatic build and test software, like make (autoconf and automake) or Ant for builds, and things like Fitnesse and Cruise Control. All this is getting to be a lot of ancillary work for a few developers. But I do agree something has to change if current resources are causing publicity to be a bad thing.

                  • I did all that, and still my particular small project did not attract any new people or even patches for over 2 years. It's everywhere, got all the tools. Spend a lot of time talking to people (prospects want hours of talks). Nothing for my investments.

                    What people should realize is the "many eyes" theory and related open source theories are all urban legend except for the huge successes they originate from (Linux, Apache, Wikipedia, etc.).

                    For 99% of the projects that are relatively small, it's all non
                • Re:No URL? (Score:4, Insightful)

                  by Venik ( 915777 ) on Monday May 12, 2008 @01:58PM (#23381002)

                  That said I always find it amusing when people whine or whatever over something provided to them FOR FREE.
                  Well, you can get hemorrhoids for free. Just because something is free, it doesn't mean it has to be a pain in the ass. SourceForge offers a good service, but they have their share of annoying problems. Some of the problems should be simple to address.
            • Re: (Score:2, Informative)

              by Anonymous Coward
              ReleaseForge takes away some of the pain.
              • by kesuki ( 321456 )
                "ReleaseForge takes away some of the pain."

                well, it's a nice gui, but it doesn't look like it's scriptable... is there anything that does what release forge does, that can be scripted, and perhaps automatically fill in values that (this gui) asks you to fill in?
            • uploading your file is hardly a hardship. Pray tell, how else do you offer an app without somesort of uploading, and ftp may have its faults, but for a (usually) small file, it can be done in a few strokes/clicks.

              The selecting from a long list is a different issue, one for the downloader, so not immediately relevent, but anyhow, if you spend a small amount of time, then this is a simple and straight foward task for the user (if you are lazy and spend no time mamaging it, then yes, you _COULD_ make it more c
              • Re:No URL? (Score:4, Interesting)

                by edalytical ( 671270 ) on Sunday May 11, 2008 @10:48PM (#23373840)

                No, selecting the file from a list of other recently (an unrelated) uploaded files is part of releasing your software on SourceForge. If you actually maintained a project there you'd know what I'm talking about. (sorry not trying to be rude).

                My original point was that some people find SourceForge to be more trouble than it's worth and host their own project on their own server.

                Of course you have to upload your file, but, like I said, it can't be automated. Part of being an effective developer is automating redundant tasks, like releasing software. You've hear of ubiquitous automation, right?

                I like SourceForge and use it a lot, but there are tradeoffs. "Free" doesn't mean free from criticism.

                • I have never hosted a project on sourceforge, so fair point you caught me out :)

                  Disagree that creating your own site is easier (you may build a site so it becomes easier, but you are going to have to maintain that project for a long time before the time spent setting it up pays off).

                  Many people do not have a static IP or the knowledge of how to get a domain/sever space/ write the cgi etc to do this, or want to

                  Free of course does not mean free of critism, but you put it
                  • (you may build a site so it becomes easier, but you are going to have to maintain that project for a long time before the time spent setting it up pays off).

                    Just plain disagree, with how easy it is to get a reasonably-priced, reasonably-featured virtual host. Pretty much ready to go out of the box, but with ssh access, it means releases can be done with a shell one-liner, or less than twenty lines of Perl, say.

                    Many people do not have a static IP

                    Which is why there are services like DynDNS -- which has prices measured by the year. And there are others which do the same thing, for free.

                    or the knowledge of how to get a domain/sever space/ write the cgi etc to do this, or want to

                    And many people do have that knowledge. For those people, it is easier to do it yourself than to work with Sour

                    • Re: (Score:3, Insightful)

                      by martinmcc ( 214402 )
                      Its possible, but for your average situation for your average code monkey it is not a trivial task -

                      1- Consider how you will show the release - mod_dir, a generated html page, a dymaic htmlpage etc.

                      2- Consider what you will need (ssh/ftp/web/php/mysql or whatever).

                      3- a find hosting provider - if you don't know one of hand trwal google for the features you need at a good price that seems reputible.

                      4- create the html/php whatever for the site (its go
        • That doesn't surprise me, but its free after all.

          Any better aternative you would recommend?


        • by dwater ( 72834 )

          a large user base
          That might be considered a huge plus, particularly for this developer.

          I'm you have an alternative suggestion which is better in your eyes?
        • Re:No URL? (Score:5, Insightful)

          by Heembo ( 916647 ) on Sunday May 11, 2008 @10:18PM (#23373670) Journal

          Actually I find SourceForge to be cumbersome for development.
          Google code is much easier to use.

          PS: The idea of getting "highly skilled software engineers to work on your project for free" is over. Find a corporate/university sponsor and pay someone - or find a corporate/university sponsor who is willing to donate an engineers time to the project. Or be VERY patient and be happy for a small amount of progress. Many paid engineers work on projects like Linux.
          • Re: (Score:2, Insightful)

            by Anonymous Coward
            This is why, unless your application is so complex you can sell support services, GNU apps will almost always be immature and buggy. To make apps that are solid/stable and feature-ful requires time. Time really IS money. People need to work to make money so they can eat and pay their rent or mortgage and then go out and enjoy themselves outside the home or office... have a life. Programming some app for free cuts into all of those activities. Maybe when you are young and motivated from the idealism fou
    • by edalytical ( 671270 ) on Sunday May 11, 2008 @09:25PM (#23373328)

      For some people shameless self-promotion feels very sleazy. Apart from that, not everyone looking for help on their project is going to get a story on Slashdot. His question was probably accepted because it was legit and not just an attempt to tap /. for talent.

      If he would have included info about the project there would have been a dozen +5 Funny post that said: "Well for starters you could try posting on /. harharhar."

      Personally I find this question interesting an I think it warrants more than "post the link".

      • by e4g4 ( 533831 ) on Sunday May 11, 2008 @09:38PM (#23373408)
        I understand your point, but frankly, the "harhar post it on slashdot" crowd is absolutely right. The people he wants read this site, I can guarantee it, and at least a mention of the project's site would have done him some enormous good. Honestly, creating interest in something you're doing involves announcing its existence to like-minded people. What better forum than this one?
        • Re: (Score:2, Funny)

          by Anonymous Coward
          Link to a man's project on Slashdot, that project gets some developers for a day. Answer the generic question on Slashdot, now every project can have developers. - Chinese Proverb.
      • Re: (Score:3, Interesting)

        by samkass ( 174571 )
        there would have been a dozen +5 Funny post

        For what it's worth, I've gone into my preferences and set "Funny" to -5. It's amazing how much more palatable Slashdot is once you do this.
    • Re:No URL? (Score:5, Interesting)

      by complete loony ( 663508 ) <Jeremy.Lakeman@gm[ ].com ['ail' in gap]> on Sunday May 11, 2008 @09:29PM (#23373346)
      First result for "carey pridgeon" [] is nmod []. If this is the right project, I'm not sure why he thought we could /. Google's servers.
      • by dwater ( 72834 )
        ...and from that I guess the university is heriot watt.
      • Not all the sites content is hosted on googles servers.

        Nice one, now I'm going to get in trouble with my free hosting friend....
        • I assume you're referring to the images hosted from that other site. Could you not edit these out of your site temporarily? If you give it two days, any chances of the /. effect will be over... and the images, I assume, are not absolutely necessary.

          - John
        • Well, I was a little curious and did find the site a little interesting. Since you name was in the linked email address it wasn't that hard to find. I was almost going to link to your /. id as well.

          Your friend shouldn't have too much to worry about since the link was only in the comments and not on the front page.

          Besides, now anyone else reading this who is interested in solving n-body problems can help. You might as well try to kill 2 birds.

          • Sorry, Life of Brian just slipped in there.

            I probably should have left the email bit blank, didn't think that one through. I was more interested in possible solutions then an answer for me.

            I can't move the images, it would ruin the tutorials.

            I wonder if the real solution isn't the typical open source one. Get off my arse and try to create a solution myself. Possibly involving beer and hookers, ah, no, I mean php and mysql.
            • Re: (Score:3, Insightful)

              by mr_mischief ( 456295 )
              One of your issues is likely to be that your users are people wanting to run simulations and the people you need to help with programming are programmers who are interested in n-body simulation. Any time you have two narrow slices of the population as your user pool and contributor pool, it's harder to find users who are also able and willing to contribute.

              Most big projects are more general-purpose. Everyone needs a text editor or email client. Many people need a database or web server. Programmers are big
  • In that case, you could ask the university to actively encourage students to improve your software as a part of a smaller project (Implement this feature, find some bugs, etc). You could also ask the university to finance a developer for this specific issue, or maybe put a proffessor with a clue on the job.
    • by Alwin Henseler ( 640539 ) on Sunday May 11, 2008 @10:10PM (#23373610)
      My thoughts exactly. But what's more important:

      This is a fairly serious problem for me now (..)
      No it isn't your problem. Unless they're paying you, you are not in any way obligated to make users of your project happy. Ofcourse you try to, but any user should understand they're not the only one with questions. And if nobody helps out, you're just a single person with limited resources.

      Suppose your user base where bigger. Say 100k users. Or 10 million. Could anyone still expect you to help out anyone of those users? Ofcourse not, and in that case these 10M users would be forced to help themselves (to some degree) anyway. The same goes for a university that decides to add X students to your userbase.

      Probably it's more a question of why you are working on the project, and what you get from that. Set your own priorities, decide how much time you want to invest, and go from there.

      May I suggest you ask the university to do some inhouse filtering of issues/questions (eg. using a local webpage / contact person), and give you a regularly updated 'top 10' list of what they consider most urgent/important.

      • If you want to support the widest possible userbase, then you might work on those issues that *also* affect other users of your project.
      • If you put this university first, then you could work their list from the top down.
      • If you're just doing it for fun, you could cherrypick from their list whatever issue seems most interesting.
      Do only what only you can do. -Edsger Wybe Dijkstra
      • Do only what only you can do. -Edsger Wybe Dijkstra
        Wow, my first time disagreeing with Dijkstra. I much rather prefer to do things that make me happy, rather than the crap that "only I can do".

        In fact, getting to the point where someone else can do what only I can do is a rather important goal for me at the moment...
    • Re: (Score:3, Informative)

      by John Hasler ( 414242 )
      > You could also ask the university to finance a developer for this specific
      > issue, or maybe put a professor with a clue on the job.

      Universities don't work that way. If you want one of the profs to assist you, you must engage his interest (Which may be very possible. You might also get a prof to assign you a grad student).
  • Try the University (Score:5, Insightful)

    by Klaus_1250 ( 987230 ) on Sunday May 11, 2008 @09:00PM (#23373154)

    my software has recently been adopted by a university, and I'm just not in a position to manage the entire set of applications and update everything on my own.
    Why not try at the university? If they adopted your software, they might/probably are also be interested in getting it further developed.
    • by RobBebop ( 947356 ) on Sunday May 11, 2008 @09:46PM (#23373466) Homepage Journal
      From the GPL version 3.0 []

      Emphasis mine... take note of the emphasis.

      15. Disclaimer of Warranty.


      Also from the same source:

      4. Conveying Verbatim Copies.

      You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

      You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

      Here is my suggestion for you. Issue a letter to the university that has adopted your project and lay out a plan for supporting your software that flows a little bit like a business plan.

      Dear University,

      I have recently noted that you have adopted the use of a F/OSS software program that I am the primary developer for. I would like to thank you for your choice to promote Free and Open Sourced Software and say that I am honored by your selection of my project in particular to serve your needs.

      At this time, I feel that it would be appropriate to inform you that this F/OSS project, while it may accomplish all of your needs, is not considered feature complete or mature at the present time. There are a number of features which I feel would benefit your University that I have planned for the next release, but scarce time and a lack of a budget causes progress on this release to move along at a slower than desirable pace. Additionally, due to the unwarrented nature of F/OSS it is appropriate for me to caution you that your use of the software that I have developed is at your own risk (I have done my best to make this software as bulletproof as possible, but undiscovered bugs are known to exist in the most heavily tested software products).

      Having said all that, I am greatly interested the opportunity that University use of my F/OSS project presents, and I would like to present a set of possibilities for consideration that would greatly improve my ability to guarantee that you have the most mature, feature-complete software possible in the months ahead.

      1. *** A support agreement between the University and myself (though affiliating yourself with a proper business entity to protect your personal assets would be VERY prudent) so that I can guarantee support on any issues with the F/OSS project encountered by the University. By enlisting the services of the author before issues occur, I hope it would give you assurance that I am committed to the F/OSS program and peace of mind that things will just as intended.
      2. *** A development agreement between the University and myself to produce and release features that would benefit the University.
      3. *** A partnership agreement between the University and myself so that we can build a working relationship that will be mutually beneficial. Depending on the needs of the University, I could offer to mentor as many as a dozen students whose assistance could greatly accelerate the development of the maturity of the F/OSS project.

      I hope you will consid

      • Wow way to go to cut down your project. If you want to send an email to the university word it with some optimism.

        Dear University,

        I have recently noted that you have adopted the use of a F/OSS software program that I am the primary developer for. I would like to thank you for your choice to promote Free and Open Sourced Software and say that I am honored by your selection of my project in particular to serve your needs.

        At this time, I feel that it would be appropriate to inform you that this F/OSS project,
  • Forums..... (Score:5, Interesting)

    by budword ( 680846 ) on Sunday May 11, 2008 @09:00PM (#23373156)
    Every once in a while on someone will ask where they can help out. Might be a good place to start.
  • by waterwingz ( 68802 ) on Sunday May 11, 2008 @09:00PM (#23373162) Homepage
    Just a guess ?
  • Recruit? (Score:5, Informative)

    by RedWizzard ( 192002 ) on Sunday May 11, 2008 @09:02PM (#23373172)
    You can't really "recruit" FOSS developers. They'll join if they find your project and find it interesting enough. The best thing you can do is increase exposure. So why, when you managed to get a story posted to /., did you decide to hide what the project is? You had the perfect opportunity to expose thousands of developers to your project and you decided not to take that opportunity. Bad move.
    • by dwater ( 72834 )

      You can't really "recruit" FOSS developers
      Well, I think you probably could if you offer money - they have to pay bills too.
      • Re: (Score:3, Insightful)

        Money is often the best solution. Think of it as a "on-demand" project. If they want the bugs to get fixed, they should pay.

        The downside is that if the pay ends up being greater than the price for some commercial software, you're screwed. I think this is one of the reasons why many Open Source projects fail. Not large enough userbase.

        Perhaps another solution would be offering the software to other universities, and ask for help there.

      • OMG... You mean offer money to get things done? What a revolutionary thought...

        And how would he make money? Here is an idea, what about charging money for the software? Why that would work...

        Cynicism aside this is actually the reason why Open Source as noble as it is, will fail to attract critical mass...

        If you think now there is critical mass, take a look at the bottom lines of Open Source companies and Closed Source companies. NOT EVEN CLOSE...
    • by EmbeddedJanitor ( 597831 ) on Sunday May 11, 2008 @10:08PM (#23373604)
      Quite often the userbase is not aware of the programmer shortage.

      If you have a user list then quite often a plea for programmers/testers will achieve results. I have done this a few times for my major project and it has always worked.

      I also disagree wiht parent that you should have posted the url on slashdot. You would have been slashdotted, for sure, the chances of finding interested developers is low. Most would have just been idle browsers.

      A post on your own user list is far more likely to give results since the users have a vested interest in the software and are far more likely to be open to being "recruited".

    • by Kjella ( 173770 )
      Well, I guess that depends on what kind of attention you get. If you get 300% more feature requests, 300% more obscure bug reports and 30% more help coding it up you'll just feel even more overwhelmed and understaffed. Or you can think it'll at least speed it up 30%, but I think he wanted advice more specificly to improve the user/developer ratio...
    • My guess: Slashdotters don't like be advertised to so he subtly hid the project but used a distinctive name as his gmail account name.

      Then he got a friend to post a namecheck and point out that he was being a doofus and that he should have linked to the project.

      3 ... developers?

      Incidentally in soviet Russia, Natalie Portman told me netcraft had confirmed, FOSS develops you. I certainly welcome our new FOSS developed overlords.

  • Specifics (Score:5, Insightful)

    by Bogtha ( 906264 ) on Sunday May 11, 2008 @09:03PM (#23373180)

    It's really difficult to give advice without knowing the specifics. For instance, you might have luck adding a plugin system, so that the barrier to entry is low enough for more people to join in without feeling like they have to become a proper developer. But that only works for some types of application.

  • by Starky ( 236203 ) on Sunday May 11, 2008 @09:08PM (#23373220)
    If your software is being adopted by a university, perhaps you could get some interest from CS students. In general, students are more likely to have both the interest and the time to work on F/OSS projects.

    You may also consider adjusting the amount of time you have to devote to various tasks to increase the amount of time you spend cultivating the ecosystem. For example, if you spend 70% of your time coding, 20% managing documentation / the web site / etc., and 10% of your time with PR, answering user e-mails, reaching out to users, etc., try upping the 10% to 20% or more. Linus' coding chops were only one part of why we've all heard of Linux.

  • by BiggerIsBetter ( 682164 ) on Sunday May 11, 2008 @09:14PM (#23373256)
    Not publicizing the project name suggests you're either guarded with the project... and if you're concerned about the bandwidth, you're probably self-hosting, which means you're probably not on, Berlios, etc... which in itself suggests you're not as open as you'd like to think you are. Also, it sounds like you want someone specifically to share the workload, but you didn't mention any form of reimbursement. Nobody who's any good will volunteer to be your employee. If you want an employee you have to pay, and if you want a partner you have to share. At first glance, it doesn't look like there's much of either going on.
    • Re: (Score:3, Informative)

      by thermian ( 1267986 )
      wrong on almost every count I'm afraid.
      google hosting (mostly but not all)
      How much more open then five years under the GPL can I be.

      Yes I want someone to share the project, but employ and reimburse? I think you miss the point. I want to find ways of finding people who would want to join in.
      Volunteering means they get to choose what they do, not me.

  • Same problem (Score:4, Interesting)

    by LingNoi ( 1066278 ) on Sunday May 11, 2008 @09:19PM (#23373282)
    I have this exact same problem with two of my open source PHP projects. No give, all take. It's been like this for years despite my best efforts to motivate people.

    I have a few developers on one project that have never really contributed anything too, I have tried several methods in motivating them but all I get is the one liner commited from them and then nothing for years.

    I wish I had an answer to this problem, but I don't think there is one. Everyone is interested in the popular projects and the rest are left out.
    • The ratio of developers to users will always be quite small (and by quite small I mean less than 1 significant developer per 100,000 downloads, or 1 significant developer per 10,000 users) except for

      1) Where it is at the core of a business process for a highly technical audience (ie the linux kernel, php, python)


      2) It is replacing software that has as its primary competitors software in the thousands or tens of thousands per seat (Blender, mysql)


      3) It is sexy or fun to work on (Ogre3D, Blender, Firefox
    • by pjt33 ( 739471 )
      Remember that you're asking people to work on someone else's code. There's always a massive hurdle to understand the design before you can make any contribution, so unless someone is very highly motivated to add a particular feature they're likely to give up before they get anywhere. That's just the nature of the beast.
    • by jeremyp ( 130771 )
      PHP is an open source project. Have you given back to it?
  • abandon it (Score:3, Interesting)

    by BroadbandBradley ( 237267 ) on Sunday May 11, 2008 @09:22PM (#23373298) Homepage
    walk away from it until someone else picks it up, and then join the effort.
  • Lack of info (Score:4, Informative)

    by kernowyon ( 1257174 ) on Sunday May 11, 2008 @09:25PM (#23373316) Journal
    As mentioned by another /.er, it appears to be the project nMod, which happens to have a page at []
    Why did the OP not link to that page? Surely Google can handle a little slashdotting! For those who don't want to follow the link -

    The nMod nBody Modelling Toolkit provides software to run experiments in the field of nBody modelling on a normal home computer.
    This means modelling asteroid/comet motion, spacecraft flight, planetary systems, or stellar cluster/small galaxy systems.
    The toolkit contains a Particle Particle nBody model, an OpenGL viewer to display the output of the nBody model, and a number of utilities for generating new projects and editing existing output files.

    If you really want people to jump onboard with your project, then you need to publicise it. No point complaining that nobody helps if folks have never heard of it.
  • Unfortunately there's no magic button that you can press that will get all the developers of the world thinking seriously about your project. There are services (on SourceForge) for instance that will allow you to put up a "Want Ad" for programmers, and there are other services that make it easy for people to contribute (distributed version control for instance).

    So get around, use those services. But what will help most is finding people that you think might be interested and asking. Go to a forum, and post
  • GSoC (Score:5, Insightful)

    by morrison ( 40043 ) * on Sunday May 11, 2008 @09:40PM (#23373420) Homepage
    Get accepted into the Google Summer of Code []!

    It's becoming increasingly more competitive for organizations to become accepted as the program continues to evolve, but any established project with a vibrant user community has the potential to get accepted. Once accepted, Google basically provides an incentive for students to become involved with a project's development by seeding them with a summer stipend. It's a little more involved than that, but that's the gist.

    This is the first year BRL-CAD [] gets to participate and I can already say it's looking to be a lot of fun. It forces a project to organize, coordinate, market, and communicate more. It's a lot of work but well worth it ... and very exciting to see the increase in developer interest!

  • Are you making money out of the universitity deal - if so then it is a different question, you want to know how to make money out of goodwill.

    If not then the universitity deal is irrelevent - you write OS software because you want to, who uses it or what they do with it should only ever be of secondary concern, and if it because more worrying than enjoying working on it, drop it.

    If you are looking for like minded people to share your interest and help you, then that is a matter of going out to find them - g
    • Exactly. In fact, the asker is presenting a good lesson I think to be learned by all: Don't let what you do for fun turn into work. Don't allow yourself to actually stress over a project if you're not getting paid for it. If your side software project has become "a fairly serious problem" for you, you've gotten way off track with the spirit of creating software as a labor of love.
  • by morari ( 1080535 ) on Sunday May 11, 2008 @10:13PM (#23373624) Journal
    Free punch and pie.

    That'll get 'em for sure! ;)

  • Charge for support, and use the money to hire good programmers (including possibly yourself). If you can charge enough to make a profit, other companies may try to get into the business, and eventually provide even more support and project contributions for your users.

    If no users of your project will pay, it means that the project wasn't really that valuable to them; they might just be trying to take advantage of your voluntary slave labor. You can keep on supporting your project as an act of charity. Or
  • by rs79 ( 71822 ) <> on Sunday May 11, 2008 @10:35PM (#23373768) Homepage
    This is A solution but it's not quick and easy but might work in the long term and should probably scale.

    The problem is you want somebody who is qualified to hit the ground running on your project. With the same OSS mindset. Chances are very high that person is already up to their ass in alligators with their own project.

    Maybe some sort of cooperative agreement would work. I'll give you 40 hours to work on hyour project if you help me for 40 hours.

    Or sommething like that.

    Just a thought.
  • You just missed out on your first chance to recruit people from slashdot, I'd say it's hopeless unless you start thinking in more practical terms. If the project is interesting enough for some people to devote their free time to, all you need is exposure, so stop crying about your server bandwidth / find a practical solution to that problem (Google cache or whatever).

  • First thing I can think of is you have yourself covered in the areas that the program covers but not in the areas that the program needs help (if it is an n-body motion type program as speculated and you are getting astronomer/physics people but not programmers...right?).

    What you may want to do is look at your 'program needs' list and post in the related places for development of those needs. I.e. say your program uses a GUI in QT and you believe it can use improvement, post about your problems in a QT for
  • make it easy (Score:3, Informative)

    by Anonymous Coward on Sunday May 11, 2008 @10:53PM (#23373870)
    I have tried and failed to help out on some open-source projects in the past, eventually abandoning them because I couldn't figure out the basics. I'm a pretty good mostly-C programmer with a smattering of other languages, and most of my experience is in embedded systems.

    Here are some questions to which it should be easy to find answers:

    1. How do I get the code?
    1a. Where is the repository, and what type (cvs, svn...)?
    1b. What branch/version should I check out?
    1c. What external projects/libraries/etc. does it depend on, and how do I get them, and which versions of them do I need? (If allowed by the license, consider hosting a version with your source for one-stop shopping.)
    1d. Ideally put this in a step-by-step "for dummies" set of instructions on your project's web page. Or you could make available a script to run that does it all for you - but well-documented so I can figure out what the script is doing and why. Oh, and make sure it works for you if you follow it exactly on a virgin machine!

    2. How do I build it?
    2a. What language(s) is the source written in?
    2b. What compiler(s)/build system(s) do I need, and where do I get them?
    2c. Where are the makefile(s)/build files etc. and what does each of them build, exactly?
    2d. See 1d.

    3. How do I run/use it, and where is the target(s) (executable, shared lib, whatever...) that was built?

    4. How can I get help if I need it?
    4a. IRC chat is useful, but if most of the developers are on the other side of the world, it would be nice to also have a mailing list to which to post so I don't have to stay up all night. Preferably a mailing list that allows attachments for error output or screenshots.
    4b. Ideally your FAQ should actually be made up of questions people have actually asked, especially if they are asked frequently. FAQs rarely do this for some reason - I've often seen the same question asked over and over in help forums, and never answered.
    4c. Answer the questions people are asking. Even if the answer is "if you can't figure this out, you don't belong here" - try to phrase that as nicely as you can.

    5. What is your process for managing versions and how/when they are changed in your repository?
    5a. If you allow checkins of incomplete code, how do I know if I've found a real bug that I should fix, versus something that will be "fixed" when the person working on the feature checks in the rest of it?

    I've had trouble finding these answers on small, big, and really big projects.

    Those are the ones I can remember having trouble with right now. If you think the answers to these should be obvious, you are looking for programmers who either have experience in all the tools you are using, or who are smarter than me. Which is alright, but either way, it would be nice of you to at least put down a list of required skills and experience, so I don't waste my time trying to help and then give up in frustration.

    Thanks for letting me vent.
  • by Anthony Boyd ( 242971 ) on Sunday May 11, 2008 @11:05PM (#23373954) Homepage

    This is a fairly serious problem for me now, because my software has recently been adopted by a university, and I'm just not in a position to manage the entire set of applications and update everything on my own. Just preparing a version for release to students has been especially hard.

    I'm sorry to word this so aggressively, but what the hell are you doing? Open Source does not mean "I am free labor for everyone." Nor does it mean, "I am a doormat, please walk all over me."

    Listen, I'm no Linux kernel developer. I'm a poetry guy who was looking for a cheap way to get my poems out in front of eyeballs back in 1994, and coincidentally the Web had just appeared. So I'm only a long-time Web geek at best. And maybe that's not the kind of experience that some would respect. But I've put out probably 100 Open Source products in that time -- 50 phpBB mods, 10 Greasemonkey scripts, 5 Movable Type plugins, and a handful of awful, awful old scripts that nobody should ever use. I'm a father of two with a full-time job, and I've have had 15 year-olds tell me they couldn't be bothered to read the readme, because their time is more valuable than my own. I've had people come to my forums, stomp their virtual feet, and demand that I support them for free in much better fashion. After all, they ask, why did I release a product if I don't intend to add their feature requests and do the installations for them?

    Listen, their agendas are not your agendas. Their timetables are not your timetables. And most most MOST importantly, your job is not to be their serving wench. It's not a job at all! Get it straight in your head what you are doing this for. I can't tell you why you do it, but making yourself so stressed out that you have to post on Slashdot begging for help (but not giving out your project name, so you can be an even bigger martyr when it all goes south) IS NOT THE REASON.

    You know what I do? I say yes if I can, maybe if maybe, and no if I cannot. And I mean it. Don't make it more than that. Stop feeling obligated. And if you made promises that do obligate you in ways that you cannot meet, it's not the end of the world, but get back to the table and renegotiate. If people blackmail you with statements like "I guess I need another product" or "YOU put it out there, YOU DO IT" then just put that burden right to the side. I don't get bothered that someone might uninstall the app. They're cutting their losses (their lost time) and in the process they cut my losses (of time invested in someone who cannot help himself or herself) too. If you say you cannot build a feature and someone complains, tell them to build it. Seriously. Don't be mean, don't be vindictive, don't be snide. Mean it. If you are stressed and this isn't even your paying job, then draw lines and see who comes to your side. If they don't, then it didn't really matter to them. In which case, you're free to work on what matters to you, in a way that is healthy and sane.

  • To echo what has already been said (mostly)... it comes down to promotion / exposure. If enough people see your project, the chances increase that some set n of those people will be developers and developers who might be interested in a project like yours.

    From my own experience, I'd say it takes a lot of time to begin to attract additional developers to a project. The project I founded (OpenQabal) has about 6 or 7 people on the dev mailing list, but to this date I am, as far as I can remember, the only on
    • it comes down to promotion / exposure.

      I am, as far as I can remember, the only one who has committed a line of code.
      So, it does not (?).
  • Many projects have become abandoned over the years, and their remaining few users labor on without a well handled bug procedure or central code line. Many open source projects are also slight variations of other, related projects. If you can't integrate your features into an existing codebase (which is what you're asking other people to do for you!), how can you expect them to contribute to your project? We really don't need yet another web administration tool that will be abondoned in a year, or yet anothe
  • by 1 a bee ( 817783 ) on Monday May 12, 2008 @02:50AM (#23375114)
    When someone reports a bug, rather than fix the bug, guide them on how to fix the bug. Maintain a developer forum and direct users to post bugs over there. (I bet you aren't doing this.) Even if you end up practically fixing the bug yourself, share the credit with the guy you guided. Share the cred: in the end, that is the only currency of FOSS development.

    Set up a wiki and encourage users to document. Use excerpts from forum discussions to build the wiki initially.

    You have users for god's sake: that means whether you know it or not, you have a community. If they're nagging at you w/ requests, that means you already have a conversation going. Give them the tools and incentive (that means you stop fixing things alone) to contribute. Involve them. At the very least you can ask them to prioritize the feature requests.

    Stop coding now. You're buried too deep to see the bigger picture. (I'm guessing, of course.)

    Finally, have fun. If it's no longer fun, either make it fun, or stop doing it.
  • Relevant book (Score:2, Informative)

    Karl Fogel is somebody who has worked on several successful open-source projects. He wrote an excellent book called Producing Open Source Software: How to Run a Successful Free Software Project. I recommend that you read the book. You can buy paperback copy from, say, Amazon. Alternatively, if you use a search engine then you can easily find free PDF or online HTML versions. Regards, Ciaran.
  • The best thing you can do to get people involved is to make some thing cool, and make it easy for people to join you.
    Assuming you already made something cool, you need to make sure your project has visability to people who might want to help. This means at minimum, public documentation and some sort of archived email list or forum where they can contact you (and each other) and get questions answered.
    It has to seem like an alive and healthy project where their contributions will be valued, and accomplish s
  • This is a fairly serious problem for me now, because my software has recently been adopted by a university, and I'm just not in a position to manage the entire set of applications and update everything on my own.

    If you have a university (or any other organization with budgets and developer resources) using it, then they should be supporting it, and if they don't want to they should be paying you for your time. If they're not willing to do that, then you need to reconsider whether you should be supporting th
  • Real advice (Score:5, Insightful)

    by djmitche ( 536135 ) on Monday May 12, 2008 @11:46AM (#23378944) Homepage
    I don't see anyone giving actual, useful advice here. I face similar problems with Amanda, and so far my solutions have been to lower the barriers to entry and to encourage users to increase their investment in supporting the product. I've tried to lower barriers by
    • writing better developer-level documentation
    • providing a list of "starter projects"
    • giving talks and webinars about Amanda's internals
    • rewriting parts of the application in a more accessible language (Perl)
    • making myself highly available for answers and advice
    I've tried to increase investment by
    • prominently displaying the names of contributors in ChangeLog, NEWS, etc.
    • asking users to become "official" supporters (platform experts)
    • requesting testing from specific people, rather than sending blanket "everyone please test this" emails
    • asking users to donate processor cycles to automatic testing (this is still in the works)
  • Crapshoot (Score:3, Interesting)

    by T.E.D. ( 34228 ) on Monday May 12, 2008 @02:47PM (#23381812)
    I've run several small Free Software projects. The only one that ever got co-contributors (or even contributors) was one intended to be used by experienced programmers for a very specific purpose (OpenToken [], an object-oriented compiler generator for Ada). By comparison, my SETI@Home Service [] project had hundreds if not thousands of users, volunteer mirrors all over the world, and as far as I know only one person other than me ever even bothered to look through the source code. I did, however, get a few bug reports and a constant barrage of support requests.

    None of my other projects ever garnered much interest of any kind that I could see.

    What I'm getting at here are a couple of points.
    • A lot depends on the type of project. A project targeted at a community of software developers is liable to generate more more interest from developers (duh!). A project targeted at more of a user community is going to get a whole lot more users, who will have typical user issues (support, bug reports, easier installers, etc).
    • Getting a motivated co-contributor is really rare. Its not something you can force to happen, or guilt your users into doing. You just have to be grateful when it does. Above all else, be careful to not be a PITA to someone if they start poking around your sources. If they do, you are lucky.
  • An answer (Score:3, Informative)

    by furbyhater ( 969847 ) on Monday May 12, 2008 @06:03PM (#23384658)
    The first most important point is to write an already worthwhile program: it has to be able to offer completely new and innovative, or perform the competition's function with improvements for a certain user-base. The second most important thing is to get other "developers" (a very broad definition, since anybody from university students trough application programmer to hobbyists interested in your project could be capable of adding some useful code and look through parts of the source, which they will do in order to sufficiently understand the organization of your project, sorry for this unbelievably long parenthesis) to get interested in solving a problem or adding a function to your project. The motivation factors could be various: maybe they absolutely need an added function in your program to accomplish the task they intend to use it for and the effort needed to write something similar from scratch would be larger then extending the already existing code-base, or maybe your application is already works very well for them but they miss useful additional features, better ease of use or want to eliminate a certain bug.

    In order to augment attraction of potential developers you have to offer improved accessibility to your project (nicely formatted and documented source code, a doxygen-like online source tree with additional comments, an up-to-date FAQ and maybe even a short "manual" which concisely explains the manner in which you've laid out your project.

    Once somebody has implemented his own creation into your project, you've got a bite. Now you have to make it as convenient as possible for him to share his modification (a visible "submit modifications" section of your website, encouragements to submit personal additions on the "contact" section, etc. If he satisfies your current code standard can add his modifications into your next release, contact him with thanks, hints and your own take on the modification and its future.

    When the new "co-developer" has the impression of being able to contribute something useful and appreciated to the project, and if he accepts the direction you are heading and the guidelines you provide, the relation can flourish.

    Of course, not every contributer will turn out to be a long-lasting co-developer and friend (also, forks happen), but you have to offer optimal conditions if you want to further the probability.

From Sharp minds come... pointed heads. -- Bryan Sparrowhawk