Shared Source Common Language Infrastructure

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Shared Source Common Language Infrastructure (SSCLI), previously codenamed Rotor, is Microsoft's shared source implementation of the CLI, the core of .NET. Although the SSCLI is not suitable for commercial use due to its license, it does make it possible for programmers 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[edit]

Beginning in 2001, Microsoft announced they would release part of the .NET framework infrastructure source code in Shared source through ECMA, as part of the C# and CLI standardization process.[1]

On March 2002, Microsoft released version 1.0 of the Shared Source Common Language Infrastructure, also called Rotor.[2] The Shared Source CLI was initially pre-configured to run on 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 Platform Abstraction Layer (PAL).

The last 2.0 version of SSCLI was released on March 2006,[3] and contains most of the classes and features of version 2.0 of the .NET Framework.[4] SSCLI 2.0 can be downloaded directly from Microsoft downloads and requires perl and Visual Studio 2005 running on Windows XP SP2 to compile.[5] Microsoft has not updated the source and build requirements since 2006. Even Microsoft MVPs, important part of Microsoft community ecosystem, complained about the lack of support for other Visual Studio versions and Operating Systems.[6] However, a non-official patch for Visual Studio 2008[7] was provided by a Microsoft employee in the MSDN Blog and another for Visual Studio 2010 was released by the community.[8]

License[edit]

The Shared Source CLI use the non free 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.[9]

See also[edit]

References[edit]

  1. ^ Sims, David (2001-06-27). "Microsoft Plans Shared Source .NET". On .Net. Retrieved 2009-09-27. "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" 
  2. ^ Jepson, Brian (2002-03-204). "Uncovering Rotor — A Shared Source CLI". On .Net. Retrieved 2009-09-27. 
  3. ^ "Shared Source Common Language Infrastructure 2.0 Release". Microsoft. 2006-03-23. Retrieved 2009-05-21. 
  4. ^ Krause, Kristofer (2003-05-13). "A Beginner's Guide to Microsoft's shared Source CLI (Rotor)". C# corner. Retrieved 2008-10-05. "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" 
  5. ^ "SSCLI 2.0 System Requirements". 2006-03-23. Retrieved 2011-05-29. 
  6. ^ Barnett, Granville (2008-12-08). "Shared Source CLI (aka Rotor) on Vista". Retrieved 2009-05-21. 
  7. ^ Kuhne, Jeremy (2008-02-19). "SSCLI 2.0 and Visual Studio 2008". Retrieved 2009-05-21. 
  8. ^ Pobar, Joel (2010-04-27). "SSCLI 2.0 Patch for VS 2010". Retrieved 2009-05-21. 
  9. ^ 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

External links[edit]