.NET 3.5 Source Code - Good or Bad?

posted on 10/07/07 at 10:08:56 pm by Joel Ross

I was sitting in a lunch meeting when I heard the announcement that the .NET Framework was going open source, which isn't quite true. It's being released as a source reference, meaning you can't contribute to it, but you can see what's going on. I was excited - not so much because I want to see the source - I can already do that (legally or not) using Reflector, a tool that most developers already know about. No, I was excited because I would be able to step into framework code when needed. That need doesn't arise often, but there have been times that I've opened Reflector to see what's happening, and "stepping into" framework code manually is a painful process, and being able to run it live would be nice.

Everywhere you look, people are praising Microsoft - the big knock being that it's not really open source - community developers can't contribute fixes or features to the framework team, so it's not a true open source project. Other than that, it's all been positive.

That is until I read Frans Bouma's take. The title says it all: "Don't look at the sourcecode of .NET licensed under the 'Reference license'". His reason: Software patents. You're potentially looking at code that is patented, and if you build something similar, you could be held liable. He has a good example about the ReaderWriterLockSlim class that's been added to .NET 3.5. It's patented and has issues. If you write your own and have looked at the source, you could be liable for creating derivative work from patented code.

Now, you could say that Frans is being a little paranoid, but he does bring up some good points. I'm not sure how I feel about it personally, but it's definitely something to keep in mind, especially if you are a framework developer, like Frans is (and, well, so am I).

Categories: Development, C#