Microsoftは、Community Promiseの下でC#とCLIの仕様(ECMA 334、ECMA 335)を誰がどの様な言語や方法で実装した場合でも特許の侵害を訴訟しない事を公表した。これまで正式な立場が不明確だった.NETのオープンソース実装であるMonoに直接関係がある。
Community Promiseの仕様
Microsoftは全てのC#、CLI実装についての制作、使用、売買、移植(取り込み)、配布についても、Microsoft Necessary Claimsを主張しない事を約束した。
… Community Promiseは全ての個人・団体に適用され、Covered Specificationの実装について制作、使用、売買、移植(取り込み)、配布される場合に適用される。これはオープンソースでの実装が可能になったことを意味している。
Community PromiseはOpen Specification Promiseと比べて寛容である。なぜなら、Community Promiseは仕様として必須な部分と実装が一致している必要があるが、C#とCLI仕様の実装について、現在開発者はMicrosoftライセンスの同意を宣言する必要もMicrosoftに活動を通知する必要も無いのである。
Port25で宣言をしたPeter Galliが、これからどういった事になるかを説明した。
Community Promiseの下では、誰でも自由にC#やCLIの仕様について、自身の技術、コード、解決方法で実装できる。
ライセンスへの同意を宣言する事も、仕様についての実装方法をMicrosoftに連絡する事も不要。
実装を作成した開発モデル、配布されたコピーライトライセンスの形式、関連したビジネスモデルに関係なく、Community PromiseはCovered Implementationsの開発者、配布者、ユーザに適用される。
つい一週間前に、GNUの父であるRichard M. StallmanはオープンソースプロジェクトMonoが含む危険について警告を発している。
C#で書かれたアプリケーションであるTomboyの為に、DebianはGNOMEインストールの際にMonoを含めることを決定した。この事はコミュニティを危険な方向に導くだろう。C#に依存するのは危険であり、C#を使用する事はやめるべきである。
問題はMonoに限った事ではなく、全てのC#フリー実装についても同様の問題が提起するだろう。Microsoftはソフトウェア特許の下で、いつの日か全てのフリーC#実装をアングラな物とすることを計画している危険性がある。
… できる限りフリーのC#実装に依存しないように調整するべきで、皆がC#でプログラムを書くのを思いとどまらせるべきだ。従って、C#実装をGNU/Linuxディストリビューションのデフォルトインストールにも、GNOMEインストールにも含むべきでない。可能で有れば、常にC#実装よりもC#実装でないアプリケーションを配布・推奨すべきだ。
Miguel de Icazaは、Monoライセンス問題についてのMicrosoftへの問い合わせ結果を報告した。
数ヶ月前、C#とCLIをカバーするECMA規格のライセンス状況を明確化する為、MicrosoftのBob Muglia と Brian Goldfarbにアプローチした。
Monoは単なるEMCA規格の実装では無いので、Icazaは以下が必要だと考えている。
次の数カ月では、ECMA規格と様々な規格を含む巨大なMonoのソースコードを分割する活動を行う。一つはECMA規格にのっとり、もう一方はASP.NET、ADO.NET、WinForms等を含む独自実装として分割する。
どうやってMonoを取得する次第では、既にこの分割が含まれている可能性がある。
MicrosoftはCommunity Promiseの下では、オープンソース開発者、LinuxディストリビュータについてC#とCLI仕様、又はMonoを含む実装に対して訴訟しない事を保障した。今までは、VBA仕様、HealthVaultサービス仕様、UI Automation 1.0、XPS 1.0仕様がCommunity Promiseによってカバーされていた。