Die Shared Source Common Language Infrastructure, kurz auch Shared Source CLI oder SSCLI, früherer Projektname Rotor, ist Microsofts quelloffene Implementierung der Common Language Infrastructure (CLI). CLI in seinen verschiedenen Versionen stellt den Kern von .Net-Framework-Komponenten samt Laufzeit-Umgebung dar. Microsoft sieht die Shared Source CLI als eine Referenz-Implementierung für die Verwendung zu Bildungszwecken. Obwohl SSCLI für die kommerzielle Anwendung wegen ihrer Lizenz nicht geeignet ist, hat sie es Programmierern dennoch ermöglicht, die Details der Umsetzung von vielen .NET-Bibliotheken kennenzulernen und auf diesem Wissen aufbauend eigene, angepasste und auch kommerziell nutzbare Versionen der CLI zu erstellen.
Im Jahr 2001 gab Microsoft erstmals bekannt, dass das Unternehmen Teile des .NET Framework Infrastructure Quellcodes im Rahmen des C# und CLI Standardisierungsprozesses herausgeben will.[1]
Im März 2002 veröffentlichte Microsoft die Version 1.0 der Shared Source Common Language Infrastructure, die auch Rotor genannt wurde.[2] Die Shared Source CLI war im Originalzustand für Windows als Zielplattform konfiguriert, konnte aber genau so gut für FreeBSD (Version 4.7 oder neuer) und Mac OS X 10.2 verwendet werden. Das Design war dabei so angelegt, dass die einzige Sache, die für eine Portierung der Shared Source CLI auf eine neue Platform angepasst werden musste, eine dünne Abstraktionsebene (Platform Abstraction Layer, PAL) war.
Die letzte Version der SSCLI war die 2.0, die im März 2006 veröffentlicht wurde.[3] Sie beinhaltet die meisten Klassen und Neuheiten der Version 2.0 des .NET Frameworks.[4] Im Gegensatz zur vorherigen Version war sie nur noch auf Windows XP SP2 lauffähig. Entwickler, die versuchten, SSCLI 2.0 auf Vista zu übersetzen, scheiterten entweder an ihr selbst oder waren später nicht in der Lage, korrekt laufende .NET Programme zu erstellen. Dies gab Anlass zur Vermutung, dass die SSCLI keine weiteren Updates erfahren würde.[5]
Die Shared Source CLI kommt mit der sogenannten Microsoft Shared Source Common Language Infrastructure Lizenz. Diese Lizenz erlaubt die Veränderung und die Weitergabe von Quellen für den persönlichen und den akademischen Gebrauch. Der Einsatz für kommerzielle Zwecke, etwa ein Software-Produkt, ist jedoch nicht gestattet.[6]