1. Create a solid foundation.
When you release a piece of code to the open source world, make sure it is commented and nicely formatted. I was under the impression that I would release a piece of code and people will just use it. Not so, they actually interact with your code and modify it to their needs. When you release code to the public, if you comment it well and make it easily extensible you will be amazed at how other developers augment it.
2. Treat your community well and watch your project grow.
Make sure you give users a platform to speak off of. I did this with comments on the demo page. In open source, the community you are a part of is the lifeline to a better project. If you respond to users and fellow developers, they will help you out a lot. jQuery calendar went from having a basic feature set, to having 25+ customizable options and 10+ languages. Could I have done that alone? No, and that’s the beauty of open source. I can release something and if I have a solid foundation and a community to fuel it then it will grow.
3. If your code becomes popular, prepare for tons of bugs and feature requests.
At first, it was really cool to get any response at all on my code. I was instantly fixing, updating and supporting my users. After a few months the code became more and more popular. I eventually got overwhelmed with emails and comments. Now I could literally spend three full work weeks tracking down and catching up on the comments on my jQuery Calendar plugin alone. I decided I need to shut down my comments and direct all traffic to jQuery’s bug tracking tool. At least now it will be categorized, organized and more efficient. I think comments were a really great starting point because people could make comments without having to register or go to a new location to comment. But at some point I need to have a life and that involves making things easier for me, the developer.
4. Test your code in browsers you don’t care about.
Make sure your code is tested in Safari, IE6+, FireFox and Opera or else you will never hear the end of it. Maybe you don’t care about one of those browsers but I guarantee someone will complain because they use it as their primary browser. Use something like Firebug Lite to debug your code in non-firefox browsers.
5. Don’t expect money, you’ll get paid in other ways.
I’ve talked to open source gurus and they don’t get many donations, so you probably won’t either. You will get paid in other ways. Sometimes you need to do things because you are passionate about it rather than expecting to get rich. There is more to life than being rich.