ドットGNU

ドットGNU
開発者Rhys Weatherly (Southern Storm Software Pty)、Klaus Treichel、Thong Nguyen、Gopal V、Norbert Bollow
最終リリース
0.8.0 / 2007年3月20日 (2007年3月20日
書かれたCC#
オペレーティング·システムLinuxBSDMac OS XSolarisAIXMicrosoft Windows、その他
タイプシステムプラットフォーム
ライセンスGPLLGPL
Webサイトwww.dotgnu.org

DotGNUは、2001年1月に開始され、Microsoft.NET Frameworkのフリーソフトウェア代替を提供することを目指していたGNUプロジェクトの一部であり、現在は廃止されています[ 1 ] 。DotGNUプロジェクトはフリーソフトウェア財団によって運営されていました。プロジェクトの他の目標は、 Windows以外のプラットフォームのサポート強化と、より多くのプロセッサのサポートです。

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

主な開発プロジェクト

ポータブル.NET

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

ディージー

DotGNU 実行環境(DGEE) は Web サービス サーバーです。

libJIT

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

libJITはGNU Emacs [ 2 ][ 3 ] 、 ILDJIT [ 4 ]、HornetsEye [ 5 ]など他のオープンソースプロジェクトでも使用されています。

フレームワークアーキテクチャ

簡素化されたMonoアーキテクチャ

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

フリーソフトウェア

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

DotGNUとMicrosoftの特許

DotGNUは、 ECMAに標準化のために提出されていない.NETスタックのコンポーネントを実装しており、プロジェクトの存続期間の大部分において特許侵害の懸念の種となってきました。特に、Microsoftが特許訴訟を通じてDotGNUプロジェクトを破壊する可能性があるのではないかという議論が巻き起こっています。

ECMAに提出された基盤技術は、おそらく問題のないレベルでしょう。懸念されるのは主に、Microsoftが.NET Framework上で開発したASP.NETADO.NETWindows Forms非標準化名前空間を参照)、つまりDotGNUのWindows互換スタックを構成する要素技術です。これらの技術は現在DotGNUに完全に実装されておらず、DotGNUアプリケーションの開発に必須ではありません。

2009年、Microsoftは.NET Micro FrameworkをApacheライセンス バージョン2.0(特許許諾を含む)の下でリリースしました。しかし、.NET Micro FrameworkはCLRの再実装であり、組み込みデバイスでの使用を目的とした基本クラスライブラリの限定的なサブセットです。さらに、Apacheライセンスにおける特許許諾は、.NET Micro Frameworkの貢献者とユーザーのみを保護し、DotGNUやMonoなどの代替実装のユーザーや開発者は保護対象としませんでした。

2014年、MicrosoftはApacheライセンスに基づき、次世代公式Microsoft C#コンパイラであるRoslynをリリースしました。同年後半、Microsoftは公式.NET Frameworkの「リブート」を発表しました。このフレームワークは.NET Coreをベースとし、 MITライセンスに基づきリリースされる公式ランタイムと標準ライブラリ、そしてMicrosoftが所有する.NET Coreに関する特許から受領者を明示的に保護する特許許諾契約を含みます。

参照

参考文献

  1. ^ 「DotGNUプロジェクト」2012年12月現在、DotGNUプロジェクトは、新たなボランティアによる実質的な活動がない限り、廃止されています。例外はlibjitコンポーネントで、現在は独立したlibjitパッケージとなっています。
  2. ^ 「Emacs Lisp JIT コンパイラ」
  3. ^ 「Emacs.git - Emacs ソースリポジトリ」
  4. ^ https://web.archive.org/web/20111201192347/http://sourceforge.net/apps/mediawiki/ildjit/index.php?title=Main_Page
  5. ^ https://web.archive.org/web/20100328171539/http://www.wedesoft.demon.co.uk/hornetseye-api/files/HornetsEye-txt.html
  6. ^ 「GNU Portable .NETドキュメント」 。 2005年2月4日時点のオリジナルよりアーカイブ2006年1月15日閲覧。
  7. ^ GNU High Priority Free Software ProjectsFSF、 2007年7月31日、2007年8月10日時点のオリジナルよりアーカイブ
  8. ^ GNU High Priority Free Software ProjectsFSF、 2008年10月1日、2008年10月2日時点のオリジナルよりアーカイブ