オープンソースソフトウェア運動は、より広範なオープンコラボレーションの概念の一部として、一部またはすべてのソフトウェアにオープンソースライセンスを使用することを支持する社会運動です。[ 1 ]この運動は、オープンソースソフトウェアの開発と採用を促進するために出現しました。
オープンソース運動に参加するプログラマーは、自発的な協力とコード共有を通じてソフトウェア開発に貢献します。 [ 2 ]オープンソースライセンスは通常、ソースコードの変更や再配布に制限なく公開することを要求し、個人またはグループに対する差別を禁止します。この開発モデルでは、誰でもオープンソースコードを入手、変更、再配布できます。変更は通常、より広いコミュニティと共有され、貢献が追跡され、帰属される共同開発プロセスが構築されます。[ 3 ]この共同アプローチは、透明性とコミュニティ参加を重視する点で、プロプライエタリソフトウェア開発モデルとは異なります。[ 2 ]
オープンソースというラベルは、 Netscapeが1998年1月にNavigatorのソースコードを公開すると発表したことを受けて、カリフォルニア州パロアルトで開催された戦略会議[ 4 ]で、フリーソフトウェア運動のグループによって作成され、採用されました。この用語を使用する理由の1つは、「オープンソースという用語を使用する利点は、ビジネスの世界が通常、フリーテクノロジーのインストールを阻止しようとすることである」[ 5 ]というものでした。この用語を採用した人々は、Navigatorのソースコードが公開される前に、この機会を利用して「フリーソフトウェア」という用語のイデオロギー的かつ対立的な意味合いから自分たちを解放しました。その後、1998年2月に、Bruce PerensとEric S. Raymondは、「その文化の歴史における転換期に、教育、擁護、管理組織として」Open Source Initiative (OSI)という組織を設立しました[ 6 ] 。
初期のコンピューティング時代には、ハードウェアとソフトウェアは明確に区別されていませんでした。コンピュータユーザーは通常プログラミングの知識を持っており、使用するシステムを変更することができました。1952年にIBMが最初の商用電子コンピュータを発表したとき、メンテナンスは困難でコストも高額でした。ソフトウェアの複雑さは、コンピュータ所有者にとってさらなる課題となりました。これに対応して、コンピュータ所有者はPACT(The Project for the Advancement of Coding Techniques)と呼ばれる共同グループを結成し、共有プログラミングツールを開発しました。1956年、アイゼンハワー政権はAT&Tの事業活動に制限を課し、これがその後の技術開発パターンに影響を与えました。コンピュータメーカーはその後、コスト削減とマルチユーザーオペレーティングシステムの開発に注力しました。MITの計算センターは、最初のマルチユーザーシステムの1つである互換タイムシェアリングシステム(CTSS)を開発し、後の共同ソフトウェア開発の実践の基礎を築きました。[ 7 ]
オープンソース運動は、リチャード・ストールマンによるGNUプロジェクトの立ち上げで80年代後半に始まったフリーソフトウェア運動から派生したものです。[ 8 ]ストールマンは、ソフトウェア開発のための自由に共有されるソースコードの概念化において重要な役割を果たした人物として、オープンソースコミュニティ内で認識されています。[ 3 ]フリーソフトウェア運動における「フリーソフトウェア」という用語は、ソフトウェアの交換と変更の自由を意味するものです。この用語は、金銭的な自由を指すものではありません。[ 3 ]フリーソフトウェア運動とオープンソース運動はどちらも、プログラミングコードの自由な交換というこの見解を共有しており、そのため、両方の運動は文献でFOSS(Free and Open Software)またはFLOSS(Free/Libre Open-Source)コミュニティの一部として言及されることがよくあります。
これらの運動は、オープンソフトウェアに対する見方において根本的な違いを共有している。グループ間の主な、そして分裂の原因となる違いは、オープンソースソフトウェアとプロプライエタリソフトウェアの関係である。多くの場合、マイクロソフトなどのプロプライエタリソフトウェアのメーカーは、競争力を維持するためにオープンソースソフトウェアのサポートに努めることがある。[ 9 ]オープンソースコミュニティのメンバーは、プロプライエタリソフトウェアのメーカーと共存することをいとわず[ 3 ]、ソフトウェアがオープンソースであるかどうかは実用性の問題だと考えている。[ 10 ]
対照的に、フリーソフトウェアコミュニティのメンバーは、すべてのソフトウェアは言論の自由の一部であり[ 3 ]、プロプライエタリソフトウェアは非倫理的で不当であるというビジョンを維持しています[ 3 ] 。フリーソフトウェア運動は、プロプライエタリソフトウェアを非難する講演を通じて、この信念を公然と擁護しています。コミュニティ全体として、プロプライエタリソフトウェアのサポートを拒否しています。さらに、これらの開発者には外部の動機があります。1つの動機は、プログラマーがバグを修正したりプログラムを作成したりすると、オープンソース環境で他の人に利益をもたらすことです。もう1つの動機は、プログラマーが興味深く楽しいと感じる複数のプロジェクトに取り組むことができることです。オープンソースの世界でプログラミングすることは、商業的な仕事のオファーやベンチャーキャピタルコミュニティへの参入につながることもあります。これらは、オープンソースプログラマーがソフトウェアの作成と発展を続ける理由のほんの一部です[ 11 ] 。
フリーソフトウェア運動とオープンソース運動は、オープンソースに関する実際的な推奨事項において類似点があることを認識しつつも、フリーソフトウェア運動はオープンソース運動とは全く異なる存在であることを強く主張し続けている。[ 12 ]フリーソフトウェア運動は、オープンソースとプロプライエタリソフトウェアの関係について根本的に異なる姿勢を持っていると主張している。しかし、フリーソフトウェアコミュニティは、オープンソースコミュニティを自分たちの不満の対象とは見ていない。彼らの不満の対象は、プロプライエタリソフトウェアそのものである。[ 3 ]
オープンソース運動は、数々の法的課題に直面してきた。オープンソース製品を管理する企業は、商標権の確保に苦労することがある。例えば、「黙示のライセンス」の範囲は依然として不明確であり、オープンソースソフトウェアを用いて作成された製品の特許取得を企業が困難にする可能性がある。また、アドオンを販売する企業の場合、販売されているアドオンと同様の機能をオープンソースコードに追加したライセンシーは、特許訴訟から免責される可能性がある。
「 Jacobsen v. Katzer 」訴訟において、原告は被告が改変版ソフトウェアに必須の著作権表示を記載しなかったため、ライセンスに違反したとして被告を訴えた。被告はソフトウェアの使用条件に従わなかったことを芸術的ライセンスの適用を主張したが、著作権表示の文言から、これは認められないと判断された。「Jacobsen v. Katzer」訴訟は、オープンソースソフトウェアが法律上、プロプライエタリソフトウェアと同等の地位にあることを確立した。
マイクロソフトが独占企業であると訴えられた裁判で、マイクロソフトには正当な競争相手がいることを証明するためにLinuxとオープンソースソフトウェアが法廷に提出され、アップルと同列に扱われた。[ 13 ]
オープンソースプロジェクトに関わる人々で、法的助言を必要とする場合、利用できるリソースがあります。ソフトウェア自由法センターは、オープンソースの法的問題に関する入門書を提供しています。国際フリー・オープンソースソフトウェア法レビューは、フリーソフトウェア問題に関する弁護士向けの査読済み情報を提供しています。
オープンソース・イニシアティブ(OSI)は、オープンソース運動の正式化に重要な役割を果たしました。OSIは、Debianフリーソフトウェアガイドラインに基づいたオープンソース定義の作成を通じて、オープンソースラベルの一般教育と普及を目的として、1998年2月にエリック・レイモンドとブルース・ペレンズによって設立されました。OSIは、オープンソース運動の主要な支持者および推進者の1つとなっています。[ 6 ]
1998 年 2 月、オープンソース運動は、ソフトウェアを「商業ビジネスでの利用により適したもの」として販売するために設立された組織である Open Source Initiative (OSI) によって採用され、正式化され、先導されました[ 3 ]。OSIは米国特許商標庁に「Open Source」の商標登録を申請しましたが、その用語が一般的または記述的であるという理由で却下されました。したがって、OSI は、その用語に対するコモンロー上の商標権を主張しているものの、国内または国際的な意味で「Open Source」の商標を所有していません[ 2 ]。 彼らがこのために採用した主なツールは、オープンソース定義でした[ 14 ]。
オープンソースというラベルは、1998年2月3日にカリフォルニア州パロアルトで開催された戦略会議で考案され、同年4月8日には、ティム・オライリーのフリーソフトウェアサミットの参加者がオープンソースという用語の使用を促進することに投票した。[ 6 ]
全体として、オープンソース運動から生まれたソフトウェア開発はコンピュータ科学分野に限ったものではありませんが、プロプライエタリソフトウェアの代替となるものを開発することに成功しています。オープンソースコミュニティのメンバーはコードを改良し、既に利用可能な多くのプロプライエタリソフトウェアに匹敵するプログラムを作成しています。[ 3 ]
オープンソース運動で使用されている修辞的言説は、現在ではより多くの非専門家ユーザーや擁護団体を含むように拡大している。クリエイティブ・コモンズや国際開発機関などのいくつかの組織グループも、独自の目的や用途に応じてオープンソースの概念を採用している。[ 15 ]
オープンソース運動の法的正式化に影響を与える要因は、主に著作権、流用、知的財産に関する最近の政治的議論に基づいている。[ 16 ]
歴史的に、研究者はオープンソースの貢献者を中央集権的なタマネギ型のグループとして特徴づけてきました。[ 17 ]タマネギの中心は、大量のコードとソフトウェア設計の選択を通じてプロジェクトを推進するコア貢献者で構成されています。2番目に外側の層は、プルリクエストとバグ報告に対応する貢献者です。3番目に外側の層は、主にバグ報告を提出する貢献者です。最も外側の層は、リポジトリと生成されたソフトウェアのユーザーを監視する人々です。このモデルは、オープンソースソフトウェアのライフサイクルを理解するため、オープンソースソフトウェアプロジェクトへの貢献者を理解するため、さまざまなレベルのプロジェクトへの関与で貢献者をどのように支援できるか、さらにオープンソースソフトウェアの分散的な性質が開発者の生産性にどのように影響するかを理解するために研究で使用されてきました。[ 18 ] [ 19 ] [ 20 ]
一部の研究者はこのモデルに異議を唱えている。Crowstonらの研究では、一部のチームははるかに中央集権的ではなく、より分散型のワークフローパターンに従っていることがわかった。[ 18 ]著者らは、プロジェクト規模と中央集権化の間には弱い相関関係があり、小規模プロジェクトの方が中央集権的で、大規模プロジェクトの方が中央集権化が低いと報告している。しかし、著者らはバグ報告と修正のみを調査したため、このパターンがバグの発見と修正のみに関連しているのか、それともオープンソースパラダイムのあらゆる側面において、規模が大きくなるにつれて中央集権化がより分散化されるのかは不明のままである。
チームの中央集権型か分散型かを理解することの重要性は、ツール設計に役立ち、新しい開発者がチームのダイナミクスを理解するのに役立つ可能性がある。オープンソース開発における懸念事項の1つは、コア貢献者(「玉ねぎ」の中心にいる人たち)の間でも開発者の離職率が高いことである。[ 21 ]オープンソースプロジェクトを継続するには、新しい開発者が継続的に参加する必要があるが、プロジェクトに質の高いコードを提供するのに必要なスキルセットも備えていなければならない。オープンソースプロジェクトにおけるGitHubへの貢献に関する調査を通じて、Middletonらは、貢献者がオープンソースチームの正式メンバー(「玉ねぎ」の「コア」へ移行する)になる最大の予測因子は、プルリクエストを送信してコメントしたかどうかであることを発見した。著者らは、ツールとしてのGitHubは、貢献者にこれらの活動に参加するよう促すチームのオープンソースプロジェクト上の「チェックボックス」機能をサポートすることで、このプロセスを支援できると提案している。[ 20 ]
オープンソースコミュニティは、オープンソースプロジェクトの持続可能性と革新性を確保するために、若い世代の参加が重要であることを長年認識してきました。しかし、オープンソース貢献者の高齢化と、若い開発者を引き付ける難しさについて懸念が提起されています。2010年、著名なLinuxカーネルメンテナーであるJames Bottomleyは、Linuxカーネルコミュニティの「高齢化」を指摘し、この傾向は今日まで続いています。Apache Software Foundation (ASF)の会長であるDavid Nalleyは、レガシーコードの保守は、新しい革新的なプロジェクトに取り組むことを好む若い開発者にとって魅力に欠けることが多いと強調しました。[ 22 ]
オープンソースプロジェクトへの貢献は、開発、ドキュメント作成、国際化、その他の分野で貴重な経験をもたらす可能性がある一方で、参入障壁によって、特に若い世代の新規参加者が参加しにくくなる場合が多い。これらの課題には、技術的、心理的、動機付けの要因が含まれる。[ 23 ]
これらの課題に対処するため、Linuxカーネルメンターシッププログラムのような取り組みは、新しい開発者の採用と育成を目指しています。LFXメンターシッププログラムは、さまざまなプロジェクトで次世代のオープンソース開発者やリーダーを支援し、指導することも目指しています。[ 24 ]
研究では、プログラマーがオープンソース開発に参加する動機が調査されている。欧州経済学会第15回年次大会で発表された研究では、無償のプログラミング作業に貢献する個人および組織のインセンティブが分析され、この種の「知的贈与」は従来の経済モデルに挑戦するものだと指摘されている。[ 25 ]いくつかの要因が潜在的な動機として特定されている。
オープンソースコミュニティのプログラマーの大多数は男性です。2006年に欧州連合が実施したフリーソフトウェアおよびオープンソースソフトウェアコミュニティに関する調査では、貢献者全体のわずか1.5%が女性であることが分かりました。[ 29 ]コンピューティング分野では一般的に女性の割合が低いものの、技術職における女性の割合は実際にははるかに高く、25%近くに達します。[ 30 ]この差は、女性プログラマーは全体的に男性プログラマーよりもオープンソースプロジェクトに参加する可能性が低いことを示唆しています。
オープンソースプロジェクトのメンバーへの調査やインタビューでは、オープンソースコミュニティ内には男性優位の文化があり、女性に対して歓迎されない、あるいは敵対的である可能性があると述べられています。[ 31 ] Outreachyのようなイニシアチブは、より多くの女性やその他の少数派のジェンダーアイデンティティがオープンソースソフトウェアに参加できるように支援することを目的としています。しかし、オープンソースプロジェクトのディスカッションフォーラムでは、ジェンダーの多様性というトピックは非常に議論の的となり、時には扇動的になることもあります。[ 31 ]オープンソースソフトウェアの中心的なビジョンは、ソフトウェアは個々のコード貢献の功績に基づいて構築および維持されるため、オープンソースコミュニティは実力主義として機能すべきであるというものです。[ 32 ]実力主義では、コミュニティにおける個人の重要性は、年齢、人種、宗教、性別などの人口統計学的要因ではなく、個人の貢献の質に依存します。したがって、例えば女性にとってより魅力的なコミュニティにするために、性別に基づいてコミュニティに変更を提案することは、スキルのみに基づいてではなく、性別によって特定のプログラマーをターゲットにすることで、実力主義の理想に反する。[ 31 ]
性別がコミュニティにおけるプログラマーの評価に影響を与えるという証拠がある。2016年の研究では、プログラマーのGitHubアカウントを他のソーシャルメディアアカウントにリンクすることで、GitHub上の100万人以上のプログラマーの性別を特定した。 [ 33 ]男性プログラマーと女性プログラマーを比較したところ、実際には女性プログラマーの方が男性プログラマーよりもプルリクエストがプロジェクトに受け入れられる可能性が高い ことがわかったが、これは女性が性別中立的なプロフィールを持っている場合に限られる。女性が女性であることを示す名前や画像を含むプロフィールを持っている場合、プルリクエストが受け入れられる可能性は男性プログラマーよりも低かった。2015年の別の研究では、GitHub上のオープンソースプロジェクトにおいて、性別の多様性がチームの生産性の重要な正の予測因子であることがわかった。つまり、さまざまな性別がより均等に混ざっているオープンソースチームの方が生産性が高い傾向があるということである。[ 32 ]
多くのプロジェクトが、マイノリティ開発者への嫌がらせに関する懸念に対処するため、コントリビューター・コベナント行動規範を採用している。行動規範に違反した者は懲戒処分を受け、最終的にはプロジェクトから除名される可能性がある。
少数派の人々を不快にさせないために、多くのソフトウェアプロジェクトでは包括的な言語と用語の使用を義務付け始めている。[ 34 ]
図書館は情報や図書館サービスの開発にオープンソースソフトウェアを使用しています。オープンソースの目的は、より安価で信頼性が高く、より高品質なソフトウェアを提供することです。このソフトウェアが非常に人気があるのは、無料であるという点です。特に図書館は、この動きによって提供されるリソースの恩恵を受けています。また、他の人々のリソースを通じて新しい情報を学び理解するという考え方も推進しています。オープンソースはコミュニティ意識を育みます。それは、誰でもさまざまなトピックに関する情報を提供するよう促すものです。オープンソースツールを使用すると、図書館はウェブベースのカタログを作成することもできます。ITソースによると、さまざまな図書館プログラムがこの恩恵を受けています。[ 35 ]
政府機関とインフラストラクチャソフトウェア— 政府機関は、Linux オペレーティングシステムや Apache Web サーバーなどのオープンソースのインフラストラクチャソフトウェアをソフトウェアに取り込んで情報を管理しています。[ 36 ] 2005 年に、National Center for Open Source Policy and Research (NCOSPR) という新しい政府ロビー団体が設立されました。「政府の IT エンタープライズ内でオープンソースソフトウェアソリューションの使用を促進する非営利団体」です。[ 37 ]
軍事におけるオープンソース運動— 軍は、潜在的な運用上の利点のためにオープンソースソフトウェアを研究してきた。オープンソースソフトウェアは、複数の貢献者による変更を可能にし、費用対効果の高い開発と迅速なカスタマイズ機能を提供する可能性がある。軍の関心は、開発速度の向上と運用上の柔軟性の向上の可能性から生じている。しかし、コードの変更とアクセスがオープンな性質であるため、セキュリティ上の懸念が生じる。 2009年に120人以上の軍関係者によって設立された軍事オープンソースソフトウェアワーキンググループは、軍事組織のソフトウェア開発者と請負業者間の協力を促進するために組織された。このグループは、軍事アプリケーションにおけるコードの再利用と共同開発の機会を探ることを目的としていた。[ 38 ]
教育におけるオープンソース— 大学や組織は、主にオンラインでソフトウェアを使用して学生を教育しています。オープンソース技術は、これらの管理ソフトウェアシステムを提供するために企業に支払う費用を削減できるため、多くの機関で採用されています。オープンソースシステムを採用した最初の主要な大学の 1 つは、2009 年のコロラド州立大学で、その後、他の多くの大学がそれに続きました。コロラド州立大学のシステムは、オープンソース管理システムの主要プレーヤーとなったKuali Foundation によって作成されました。Kuali Foundation は、「高等教育のために、高等教育によって、オープンソースソフトウェアを構築および維持する」ことを目指す組織のグループであると自らを定義しています。 [ 39 ] Kuali Foundation 以外にも、教育で使用されているオープンソースツールの例は他にもたくさんあります。
「教育者にとって、オープンソース運動は、学生が学んでいる理論をどのように応用するかを教える際に使用できるソフトウェアへのアクセスを可能にした。」[ 40 ]オープンなネットワークとソフトウェアにより、教師はコミュニティ内でレッスン、講義、その他のコース教材を共有できます。OpenTechCommは、「あらゆるレベルの技術および専門的コミュニケーションコースの教師が学生に無料で提供するために頼ることができる教科書または教育リソースへのアクセス、使用、編集がオープンであること」に特化したプログラムです。[ 41 ]前述のように、このようなプログラムへのアクセスは、教育部門にとってはるかに費用対効果が高いでしょう。
医療におけるオープンソース— 2009 年 6 月に非営利団体 eHealthNigeria によって作成されたオープンソース ソフトウェアOpenMRS は、ナイジェリアで医療の記録に使用されています。このソフトウェアの使用は、公衆衛生の目的のためにナイジェリアのカドゥナで始まりました。OpenMRS は、患者が病状の警告サインを示したときに医療従事者に警告したり、出生と死亡を毎日記録したりするなどの機能を管理します。このソフトウェアの成功は、先進国で利用可能なより複雑な独自の医療ソフトウェアと比較して、この技術を初めて導入する人にとって使いやすいことによるものです。このソフトウェアはコミュニティによって開発され、オープンソース アプリケーションの特徴として誰でも自由に使用できます。現在までに、OpenMRS はルワンダ、モザンビーク、ハイチ、インド、中国、フィリピンで使用されています。[ 42 ]医療におけるオープンソースの影響は、「用語とデータ相互運用ソリューションの主要プロバイダー」である Apelon Inc によっても観察されています。最近、同社の分散用語システム (Open DTS) は、オープンソースの MySQL データベース システムのサポートを開始しました。これにより、医療分野でオープンソースソフトウェアを使用できるようになり、高価な独自開発の医療ソフトウェアへの依存度が軽減されます。オープンソースソフトウェアのおかげで、医療業界は医療標準を実装するための無料のオープンソースソリューションを利用できるようになりました。オープンソースは医療に経済的なメリットをもたらすだけでなく、独自開発ソフトウェアへの依存度が低いため、開発者に関係なくさまざまなシステムの統合が容易になります。[ 43 ]
当初、IBMはオープンソースソフトウェアに積極的に取り組む企業ではありませんでした。1990年代頃には、知的財産権やその他の私有化されたソフトウェア手段を堅持していました。[ 44 ]ある引用によると、IBMがオープンソースソフトウェアにリソースをより多く投資することを決めたのは、マイクロソフトをはじめとする競争市場の進化によって挑戦を受けた後でした。それ以来、IBMの焦点は顧客サービスとより強固なソフトウェアサポートに移りました。[ 44 ] IBMはオープンソースイニシアチブの主要な推進者であり、1998年にLinuxのサポートを開始しました。 [ 45 ]

別の例として、IBMはEclipse IDE(統合開発環境)をオープンソースにすることを決定し、Eclipseの人気と市場への普及により、他の企業も他のIDEをリリースするようになった。[ 46 ]
2008年以前、マイクロソフトはオープンソースソフトウェアに対して敵対的な関係を維持していた。[ 47 ]同社の反オープンソース感情は、当時のCEOスティーブ・バルマーによって強化され、彼は広く使用されているオープンソースソフトウェアであるLinuxを「触れるものすべてに付着する癌」と呼んだ。[ 48 ]マイクロソフトはまた、Linuxが235件の特許を侵害したとしてロイヤリティを請求すると脅迫した。
2004年、マイクロソフトは欧州連合の裁判で敗訴し[ 49 ]、2007年の控訴審でも敗訴し[ 50 ]、2012年のさらなる控訴審でも敗訴し[ 51 ]、支配的地位の濫用で有罪判決を受けた。具体的には、多くのプラットフォームで実行でき、「相互運用性の障壁を取り除く」ことを目的としたオープンソースのSamba(ソフトウェア)プロジェクトとの相互運用性に関する情報を隠蔽していた。
しかし、2008年に、当時マイクロソフトのオープンソースソフトウェア戦略責任者であったサム・ラムジは、ビル・ゲイツと緊密に協力し、ソフトウェア業界内およびマイクロソフト社内でオープンソース推進の姿勢を醸成し始めた。ラムジは2009年にマイクロソフトを退社する前に、マイクロソフトのオープンソースへの理解と関与を築き上げ、マイクロソフトがMicrosoft Azureをはじめとするプロジェクトにオープンソースコードを提供していることからもそれが明らかである。これらの貢献は、マイクロソフトがこれまで独自開発モデルに依存してきた歴史からの大きな転換点となった。[ 52 ]マイクロソフトのオープンソースへの戦略的転換は、業界全体でこれらの技術の採用が拡大していることへの対応と、オープンソースエコシステムとの統合への取り組みを反映している。[ 53 ]
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク){{cite journal}}: CS1メンテナンス: DOIは2025年7月現在非アクティブです(リンク)