デベロッパーリレーションズ

オープンソースはどこが足りないのか

2018-10-03
デベロッパーリレーションズ
ja

あるソフトが「自由」であると言うには、それがユーザーの基本的自由を尊重していることを意味します:そのソフトを実行し、学習・修正し、そしてそのオリジナル版や修正版を再配布すること。これは価格の問題ではなく、自由の権利の問題です。私たちが話す自由は、自由な言論のような権利であり、無料の飲み物のような配布ではありません。

これらの自由は極めて重要です。それらが重要なのは、単にどのユーザーを喜ばせるからではなく、社会全体の結束を維持するからです。具体的には、共有と協力の精神です。私たちの生活と文化が徐々にデジタル化されるにつれて、このような自由の精神もますます貴重になっています。デジタルの音声と文字で満ちた世界では、自由ソフトウェアはますます重要になり、それ自体が私たちの基本的な自由に関わる要因の一つとなっています。

今日の世界では、何百万人ものユーザーが自由ソフトウェアを使用しています。インドやスペインの一部の地域の公立学校では、すべての生徒が自由なGNU/Linuxオペレーティングシステムの使用方法を学んでいます。しかし、これらのユーザーの大多数は、私たちがなぜこの自由なシステムを開発し、なぜ自由ソフトウェアコミュニティ全体を構築し、その背後にある道徳的な論理を理解していません。なぜなら、この自由なシステム、さらにはコミュニティ全体が「オープンソース」という言葉で一言で表されているからです。この言葉に沿って、すべてが完全に異なる思考に導入されました。そこでは、自由というものはほとんど言及されません。

題図:churchm.agより

1983年から、私たちはコンピュータユーザーの自由を守る名のもとに自由ソフトウェア運動を興しました。1984年には、自由なオペレーティングシステムを開発する計画を開始し、このシステムをGNUと名付けました。このシステムにより、私たちは非自由なオペレーティングシステムに依存する必要がなくなり、ユーザーの自由を勝手に奪うのを見過ごす必要がなくなりました。1980年代には、システムの大部分のコンポーネントを開発しました。ユーザーの自由を保護するために、GNU一般公衆ライセンス(GNU GPL)を設計し、このライセンスで大部分のコンポーネントを配布しました。

すべての自由ソフトウェアユーザーと開発者が自由ソフトウェア運動の目標に同意したわけではありません。1998年、自由ソフトウェア陣営の一部のメンバーが分裂し、「オープンソース」という名前で活動を続けました。当初、「自由ソフトウェア」(free software)という言葉が曖昧さを引き起こす可能性があったため、オープンソースという言葉が提案されました。しかし、すぐにオープンソースという言葉は異化し始め、その背後にある論理は自由ソフトウェア運動の本来の目的から大きく逸脱しました。

一部のオープンソース支持者は、オープンソースとは単に「自由ソフトウェアのマーケティング」のためのものであると考えています。具体的には、ビジネス界の人々に自由ソフトウェアの実際の利点を示すことです。同時に、正誤については言及を避けます。ビジネスの大物たちは一般的にこの調子を好まないからです。また、一部のオープンソース支持者は、自由ソフトウェアの道徳的な価値観を完全に放棄しています。彼らがどのような見解を持っていても、オープンソースのマーケティングを始めると、自由ソフトウェア運動が大切にしている価値観は忘れ去られます。その結果、「オープンソース」という言葉はすぐに様々な実用主義的な価値観と単純に結びつけられました。例えば、どのようにして強力で安定したソフトウェアを作るかなど。多くのオープンソース支持者は当初からこれらの価値観を極めて重視しており、部外者がそのように関連付けるのも無理はありません。

オープンソースソフトウェアと自由ソフトウェアという2つの言葉は、大部分において同じ種類のソフトウェアを説明していますが、それらが基づいている価値観には本質的な違いがあります。オープンソースは開発方法を指します。自由ソフトウェアは社会運動です。自由ソフトウェア運動にとって、自由ソフトウェアは道徳的な底線です。自由ソフトウェアだけがユーザーの自由を真に尊重するからです。オープンソースソフトウェアはこれとは異なります。オープンソースの哲学は、どうやってソフトウェアを「より良く」作るかを考えることです。単に実用的な観点から良し悪しを考えます。オープンソースの哲学では、非自由ソフトウェアが悪いのは、劣った開発方法を採用しているからです。自由ソフトウェア運動では、非自由ソフトウェア自体が社会問題であると考えます。解決策は、非自由ソフトウェアを放棄し、自由ソフトウェアに転向することだけです。

「自由ソフトウェア」、「オープンソースソフトウェア」、どちらも同じ種類のソフトウェアを指すなら、なぜ名前にこだわるのでしょうか?おそらく必要があります。異なる言葉は異なる思考を伝えるからです。現在、別の名前で自由ソフトウェアを呼んでも同じ自由を得られますが、ユーザーの自由を長期的に維持するには、人々に自由の価値を認識させる必要があります。人々がこれを達成するのを助けたいなら、「自由ソフトウェア」という呼称を使用することが特に重要です。

自由ソフトウェア運動のメンバーとして、私たちはオープンソース陣営を敵とは見なしていません。私たちの敵はプロプライエタリ(非自由)ソフトウェアです。しかし、私たちが守っているのはユーザーの自由であることを人々に少なくとも知ってほしいと思います。そのため、オープンソース支持者に誤ったラベルを貼られたくありません。

実践において、オープンソースと自由ソフトウェアの違い

実践において、オープンソースの要件は自由ソフトウェアより少し緩いです。私たちの知る限り、ほとんどすべての自由ソフトウェアはオープンソースソフトウェアです。ほとんどのオープンソースソフトウェアも自由ソフトウェアですが、いくつかの例外があります。まず、一部のオープンソースライセンスはユーザーに対して過度に厳しく、それらは自由ソフトウェアとして分類されていません。幸いなことに、これらのライセンスを使用するソフトウェアはごくわずかです。

また、より重要な点があります。多くの製品はコンピュータの機能を持ち、その上で自由ソフトウェアが動作しています。しかし、これらの自由ソフトウェアを修正して、それらのデバイスに再インストールする行為は、多くのデバイスでは完了できません。言い換えれば、これらのデバイスの製造業者は、ユーザーが修正された自由ソフトウェアをインストールまたは実行することを禁止し(これには多くのAndroidデバイスが含まれます)、製造業者が認可した人または組織だけがユーザーデバイス上のソフトウェアを修正できるようにしています。このようなデバイスを「tyrants」、つまり「専制暴君」と呼び、この行為を「tivoization」と呼びます。この言葉はTiVo社が製造したセットトップボックスに由来します。それらのセットトップボックスはGNU/Linuxシステムをベースにし、多くの自由ソフトウェアを使用しています。ユーザーはこの製品を使用して、インターネットを通じてビデオ番組を見ることができます。TiVo社はライセンスに従ってソースコードを公開しましたが、ユーザーがセットトップボックスで自分のプログラムを実行したり、システムを再インストールしたりすることを禁止しました。これは私たちが見た最初の「tyrant」です。このような製品で動作するソフトウェアは、自由ソフトウェアライセンスでコードが公開されていても、動作するバイナリバージョンは自由ソフトウェアとは見なされません。それらも同様にユーザーの自由を制限しているからです。しかし、それらはオープンソースソフトウェアの定義に適合しています。オープンソースソフトウェアは単にソフトウェアライセンスを通じてオープンソースと非オープンソースを区別するからです。

「自由ソフトウェア」と「オープンソース」についての一般的な誤解

英語では、「自由ソフトウェア」、つまりFree Softwareという言葉は誤解されやすいです:Freeという言葉には無料という意味もあれば、自由という意味もあります。私たちが言う自由ソフトウェアは、「ユーザーに特定の自由を与えることができるソフトウェア」です。この問題を解決するために、私たちは自由ソフトウェアの定義を公開しました。理解しやすくするために、自由ソフトウェアのFreeは、自由な言論で言う自由であり、無料の飲み物で言う無料ではないと説明しています。これは明らかに理想的な解決策ではなく、この問題を完全に排除することはできません。意味が正しく、曖昧さのない言葉の方が明らかに良いですが、その言葉が他の問題を引き起こさないことが前提です。

残念ながら、英語では、Freeを置き換える言葉は多かれ少なかれ問題があります。私たちは多くの人の提案を検討しましたが、他のものより「正しい」ものはありません(例えば、ある状況では、フランス語とスペイン語の「libre」という言葉の方が良いです。しかし、インドの人々はこの言葉を全く知りません)。「Free Software」の代わりになる可能性のある言葉はすべて、意味論的な問題を多少抱えています。これには「オープンソースソフトウェア」(Open Source Software)も明らかに含まれます。

オープンソースソフトウェアの公式定義(オープンソース推進会が公開したものです。この定義は長すぎるため、本文では全て引用しません)は、私たちの自由ソフトウェアの定義から直接派生したものです。ただし、両者には違いがあり、いくつかの面では、オープンソースソフトウェアの定義は自由ソフトウェアより緩いです。しかし、全体的に言えば、オープンソースソフトウェアの定義と私たちの自由ソフトウェアの定義は多くの場所で等価です。

しかし、「オープンソースソフトウェア」の文字通りの意味—これも人々が一般的に思っている意味—は「ソースコードを見ることができる」です。この意味は自由ソフトウェアの定義よりはるかに緩く、オープンソースソフトウェアの定義よりはるかに緩いです。このような文字通りの意味は、自由でもオープンソースでもない多くのソフトウェアを含みます。

「オープンソース」という言葉の文字通りの意味がオープンソース支持者の本来の意図と異なるため、多くの人がこの言葉を誤解しています。ここでNeal Stephensonの記事から引用します:「Linuxは『オープンソース』ソフトウェアであり、意味は単純で、誰でもそのソースコードを入手できるということです」。Stephenson氏がオープンソースソフトウェアの公式定義を意図的に拒否または曲解したとは思いません。おそらく彼は単に文字通りに解釈し、残念ながらオープンソースという言葉を誤解したのでしょう。カンザス州政府もオープンソースソフトウェアの簡略化された定義を公開しました:「オープンソースソフトウェア(OSS)とは、ユーザーが無料かつ公開でソースコードを入手できるコンピュータソフトウェアの一種です。ユーザーがそのソースコードに対してどのような操作ができるかは、ソフトウェアのライセンス規定によって異なります」。

さらに悪いことに、ニューヨークタイムズ記事を公開し、オープンソースという言葉の意味を完全にねじ曲げ、オープンソースソフトウェアを内部テスト版ソフトウェア—少数のユーザーにテストさせる先行版ソフトウェア—として説明しました。これはプロプライエタリソフトウェア開発者が数十年前に公開していたものです。

オープンソース支持者は、公式定義を継続的に引用することでこれらの誤解を解決しようとしています。この方法は明らかに間違っていませんが、定義を直接引用することは自由ソフトウェアにとってより効果的です。「Free Software」という言葉は文字通り2つの意味があり、その中の自由の意味が私たちが伝えたいものです。「自由な言論であり、無料の飲み物ではない」という言葉を理解できれば、Freeのどちらの意味を使うべきかを間違えることはありません。しかし、「オープンソース」という言葉は文字通り1つの意味しかなく、その意味は本来表現したい意味とは異なります。結果として、公式定義を説明する簡単な方法を見つけるのが難しくなります。これにより、より多くの誤解が生じています。

もう一つの「オープンソース」についての誤解は、オープンソースソフトウェアは「GNU GPLライセンスを使用しない」ことを意味するというものです。この誤解は、別の誤解「自由ソフトウェアはGPLライセンスを使用するソフトウェア」と共に現れることが多いです。これは明らかに自由ソフトウェアとオープンソースソフトウェアを歪めています。GNU GPLライセンスもオープンソースソフトウェアライセンスとして認証されています。多くのオープンソースソフトウェアライセンスも同時に自由ソフトウェアライセンスです。GPL以外にも、多くの自由ソフトウェアライセンスがあります。

「オープンソース」という言葉は、政府部門、教育、科学、その他ソースコードが全くない場所、そしてソフトウェアライセンスとは全く関係のない分野など、様々な分野に繰り返し拡張されています。それらの唯一の共通点は、多かれ少なかれ人々がある活動に参加することを奨励していることです。結局のところ、オープンソースという言葉は「参加性」、あるいは「透明性」、あるいはそれ以下のものに拡張されました。最も悲しい説明は、完全に虚構のビジネス流行語になってしまいました。

異なる価値観が類似した結論を導き出す…残念ながら例外がある

1960年代、アメリカの極左派陣営は意見の相違により多くの派閥が生まれました。彼らは実際には同じ目的と価値観を持っていましたが、各派閥の間は依然として水と油の関係で、緊張関係にありました。これにより、右翼勢力は力を借りて、左派陣営全体を攻撃することができました。

自由ソフトウェアとオープンソース陣営にこのような分裂が存在するため、一部の人々はアメリカの極左陣営の例を使って、自由ソフトウェア運動を警告または誹謗しています。しかし、現在の状況は当時の極左陣営の状況とは正反対です:私たちとオープンソースソフトウェア陣営は異なる目的と価値観を持っていますが、異なる観点が多くの同じ行動—例えば自由ソフトウェアの開発—につながっています。

その結果、自由ソフトウェア運動の人々とオープンソース陣営の人々が頻繁に同じプロジェクトで一緒に働き、例えば一緒にソフトウェアを開発していることが見られます。これは言及する価値があります:見解が異なっていても、同じプロジェクトで働くことが可能です。もちろん、私たちとオープンソース陣営のそれぞれ異なる観点は、時には異なる行動につながる可能性があります。

オープンソースの基本的な考え方は、ユーザーがソフトウェアを修正・再配布できるようにすることで、ソフトウェアをより強力で信頼性の高いものにすることです。残念ながら、これは必要条件ではありません。多くのプロプライエタリソフトウェア開発者も技術力が高いです。時には、プロプライエタリソフトウェアがユーザーの自由を尊重しなくても、強力で信頼性の高いソフトウェアを開発できます。この事実に対して、自由ソフトウェア支持者とオープンソース陣営の人々は異なる反応を示します。

純粋なオープンソース熱狂者にとって—自由ソフトウェアの理想に影響されていないと仮定して—、「あなたたち(プロプライエタリソフトウェア開発者)は私たちの開発モデルを使わずに、こんなに良いソフトウェアを開発できたなんて、本当に驚きです。あなたのソフトウェアのコピーをください」と言うかもしれません。このような態度は、プロプライエタリソフトウェアの策略を成功させ、私たちの自由を奪います。

自由ソフトウェア支持者は、「あなたのソフトウェアは非常に魅力的ですが、私は自分の自由をより重視しています。残念ながら、あなたのソフトウェアの使用を諦めざるを得ません。私は、同様の機能を実現する自由ソフトウェアを開発するプロジェクトをサポートします」と言うでしょう。あなたが自分の自由を本当に大切にするなら、私たちは行動でそれを守ることができます。

強力で信頼性の高いソフトウェアは、必ずしも良いものではない

誰もがソフトウェアが強力で信頼性が高いことを望みます。私たちは皆、ソフトウェアはユーザーにサービスを提供するものだと考えているからです。ユーザーにサービスを提供するものなら、強力で信頼性の高いソフトウェアは明らかにユーザーにより良いサービスを提供できます。

しかし、明確にしなければならないのは、ソフトウェアがユーザーの自由を尊重する場合にのみ、私たちはソフトウェアがユーザーにサービスを提供していると言います。ソフトウェア自体がユーザーの自由を奪い、様々な障害を設けることを意図しているなら、そのようなソフトウェアがより強力であることは単により多くの束縛を意味し、より信頼性が高いことはこれらの障害が克服しにくいことを意味します。現実生活では、悪意のある機能はプロプライエタリソフトウェアで至る所にあります:ユーザーの監視、ユーザーの制限、バックドア、強制アップグレードなど。一部のオープンソースソフトウェア支持者は、彼らのオープンソースソフトウェアで同様の機能を実現することを望んでいます。

映画とレコード会社の圧力により、ますます多くの個人用ソフトウェアが意図的にユーザーの行動を制限するように設計されています。この悪意のある機能の公式な言い方はデジタル著作権管理です(DefectiveByDesign.orgを参照)。この機能は自由ソフトウェアの核心精神と完全に矛盾しています。言うまでもなく、これは精神面での矛盾だけでなく、実際の操作でも、DRM開発者たちはユーザーがソフトウェアを修正できないようにし、これを違法行為とさえ見なしています。

それにもかかわらず、一部のオープンソースソフトウェア支持者は、いわゆる「オープンソースDRM」ソフトウェアの開発を提案しています。その背後にある論理は、ユーザーの自由を制限するこれらのソフトウェアのソースコードを公開し、ユーザーがそれを修正できるようにすれば、ユーザーの自由を制限し続けるためのより強力で信頼性の高いソフトウェアを作ることができるというものです。その後、これらのソフトウェアはあるデバイスにコピーされ、あなたに販売されますが、そのデバイスはあなたがその上で動作するソフトウェアを修正することを禁止します。

このようなソフトウェアはオープンソースソフトウェアと呼べるかもしれませんし、実際にオープンソースの開発モデルを使用しています。しかし、それは自由ソフトウェアになることはできません。ユーザーの自由を全く尊重していないからです。オープンソースの開発モデルがこのようなソフトウェアを成功裏に製造し、これらのソフトウェアをより強力で信頼性の高いものにし、あなたと私の自由を制限するなら、オープンソースはすべてをより悪くしたと言わざるを得ません。

恐ろしい自由

当時、自由ソフトウェア運動から分裂してオープンソースソフトウェア運動を開始した主な理由は、「自由ソフトウェア」の道徳的基盤が多くの人を不快にさせたからでした。確かに、道徳について話すと、例えばユーザーの自由、開発者の責任など、人々にしばしば無視されがちな問題を考えるよう強います。ある行為が道徳規範に適合するかどうかなどです。このような説教は確かに人々を不快にさせ、一部の人々はそれを忘れ去り、二度と聞かなくなります。しかし、これは道徳について話すたびに、私たちが退避し、口を閉ざすべきだという意味ではありません。

残念なことに、オープンソースのリーダーたちはまさにこれらの問題を無視することを選択しました。彼らは、道徳と自由について見て見ぬふりをし、代わりに一部の自由ソフトウェアが現在どれだけの利益を生み出せるかについてだけ議論すれば、より効率的にソフトウェアを一部の特定のユーザー、特にビジネスユーザーに「販売」できるかもしれないと気づきました。

この理論の観点から見ると、この方法は確かに効果的でした。オープンソースという言葉は多くのビジネスと個人ユーザーを説得し、彼らが自由ソフトウェアを使用し、さらには開発するようになり、私たちのコミュニティを拡大しました。しかし、このような拡張は表面的なもので、実用性にのみ注目するレベルにとどまっています。オープンソースの哲学は実用的なレベルにとどまっているため、人々が自由ソフトウェアのより深い意味を理解することを妨げています。それは私たちのコミュニティに新鮮な血液を追加しましたが、それらの新人にこのようなコミュニティを維持する方法を教えることはできませんでした。ここまではまだ良いですが、自由を守るには十分ではありません。ユーザーを自由ソフトウェアコミュニティに引き付けることは、万里の長城の第一歩に過ぎず、彼らは自分の自由の擁護者になることを理解する必要があります。

自由ソフトウェアの意味を理解できなかったユーザーは、遅かれ早かれ実用的な観点から、再びプロプライエタリソフトウェアに転向するでしょう。無数のソフトウェア会社がすでにユーザーをプロプライエタリソフトウェアの使用に引き付ける試みを始めています。無料のプロプライエタリソフトウェアを配布することさえあります。ユーザーは、自由ソフトウェアが与える自由を大切にした後でのみ、このような誘惑を拒否できます。したがって、私たちは自由を繰り返し強調することによってのみ、自由の理念を徐々に広めることができます。「沈黙を保つ」という信条は商業化の過程で役立つかもしれませんが、それを過度に強調し、自由を愛することを利己的と見なすことは、コミュニティ全体に害を与えます。

このような危機はまさに私たちが現在直面しているものです。自由ソフトウェアコミュニティに参加している多くの人々、特に自由ソフトウェアのディストリビューターたちは、自由について常に口を閉ざしています。多くの場合、「ビジネスで認められたい」からです。ほぼすべてのGNU/Linuxディストリビューションは、そのベース版にプロプライエタリソフトウェアを混ぜています。彼らはこれを欠点ではなく、利点として宣伝さえしています。

プロプライエタリプラグインを含むソフトウェアと、プロプライエタリソフトウェアを含むGNU/Linuxディストリビューションが生存と発展の余地があるのは、私たちのコミュニティの大多数が自分の自由を守っていないからです。これは偶然ではありません。大多数のGNU/Linuxユーザーは「オープンソース」という言葉に引き付けられましたが、オープンソースはユーザーの自由を維持することを目標としていません。自由を無視する言論が口から口へと伝わり、自由を軽視する態度が至る所にあります。皆がそうし、互いに影響し合っています。このような状況を逆転させるために、私たちができる唯一のことは、自由を脇に置くのではなく、より多く自由について語ることです。

まとめ

オープンソース支持者たちはユーザーを次々と彼らの陣営に引き入れ、ユーザーに自由を維持するよう提醒する任務は、私たち自由ソフトウェア支持者の肩に落ちてきます。私たちは以前より大きな声で「これは自由ソフトウェアであり、あなたの自由を真に尊重するソフトウェアです!」と言う勇気を持たなければなりません。「オープンソースソフトウェア」という言葉を「自由ソフトウェア」に置き換えるたびに、あなたは私たちの運動を支持しています。

脚注

LakhaniとWolfは、自由ソフトウェア開発者の動機に関する論文で、多くの開発者がソフトウェアは本来自由であるべきだと考え、それによって自由ソフトウェアの開発に参加したと述べています。残念ながら、彼らの調査はSourceForge上の開発者を対象としていましたが、SourceForgeサイト自体はソフトウェアの自由を倫理問題とは考えていません。

転載请注明:デベロッパーリレーションズ »


Similar Posts

Content icon
Content