views:

290

answers:

7

First of all, I reviewed this question, but I think I need a little more information since I've never worked on an opensource project before.

I'm starting an opensource project, currently hosted on Google code. It is a framework for creating flash games in ActionScript3 (programmer oriented). So far, so good, but I want to start building a community around it. The project is 60% finished from it's first official stable release (I am using Scrum to guide the development process, currently we are 3 people on the development team). By the way, the project has the MIT licence.

Do you have any advice on how to guide the development, any tools that I should look at?

Assembla vs Google code vs Trac vs Pivotal tracker?

What are you experiences on this?

+2  A: 

First, big obvious download buttons so that a person can download your project, make it just plain easy. Secondly, forums so that people can give you feedback good and bad about the project.

Good luck on your project!

Chris
Installation isn't the only thing that should be easy... since this is a developer-oriented framework, we'll want some tutorials and great guides for getting started.
JasonWyatt
Tutorials and guides. Noted. Thank you.
Seth Illgard
+5  A: 

If you're looking to build a community, it's not always about the tools, more about the processes you can use to build a community. There are plenty of people who will use whatever tool you give them or will choose (or refuse) to participate in a project based on the tools, but if the community stinks very few people will hang around.

I'd recommend spending some time thinking about how you're going to embrace a community. Are you ready to take the time to respond to bug reports? How will you handle enhancement requests? Are you willing to let something into the code if several people want it, but you don't? These are all critical issues that in the end will be far more important then Assmebla vs Trac.

You may want to check out Karl Fogel's book Producing Open Source Software or Jono Bacon's The Art of Community for more hints on managing and building a community.

Pridkett
In the spirit of this question: I highly recommend a wiki, an issue tracking system and a forum or stackexchange site for your project. The easier it is for people to ask questions and get involved, the more likely your project is to succeed and have developers join.
Ben S
Thanks for that. I'll check out those books.
Seth Illgard
It's a nice answer but I don't see how it answers the question.
Pascal Thivent
I know, it doesn't. My point is that it's a fine question, but rather moot unless you consider some of the broad issues regarding how to handle and build a community.
Pridkett
I know this does not answer the original question but provides a lot of information on the topic. Thank you.
Seth Illgard
A: 

Don't host your code on codeplex. I recently started an open source project as the basis of an article series on DotNetSlackers.com to show people how to build a site like SO. I mistakenly hosted this project on CodePlex. My automated build will periodically send me broken build emails as CodePlex will randomly go down for hours at a time. IT DRIVES ME NUTS!

If you plan to develop code that is free to the world but don't plan on letting anyone and everyone submit code to your project...host your own source control (perforce is free for a couple of users) or use something like google to host your code.

Andrew Siemer
Thanks for the head up on this.
Seth Illgard
Perforce for a FOSS project? lmao.
Ben S
Perforce has all the benefits of TFS...without the cost (though it does have some cost). The concept that code can move from one branch to the other without losing information about a given file along its migration is very powerful! VSS, SVN, Vault, etc - just can't compare. Again, this was only if it was not to be publicly editable!
Andrew Siemer
+2  A: 

To me, guiding the development is more a matter of prioritizing what has to be done so I'm tempted to say: why don't you just use Google Code issue tracker as your project is already hosted there? I think it's offering all you need. Customize it to add a Estimates field if you want (for Scrum) and there you go.

Why do you think you would need something else? You already have a source repository, code reviews facilities, a wiki, mailing lists, an issue tracker, secured access for contributors. You don't need much more for collaborative work. What are you missing? Instant Messaging? Use Skype or Gtalk. IRC? You don't need it for now. No, really, I don't think a tool is gonna solve anything more here (even if you can't draw your burndown chart, not a big deal for a non full time project IMO).

So, because any other tool would be less well integrated with other Google Code services (e.g. I like to link my commits to issues using "Issue #ID" in comments which is automatically linked), I'd stick with what you currently have (maybe just add Gtalk/Skype to ease the communication/collaboration) and I'd start creating issues and prioritizing them. Good prioritization of work is the key to a successful project, there is no silver bullet tool that will do this for you. Then, plan fixed date milestones (releases) and assign most important issues to the upcoming milestone. Close as many issues as you can before the deadline. When the release time has come, release what has been done, postpone non implemented issue to the next milestone and start again.

Pascal Thivent
+2  A: 
  • Strive for adoption. The more users you get, the more people will contribute back.

  • Include lots of code samples on the wiki and let users download a sample application.

  • Make sure your API is well-documented with ASDoc.

  • Provide a roadmap to so that potential users can see your direction and intentions.

  • Be diligent about prioritizing feature requests and bugs. You and your team don't have time to do everything.

  • Make integration as seamless as possible. Hopefully users will be able to simply download a .swc (Flash library) and link it into their application.

  • Release early, release often. I hate having to download and use the HEAD revision from a repository because a team has only officially released one version of their project and it's a year old.

a paid nerd
Great tips! Thanks!
Seth Illgard
+2  A: 

I would suggest checking out this book: http://producingoss.com/

I believe there is a free online and pdf version.

I have messed around with Trac some and it can certainly get the job done but if you are already doing an agile development process I would check out Pivotal Tracker. I use it on a side project and it's pretty slick, not to mention free to use. Pivotal has all the things you would expect: stories, backlog, velocity calculation, a few charts, etc.

Sean Copenhaver
Pivotal tracker is great, indeed.
Seth Illgard
+1  A: 

If you need a software to support your scrum project... agile42 offers free Licenses of Agilo for Scrum Pro for open source projects.

Doro
Will look into it, thank you.
Seth Illgard