Shared Source Common Language Infrastructure: Difference between revisions

Content deleted Content added
Topbanana (talk | contribs)
m Link repair: Github -> GitHub - You can help!
Citation bot (talk | contribs)
Add: website. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 1174/1877
 
(21 intermediate revisions by 11 users not shown)
Line 1:
{{Infobox software
The '''.NET Reference Source''', previously called '''Shared Source Common Language Infrastructure''' (SSCLI) and originally codenamed '''Rotor''', is [[Microsoft]]'s [[reference implementation]] of the [[Common Language Infrastructure|CLI]], the core of [[Microsoft .NET|.NET]]. The availability of the reference source makes it possible for [[programmer]]s to examine the implementation details of many .NET libraries and to create modified CLI versions.
| name = Shared Source Common Language Infrastructure (SSCLI)
| logo =
| logo_size =
| developer = [[Microsoft]]
| replaces =
| released = {{Start date and age|2002|03}}
| discontinued =
| latest release version = {{Start date and age|2006|03|23}}
| latest release date = 2.0
| latest preview version =
| latest preview date =
| repo = {{URL|https://github.com/SSCLI}}
| programming language = [[C Sharp (programming language)|C#]], [[JavaScript]], [[C++]], [[C (programming language)|C]]
| operating system =
| platform =
| genre = [[Software framework]]
| license = [[Microsoft Shared Source Common Language Infrastructure license]]
| website = {{URL|http://msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/}}
}}
The '''.NET Reference Source''', previously called '''Shared Source Common Language Infrastructure''' (SSCLI), and originallypreviously codenamed '''Rotor''', is [[Microsoft]]'s [[referenceshared implementationsource]] implementation of the [[Common Language Infrastructure|CLI]], the core of [[Microsoft .NET|.NET]]. TheAlthough availabilitythe ofSSCLI theis referencenot sourcesuitable for commercial use due to its license, it does makesmake 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 frameworkFramework]] 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>
 
OnIn 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).
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>
 
The last 2.0 version using the nameof SSCLI was released onin 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[[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 | website = [[Microsoft]] | 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 Operatingoperating Systemssystems.<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 | url-status= dead | archiveurl= https://web.archive.org/web/20090101104145/http://msmvps.com/blogs/gbarnett/archive/2008/12/08/shared-source-cli-aka-rotor-on-vista.aspx | archivedate= 2009-01-01 }}</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 | archive-date= 2010-05-13 | archive-url= https://web.archive.org/web/20100513012523/http://callvirt.net/blog/post/SSCLI-20-Patch-for-VS-2010.aspx | url-status= dead }}</ref>
On March 2002, Microsoft released version 1.0 of the Shared Source Common Language Infrastructure.<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).
 
Later versions of .NET, originally known as .NET Core and now referred to simply as .NET, have been open sourced under the more permissive [[MIT License|MIT license]].
The last 2.0 version using 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==
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>
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 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==
* [[.NETMicrosoft Frameworkand open source]]
* [[Common Language Runtime]]
* [[Portable.NET Core|.NET]]
* [[Mono (software)|Mono]]
* [[DotGNU]]
* [[Portable.NET]]
 
==References==
{{reflistReflist|2}}
 
==External links==
* Shared Source Common Language Infrastructure 1.0 Release: {{GitHub|SSCLI/sscli_20021101}}
* [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]: {{GitHub|SSCLI/sscli20_20060311}}
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=3a1c93fa-7462-47d0-8e56-8dd34c6292f0 Shared Source Common Language Infrastructure 1.0 Release]
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=44d1ca59-081a-464e-8a8c-844b1df7d9f0 Shared Source Common Language Infrastructure; Beta 1 Release]
* [http://msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/ Introduction to Shared Source CLI]
 
{{.NET}}
{{Common Language Infrastructure}}
 
[[Category:.NET Frameworkimplementations|Shared Source Common Language Infrastructure]]
[[Category:2002 software]]
[[Category:Computing platforms]]