DotGNU

DotGNUは2001年1月に開始され、マイクロソフトの.NET Frameworkの代替を提供することを目的としていたGNUプロジェクトの自由ソフトウェアである。プロジェクトは廃止された。DotGNUプロジェクトはフリーソフトウェア財団によって運営されていた。プロジェクトのその他の目標は、Windows以外のプラットフォームのサポート向上と、より多くのプロセッサのサポートである。

DotGNUプロジェクトのコードベースの主な目標は、100%共通言語仕様 (CLS) に準拠したクラスライブラリを提供することであった。

主なプロジェクト

Portable.NET
ECMA-335共通言語基盤 (CLI) の実装であるDotGNU Portable.NETには、.NET基本クラスライブラリ、XML、およびWindows Formsを使用するVisual Basic .NET、C#、C言語アプリケーションをコンパイルして実行するためのソフトウェアが含まれている。Portable.NETは、x86、PowerPC、ARM、SPARCを含むさまざまな命令セットアーキテクチャをサポートすると主張している。

DGEE
DotGNU Execution Environment (DGEE) はWebサービスのサーバである。

libJIT
libJITは、仮想マシン実装、動的プログラミング言語、スクリプト言語における高度な実行時コンパイルの開発のための実行時コンパイルライブラリである。変数が静的単一代入形式で保持される3番地コードに基づく中間表現を実装する。

libJITは、GNU Emacs、ILDJIT、HornetsEye
などの他のオープンソースプロジェクトでも使用されている。

フレームワークアーキテクチャ
300px|thumb|簡素化されたMonoアーキテクチャ

ポータブル.NETクラスライブラリは、アプリケーション開発のための機能を提供することを目的としている。これらは主にC#で記述されているが、共通言語仕様により任意の.NET言語で使用できる。.NETと同様に、クラスライブラリは名前空間とアセンブリで構成されている。また、アクセシビリティやDotGNUなどの追加の最上位名前空間がある。通常の操作では、ポータブル.NETコンパイラがECMA-335の第6章で指定されているように共通言語仕様(CLS)イメージを生成し、ポータブル.NETランタイムがこのイメージを取得して実行する。

自由ソフトウェア
DotGNUは自由ソフトウェアであることを強調し、Microsoft WindowsのGUIコードの呼び出しなど、DotGNUのあらゆる側面がプロプライエタリなコンポーネントへの依存を最小限に抑えることを目指している。DotGNUは2007年7月31日から2008年10月2日まで、最優先度の自由ソフトウェアプロジェクトの1つであった。

DotGNUとマイクロソフトの特許

DotGNUの.NETスタックのコンポーネントのうち、標準化のためにECMAに提出されていないコンポーネントの実装は、プロジェクトの存続期間の大半にわたって特許侵害の懸念の原因となってきた。特に、マイクロソフトが特許訴訟を通じてDotGNUプロジェクトを破壊する可能性があるかどうかについて議論が交わされている。

ECMAに提出された基本テクノロジは問題がない可能性がある。懸念は主に、マイクロソフトが.NET Framework上で開発したテクノロジ(ASP.NET、ADO.NET、Windows Forms(標準化されていない名前空間を参照)など)、つまりDotGNUのWindows互換性スタックを構成する部分に関係している。これらのテクノロジは現在DotGNUに完全に実装されておらず、DotGNUアプリケーションの開発には必要ない。

2009年、マイクロソフトはApache Licenseバージョン2.0で.NET Micro Frameworkをリリースした。これには特許付与が含まれている。ただし、.NET Micro FrameworkはCLRの再実装であり、組み込みデバイスで使用するための基本クラスライブラリの限定サブセットである。さらに、Apacheライセンスの特許付与は、.NET Micro Frameworkの貢献者とユーザーのみを保護し、DotGNUやMonoなどの代替実装のユーザーと開発者は保護しない。

2014年、マイクロソフトはApacheライセンスの下で、次世代の公式Microsoft C#コンパイラであるRoslynをリリースした。その年の後半、マイクロソフトは公式.NET Frameworkの「リブート」を発表した。このフレームワークは.NET Coreをベースとし、MITライセンスの下でリリースされた公式ランタイムと標準ライブラリ、および.NET Coreに関するマイクロソフト所有の特許から受取人を明示的に保護する特許付与が含まれている。

関連項目

Mono – .NETの人気な自由ソフトウェア実装
共通言語ランタイム
シェアードソース共通言語基盤
脚注

外部リンク
Project homepage
Article '2001 – The Year When DotGNU Was Born'
A 2003 interview with Norbert Bollow of DotGNU

Category:プラットフォーム (コンピューティング)
Category:GNUプロジェクトのソフトウェア