Recruitment Options For a Small-Scale FOSS Project?
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?"
Suggestion: post your project name.
The secret to creativity is knowing how to hide your sources. - Albert Einstein
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.
It only takes one man to change the Wisdom of the Crowd to Tyranny of the Masses.
Every once in a while on linuxquestions.org someone will ask where they can help out. Might be a good place to start.
Just a guess ?
. waterwingz
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.
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.
Bogtha Bogtha Bogtha
Sorry - hard to link from the subject line. Try this :
http://code.google.com/p/nmod/
. waterwingz
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.
-- My choice of computing platform is a symbol of my individuality and belief in personal freedom.
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 SF.net, 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.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
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.
So you made a special student release? Why? Just because the University asked?
I would have politely told them "can't do it, not enough resources".
walk away from it until someone else picks it up, and then join the effort.
"The Most Fun Possible on 4 wheels" is at SunBuggy in Las Vegas
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.
Awful UID - but I have been here ages...
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".
Win a signed Stephen Carpenter ESP Guitar from the Deftones: http://def-tag.com/?r=0008781
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 a request there. Ask yourself, what benefit will these people gain in helping your project? Will they be able to use the benefits directly? Ask friends if you have any. Go to a local Linux user's group (they've not died out everywhere), and make a presentation to them. Set up a part of your website that outlines why contributers should contribute. If you have extra money offer bounties on functionality. Go to every website for developers and post a volunteer wanted thing (if they permit that, don't spam).
You have to work to make your project visible to the possibly interested. It takes lots of effort.
"What lies behind us, and what lies before us are tiny matters compared to what lies within us." Ralph Waldo Emerson
Get accepted into the Google Summer of Code!
... and very exciting to see the increase in developer interest!
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
Cheers!
Sean
Ever considered offering money, or are you only after a free (beer) help?
I expect there's some kind of clearing house for jobs people want done. I forget, but didn't Yahoo!, AOL or someone like that have some system for this sort of thing?
Does this ring any bells for anyone?
Max.
http://savannah.gnu.org/
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
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 - go to chat rooms and forums etc that you find interesting - you are more likely to find people of the same interests there (much like you are doing in posting here, so well done in that
So, good luck, enjoy the code and disconcern yourself with all else
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".
Engineering is the art of compromise.
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
That'll get 'em for sure! ;)
"He who can destroy a thing, controls a thing." --Paul Atreides, Dune
You do not know me but I am developing a new free and open sores operating system called GNU/Thermianix. Basically I plan to fork every project in a typical Ubuntu disto, rename all the projects (e.g. Emacs => Thermiacs, GNOME => Therminome), and perhaps add a dashing window manager theme. (I have a close-up photo of my back zits that I think will make a lovely wallpaper.) This project already has buy-in at my local shitty university, because I volunteered as a student assistant in the spring intro. programming course and installed Thermianix on all the lab PCs without asking anyone. Anyway, I figured that you would be an ideal addition to my development team, because judging by your contribution to [yet another worthless window manager, text editor, or some other half-baked solution to a problem already solved by a dozen other open sores projects HEY MAN YOU CANT TELL ME WHAT TO WORK ON CUZ ITS OPEN SORES FUCK ALL THOSE OTHER GUYS MY PROGRAM IS THE BEST AND ANYWAY ITS NOT LIKE THERE ARE MORE ESTABLISHED PROJECTS THAT COULD REALLY BECOME SOMETHING SPECIAL IF ONLY I COULD WORK EFFECTIVELY IN A TEAM THAT I DIDNT CONTOL] on SourceForce, you have a lot of free time to waste! We might even be able to get it mentioned on Slashdot, if that troll kdawson will take a break from posting flamebait.
LOVE XOXOXOXOXO,
Thermian
P.S. If you do not forward this to ten of your developer friends, then you will... DIE! Preferably friends who aren't already contributing to one of the top 1000 most active SourceForge projects because I may have kind of already emailed them kthxbye. I hereby release that email under the Creative Commons Attribution-No Derivative Works 3.0 United States License with extra cheese and no mayo, so you may use it for your nefarious spamming purposes, contingent on compliance with the license terms. Anyway, you'd better start spamming now, because you never know when Google will stop running that "beta" spam relay and begin charging for it---or, worse yet, appending AdSense advertisements to all your spam!
Love,
A troll (not kdawson, another one)
Ask Slashdot?
No sig for you!!
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 you can walk away if you prefer to use or contribute your valuable time elsewhere.
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.
Need Mercedes parts ?
"I love my job, but I hate talking to people like you" (Freddie Mercury)
There are lots of talented developers out there currently in school, or who otherwise have free time. Create a job posting and market it to them. Sure you can't pay them, but working on it with you does have a lot of things to offer people:
1) Resume fodder
2) Experience
3) Recommendations you can write
So treat it like a normal job. You could also consider getting an intern for the summer.
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 forum or a user interface related forum, you will at least have the right people who know GUIs to look at your user interface...
Also if your program module does something in that area you feel came out nifty, post a 'what do you think of my GUI for x' post, people may be interested in checking out something different and offer you some tips for improvement. Or if it is really bad, you might post a 'I'm a real GUI noob, please take a look and offer suggestions/help."
You won't attract programmers if all you talk about is n-body physics (unless they are physics programmers, which probably have their own physics projects.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
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.
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.
My Greasemonkey scripts for Digg &
Best wishes,
Nina in Mosow
The open source projects that I have contributed to, have all been projects that I needed to use, but lacked some feature I needed. So I wrote some code and posted it back. Some projects though were just too hard to get started on for what I needed to do. Simple information about what is needed to get the dev. environment setup (libraries , versions, IDE) etc as well as decent user and developer documentation is really important. The idea previously posted about having a plugins framework, or at least a tutorial on how to add a simple feature, is relevant.
My guess here is that the number of people who will join your project is in direct proportion to
the number of users who are developers X the quality and quantity of your project documentation.
If you are serious about getting developers, I would ease off the coding, and get stuck into documentation/diagrams, putting up a wiki and a forum.
Thats my 2c worth
I'm sure he's never heard anyone say that before!
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.
... developers?
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
Incidentally in soviet Russia, Natalie Portman told me netcraft had confirmed, FOSS develops you. I certainly welcome our new FOSS developed overlords.
How about...
Quit whining?
You started something. You made it FOSS. If you don't get other people to help you, you have plenty of choices. If YOU decide to carry on with the project solo, then that is the bed YOU made.
Sleep in it.
A whole bunch of people have already mentioned try to get some of the talent from the university, but more specifically, see if you can get some students credit for working on it. Approach the CS department, ask them if they would be willing (you might need to find a professor to act as a sponsor) then offer kids credit for an independent study. A lot of students love the idea of getting credit for working on something real instead of just programming exercises. You get free labor, they get class credit, everyone is happy.
Made for this.
The same problem happens with a project I am helping with. We got some patches from time to time, maybe once each two months.
Please let me use this chance to publicize it here:
Gazebo project (if the page is slow blame Sourceforge but please, be patient)
It is a robotics simulator and thus it is also pretty specific. It also connects with the Player/Stage project what means that the same program used to control the robots of the simulator can be used without modifications for the real life robots.
If anyone is interesting in physics simulation or in robots or in 3D application, just jump in the project. It has a small codebase and most of it is quite straighforward.
The problem with these projects seems to be that the user base is more worried about having their problems solved that any type of collaboration. I guess a lot of people still doesn't understand the practical benefits of OSS.
Anyway, I still haven't read here any good idea apart from "you should have written your URL in the article"
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.
/. sig, maybe create a project blog and update it regularly, etc. Announce new releases on Freshmeat for sure. Mentioning the project on forums and mailing lists and newsgroups that are relevant to the project might also be good, but don't spam.
/. somehow might not hurt either.. harharhar....
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 one who has committed a line of code. To be fair though, some of the other folks have helped with QA work and testing, bug reports, etc.
I'd suggest just promoting your project through all the common avenues... list it on Freshmeat, Advogato, Ohloh, etc., try to make the website SEO friendly, put a link in your
And trying to get it mentioned on
// TODO: Insert Cool Sig
He's copying other people's post verbatim. View his posting history and search the comments for the original post. Mod him down. Mod his history down!
I guess it's Lame or I'm just punting something, but on Linked-In there is this Group called FOSS Professionals, it's got alot of People in it, Check it out. Maybe you can find some skills there. Obviously the people there link on which Project's they have worked on. Link of Shame : http://www.linkedin.com/e/gis/77237/586E590F6308
The obvious answer is to offer more money. That's the way the free market (free as in speech, not beer) works.
I wrote a comment about how we have the same problem in my project and giving its URL and it seems it got hidden, I guess it was to SPAM-like.
:P
Curious thought people is complaining about the original author didn't tell wrote any URL of the project.
Anyway, I am collaborating in a robotics simulator that have the same problems, most users will not collaborate code just questions in the mailing list
I hope that at least writing a name is ok: Gazebo
On the other hand, most of the projects have one or two developers so I guess it is pretty common.
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 another on-line messaging system.
So the abandoned users and administrators of other projects may make helpful assistants for your new project, and be able to warn you away from repeating similar errors. Look for them.
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.
The problem with OSS can occasionally be that overload. That's why so many use SourceForge - and refrain from images where possible. You need to find yourself a spot that is publicly accessible or (IMHO) it's not as open as it should be (pardon the pun) to allow other people to discover it.
I agree with another poster that you should stop coding for a moment and come up for air - see the overall picture.
And good luck with your project.
Second saddest loser - you forgot about the cuntards that reply to him.
you fail as a troll. You can't even spell Moscow.
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.
A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
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.
Great resources, these interns are. You can get technical writers to help with documentation, CS students to help with code. Maybe even a graphic design student to help you put up a site somewhere away from you main dev box.
quantumsummers
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 something of worth. There should be suggestions of parts of the project that would be easy places to start getting involved, and you should make it clear that you are avalibale and willing to mentor others in th project.
Once you have these things together, if your project is interesting and getting any attention, it will probably gather new developers.
I know the projects I have joined have tended to be the ones that had these things, and other sexier projects with no docs, no openness in development, and no invitation from the project leaders have withered and died.
Blessed are the pessimists, for they have made backups.
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 them.
Go to bed, Steve. You'll have a lot of chairs to throw later this week when you realize quality control doesn't test your OS updates on AMD.
- 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 byPlus, good burn
which is totally what she said
You have hit the nail on the head. There is even one project I WISH I could help out on right now, but there is no documentation, and after fumbling around figuring out all the dependencies I got the project to build but not work. Good documentation goes a long way!
"how can they call it a MINE if everything here is THEIRS?!?!" -Straight Jacket
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.
You fail as a metatroll. If you care that much about your posts then it is you, indeed, who have been trolled by the story submitter.
HTH,
Boris in Stalingad
...for the most reasoned response of this whole bunch.
:-P Should someone else want it, I may feel a little bad if I do not their expectations- but then again, anyone that feels compelled to make demands of my program can feel free to pay me to meet them.
I'm creating an Open Source project (jrwho, btw. You need to Google search "jrwho java" to find it). Nobody is downloading it; nobody cares. I have an audience of 1, a coworker, who is using my previous version and will likely use this one.
C'est la vie, I'm learning Java... that's my goal. Anybody else who wants it can expect to get their money's worth, and I mean it.
-the Pupp
I'm pretty closely involved in the Spring framework and even we have only a handful of active committers. Even a framework as popular as this will attract mostly people posting on forums, creating issues in the issue tracker while not even trying to commit back.
It is very hard to find the time to dedicate oneself to a framework. And it is even harder to distinguish between good intentions and true gold.
Good luck (count me out, just good intentions here).
Show a man some news, distract him for an hour. Show a man some mod points, distract him for the rest of his life.
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.
It shouldn't just be an important goal for you, it should be the first priority of everybody who can do something nobody else can do. At least if it's a skill that's actually being used on some project. It'd be a shame if a promising project was cancelled because the single expert got run over.
(Overcourse it'd be a tragedy for anyone to get run over, but why should his project become a casualty too?)
Get a support contract with the Uni, hire yourself with the $, and others with the rest. Now make a company (MySoftware Ltd?) and you've gotten yourself and some devs a job. You even have a recruiting pool of people who know the code well.
Couldn't you figure that out yourself?
Making laws based on opinions that stem up from false informations leads to witch hunts.
I went to an installfest last night in my community.
When I got there there was only one computer out on display and it was OS X. All of the participants were in their early to mid 20s. All were white and male. There was no installing. Hence, no recruiting or planning on how to get the message out about the benefits of FOSS. Two guys were talking about procmail and exchanged info, that was good. A larger group of guys were talking about how to divide integers and still have measurable units to work with using some programming language, not much going on there. When I first walked in I didn't say much except to ask about the OS X system. I pulled out my Schaum's C++ crash course book & Rails Cookbook and learned a little about programming pointers. While doing this I listened in to the ambient conversation. I wasn't spying I am not currently a student and I just wanted to know what the others thought of me seeing as I don't usually go to installfests. Several folks thought I was a professor! Most women or any intelligent, rational person probably wouldn't have made the assumption of professor and that's my point. In addition to scaling up diversity among the FOSS masses and somehow bridging that aim into recruitment we need to reassess the big picture of software. A few ideas: more code re-use and adaptable licensing which supports this, more for-profit industry alliances, limited partnerships and collaboration -- where profit by way of open source is measurable and at the same time increases our credibility. Last of all -- definitely phase down development of CLI it is too hard for over 90% of everyday people to use efficiently and wisely.
What I'm saying is like it or not this installfest situation I experienced last night is pretty much the state of C.S. and programming collectives on campuses across the USA today. We used to have issues with the prima donnas among us taking up too much turf -- then stuff like PHP and Internet cafes happened and that condescending ``'tude`` kind of went away. In addition to increasing the finance, more political and legal considerations for open source users and good looking, Hollywood-style marketing of FOSS there needs to be a change in our 'tudes. Like one Presidential candidate in particular has said all along it's about hope and change is certainly a factor where hope is concerned.