原文はRust's Freedom Flaws。自分で読むために翻訳したものです。Wikiなので翻訳と原文がズレるかもしれません。当訳は2019/12/25 02:41 by g4jc時点のものです。誤訳の指摘や翻訳の提案などがあればuki@e-yuuki.orgにご連絡ください。

Hyperbolaプロジェクトは商標の制限を理由にRustは不自由なソフトウェアだと主張しています。また商標に制限がある場合にどのような回避策をとるかを提案しています。基本的にはRHELからCentOSを作るように、トレードマークやアートワークといった商標権が制限をかけているものをすべて取り除けばいいのですが、Rustはプログラミング言語なのでRustに依存したアプリケーションやパッケージをすべて見直す必要があるとのことです。


  1. Rustの不自由
    1. なにが問題なのか?
    2. 世の中の動き
    3. 解決手段
    4. 他のソフトウェア商標との比較

Rustの不自由

フリーソフトウェア活動家として、わたしたちHyperbolaプロジェクトは新しくて最高のフリーソフトウェアを使うことを楽しんでいます。ただしわたしたちはそのソフトウェアが本当にフリーソフトウェア運動における自由を尊重しているかを確認しなければなりません。多くのユーザがわたしたちに、Rustは完璧にフリーソフトウェアのようなのでRustを使いたいと述べています。しかしいまだRustはいくつかの点で失敗しています。

なにが問題なのか?

RustとCargo(Rustのパッケージマネージャ)は「明確な」同意なしに再配布できる自由に違反しています。これらの商標ライセンスは、変更されたバージョンの再配布物に対しいくつかの要件を負わせています[1]。これは第三の自由——プログラムを改良し、改良点を公開して、コミュニティ全体の利益を図る自由[2]——にとって不都合なことです。『Rust's Media Guide』には「この文書は公式のMozilla商標ポリシーの補足です[3]」とあり、Mozilla商標ポリシーに代わるものではありません。彼らの商標ポリシーを適用した時点で、なにもかもがMozillaの商標リストへ登録されることになります。FirefoxやThunderbirdも同じ問題に引きずり込まれています[4]。

要するに、非商用での利用を除けばMozillaは自身が商標権を持つプログラミング言語に対して、「明確な同意」なしにパッチを適用したり修正を加えたりすることを喜ばないでしょうこれは自由に関する問題です。さらなる参考文献としてRustの商標に関するGitHub IssueNikoの反応(Rust弁護団のひとり)をご覧ください。

世の中の動き

第一級のプログラミング言語としてRustと統合している重要なアプリケーションがあります。Torはそのひとつで、将来的にTor開発チームは、Rustが必要になるリリースとその日時を告知することを計画しています[5]。Linuxカーネル開発チームもまた、Rust実装のモジュールを提供することに関心を抱いています

Torの後継としてi2pd(I2P Daemon)を利用できます。これはI2PクライアントのC++実装で、匿名I2Pネットワークの構築と利用に便利です。しかしながら、i2pdはTorネットワークと互換性がなく、秘匿サービスとして.onionサイトではなく.i2pサイトへアクセスします

解決手段

IceCatがFirefoxを置き換え、Iceweasel-UXPがBasiliskを置き換えたように、商標の制限を避けつつRust全体を再ブランド化します[6]。しかしRustはWebブラウザではなくプログラミング言語です。再ブランド化されたRustはGNUプロジェクトとFSDG互換のディストリビューションによってメンテナンスされるでしょう[7]。わたしたちには、Rustで実装されたすべてのアプリケーションを、再ブランド化されたRustへ作り替えるためのパッチが必要です。your-freedomパッケージのために、自由でないCargoパッケージの一覧をブラックリストに登録しなければなりません[8]。

第三の自由を尊重したうえで、どのような目的に対してもRustバイナリを修正できるよう、Rustの商標利用許諾を変えていくことも考えられます。

他のソフトウェア商標との比較

何人かから「他のほとんどのソフトウェアパッケージにも商標があるけど、あなたがたはそれらをすべて取り除こうとしているの?」と質問されます。いいえ。わたしたちはすべての商標に抗うわけではありません。通常の利用やパッチの適用、変更を明確に禁止している商標にだけ抗います。

例として、Python PSFPerl Trademarksは、いまのところ事前の承認なしにソースコードへパッチを適用することを禁止していません。これらプロジェクトは商標の悪用を禁止しています。悪用とは、たとえばあなたは「Python株式会社」を設立できない、といったようなものです。この制限はPythonやPerlのソースコードを変更したり、パッチを適用したりすることに対しなんら影響を及ぼしていません。

変更を禁止する条項が原因で、Rustはユーザの自由を侵害する非寛容な商標を持っているのです。

訳注

  1. Rustの法的ポリシーを参照してください。

  2. Richard Stallman 著、長尾高弘 訳『フリーソフトウェアと自由な社会 Richard M. Stallmanエッセイ集』71ページより引用しました。

  3. 原文では "The Rust's Media Guide says it merely supplements the official Mozilla trademark policy; it doesn't replace it." ですが、Rust's Media Guide(2020年1月2日閲覧)では "This document supplements the official Mozilla trademark policy which governs use of all Mozilla trademarks." となっていました。引用というよりむしろ要約をしているようですが、なるべく原著者のバイアスを取り除くために翻訳はRusts' Media Guideに載ってある文章をもとにしています。

  4. 念のため書いておきますが、FirefoxはWebブラウザ、Thunderbirdはメーラの一種です。ともにMozillaからリリースされています。

  5. Torは専用のプロキシサーバ(SOCKSプロキシ)を何度も中継させることで、身元の特定を難しくさせ、インターネット上での匿名性を担保するソフトウェアです。

  6. BasiliskはWebブラウザの一種です。

  7. FSDGはFree System Distribution Guidelinesの略です。GNUプロジェクトが指す「自由」に当てはまるディストリビューションはなにか?についてのガイドラインです。

  8. your-freedomパッケージがインストールされていると、自由ではないパッケージやセキュアではないパッケージをインストールしようとしても、このパッケージの依存関係と衝突してインストールができないようになります。