(You may also be interested in my post Free Software and Services for Open Source Projects.)
In a recent blog post, Scott Hanselman suggested:
We don’t sing contributor’s praises for their hard work and success while their software works, instead we wait until a single line (albeit one of the more important lines) fails to live up to expectations.
I don’t completely agree with this; I often see people praising open source software (and I didn’t see anyone really pointing fingers over Heartbleed), but I do think the general point that open source software is taken for granted and under-appreciated is valid.
This got me thinking about some of the open source software I use; some as part of my job delivering commercial applications and some at home when I’m just playing around. I thought it’d be good to blog a list of my favourites; maybe it’ll help others discover them. Much of it is pretty well known (some even from MS/Google), but I thought I’d include all my favourite stuff for completeness.
I may have missed some; but there’s a lot of great stuff out there. If I remember anything cool Ive missed, I’ll try and add it in.
If you have a blog (or even Google+ ;-)) I invite you to do the same!
(In alphabetical order; with no grouping, and often their own marketing speak!)
- 7-Zip - A file archiver with a high compression ratio. There’s a portable version I use to avoid having extra stuff installed, but still allowing the higher compression of .7z when required.
- Bootstrap - A popular front-end framework for developing responsive, mobile first projects on the web. This is great for getting something looking decent very quickly, especially for non-designers (programmers!).
- Chosen - A jQuery plugin that makes long, unwieldy select boxes much more user-friendly. These look really nice; especially compared against the default selects in some of the latest browser versions!
- ELMAH - An application-wide error logging facility.
- F# - A functional-first programming language that interops relatively nicely with .NET. This could be the key to getting current-.NET devs interested more in functional ideas.
- FAKE - A cross platform build automation system (F# Make). Haven’t used this seriously yet; but looking for someone to replace all the built steps on our build server with a single script that can be run on dev machines to give a like-for-like build.
- Glimpse - Inspects web requests as they happen, providing insights and tooling that reduce debugging time.
- Jekyll - A blog-aware, static-site generator (powering this blog for free, via GitHub Pages!)
- Mercurial - A distributed source control management tool. This is much easier IMO to use than Git; though sadly I don’t think I can convicne the masses ;)
- NuGet - A package manager for the Microsoft development platform including .NET. This is basically the first place I look for any third party library these days.
- Reactive Extensions - A library for composing async/event-based programs using observable sequences and LINQ-style query operators.
- remark - A simple, in-browser, Markdown-driven slideshow tool targeted at people who know their way around HTML and CSS (I blogged more about this yesterday).
- SignalR - A library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to applications.
- StructureMap - A dependency injection / inversion of control tool for .NET.
- TickSpec - A lightweight F# BDD framework.
- Web API - A framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices.
- xUnit - A community-focused unit testing tool for the .NET Framework.