Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

open.NET? Microsoft To Make .NET Libraries Available Under "Open Source"
Whurley.com ^ | October 03, 2007 | whurley

Posted on 10/04/2007 7:31:43 AM PDT by N3WBI3

open.NET? Microsoft To Make .NET Libraries Available Under "Open Source"

Open One minute ago Microsoft made one of its first "open source" moves under the new Microsoft Reference License: the team in Redmond announced they'll make some .NET libraries available.  I say "open source" because to me, open source means you can easily access a .tar or .zip of the code.  Microsoft's effort is a bit more cumbersome.

What does that mean for you?  Is .NET open source now?  I wouldn't call it that quite yet.  This is the first step on a much longer journey.  The license indicates that developers can "see" the source code, but Microsoft's not providing any means of copying it.  If a developer finds a bug in the code, rather than fixing it themselves and submitting a patch to the community they'll be encouraged to submit feedback via the product feedback center.  They're showing us the man behind the curtain, but we're not allowed to speak to him in person just yet.  We're still stuck with the giant, disembodied green head.  And since community involvement is essential to most open source efforts, well . . .

But enough about how this is "open source" and more about what they're actually making available.  In Visual Studio 2008 (that's right, it's not available quite yet), Microsoft will introduce the capability for .NET developers to debug the .NET framework source code along with their own.  The initial release will include the Base Class Libraries (BCL), Windows Forms, ASP.NET, System.Data, and WPF.   For those of you not familiar with these libraries' details, BCL includes many of the basic classes in the framework including collections, string and text handling, IO, serialization, remoting, and others.

The current plan is to release Visual Studio 2008 before the end of 2007, but you know how release schedules go.  Developers will be able to download the source code package for the .NET libraries around the same time the new version is available or soon after.  Microsoft does plan to include additional libraries to the set as time goes on.  Here's the entire text of the announcement unedited:

Reference Source Code Availability for the .NET Framework

--Microsoft Confidential until October 3rd, 9:00am Pacific time--

Key Points

- Microsoft is releasing the source code for .NET Framework libraries under the Microsoft Reference License.  This license allows viewing of source code, but not modification or redistribution. The source code will be downloadable and viewable by anyone who accepts the license agreement.

- Microsoft will introduce a capability in Visual Studio 2008 to allow .NET developers who are debugging applications, to debug not only into their own source code, but also into .NET Framework source code using Visual Studio.

- This release falls under Microsoft's Shared Source Initiative, which encompasses a spectrum of source code offerings, complementing the company's other activities around sharing source code.  This is another example of Microsoft's continued commitment to increasing transparency and addressing developer needs.

 

Q&A

Q. What are you announcing?

Microsoft is releasing the source code for .NET Framework base class libraries under the Microsoft Reference License, which is available here: http://www.microsoft.com/resources/sharedsource/licensingbasics/referencelicense.mspx .  This license allows viewing of source code, but not copying or re-compiling. The source code will be downloadable and viewable by anyone who accepts the license agreement.

In addition, Microsoft will introduce a capability in Visual Studio 2008 to allow .NET developers who are debugging applications, to debug not only into their own source code, but also debug into the .NET Framework source code using Visual Studio.  With this capability, when developers are stepping through code, if they wish, they will be able to step into the source code for the .NET base class libraries.

Q. When will this become available to developers?

We expect the debugging capability to be available to .NET developers who use the RTM version of Visual Studio 2008, when Visual Studio 2008 releases.  Our current plan is to release Visual Studio 2008 before the end of the 2007.

Developers will be able to download the source code package for the .NET libraries around the same time, or soon after.

Q: Which libraries are included in the source-code release?

This release will include the Base Class Libraries (BCL), Windows Forms, ASP.NET, System.Data, and WPF.   BCL includes many of the basic classes in the framework including collections, string and text handling, IO,serialization, remoting, and others. We plan to include additional libraries into the set as time goes on.

Q: Why are you releasing only a subset of the .NET Framework libraries under the Microsoft Reference License?

Our intention is to make .NET Framework library source code available broadly, in response to customer demand.  Before release under the Microsoft Reference License, each library is subject to a code review.  As time allows, we will complete additional code reviews and release additional modules under this license.

Q: Will the libraries distributed under the Microsoft Reference License be limited to "managed code" libraries – in other words, .NET Framework libraries?

Microsoft's intention in releasing developer libraries under the Microsoft Reference License (Ms-RL) is to provide transparency and allow developers to more deeply understand the inner workings of the source code.  Developers who better understand the source code will be more effective in writing software that makes use of the licensed source code. Microsoft may release additional libraries under the license, potentially including unmanaged libraries, and these additional libraries would also deliver the same debugging experience described previously.  Microsoft has no announcement at this time regarding additional libraries being released under the Microsoft Reference License.

Q: How does this relate to CodePlex, and other source-code sharing programs offered by Microsoft?

Microsoft has an initiative called the Shared Source Initiative which encompasses a spectrum of source code offerings.  At one end of the spectrum, Microsoft shares source code for commercial products like Windows and Office through programs offered to governments, enterprises, MVPs, OEMs, SIs and others.  On the other end of the spectrum, Microsoft encourages open source development through the CodePlex project management site, as well as direct contribution of source code to community projects on CodePlex.  Today, we're announcing a new offering:  the source code for the .NET Framework libraries will be available under the Microsoft Reference License.  This offering will enable developers to view and even debug into the source code for the .NET Framework libraries.   

Q: Allowing anyone to view the source code of a library – does this present a security risk?

The security of the .NET Framework does not depend on the obscurity of the .NET Framework source code.  A realistic threat model must assume that any bad actor who wishes to subvert the security of any library, for practical purposes, has full access to the source code.  This release will not change that.

Q: What do the developers need in order to take advantage of the debugging capability?

The debugging capability will be available to developers who use the RTM version of the Professional or Standard editions of Visual Studio 2008.  Microsoft will also publish instructions for how to enable other .NET development or debugging tools to take advantage of the same capability. The Express versions of Visual Studio will not include this capability.

Q: What do the developers need in order to simply view the .NET source code?

Developers will need to download the source code package, and accept the license agreement before unpacking the archive.  At that point, the source files will be viewable in any text editor.

Q. Why is Microsoft making this available now?

This is another step along the path of increasing transparency and addressing customer needs. Generally speaking, we are always looking for ways to continue to improve and enhance the developer experience for people who build applications using Microsoft tools.  Delivering this particular capability for our customers requires changes in the developer tool itself, and the introduction of Visual Studio 2008 gives us the opportunity to do that.

Q. Why didn't you do this sooner?

Our primary goal was to enable developers to build better applications.   A new capability like this requires changes in the developer tool, and the release of Visual Studio 2008 presents us with an opportunity to deliver the right experience for developers.   Maintaining the right developer experience, while preserving the security stability and serviceability of the .NET Framework, were paramount requirements for us.  We believe we'll have a simple and easy developer experience that will empower developers to build better more reliable applications.  Having said this, the debugging experience is very transparent, and developers won't even notice the change.

Q. Can developers modify and rebuild the .NET Framework source code, and redistribute the results of that action?

The source code of the developer libraries being made available, including the libraries in the .NET Framework, will be released under the Microsoft Reference License. http://www.microsoft.com/resources/sharedsource/licensingbasics/referencelicense.mspx

The Microsoft Reference License allows viewing of source code for reference purposes, but does not allow editing, copying, or rebuilding. Microsoft's intention in releasing developer libraries under this license is to provide transparency and allow developers to more deeply understand the inner workings of the source code.  Developers who better understand the source code will be more effective in writing software that makes use of the licensed source code.

Q. How is the license accepted?

The license is accepted differently depending on how the person accesses the source.  If it is through the VS2008 experience, there is a popup "do you accept this license?"  dialog.  If it is through the source package, then the MSI installer will require the person to accept the license before installing.

Q. Is this an open-source release?

Microsoft believes that a consistent framework for releasing source code – one the community can rely on – delivers  the best value for customers and minimizes confusion.  This is why use a set of source licenses, with clearly differentiated purposes, for source releases. (See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx ) This particular release is being offered under the Microsoft Reference License.

Q. {Java,Ruby, Python} is truly open source and lets me rebuild the source code. Why can I not do this with .NET?

We're focused on delivering value to developers.  With the .NET Framework library source code, our goal is to enable developers to view the source of the platform, learn from that, and potentially provide feedback into Microsoft.  (This would commonly be done via the Product Feedback center Microsoft has used for years – see http://connect.microsoft.com/feedback/default.aspx?SiteID=210 )  The Visual Studio debugging experience extends that view capability to a debugging session.  With this capability, we think we're delivering an easy, seamless experience for developers, and good value to the community.

Allowing developers to rebuild a framework, any framework, from source, and then redistribute the modified result, can introduce problems with providing support, serviceability, integrity and security of the framework itself.  This is true with .NET, Java, Ruby, and other frameworks. Multiple independent redistributed modified versions of a framework can decrease the reliability and dependability of the common platform, which is not desirable.   

In the path we've taken here, we are seeking to balance the requirements we hear from the developer community for transparency and of reliability and dependability of the platform. In striking that balance, we believe the Microsoft Reference License is the right license for this release.

Q. How does the debugging experience really work?  Will the source code remain resident on the machine?

Visual Studio will request source from a Microsoft (MSDN) server as needed when a developer steps into .NET Framework library code during in a debugging session.  In more detail, the debugger queries the remote server for the version of symbols that matches the binaries used in the application being debugged.  If the debugger finds the correct version of symbols, it downloads the source files on-demand as the developer debugs into them.  In all cases, the first download of source code requires explicit acceptance of the license.  This is the same flow works for all source code that we will add in the future to this program, whether managed, unmanaged, 32 bit, 64 bit, desktop, mobile, and so on.

Q. What if a company does not want to allow the .NET Framework source code or other library source code, to be viewed by its developers?

Viewing or debugging into the Microsoft library source code is an action that will require an explicit acceptance of the license, regardless of the mechanism by which developers view the code (whether in a developer tool like Visual Studio, or as a separate archive download).  Companies that do not wish to view the source code should instruct their employees to not accept this license.

Q. What are the terms of support with this source code?  What if the developer finds a bug in the code?

The license spells out what the developer should expect. Essentially, people can look at the source code, but they may not copy it.  If a person finds what they believe to be a bug in the code, Microsoft would encourage the person to submit feedback via the product feedback center, see http://connect.microsoft.com/feedback/default.aspx?SiteID=210 .


I'm wondering what Miguel de Icaza and the folks working on the MONO project think of this move.  I'd love to hear his opinion.  Miguel?

(Photo credit: rightee)


TOPICS: Business/Economy; Computers/Internet
KEYWORDS: microsoft; net; opensource
What does that mean for you? Is .NET open source now? I wouldn't call it that quite yet. This is the first step on a much longer journey. The license indicates that developers can "see" the source code, but Microsoft's not providing any means of copying it.

While its nice to MS MS making some motion in this direction its a tad insulting. They are going to show you code but be careful what you learn from it because (1) You are not licensed to edit it on your personal system and (2) If you apply what you learn you'll likely be violating a ton of 'patents'.

Aside from PR I dont get this move by MS...

1 posted on 10/04/2007 7:31:50 AM PDT by N3WBI3
[ Post Reply | Private Reply | View Replies]

To: N3WBI3; ShadowAce; Tribune7; frogjerk; Salo; LTCJ; Calvinist_Dark_Lord; amigatec; Fractal Trader; ..
MICROSOFT OSS PING?
2 posted on 10/04/2007 7:32:57 AM PDT by N3WBI3 (Light travels faster than sound. This is why some people appear bright until you hear them speak....)
[ Post Reply | Private Reply | To 1 | View Replies]

To: N3WBI3
Aside from PR I dont get this move by MS...

Based on the license terms, it seems that they are trying to intentionally taint the linux code. If they put out this code under this license, and then find some of the patents in Linux later on, then SCO Part 2 will have a leg to stand on.

3 posted on 10/04/2007 7:36:53 AM PDT by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 1 | View Replies]

To: ShadowAce
Based on the license terms, it seems that they are trying to intentionally taint the linux code

I was thinking the same thing people who are not programmers don't seem to realize that about every data structure and algorithm out there has been tried. Some kid in college or a cubicle monkey learning a new language might use the MS code as a tool in that quest. Later down the line when they are coding something they might apply what they learn and unknowingly break a patent.

4 posted on 10/04/2007 7:42:12 AM PDT by N3WBI3 (Light travels faster than sound. This is why some people appear bright until you hear them speak....)
[ Post Reply | Private Reply | To 3 | View Replies]

To: ShadowAce

Poison pill aimed at the Mono project. Stay away from it.


5 posted on 10/04/2007 7:44:41 AM PDT by LesbianThespianGymnasticMidget (In regards to Ron Paul, Please see http://www.freerepublic.com/focus/f-bloggers/1889318/posts)
[ Post Reply | Private Reply | To 3 | View Replies]

To: ShadowAce

Yes, they are more than willing to do what they can to taint Linux - it is their poison pill should they lose their Office monopoly, which is their main source of income.


6 posted on 10/04/2007 8:06:22 AM PDT by ikka
[ Post Reply | Private Reply | To 3 | View Replies]

To: N3WBI3

Every time I see Microsoft go in this direction, it’s more like “We’ll let you help us debug our code when it breaks your programs.” Not quite what I think of when I hear “open source.”


7 posted on 10/04/2007 10:29:19 AM PDT by antiRepublicrat
[ Post Reply | Private Reply | To 1 | View Replies]

To: antiRepublicrat
Every time I see Microsoft go in this direction, it’s more like “We’ll let you help us debug our code when it breaks your programs.” Not quite what I think of when I hear “open source.”

I was wondering if this was a back-door, half-assed cry for help dealing with all the security issues...?

I trust Bill Gates about as much as I trust certain liberal politicians.

Cheers!

8 posted on 10/04/2007 5:40:54 PM PDT by grey_whiskers (The opinions are solely those of the author and are subject to change without notice.)
[ Post Reply | Private Reply | To 7 | View Replies]

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson