Get started with your new project
We know that starting a new project can be a daunting task. We've prepared this five-step guide to help you quickly get your project off the ground and growing at SourceForge.net.
If you're looking for more in-depth information on setting up your project, we encourage you to review our site documentation and chart your own course, or read "Producing Open Source Software" by Karl Fogel.
Register your project
If you have not already registered your project on SourceForge.net:
- Register a user account.
- Determine which Open Source license you will use for your project. The GNU GPL, GNU LGPL, and BSD licenses are very popular.
- Determine what your project is going to write for software -- you will need to supply a description of your project during the registration process.
- Register your project.
Step 1: Make a file release
Now that your project is registered, we encourage you to jump right in and make a file release using our File Release System (FRS), your project will not be indexed for search until you do. The Open Source community lives by "Release Early, Release Often". Getting a release out the door will supply the momentum your project needs to succeed -- it will help attract users and developers to your project, and help you gain confidence in your work.
Here are some tips to get your first release out the door on the right foot:
- If you don't have code yet, that's what you should focus on -- start writing some code. A few hours of work on the code is plenty; release that.
- It is perfectly fine to release a snippet of proof-of-concept code. Software grows over time; your first release is just a starting point -- it probably won't compile or do anything useful.
- Don't worry about making the first release live up to any standards of "release quality". No matter how good the code, you'll probably change every line as your project matures. There is no sense in "making it perfect" for the first release.
- Don't worry about releasing binaries or documentation right now -- wait until your software does something useful.
- Make a text file, README, which includes your project description, a link to your project page at SourceForge.net, and your email address so potential developers can contact you. You may also want to make a mention of the quality of this release, so folks know what to expect.
- Include a comment at the top of your source code files to tell your users what license the code has been released under.
Improve your project presence
Now that you have made your first release, it's time to take about an hour and refine your project's presence. By improving the public-facing information about your project, you help encourage users to try your software, and encourage developers to offer to join your team. Keep in mind that things need not be perfect; you're just making enough improvements to help your project grow -- you will continue to refine your project's presence as the software starts to have more value and you get more users.
Step 2: Refine your project description
The description and Trove categorization of your project are shown throughout SourceForge.net -- in search results and on the Software Map. This is probably the first thing users and potential developers will see about your project. We recommend that you take ten minutes and refine your project description, then take another ten minutes and make sure the Trove categorization for your project is accurate.
To manage your project description or Trove categorization:
- Go to the Develop page for your project.
- Select the "Project Settings" menu option from the Project Admin dropdown menu.
- Fill out the provided form, or use the links in the right-hand column to manage your project's Trove and Support options.
Step 3: Enable the features you need
SourceForge.net provides a number of features address the tool needs of your project. We have forums and mailing lists for discussion, Source Code Management (SCM) tools, and bug tracking tools, to name a few.
You need not turn on all of the features now. We recommend you leave features off and turn things on as you need them. We do want to encourage you to take fifteen minutes and look over our site documentation to familiarize yourself with what we offer. If there is a tool you need now, go ahead and enable it. You can always go back and enable more features later. Knowing what we offer will help you make good decisions about how to manage your project's support, documentation, and development activities.
Step 4: Launch your wiki or blog
The "Release Early, Release Often" method of development applies beyond source code -- users like to see software improve over time, and know that development is active.
There are many ways to store information about your project. Our two favorite options are available as opt-in features in our Hosted Apps offering. Both of these options allow an iterative approach; you can make a lot of progress by putting in just a little time with these tools:
- Blogs, which allow you to post progress reports about your development activity on a regular basis. Users love to hear about the effort you are putting in to the project; talking about your project activities helps show the vitality of the project. Blog posts can be a short one-liner, or a whole page of detail -- it's up to you. Better blogs have some personality; feel free to explain the mistakes you make during development and how you overcame those mistakes.
- Wiki tools, which provide an easy-to-maintain way to product documentation for your project. Wikis are generally better than producing a HTML website about your project because it takes less time to produce content (giving you more time to work on code) and gives you a professional-looking result with very little effort.
Step 5: More code, recruit developers
You've done a great job getting your project for users and developers to participate. There are a lot of competing projects in the Open Source community, so you shouldn't count on a team of developers joining you to chip in. If you want your project to grow, it is important that you continue to work on the software on your own while you develop an end-user following and start to add developers to the project team. Making more file releases is a great way to drive some buzz around your project.
While you continue development activities, you should start recruiting some help. News postings, Help Wanted forum postings, listing your project on http://freshmeat.net, and our Help Wanted system are all good ways to attract developers to your project. As your software starts to do something useful, developers will start to take notice. Once you find a developer who wants to join your project, you may add them using the project admin interface and grant them access to the features (like SCM and Wiki) you have enabled for the project.
We encourage you to do what you can to help your project succeed:
- Continue to develop the software and make new releases. (Remember to update your wiki or post to your blog.)
- Make regular backups.
- Respond to support inquiries and bug reports from your users.
- Accept feedback and participation of other developers. "Producing Open Source Software", by Karl Fogel, provides great background information on the social aspects of project administration.
The Open Source community is a mix of hobbyists and professional software developers. Diligence (which you need to supply) and the right tools (which we supply) are needed for any software development project to succeed. Please let us know if you need advice or assistance in using our services. We wish you and your project the best of luck and look forward to trying your software when it's ready.