This is a series on my findings around building open source software online for free. There are many SAAS (Software As A Service) platforms out there and a lot of these are free to use with your open source projects. But not all of these work with C# and .Net. So this series highlights the tools and products out there that work with .Net in different phases of the software development life cycle.

  1. Source Control

Lifecycle Management

If all your development is done with GitHub, then here are some ALM tools that integration well to surface different views into your lifecycle. But don't think you are limited to GitHub, as some of this will integrate with most source control systems.

  • Waffle
  • Trello
  • Issue Stats
  • Sourcegraph
  • Open HUB
  • Bountysource
  • Gratipay
  • Tip4Commit
  • Dash
  • Shields.io

Waffle

Waffle is an issue tracking board. But not as a stand along system, no no. They use your issues on GitHub as their database, surfacing the information based on conventions. They also use webhooks to automatically create, update and close your issues based on pull requests and labels. Each of your issues is a card, and interacting with Waffle you can move your cards around, edit the details and add labels and comments to track them easier. A nice feature is you can point Waffle at anyone's repository, even if they don't use it, to see their issues displayed as cards. Very cool. I have been using it with Coveralls.net, and you can also see it working with the Roslyn repository.

Trello

Trello is a Kanban style card board, which is feature rich, and free to use. Collaborate with others in a private board. This is a modern web application, and works well in what it does. Cards support drag and drop and it keeps track of the history as changes are made. You can make your board public or keep it private. The only issue with using this for your public open source repository is the duplication between here, and issues in GitHub. For private projects, this could be a great Kanban tracking solution (though I suggest for that purpose you also check out KanbanFlow)

Issue Stats

Issue Stats is kind of meta. Its designed to analyse and compare your issues and pull requests in GitHub, and tell you hoy long it takes to close them. It also provides a simple graph of the distribution of time to close, as well as graphs and status across all the repositories to see interesting stats comparing languages. Simple but effective. Again check out how the Roslyn Repository looks via Issue Stats.

Sourcegraph

Sourcegraph is another service that integrates with GitHub repositories. It provides a code search engine on top of your repository. The unique twist is it can then search all the other repositories it knows about to find usages of your methods, giving you real code examples of how it is used. A really cool premise. Sourcegraph supports Java (Maven), Python, JavaScript (Node.js), Go, and Ruby, but I will continue to hassle them about their lack of C# support.

Open HUB

Open HUB is another project comparison system. It allows you to claim your contributions to open source projects, as well as showing statistics on the projects that it has in its system. I have my Coveralls.Net and BCLExtensions libraries on here.

Bountysource

Bountysource puts developers and funding together. Roughly speaking, someone puts up a bounty on an issue or feature and whoever fulfils it gets the bounty. If you have an issue on an open source project that isn't being fixed, you can put up some money to encourage it to be fixed faster. An interesting concept, and looks like it works for some projects, but not for others.

Gratipay

Gratipay is a pure and simple donation system. You have an account, and you can add and withdraw money. Then you can pledge an amount per week to an individual or team, and others can do the same back. You may end up with a net profit, or net spend, as you see fit.

Tip4Commit

Tip4Commit is another donation service for open source projects. This one works in Bitcoins.

Dash

Dash gives you Dashboard As A Service. Add all the widgets to track the metrics that matter to you in a dashboard you can look at to track your progress. There is a nice Example Fitness Dashboard that shows you what can be done. The only gripe I have with this is the lack of development platforms that work out of the box. You can create custom results, but they require you to host and run your own proxy to transform the data into a format it can display. Otherwise a nice dashboard service.

Shields.io

Most projects online, especially the ones above, provide badges for you to display on your projects to show off their service, give you visibility on your coverage number, your build success or failure status, and other useful information Shields.io is not so much a tool, as it is Badges As A Service (BAAS? I should stop making these up I think). Using their service, you can unify all your badges to look nice together, and even theme them with a few options like flat, rounded and such. More and more services are being exposed through Shields.io every time I go back, and you can even DIY with special urls that take the display text, style and colour as query parameters like this: A Sample Custom Badge

For a good list of a whole bunch of places to get free for open source things, check out OSS Perks. And that's all she wrote. This is the last post in the series, that was designed to be a companion to my .Net User Group Talk. The slides from my talk are available on prezi.