Theme Graphic
Theme Graphic

The Official Programmer's Heaven Blog

The blog where the Programmer's Heaven team post stuff.

Subscribe

Author

Often knowledgable, sometimes wise, occasionally funny. The Programmer's Heaven blog team post about a whole range of topics, from practical advice on concurrency control to introductions to lesser known concepts such as functional programming. Don't forget to comment on the posts and let them know what you think, like and hate!

Archive

Tags

Posted on Thursday, October 04, 2007 at 6:02 AM

Source For .NET Class Libraries To Be Released!


Microsoft have announced that the source code for many of the .Net Class Libraries is to be released to developers. This means that when debugging code that calls into the .Net class library, you will be able to trace into the library itself to see what is happening. Not all libraries will have their source released right away, though they plan to release the source for more of them over time.

This will potentially be very useful to those of us who want to know how things really work inside the .Net class library. A class library of this size is also going to have some bugs here and there, and being able to trace into it will provide a way for developers to know that the bug really is inside the class library rather than in their own code. That way, more detailed bug reports can be made to the Microsoft development team and a workaround may be easier to identify.

The sources are to be released under the Microsoft Reference License. This permits you to read the source code and make copies of it within your organization, but not to make changes to it and distribute those changes, whether inside your organization or not. Basically, you can read the code, but you can't hack on it.

The choice of license has got an unfavorable response from many open source and Free software advocates. A friend of mine who is neither described it as a "sucky license". I think that the license illustrates Microsoft's purposes, though. They want to help .Net developers, but do not want to give up control over their code base and see the class library forked in many incompatible ways. Also, while they are denying themselves the benefits of having people from outside Microsoft contribute code that fixes bugs or improves the software, accepting such contributions opens up a legal can of worms. It's not impossible for them to do, but the work of taking steps and obtaining documentation to prove the code is an original contribution or that they can legally use it may well exceed the cost of having an engineer make the fix.

Therefore, my own feeling is that Microsoft are making a step in the right direction here, that will be of benefit to .Net developers. Of course, there are some people, such as those working on the Mono Project and are re-implementing the .Net class libraries from the documentation, that should probably steer well clear of this code to avoid accusations of being "tainted" or copying Microsoft's implementation. Someone will probably suggest (if they haven't already) that Microsoft is taking this step in hope that this kind of copying will happen so they can kill off the Mono Project through legal means, but I'm not feeling cynical enough for that today. And anyway, the Mono Project has ported .Net to all kinds of platforms, extending its reach. I'm not sure why Microsoft would want rid of it anyway.

And, of course, I look forward to searching the released source code for swear words and reporting just how many were found. Maybe that's why it's taking some time to prepare the code for release, though.
Tags: None
Bookmark: Submit To Digg Submit To reddit Submit To del.icio.us Bookmark With StumbleUpon Bookmark With FaceBook Bookmark With Google Bookmarks   Share: Share By Email By Email

0 comments on "Source For .NET Class Libraries To Be Released!"
No comments posted yet.

Leave A Comment
Subject:


Comment:
   Bold Italic Underline          Code Link Image Horizontal Rule


Because you do not have or are not logged in to your Programmer's Heaven account, please enter your name.

Name:


To help prevent comment SPAM, please enter the magic code '31' in the box:




Posting Rules
Please follow these rules when posting comments on blog posts.
  • Do not post anything that is racist, hate speech or of a sexual or adult nature.
  • Do not post or link to anything that infringes copyrighted laws.
  • Posting about security or legal topics is fine so long as you are not glorifying or encouraging people to perform illegal activities.
  • Both the author of this blog and the Programmer's Heaven administrators may delete any inappropriate comments without notice at their own discretion.
 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.