Thinking about Open Source

by benl

It amazes me to think that it has only been a handful of years since I started using open source software in my hacking. My projects now have open source deeply embedded: ranging from ORM frameworks to even operating systems and application servers.

Since most of my previous development was in .NET (Microsoft’s implementation not Mono), my first forrays into open source were the frameworks and librarys built for this purpose. A quick role call of some I am familiar with and have used extensively:

NHibernate: Excellent ORM framework which is really maturing into a nice product. Was the basis of prescriptive architecture during my time at BBC Worldwide.

NUnit: For unit-testing and dynamic mock objects. Again, another essential open source framework which has implementations for common OO language environments.

Log4Net: The canonical instrumentation library, has implementations throughout almost all OO languages. Used in literally all decent open source libraries and frameworks.

Spring.NET: The excellent and mature object container and IoC framework. Although this has grown into a complete application framework I can only comment on dependency-injection aspects of it.

NSpectre: Created and maintained by a colleague of mine during my time at BBC. Superb validation framework which uses XML to describe validation rules. Does an excellent job of taking out complicated validation logic from the code and provides a means to declare all the validation gunk declaratively.

OpenSmtp: An open source SMTP library. No longer maintained I believe but still very nice.

Just a few mentioned there but the main ones I’ve used during my Windows & .NET development. I’ll get into what I consider true open source development in another post soon 😉