シェアードソース
共通言語基盤(Shared Source Common Language Infrastructure、SSCLI)は、
マイクロソフトが提供していた
共通言語基盤(CLI)のシェアードソースライセンスに基づく実装です。コードネームは「Rotor」として知られています。
SSCLIの主な特徴は、そのライセンス形態にあります。営利目的での利用は制限されているものの、
プログラマーが
.NETライブラリの内部実装を詳細に調査したり、
ハッカーがCLIをカスタマイズして利用することが許可されていました。
マイクロソフトは、SSCLIをCLIの
リファレンス実装として提供し、特に学生が
クロスプラットフォームコンパイラ技術やクラスシステム設計のガイドラインを学ぶための教材としての活用を意図していました。
SSCLIは、Windows、FreeBSD、Mac OS Xといった異なるオペレーティングシステム上で動作するように初期設定されていました。他のプラットフォームへの移植は、Platform Abstraction Layer(PAL)という薄い層のみを変更することで容易に行えるように設計されています。これにより、異なる環境への対応が柔軟に行える点が特徴でした。
2007年6月時点での最新バージョンは2.0で、
.NET Framework 2.0のクラスや機能の大部分を網羅していました。しかし、2016年6月に
マイクロソフトが
クロスプラットフォームかつオープンソースの
.NET Framework実装である
.NET Coreをリリースしたことにより、SSCLIは事実上その存在意義を失いました。
.NET Coreの登場により、より広範なプラットフォームでの
.NET開発が可能になり、SSCLIのようなシェアードソース実装の必要性が薄れたのです。
ライセンスに関しては、SSCLIは
マイクロソフトのシェアードソースライセンスに基づいて配布されていました。このライセンスでは、個人利用や学術目的での変更や再配布は認められていましたが、営利目的での利用は禁止されていました。このため、教育や研究の現場での利用が主となっていました。
SSCLIの歴史的意義としては、
.NET Frameworkの内部構造を理解する上で貴重な資料であったという点が挙げられます。また、
クロスプラットフォーム開発の初期段階において、異なるOSでの動作を検証するためのプラットフォームとしても重要な役割を果たしました。しかし、
.NET Coreの登場により、その役割はオープンソースで
クロスプラットフォームな
.NET実装に引き継がれることとなりました。
関連情報として、以下の
GitHubリポジトリでSSCLIのソースコードが公開されています。
Shared Source Common Language Infrastructure 1.0 Release:
sscli 20021101 - GitHub
Shared Source Common Language Infrastructure 2.0 Release:
sscli20 20060311 - GitHub
これらのリポジトリは、SSCLIの内部構造や歴史的経緯を学ぶ上で有用な情報源となります。SSCLIは、
.NET開発の歴史において重要な役割を果たした技術であり、その遺産は現代の
.NET開発にも影響を与えています。