We added a new section of our website where we offer code downloads. We’re gathering up juicy code snippets and programming tools we’ve written and giving them away as open source. As of this writing, there’s only one project listed- but more are on the way.
There is quite a bit of effort that goes into packaging up code to release as open source. There are the obvious tasks such as removing any sensitive data such as passwords or database connection strings. It’s also a great time to go back over the code you’ve written and add in some additional comments- It’s a lot easier to notice the more confusing parts of code you’ve written after departing from it for a few months.
A large part releasing code for free is reducing third-party dependencies. We have an internal framework that is split up into many different assemblies that mirror the .NET Framework, but with enhanced capabilities. It’s not uncommon for us to reference 6 or 7 libraries and call a few functions from each. This works well on most projects, but if you are releasing a small open source project, those dependencies have some additional implications. Some may be proprietary, or carry licensing restrictions. Also, calling a single function from 5,000 line code library may be a bit off-putting to someone trying to utilize your code. So we’re spending a little time refactoring out functionality like that directly into the projects we’re giving away.
Hopefully the code we release is useful to someone. Most of these projects started by one of us Googling around for a tool, and not finding any results. We’ve use a bunch of open source technologies in our business (I’m writing this post in Wordpress right now) and it’s great to be able to contribute back to the community.
Go ahead and check out the new code library. Oh, by the way, we started a blog.