オープンソースソフトウェアとは何ですか?オープンソースとFOSSの説明

使用するすべてのソフトウェアの基礎となるのは、コマンドを発行し、ソフトウェアが実行できるようにするデータを処理するソースコードです。そのソースコードを誰が見たり、変更したり、再配布したりする権利を誰が持つべきかという問題は、長い間、コンピューティングの世界における基本的なイデオロギーの分裂の1つでした。

オープンソースソフトウェアの支持者は、その名前が示すように、オープン性の側に降りてきます。彼らは、人々が彼らが使用するソフトウェアのソースコードにアクセスする権利を持っているべきだと感じています。ただし、後で説明するように、実際には、そのラベルに該当する種類はたくさんあります。さまざまな種類のオープンソースソフトウェアが、考えられるほぼすべてのニッチに存在します。実際、オープンソースがそれらの多くを支配しています。

オープンソースソフトウェアとは何ですか、フリーソフトウェアとは何ですか?そしてそれらは異なりますか?

オープンソースソフトウェアの簡潔な定義は、その基礎となるコードを調査、変更、および再配布できるソフトウェアであるということです。(これから説明する、より長く、より公式な定義があります。)「変更および再配布された」部分は、オープンソース哲学の鍵となります。名前が意味するものにもかかわらず、人々がそれを見ることができるように単にあなたのソースコードを開くことはそれをオープンソースにしません。

ある意味で、「オープンソースソフトウェア」という用語はレトロニムです。コンピュータサイエンスの初期の数十年では、ソフトウェアのソースコードは当然のことながら利用可能であり、研究者と業界の科学者の間で自由に交換されていました。コンピューターはごくわずかであり、ユーザーによって大幅に変更されることが予想されていたため、人々はコードにアクセスする必要がありました。多くの点で、ソフトウェアはコンピューターハードウェアへのアドオンと見なされていました。ソフトウェアが著作権の対象であることが法的に確立されたのは1974年まででした。しかし、1970年代後半にマイクロコンピューターの時代が幕を開けると、業界は、ソフトウェアはそれ自体が金銭的価値のあるものであり、ソフトウェア作成者を保護するために、基盤となるコードへのアクセスを制限できる、または制限すべきであるという立場に移行し始めました。 '権利。マイクロソフトの最初の製品であるAltairBASICインタープリターの広範な著作権侵害について不平を言う、愛好家へのビル・ゲイツの有名な1976年の公開書簡は、この変化の分水嶺文書です。

これらの新しいアイデアは急速に成長しているソフトウェア業界によってすぐに取り上げられましたが、一部の人々はそれらに反対しました。初期の反対者の1人は、1985年にフリーソフトウェアファウンデーション(FSF)を設立したリチャードストールマンでした。フリーソフトウェアの「無料」とは、ユーザーが自由にコードを変更および配布できることを意味します。この意味で、フリーソフトウェアにお金を請求することに反対する規則はありません。多くの場合、「無料のビールのように無料」と「言論の自由のように無料」が区別され、後者の陣営にはフリーソフトウェアがあります。

それでも、フリーソフトウェアのアイデアは、結局のところ、物を与えることのファンではなかった民間企業の多くの人々を緊張させました。 1998年、Christine Petersonは、新規参入者、特に営利企業で働く人々がアイデアにアクセスしやすくするための試みとして、「オープンソース」というフレーズを作り出しました。ストールマンはオープンソースという用語に抵抗し、フリーソフトウェアの元々の政治的および哲学的な考えから離れると言ったが、それはこの概念を説明する支配的なフレーズになっている。フリーとオープンソースのソフトウェアのベン図は十分に重複しているため、2つが頭字語FOSS(フリーとオープンソースのソフトウェア)で組み合わされることがあります 一般に、すべてのフリーソフトウェアはオープンソースですが、オープンソースソフトウェアのごく一部にライセンス条項があり、それは無料ではないことを意味します(オープンソースライセンスについては後で詳しく説明します)。

フリーでオープンソースのソフトウェアの概念は、別のレトロニムの定義を生み出しました。「プロプライエタリソフトウェア、つまりオープンソースではないソフトウェアです。

オープンソースソフトウェアライセンス

オープンソースソフトウェアに関連するすべての権利と責任は、ソフトウェアが配布されるライセンスによって確立されます。ソフトウェアが著作権の対象となるという法的な原則が確立されると、ソフトウェアライセンスは、著作権所有者とユーザーの間の契約を提供するために作成され始め、ユーザーにパーソナルコンピューターでソフトウェアを実行する許可を与えました。

ソフトウェアライセンスは元々、ユーザーの行動を制限し、ソフトウェアメーカーの権利を保護するために存在していました。しかし、フリーソフトウェアの支持者は、ライセンスの本来の目的を逆転させることができることに気づきました。ソフトウェアパッケージのライセンスでは、代わりに、ソフトウェアを使用するすべての人が基礎となるコードを利用できるようにし、ユーザーがそのコードを編集および再配布する権利を持っている必要があります。最初のオープンソースソフトウェアライセンス(用語よりも前のものですが)は、おそらく、FSFのストールマンによって書かれたバージョンのEmacsテキストエディタ用に1985年にリリースされたGNUEmacsコピー許可通知です。

それ以来、無料のオープンソースライセンスの数が急増し、それぞれがライセンスコードの使用に関してわずかに異なる条件を設定しています。ウィキペディアは、最も重要なライセンスの詳細を含むかなり良いチャートを維持しています。定義上、これらのオープンソースライセンスはいずれも、ソースコードを読み取り、編集、および再配布できる3つの基本的な自由をユーザーに付与します。それらが異なる主な領域は、再配布に課す用語です。

  • パーミッシブライセンスを使用すると、適切と思われるソースコードを再配布できます。たとえば、パーミッシブライセンスの下でリリースされたソースコードを取得し、それを独自のソフトウェアに組み込んでから、そのソフトウェアをプロプライエタリライセンスの下でリリースすることができます。BSDライセンスは、最も有名なパーミッシブライセンスの1つです。
  • コピーレフトライセンスでは、ライセンスコードを組み込んだ再配布コードを同様のライセンスでリリースする必要があります。FSFのGNUPublic License(GPL)のさまざまなバージョンはコピーレフトライセンスであり、その目標は、開発者がプロ​​ジェクトにオープンソースコードを組み込むことで得たメリットを共有することで、それを前払いすることを要求することです。

これらのライセンスの背後にある考え方がソフトウェアの世界を超えて広がっていることに注目するのは興味深いことです。クリエイティブ・コモンズは、書面または視覚的な芸術作品に同様の用語を適用するための法的インフラストラクチャです。

オープンソースの定義とオープンソースイニシアチブ

オープンソースはその性質上、単一のエンティティや組織によって制御されていません。 1998年、ブルースペレンズやエリックS.レイモンドを含む著名な開発者のグループがオープンソースイニシアチブ(OSI)を設立しました。これは、より大規模なソフトウェア業界におけるオープンソースの擁護を専門とする非営利団体です。 OSIは、1999年にオープンソースという用語の商標登録を試みましたが失敗しました。それにもかかわらず、彼らの正式なオープンソースの定義は、コンセンサスにより、自分たちをオープンソースと呼ぶすべてのライセンスが従うフレームワークです。すでに説明したコードを自由に調べ、変更し、再配布することに加えて、オープンソースの定義は、特定のグループや人々を差別するライセンスを禁止し、コードが特定の目的や取り組みの分野で使用されるのを防ぎます。または特定のデバイスまたはデバイスのタイプで実行することから。

オープンソース開発とオープンソースプロジェクト

オープンソースコードを使用した開発は、大学から大企業まで、あらゆる種類の環境で行われ、多くの場合、他の種類のソフトウェア開発と同じパターンに従います。しかし、オープンソースに関連する特定の種類のオープンなコミュニティ開発プロセスがあります。エリック・S・レイモンドは、影響力のあるエッセイ「伽藍とバザール」で、誰でもコードにアクセスできるこのプロセスのビジョンを概説しました。更新は、彼らの興味が決定します。

このタイプのオープンソース開発は、オープンソースプロジェクトを中心に構成されていますこれらは、単一のソフトウェアで機能する場合もあれば、関連するアプリケーションのセット全体で機能する場合もあります。バージョン管理ソフトウェアは、すべての人の貢献を一直線に保ちます。GitHubがおそらく最も人気があります。

オープンソースプロジェクトは、一般的に1人で開始することもあり、一般に自己組織化された小さなインターネットコミュニティであり、誰でもプロジェクトに貢献できますが、ほとんどの場合、比較的少数の開発者が取り組んでいます。プロジェクトは、プロジェクトの最も著名な開発者を給与に含めることさえ行っても、それが生成するソフトウェアの使用を計画している営利会社によって後援される場合があります。

オープンソースの例

オープンソースソフトウェアは実際には遍在しており、現代のインターネットの基盤の多くを生み出しています。おそらく最も有名なオープンソースプロジェクトはLinuxです。これは、何百万ものサーバーに電力を供給するオープンソースのUnixバリアントです。その他の著名で非常に重要なプロジェクトには、Apache Webサーバー、MySQLデータベース、およびWordPressが含まれます。 Ruby onRailsからMicrosoftの.NetCoreまで、多数の開発フレームワークがオープンソースとしてリリースされています。

オープンソースは、一般ユーザー向けの家庭用コンピュータソフトウェアの作成にはあまり成功していません。 MicrosoftWordやAdobePhotoshopなどのプロプライエタリソフトウェアパッケージのコストが高いにもかかわらず、OpenOfficeやGIMPなどのオープンソースの対応物は、主にオープンソースコミュニティが伝統的に機能と柔軟性を簡単さよりも優先してきたため、熱心な愛好家を超えたニッチを見つけることができませんでした使用する。 (プロプライエタリベンダーからのファイル形式のロックインは役に立ちませんでした。)1990年代後半からオープンソースOSがデスクトップを支配するのはわずか1年であると主張しているLinuxでさえ、実際にジャンプすることはできませんでした。消費者スペース。一般に、オープンソースはエンドユーザーソフトウェアよりもはるかに多くのインフラストラクチャに使用されます。しかし、クラウドベースのインフラストラクチャは主にオープンソースが支配的なスタックに基づいているため、ローカルで実行するモノリシックソフトウェアからSaaSアプリへの移行はオープンソースに恩恵をもたらしています。

オープンソースをサポートする営利企業について私たちが言ったことを覚えていますか?多くの場合、これらのプロジェクトはパーミッシブライセンスの下で作成されるため、これらの企業は、コミュニティプロジェクトとして並行して個別のオープンソースコードベースを維持しながら、独自の製品の中核にオープンソースコードを配置できます。たとえば、AndroidモバイルOSのコアにはLinuxがあります。AppleのモバイルOSとデスクトップOSはすべて、元々BSDUnixから派生したオープンソースのオペレーティングシステムであるDarwinに基づいています。GoogleのChromeでさえ、Chromiumと呼ばれるオープンソースブラウザに基づいています。

オープンソースコミュニティとオープンソース運動

オープンソースは単なる開発プロセスではありません。それは人々が情熱を注ぐ哲学であり、プログラミングスキルを持っている人なら誰でも参加できるソーシャルコミュニティです。実際、Linux Foundationが述べているように、これは一連のコミュニティ全体です。 (Linux FoundationやOSIなどの非営利団体の存在は、そのコミュニティの重要な側面です。)Florian Effenbergerは、オープンソースコミュニティが彼の人生をどのように豊かにしたかについて素晴らしいエッセイを書いています。

政治やアドボカシーの意味合いを持つオープンソースやフリーソフトウェア運動について人々が話すのをよく耳にします。オープンソースコミュニティの多くの人々は、さまざまな理由でオープンソースソフトウェアの普及を推進しています。オープンソースは本質的に優れたコードを生成すると考えている、またはソースコードへのアクセスはコンピュータユーザーが享受すべき基本的な権利であると考えています。または2つの組み合わせ。コミュニティのこの側面は、今日では少し目立たないように見えますが、おそらくそれは、多くの点でオープンソースが勝ったためです。 2001年、当時のMicrosoftCEOであるSteveBallmer氏は、オープンソースライセンスのおかげで、Linuxは「知的財産の意味で触れるものすべてに付着する癌」であると述べました。今日、マイクロソフトはオープンソースソフトウェアの広範なユーザーおよびプロデューサーです。これは、一言で言えば、オープンソースの過去20年の歴史です。

オープンソースソフトウェアのダウンロード

オープンソースプロジェクトの閲覧と調整を始めたいですか?opensource.comの[プロジェクトとアプリケーション]ページ、GitHubの[探索]タブ、またはオープンソース開発ネットワークのソフトウェアマップを確認してください。あらゆるスキルレベルの好奇心旺盛な人々のためにたくさんあります。