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

转载 2007年10月06日 17:00:00
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?

 

相关文章推荐

How to select open source libraries

Home > Agile, Methodology, Software > How to select open source libraries How to select open ...

ASP.NET MVC Sample Applications - Open-Source Examples and Tutorials

http://www.tampadev.org/News/Details/ASPNETMVCSampleApplicationsOpenSourceExamplesTutorials   ASP....

Intellj IDEA14上用Debug启动项目启动不了:Unable to open debugger port: java.net.SocketException "socket closed"

[已解决:有应该断点没去掉]Unable to open debugger port: java.net.SocketException "socket closed" 网上说要,重启电脑IDEA才可...

zookeeper错误记录一;Cannot open channel to 2 at election address s1/192.168.253.131:3888 java.net.Connec

zookeeper分布式启动zookeeper.out提示错误Cannot open channel to 2 at election address s1/192.168.253.131:3888 ...

Zookeeper昨天还可以启动今天提示: Cannot open channel to 1 at election address /192.168.253.130:3888 java.net.Co

错误提示 2016-03-29 02:17:32,493 [myid:3] - WARN [WorkerSender[myid=3]:QuorumCnxManager@400] - Cannot o...

iPhone开发常用开源库5---More useful open source libraries for iPhone development

More useful open source libraries for iPhone developmentAPRIL 10TH, 2009 / IN IPHONE / BY KEREMK /Ba...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)