VC3 just released version 1.0 of Afterthought, an open source library designed to allow software developers to manipulate .NET-based applications after they are compiled. This is VC3’s first released open source library, and it paves the way for a number of additional releases in the coming weeks. We have been working hard over the past few years to transition from closed source intellectual property towards the development of open source solutions for use with our customers. This allows us to innovate around a common platform while also extending access to the source for these libraries to our customers and the development community.
Development of Afterthought actually started just a few weeks ago, born out of the necessity to eliminate our dependence on PostSharp
, which is a previously free product that has gone commercial in a big way. We had been using PostSharp as part of our open source development efforts and thus were disappointed to see this product no longer available for use without hefty license fees. Fortunately, Microsoft Research released CCI Metadata
as an open source project a couple of years ago, which while quite complex for us to use, made it possible for us to provide PostSharp-like capabilities rather quickly with a much better overall developer experience.
In order to make it easy for developers to get started using Afterthought, we published the first version as a NuGet
package, which is new open source deployment solution that Microsoft developed last year to allow developers to easily share and quickly consume open source solutions. Developers using Visual Studio 2010 can simply select to add a package reference, search for Afterthought, click install, and immediately start using this library and toolset in their projects.
We are hosting the source for Afterthought on GitHub, and directly using this (free for open source) online source control system to manage our code-base, provide end-user documentation, and track issues, bugs, and feature requests. We are excited to finally get moving with revealing our open source work and look forward to interactions with other developers and community involvement as a result of our labors.