Project management to go with GitHub
(EDIT: This question is now outdated for my particular issue, as Google Code supports git now and I've converted Protocol Buffers to Mercurial anyway. However, it's still of general interest, IMO.)
My C# Protocol Buffers Port uses github for its source control, and I'm beginning to really enjoy using git. However, as far as I can tell, github doesn't provide any project management tools: defect and feature tracking, discussions, feature requests, docs etc. Given my affiliations, Google Code would be a natural choice, but it would seem odd to create a project there but host the source on github.
This question about Fogbugz/Assembla seems to mostly focus on the defect tracking. I was wondering what experiences others have had when it comes to a more "complete" project management solution. Does Fogbugz actually do everything I need? (Using a wiki for docs has its advantages, although I also want to be able to distribute documentation with the code.) Beyond the explicit features mentioned in the first paragraph, are there other project aspects I should be considering which I may have missed?
This will definitely stay an open source project, and although I'd rather not pay I don't mind if a small fee is required. Currently I'm the only developer, but that may change and there may very well be lots of people filing bugs and feature requests. (In other words, I hope and expect it to be popular, but with me doing most of the work.)
Previously I've contributed to various open source projects, but haven't done much in the way of running a very visible and active one. (MiscUtil is currently still "hosted" on my website, with occasional releases - the actual source control is on my local NAS.)
Anyone care to share their experiences?
EDIT: Another option I'm now considering is a Google Code project (I really would like to be loyal to my employer) and an occasional merge from git to svn (at the very least, every time I do a release). This would allow non-git users to get hold of the source easily too.
If you're thinking that you'll really be the only developer, Fogbugz will help you keep your sanity. Fogbugz is a great product, It builds focused communications and can turn anything into a case (issue). It does all that as well as any system I've seen.
But its orientation is commercial -- efficient communication between users and tech support, improve reliability of schedules, focus & prioritize what's being worked on, separate internal & external discussions, some good reporting to track that things are getting handled. (About the only criticism I can think of is it doesn't do case blocking and dependency tracking, which is really useful for those bugs buried deep.)
Little of this feature set will help you build an active open source project, with open lively communication and the need build a community and have users evolve into developers as the project grows. So if that's where you want to end up, you may really want the less focused communication channels of one of these lightweight tracking systems.
I haven't used Google Code on a project yet, but in terms of transparent & open communication, it looks like a good support for an active open source project. Plus you already know it. If you want to grow the involvement in your project, Google code looks like the way to go.
GitHub recently introduced an issue tracker of their own; I haven't done a competitive analysis to determine how it measures up to other options mentioned on this thread, though.
I use GitHub along with Lighthouse for issue tracking. It's a little barebones compared to some of the other options, but at the same time it works very well if you just want a lightweight tool you don't have to worry too much about. It can integrate with GitHub if you want, and it's also free for open source projects.
We use bitbucket.org, which is not GIT, it's Mercurial* , but it does have bug/issue tracking per branch etc.
I think it can be very useful to integrate these things with the place you manage your source code for cross-referencing things like issue-number in a commit message. Or Fixed message for an issue containing the code revision number. You would lose this if you chose a separate BTS like Google code. As mentioned in other answer, Trac is really good at the integration thing.
Edit: I should say that for my most widely used open source project, we do actually have it at:
- Bitbucket (source code management)
- Launchpad (user bug reporting, translations management)
- Self hosted Trac (wiki, project and developer issue tracking, source code mirror)
- Google code (file downloads)
And I know this sounds insane, but we pick and choose the best bits out of each service. And surprisingly no one complains.
* which is better in my opinion anyway, but please don't flame me.
Have you considered Trac ?
There seems to be an "enthusiastic" review of a git-Trac integration.
I have no personal experience with these tools but you may want to check out the integration.
I use github and google code in some places. Google code's issue tracker is decent enough, but I can't deal with subversion.
Take a look at my java memcached client for an example of this -- particularly the source tab at the top.
At work we use FogBugz and it's by far the best tool of its type in my opinion. I would use it for the non-profit projects I work on, except it's so expensive beyond 2 users.
For the non-profit projects, we use Lighthouse for issue tracking. It's alright for what it costs, and frankly I can't really find any suitable alternatives within its price range. Trac's issue tracking is little better than Bugzilla's...I know a lot of folks love Trac but I find it very inflexible. Trac's deficiencies led us to Lighthouse.
My non-profit projects are looking possibly at moving to Bitbucket. In addition to the issue tracking, it would let us consolidate our repositories over there from beanstalkapp.com, as well as, adding a wiki.
That all being said, if FogBugz-on-Demand had pricing even remotely similar to Lighthouse.app for small user counts, I'd move us over there in a heartbeat. When you use FB at work and then Lighthouse.app at night...using Lighthouse feels like your arm has been chopped off.
I too use github with Lighthouse. And if your commit message contains something like
Lighthouse will resolve ticket #32 against the commit, which I find quick and useful. Other than that, Lighthouse is a bit, er, light on features.
I'd suggest JavaForge as an alternative, since it has everything you look for:
- It offers free hosting with Mercurial and Git (or mixed).
- Its issue tracker is lightyears ahead of GitHub. It is extremely powerful and customizable, can track requirements, feature requests, bugs, tasks, etc.
- It provides Document Management, also with WebDAV access (sharing as easy as with shared folders).
- It has built-in wiki for collaborative authoring for documentation, requirements, etc.
- It has forums for discussions.
Please note that the site is powered by codeBeamer, our commercial product battle-tested by global companies.
(Disclaimer: we are a commercial provider of agile ALM solutions.)
<plug>I'm building Airport.</plug>
You could also try using a tool like BusyFlow. There you can track GitHub commits and comment on them (the comments are synced with GitHub). For other project management facets BusyFlow integrates with Google Calendar, Trello, Basecamp, Pivotal Tracker etc. So you can see your GitHub items alongside with tasks, files and calendar events.
(Disclaimer: I'm a co-founder of BusyFlow.)
Have you considered CodePlex?