Shared Source Common Language Infrastructure: Difference between revisions

Content deleted Content added
m C. A. Russell moved page Shared Source Common Language Infrastructure to .NET Reference Source: SSCLI is a stale name; the Rotor site and every post about it in the last year has used the ".NET Reference Source" name
Bring this article more up to date
Line 1:
The '''.NET Reference Source''', previously called '''Shared Source Common Language Infrastructure''' (SSCLI), previouslyand originally codenamed '''Rotor''', is [[Microsoft]]'s [[sharedreference sourceimplementation]] implementation of the [[Common Language Infrastructure|CLI]], the core of [[Microsoft .NET|.NET]]. AlthoughThe theavailability SSCLIof isthe notreference suitable for commercial use due to its license, it doessource makemakes it possible for [[programmer]]s to examine the implementation details of many .NET libraries and to create modified CLI versions. Microsoft provides the Shared Source CLI as a reference CLI implementation suitable for educational use.
 
==History==
Beginning in 2001, [[Microsoft]] announced they would release part of the [[.NET framework]] infrastructure source code in [[Shared source]] through [[C Sharp (programming language)#Standardization|ECMA]], as part of the [[C Sharp (programming language)|C#]] and [[Common Language Infrastructure|CLI]] standardization process.<ref>{{cite web | url= http://ondotnet.com/pub/a/dotnet/2001/06/27/dotnet.html | title=Microsoft Plans Shared Source .NET | publisher= On .Net | quote= On Wednesday, Microsoft announced plans to release what amounts to a shared-source version of its .NET infrastructure for Windows and FreeBSD. Specifically, Microsoft says it has been working with the ECMA standards body and will release ECMA versions of the Common Language Infrastructure (CLI), a C# compiler, and an ECMAscript compiler. The CLI is similar to the Java virtual machine, in that it acts as a translator between the .NET infrastructure and other platforms. Program manager Dave Stutz says Redmond will work with Corel to develop the code | first1 =David | last1 = Sims | author2-link = Tim O'Reilly | first2 = Timonthy ‘Tim’ | last2 = O'Reilly | author3-link = Rael Dornfest | first3 = Rael | last3 = Dornfest | date = 2001-06-27 | accessdate = 2009-09-27}}</ref>
 
Beginning in 2001, [[Microsoft]] announced they would release part of the [[.NET framework]] infrastructure source code in [[Sharedshared source]] through [[C Sharp (programming language)#Standardization|ECMA]], as part of the [[C Sharp (programming language)|C#]] and [[Common Language Infrastructure|CLI]] standardization process.<ref>{{cite web | url= http://ondotnet.com/pub/a/dotnet/2001/06/27/dotnet.html | title=Microsoft Plans Shared Source .NET | publisher= On .Net | quote= On Wednesday, Microsoft announced plans to release what amounts to a shared-source version of its .NET infrastructure for Windows and FreeBSD. Specifically, Microsoft says it has been working with the ECMA standards body and will release ECMA versions of the Common Language Infrastructure (CLI), a C# compiler, and an ECMAscript compiler. The CLI is similar to the Java virtual machine, in that it acts as a translator between the .NET infrastructure and other platforms. Program manager Dave Stutz says Redmond will work with Corel to develop the code | first1 =David | last1 = Sims | author2-link = Tim O'Reilly | first2 = Timonthy ‘Tim’ | last2 = O'Reilly | author3-link = Rael Dornfest | first3 = Rael | last3 = Dornfest | date = 2001-06-27 | accessdate = 2009-09-27}}</ref>
On March 2002, Microsoft released version 1.0 of the '''Shared Source Common Language Infrastructure''', also called '''Rotor'''.<ref>{{cite web | url= http://ondotnet.com/pub/a/dotnet/2002/03/04/rotor.html | title = Uncovering Rotor — A Shared Source CLI | publisher = On .Net | first = Brian | last = Jepson | date = 2002-03-04 | accessdate = 2009-09-27}}</ref> The Shared Source CLI was initially pre-configured to run on [[Microsoft Windows|Windows]], but could also be built on [[FreeBSD]] (version 4.7 or newer), and [[Mac OS X]] 10.2. It was designed such that the only thing that needed to be customized to port the Shared Source CLI to a different platform was a thin [[Abstraction layer|Platform Abstraction Layer]] (PAL).
 
On March 2002, Microsoft released version 1.0 of the '''Shared Source Common Language Infrastructure''', also called '''Rotor'''.<ref>{{cite web | url= http://ondotnet.com/pub/a/dotnet/2002/03/04/rotor.html | title = Uncovering Rotor — A Shared Source CLI | publisher = On .Net | first = Brian | last = Jepson | date = 2002-03-04 | accessdate = 2009-09-27}}</ref> While under the SSCLI moniker, the reference source used the non-free [[Shared source#Microsoft Shared Source Common Language Infrastructure|Microsoft Shared Source Common Language Infrastructure license]]. This license allows modifications and redistribution of the code for personal or academic usages, but they can't be used for commercial products.<ref>As written in the license, examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software, or distributing the Software for use with commercial products</ref> The Shared Source CLI was initially pre-configured to run on [[Microsoft Windows|Windows]], but could also be built on [[FreeBSD]] (version 4.7 or newer), and [[Mac OS X]] 10.2. It was designed such that the only thing that needed to be customized to port the Shared Source CLI to a different platform was a thin [[Abstraction layer|Platform Abstraction Layer]] (PAL).
The last 2.0 version of SSCLI was released on March 2006,<ref>{{cite web | url= http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=8c09fd61-3f26-4555-ae17-3121b4f51d4d | title= Shared Source Common Language Infrastructure 2.0 Release | publisher= [[Microsoft]] | date= 2006-03-23 | accessdate = 2009-05-21}}</ref> and contains most of the classes and features of version 2.0 of the [[.NET Framework]].<ref>{{cite web | url= http://www.c-sharpcorner.com/UploadFile/kristoferkrause/GuidetoMSsharedSourceCLI11302005232759PM/GuidetoMSsharedSourceCLI.aspx | title=A Beginner's Guide to Microsoft's shared Source CLI (Rotor) | publisher = C# corner| last= Krause|first= Kristofer | date = 2003-05-13 | quote= Most of the .NET framework class libraries are present except for ADO.NET, Windows Forms, Web Forms, and Web Services. Either you or the Rotor community will have to implement these. On a less painful note, remoting, networking, and XML functionality (and source) are included | accessdate = 2008-10-05}}</ref> SSCLI 2.0 can be downloaded directly from Microsoft downloads and requires perl and Visual Studio 2005 running on Windows XP SP2 to compile.<ref>{{cite web | url = http://www.microsoft.com/downloads/en/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en#SystemRequirements | title = SSCLI 2.0 System Requirements | date = 2006-03-23 | accessdate = 2011-05-29}}</ref> Microsoft has not updated the source and build requirements since 2006. Even [[Microsoft Most Valuable Professional|Microsoft MVPs]], important part of Microsoft community ecosystem, complained about the lack of support for other Visual Studio versions and Operating Systems.<ref>{{cite web | url= http://msmvps.com/blogs/gbarnett/archive/2008/12/08/shared-source-cli-aka-rotor-on-vista.aspx | title=Shared Source CLI (aka Rotor) on Vista | last=Barnett|first=Granville | date= 2008-12-08 | accessdate= 2009-05-21}}</ref> However, a non-official patch for Visual Studio 2008<ref>{{cite web | url= http://blogs.msdn.com/b/jeremykuhne/archive/2008/02/19/sscli-2-0-and-visual-studio-2008.aspx | title=SSCLI 2.0 and Visual Studio 2008 | last = Kuhne| first = Jeremy | date= 2008-02-19 | accessdate= 2009-05-21}}</ref> was provided by a Microsoft employee in the MSDN Blog and another for Visual Studio 2010 was released by the community.<ref>{{cite web | url= http://callvirt.net/blog/post/SSCLI-20-Patch-for-VS-2010.aspx | title = SSCLI 2.0 Patch for VS 2010 | last=Pobar|first= Joel | date= 2010-04-27 | accessdate= 2009-05-21}}</ref>
 
The last 2.0 version ofusing the name SSCLI was released on March 2006,<ref>{{cite web | url= http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=8c09fd61-3f26-4555-ae17-3121b4f51d4d | title= Shared Source Common Language Infrastructure 2.0 Release | publisher= [[Microsoft]] | date= 2006-03-23 | accessdate = 2009-05-21}}</ref> and contains most of the classes and features of version 2.0 of the [[.NET Framework]].<ref>{{cite web | url= http://www.c-sharpcorner.com/UploadFile/kristoferkrause/GuidetoMSsharedSourceCLI11302005232759PM/GuidetoMSsharedSourceCLI.aspx | title=A Beginner's Guide to Microsoft's shared Source CLI (Rotor) | publisher = C# corner| last= Krause|first= Kristofer | date = 2003-05-13 | quote= Most of the .NET framework class libraries are present except for ADO.NET, Windows Forms, Web Forms, and Web Services. Either you or the Rotor community will have to implement these. On a less painful note, remoting, networking, and XML functionality (and source) are included | accessdate = 2008-10-05}}</ref> SSCLI 2.0 can be downloaded directly from Microsoft downloads and requires perl and Visual Studio 2005 running on Windows XP SP2 to compile.<ref>{{cite web | url = http://www.microsoft.com/downloads/en/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en#SystemRequirements | title = SSCLI 2.0 System Requirements | date = 2006-03-23 | accessdate = 2011-05-29}}</ref> Microsoft has not updated the source and build requirements since 2006. Even [[Microsoft Most Valuable Professional|Microsoft MVPs]], important part of Microsoft community ecosystem, complained about the lack of support for other Visual Studio versions and Operating Systems.<ref>{{cite web | url= http://msmvps.com/blogs/gbarnett/archive/2008/12/08/shared-source-cli-aka-rotor-on-vista.aspx | title=Shared Source CLI (aka Rotor) on Vista | last=Barnett|first=Granville | date= 2008-12-08 | accessdate= 2009-05-21}}</ref> However, a non-official patch for Visual Studio 2008<ref>{{cite web | url= http://blogs.msdn.com/b/jeremykuhne/archive/2008/02/19/sscli-2-0-and-visual-studio-2008.aspx | title=SSCLI 2.0 and Visual Studio 2008 | last = Kuhne| first = Jeremy | date= 2008-02-19 | accessdate= 2009-05-21}}</ref> was provided by a Microsoft employee in the MSDN Blog and another for Visual Studio 2010 was released by the community.<ref>{{cite web | url= http://callvirt.net/blog/post/SSCLI-20-Patch-for-VS-2010.aspx | title = SSCLI 2.0 Patch for VS 2010 | last=Pobar|first= Joel | date= 2010-04-27 | accessdate= 2009-05-21}}</ref>
==License==
The Shared Source CLI use the non-free [[Shared source#Microsoft Shared Source Common Language Infrastructure|Microsoft Shared Source Common Language Infrastructure license]]. This license allows modifications and redistribution of the code for personal or academic usages, but they can't be used for commercial products.<ref>As written in the license, examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software, or distributing the Software for use with commercial products</ref>
 
In February 2014, the .NET Reference Source licensing terms for an up to date reference implementation were clarified as being available under [[Ms-RSL]].<ref name=hanselman-reference-source-site>{{cite web|url=http://blogs.msdn.com/b/dotnet/archive/2014/02/24/a-new-look-for-net-reference-source.aspx|title=A new look for .NET Reference Source|first=Scott|last=Hanselman|date=24 February 2014|accessdate=11 March 2015}}</ref>
Microsoft has open-sourced .NET under the MIT license.
 
In November 2014, Microsoft published the reference source on [[Github]] under the [[MIT License]] as part of the greater effort to develop the .NET Framework using an open source model.<ref name=referencesource-github>{{cite web|title=Microsoft/referencesource|url=https://github.com/Microsoft/referencesource|publisher=GitHub|accessdate=16 November 2014}}</ref><ref name=landwerth-dotnetcore-oss>{{cite web|title=.NET Core is Open Source|url=http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx|website=.NET Framework Blog|publisher=Microsoft |accessdate=30 December 2014|date=12 November 2014|first=Immo|last=Landwerth}}</ref><ref name=icaza-dotnetcore-oss>{{cite web |title=Microsoft Open Sources .NET and Mono |first=Miguel |last=de Icaza|authorlink=Miguel de Icaza|url=http://tirania.org/blog/archive/2014/Nov-12.html|website=Personal blog of Miguel de Icaza|accessdate=16 November 2014}}</ref>
 
==See also==
* [[.NET Framework]]
* [[Common Language Runtime]]
* [[Mono (software)|Mono]]
Line 23 ⟶ 24:
 
==External links==
* [http://referencesource.microsoft.com/ .NET Reference Source web site]
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=8c09fd61-3f26-4555-ae17-3121b4f51d4d Shared Source Common Language Infrastructure 2.0 Release]
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=3a1c93fa-7462-47d0-8e56-8dd34c6292f0 Shared Source Common Language Infrastructure 1.0 Release]