Shared Source Common Language Infrastructure

Shared Source Common Language Infrastructure (SSCLI)

Developer(s)| Microsoft
Initial release| March 2002; 23 years ago (2002-03)
Stable release|

March 23, 2006; 19 years ago (2006-03-23) / 2.0

Repository| github.com/SSCLI
Written in| C#, JavaScript, C++, C
Type| Software framework
License| Microsoft Shared Source Common Language Infrastructure license
Website| msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/

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]

In 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 in 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]

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.

## 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]

* Microsoft and open source
* Common Language Runtime
* .NET
* Mono
* DotGNU

## References

[edit]

1. ^ Sims, David; O'Reilly, Timonthy ‘Tim’; Dornfest, Rael (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-04). "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". Microsoft. 2006-03-23. Retrieved 2011-05-29.
6. ^ Barnett, Granville (2008-12-08). "Shared Source CLI (aka Rotor) on Vista". Archived from the original on 2009-01-01. 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". Archived from the original on 2010-05-13. 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]

* Shared Source Common Language Infrastructure 1.0 Release: sscli 20021101 on GitHub
* Shared Source Common Language Infrastructure 2.0 Release: sscli20 20060311 on GitHub
* Introduction to Shared Source CLI

* v
* t
* e

.NET

* .NET strategy
* Libraries and frameworks

Implementations|

* .NET (Core)
* .NET Framework
* Version history
* .NET Compact Framework
* .NET Micro Framework
* DotGNU
* Mono
* XNA Framework

Architecture|

* Common Language Runtime (CLR)
* COM Interop
* Framework Class Library (FCL)

Components|

* ADO.NET
* Entity Framework
* ASP.NET
* Web Forms
* AJAX
* Core
* Dynamic Data
* MVC
* Razor
* Avalonia
* ClickOnce
* Dynamic Language Runtime
* Extensible Application Markup Language (XAML)
* Language Integrated Query (LINQ)
* Managed Extensibility Framework
* Microsoft Silverlight
* Microsoft XNA
* Parallel Extensions
* Windows Communication Foundation (WCF)
* WCF Data Services
* Windows Forms (WinForms)
* Windows Identity Foundation (WIF)
* Windows Presentation Foundation (WPF)
* Windows Workflow Foundation (WF)
* .NET Remoting

Tools|

| Decompilers|

* .NET Reflector
* dotPeek

|

Obfuscators|

* Dotfuscator
* SmartAssembly

* CLR Profiler
* ILAsm
* .NET Compiler Platform
* Native Image Generator (NGen)
* XAMLPad

IDEs|

* Visual Studio
* Blend
* Express
* MonoDevelop
* SharpDevelop
* Xamarin Studio

Organizations|

* .NET Foundation
* Microsoft
* Xamarin

* Category
* List
* Commons

* v
* t
* e

Common Language Infrastructure

Architecture|

* Application domain
* Code Access Security
* Common Intermediate Language
* instructions
* Common Type System
* Platform Invocation Services
* Virtual Execution System

Components|

* Assembly
* Delegate
* Global Assembly Cache
* Manifest
* Metadata
* Standard Libraries

Implementations|

| Microsoft|

* .NET
* .NET Framework
* .NET Compact Framework
* .NET Micro Framework

|

Other|

* Mono
* DotGNU

Languages|

| Major|

* C#
* Visual Basic
* F#
* PowerShell

|

Other|

* Axum
* A#
* Boo
* Clojure
* Cobra
* C++/CLI
* IronScheme
* IronPython
* IronRuby
* JScript .NET
* J#
* Nemerle
* Oxygene
* Phalanger
* Q#
* Scala
* Small Basic

Comparison|

* C# and Java
* C# and Visual Basic .NET
* Visual Basic and Visual Basic .NET

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template