How to Have a Successful Open Source Project
Three Methods:Before startingProject startupProject life
In the world of open source programming, many projects are started by programmers in the hope that others will contribute to what they have initiated. But often they fail to achieve it. Here are a few tips on how to succeed in getting people to contribute to your project.
Steps
Method 1 of 3: Before starting
-
1Setting up a new project is easy, but making it running as needed (user feedback, bug reports, requests for enhancement, contribution from other developers) needs a considerable amount of initial contribution of the working code from your side. If all you want is to become a free software hacker, it may be simpler to join an existing project. So think twice.Ad
-
2Do not start alone. It is easier to find contributors before starting than once the project is created. The reason is that if the project already exists, they will not feel to own the project. So discuss on blogs and forums and meet people first.
-
3Pick an existing and approved Open Source license for your project. Never try to invent your own Open Source license. Most of developers know what "GPL", "LGPL" "BSD (Berkeley Software Distribution)" or "Apache" means, what they can do with such code and what it is not allowed to do. License is a complex document and nobody wants to hire a lawyer just to understand all possible interpretations -- that is expensive. If the license is written by a person without the lawyer education, it may also have unexpected and undesirable interpretations of it.
Method 2 of 3: Project startup
-
1It is relatively easy to get free hosting for an Open Source project (SourceForge, Object Web and others). Use this opportunity: this not just saves money, but also puts your project into place where people are likely to search for the Open Source projects.
-
2Set up a version control system where you store all the codes. Do not skip this step even if you initially work alone.
-
3Do the releases time to time. During intensive development, the code on the CVS (Concurrent Versions System) does not always stay in a "ready for production use" state.
-
4Make sure your website states that your project is "Open Source" and under which license it is. Although this seems like a very simple thing it is the most overlooked. Remember that people will only view your project for a few seconds before evaluating whether to download anything you have produced.
-
5Set the write right on the source version control by default as it is on a wiki. Although you will have to rollback vandalism, it will help you to find new contributors. There are tools like the SVN hooks to automatically filter flooding. You can however protect some important code and ban the bad contributors.
Method 3 of 3: Project life
-
1Don't do all the work yourself. If you have a community going and someone informs you of a bug, ask them if they would like to fix it.
-
2Avoid private communications on the developments. Members of the community will think that you are trying to keep them out of the loop.
-
3Make your project known. Submit your project on blogs and forums. Efficient key words to search such blogs are:
<subject> "submit site" OR "submit a site" OR "submit your site" OR "site submission"
where<subject>
is the subject of your project. -
4When project gets more popular, try to raise funds offering paid documentation and support.
-
5Keep in mind one day you will get bored with your project. So think about who will maintain the project for you in the future.Ad
We could really use your help!
religion?

wax removal?

relationships?

success hacks?

Tips
- Know what your Open Source license really means:
- Apache allows everybody to modify your code and use it in their closed source software. Hence the code under this license is attractive for the companies and it will be much easier to get the initial popularity. However you may not get much feedback from people who just silently use your work.
- LGPL (Lesser General Public License) allows to use your software in the closed source derivatives but requires the user to disclose any changes they made in your code. Hence more feedback can be expected.
- GPL (General Public License) is an aggressive license which requires the user to disclose their own code that calls your code. None of the companies will like this, but if they do want your software, they will contact you offering payment for giving the code for them under conditions they like. While this "dual licensing" is not much respected by many Free software hackers and GNU organization, it is legal and rather popular.
- Make sure you spell check any written work you produce. If it is a news, forum or mailing list post you should use correct English.
- Be as professional and matured-thinking as possible even if someone communicating to you is not. By not acting professional you are only making a fool of yourself in front of other people who will form opinions about you.
Warnings
- It is usually not a good idea to find and try to revive an existing abandoned project. Such projects may have reasons, why nobody is longer interested in them.
- Do not over-recognise people who produce work for you. If you start thanking everyone then you’ll either end up missing someone who’ll feel neglected or you won’t know where to stop. Only thank a community member that does something outstanding, therefore raising the bar of what needs to be done to receive your gratitude.
- If you use some Open Source components from other projects, be sure you respect their licenses. Not all Open Source licenses are compatible with each other.
Things You'll Need
- Webspace to host the project documentation (it may be a good idea to have it wiki - based).
- Mailing Lists (the most of separately hosted projects use Mailman).
- A version control system. For the long time, the classic solution has been CVS but now new projects tend to use SVN or Mercurial (comparison).
For a discussion of SVN vs Git, see Why Subversion does not suck.
Sources and Citations
Article Info
Categories: Programming
Thanks to all authors for creating a page that has been read 14,766 times.
About this wikiHow