オープンソースソフトウェアとLinuxの起源

1.オープンソースソフトウェアとは

オープンソースソフトウェアは、そのソースコードがオープンソース契約に基づいて公開され、他の人が任意の形式で使用、学習、変更、および配布できるようにするソフトウェアです。

2.オープンソースソフトウェアの簡単な歴史

1950年代と1960年代-最初のオープンソースソフトウェア

1950年代と1960年代には、ほとんどのソフトウェアは学界と企業の研究者が協力して作成しました。これらのソフトウェアはパブリックドメインソフトウェアの形で共有されていました。つまり、今日ではオープンソースソフトウェアと呼ばれています。これらのソフトウェアの共有は、学術界におけるオープン性と協力の原則を支持しており、商品化されていません。当時、さまざまなハードウェアやオペレーティングシステムの互換性が悪かったため、ソフトウェアのソースコードがマシンコードと一緒にリリースされ、変更と変調が容易になりました。

現在、最も初期のオープンソースソフトウェアは1953年のA-2システムであり、A-0システムに続く2番目のバージョンであると認識されています。では、A-0システムとは何ですか?A-0システム(A-0システム)、フルネームの算術言語バージョン0は、プログラムをマシンコードにコンパイルできる最初の商用電子コンピューターUNIVACIのコンパイラーです。
ここに画像の説明を挿入

1951年から1952年にかけて、最初の女性コンピューター科学者の1人である米国コモドールとグレースホッパーによって開発されました。その後、1953年に初期のアメリカのコンピューターメーカーであるレミントンランドがA-2システムを開発した後、ソースコードが大多数のユーザーにリリースされ、ユーザーはA-2システムの改善を提出することができます。

それ以来、IBMのメインフレームコンピューターのほぼすべてがソースコードとともにリリースされています。一部の大学では、コンピューターにインストールされるすべてのソフトウェアにオープンソースコードが必要であると明示的に規定しています。

60年代の終わりから70年代の初めにかけて-オープンソースソフトウェアの量は減少し始めました

ただし、1960年代後半以降、オペレーティングシステムとコンパイラの進化に伴い、ソフトウェアの製造コストはハードウェアに比べて増加しました。ソフトウェア業界は徐々に発展し、当時ハードウェアメーカーがリリースしたソフトウェアと競争し始めました。バンドルされたオープンソースソフトウェアは、名目上はオープンソースですが、開発コストがマシン全体の価格に追加されるため、徐々に「快適でありがたい」ものになりましたが、一部の消費者は、パーソナライズされたニーズのためにバンドルしたくないと考えています。ソフトウェアの料金を支払います。1969年1月17日、米国政府は、米国とIBMの間の訴訟において、バンドルされたソフトウェアを反競争的行為であると非難しました。当時はまだ無料だったソフトウェアもありましたが、制限付きライセンスの下で商業的に販売されるソフトウェアが増え始めました。

当初、ソフトウェアは著作権で保護されていませんでした。1974年まで、著作権で保護された作品の新しい技術的使用に関する米国委員会は、コンピュータプログラムも個人のオリジナルであり、対応する法的著作権を付与する必要があると決定しました。それ以降、これらのライセンスのないソフトウェアは、ソースコードとともにパブリックドメインソフトウェアとして一般に共有されます。

70年代の終わりから80年代の初めまで

1970年代後半から1980年代初頭にかけて、コンピュータベンダーとソフトウェア会社は定期的にソフトウェアライセンスの請求を開始し、新しいソフトウェア開発を会社の所有物として扱い、著作権、商標、リース契約の形で法的制限を課しました。1976年、ビル・ゲイツは「ホビイストたちへの公開書簡」(ホビイストたちへの公開書簡)という記事も書いています。この記事の中で、ゲイツ氏は、ホビイストたちがライセンス料を支払うことなく、マイクロソフト製品のアルテアの多くを共有していると述べています。 BASIC言語用のコンパイラ)、彼は失望を表明し、開発者の時間と労力に不公平だと考えました。利益を増やすために、企業は通常、ソースコードをリリースせず、実行可能でコンパイルされたマシンコードのみをリリースします。

有名なアメリカのプログラマーでフリーソフトウェア活動家のリチャード・ストールマン(リチャード・ストールマン)は、この現象に不満を表明しました。彼は、これから他の人が書いたソフトウェアを学んだり修正したりすることができなくなるのではないかと心配していました。彼は、ソースコードを保持する大企業の行動は倫理的な誤りであるとさえ考えています。そのため、1983年に、彼は完全に無料の(フリーソフトウェア)オペレーティングシステムを開発することを目的として、マサチューセッツ工科大学で有名なGNUプロジェクトを開始しました。これはフリーソフトウェアの共同コラボレーションプロジェクトです。彼はまた、この計画を開始する当初の意図を説明する「GNUマニフェスト」を発行しました。その理由の1つは、「ソフトウェア業界における協力と相互支援の連帯を再現すること」でした。
ここに画像の説明を挿入

ここで特に強調しておきたいのは、今では多くの人がオープンソースソフトウェアとフリーソフトウェアを同義語と見なしているが、それでも両者には違いがあるということです。ストールマンは記事「オープンソースがフリーソフトウェアの要点を見逃している理由」で説明しています。

「2つの用語はほぼ同じカテゴリのソフトウェアを表しますが、根本的に異なる価値観に基づく見解を表します。オープンソースは開発方法論であり、フリーソフトウェアは社会運動です。」
「これらの2つの用語は、ほぼ同じカテゴリのソフトウェアを表します。しかし、それは2つの異なる価値観を示しています。オープンソースはソフトウェア開発方法論であり、フリーソフトウェアは社会運動です。
ただし、オープンソースとフリーソフトウェアは概念的に矛盾していないため、両方を同義語と見なします。

80〜90年代

ストールマンがGNUプロジェクトを設立した後、GNUデバッガーやEmacsドキュメントエディターなど、GNUの製品の多くが広く使用されてきました。GNUのフリーソフトウェアプロジェクトに加えて、同時に多くの非公式のソフトウェア共有もあります。たとえば、いわゆる愛好家やハッカーは、インターネットが広く使用される前に、コンピュータマガジンやコンピュータブックを通じてコードを共有します。その後、インターネットの普及に伴い、多くのプログラマーが電子掲示板システム(現在人気のあるオンラインフォーラムの前身と略される英語のBBS)でソースコードを共有しました。

1990年代、Linuxカーネルの開発は、カーネルだけを欠いたGNUオペレーティングシステムと完全に調和してました。GNU/ Linuxは、最初の完全に無料のオープンソースオペレーティングシステムになり、今日までプログラマーによって使用されています。現在、多くの人が直接「GNU」を省略してこのオペレーティングシステムをLinuxと呼んでいます。実際、ストールマンはこのタイトルにかなり不満を持っています。彼は、GNUとLinuxの共通の貢献を反映して「GNULinux」と呼ぶべきだと主張しています。

1990年代の初めに、FreeBSDやNetBSDなどのより多くのオープンソースオペレーティングシステムがリリースされました。これらは、GNU / Linuxと同様に、Unixライクなオペレーティングシステムでもあります。FreeBSDとNetBSDは、BSDシステムに基づいています(フルネームはBerkeley Software Distributionであり、カリフォルニア大学バークレー校の学生であるBill Joyによって作成されたBerkeleyソフトウェアパッケージとして翻訳されています)。(それ以来、1995年にOpenBSDはNetBSDに基づいて開発され、2004年にDragonfly BSDはFreeBSDに基づいて開発されました。)

90年代後半から現在まで

1998年、EricRaymondとBrucePerensはオープンソースイニシアチブ(OSI、中国名「Open Source Promotion Association」)を設立し、営利企業(Netscapeなど)にオープンソースコードを提供し始めました。OSIは、無料のオープンソースコードがクローズドソースコードよりも実用的なメリットをもたらすと信じており、ソフトウェアの巨人や他のハイテク企業もオープンソースに目を向けることができることを望んでいます。

今日、パーソナルデバイスやテクノロジーの普及に伴い、ブラウザやオペレーティングシステムからさまざまなプログラミング言語、コンパイラ、エンタープライズ管理ツール、ゲームに至るまで、無数の高品質なオープンソースソフトウェアやプロジェクトが生まれています...

補足

1)GNUとLinuxの関係は何ですか?

Unixシステムが発明された後、誰もがそれを非常にうまく使用しました。しかし、その後、充電と商用のクローズドソースを開始しました。リチャード・ストールマンはこれに非常に腹を立てていたので、Unixのインターフェースと使用法を模倣し、オープンソースバージョンをゼロから作成するためにGNUプロジェクトを開始しました。それから彼は彼自身のエディターEmacsとコンパイラーGCCを作りました。GNUはプロジェクトまたは運動です。この旗の下で、FSFが設立され、GPLが起草されました。その後、GNU計画の下で皆が多くの作業やプロジェクトを行い、基本的に当初の計画を実現しました。コアgccとglibcを含みます。しかし、GNUシステムにはオペレーティングシステムカーネルがありません。元のカーネルはHURDと呼ばれ、まだ完成していません。同時に、BSD(UNIXディストリビューション)が著作権紛争に巻き込まれ、x86プラットフォームの開発が中断されました。次に、Linusという名前のクラスメートが、PC上でUnixを実行するために、Minixに触発されてLinuxを開発しました。Linuxはシステムカーネルすぎず、 gccやbashなどのソフトウェアはシステムの起動後も使用されることに注意してくださいLinusはLinuxのリリース時にGPLを選択したため、GNUの原則に準拠しています。最後に、誰もが突然、このことがGNUプロジェクトから欠落していることに気づきました。したがって、それらは一緒にパッケージ化およびリリースされ、GNU / Linuxと呼ばれます。それからみんなが考えて前の部分を省いてLinuxシステムになりました。実際、カーネルは、DebianやRedHatなどのLinuxディストリビューションの容量のごく一部しか占めていません。

2)GNUとは何ですか?

GNUは無料のオペレーティングシステムであり、そのコンテンツソフトウェアはGPLの下で完全にリリースされています。このオペレーティングシステムはGNUプロジェクトの主な目標です。GNUはUnixのように設計されていますが、著作権で保護されたUnixコードが含まれていないため、この名前はGNUのNot Unix!の再帰的頭字語に由来します。GNUの創設者であるRichardMatthew Stallmanは、GNUを「社会的目標を達成するための技術的方法」と見なしていました。
オペレーティングシステムとして、GNUの開発はまだ完了していません。最大の問題は、完全に機能するカーネルが正常に開発されていないことです。Hurdと呼ばれるGNUカーネルは、Free Software Foundationの開発の焦点ですが、その開発はまだ成熟していません。実際の使用では、LinuxカーネルやFreeBSDなどのほとんどの代替手段がシステムのコアとして使用されます。メインのオペレーティングシステムはLinuxディストリビューションです。Linuxオペレーティングシステムには、Linuxカーネルお​​よびその他のフリーソフトウェアプロジェクトのGNUコンポーネントとソフトウェアが含まれており、GNU / Linuxと呼ぶことができますが、この命名には常に異議が唱えられています。
ここに画像の説明を挿入

GNU / Linuxの命名論争は、Linuxオペレーティングシステムの名前に関してフリーソフトウェアコミュニティで発生している論争です。

Free SoftwareFoundationの創設者であるRichardStallmanとその支持者は、Linuxオペレーティングシステムの正式な名前として使用することを望んで、GNU / Linuxという名前を提案しました。これらの人々は、GNUプロジェクトソフトウェアとLinuxコアを含むLinuxオペレーティングシステムは、GNU / Linuxという名前を使用してその内容をうまく要約していると考えています。さらに、GNUプロジェクトはもともとオペレーティングシステムの開発をリモートプランとして採用していましたが、まだ完了していません。Linuxオペレーティングシステムはこのギャップを埋めることができます。

Linuxコミュニティのメンバーは、Linuxという名前は一般の人々やメディアの間でより一般的であると信じており、Linuxの名前を使用する方がよいと信じていくつかの理由を提唱しています。

おすすめ

転載: blog.csdn.net/m0_46864744/article/details/112915080