GNUプロジェクト

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
GNUマスコット、Aurelio A. Heckert [1](Etienne Suvasaによるより詳細なバージョンから派生)[2]

GNUプロジェクト/ ɡnuː / オーディオスピーカーアイコンlisten[ 3]、リチャード・ストールマンが1983年9月27日に発表したフリーソフトウェアマスコラボレーションプロジェクトです。その目標は、コンピューターユーザーがコンピューターを自由に使用できるようにすることです。そして、ソフトウェアを共同で開発および公開することにより、デバイスをコンピューティングします。これにより、ソフトウェアを自由に実行し、コピーして配布し、調査し、変更する権利がすべての人に与えられます。GNUソフトウェアは、ライセンスでこれらの権利を付与します。

コンピューターのソフトウェア全体がユーザーにすべての自由権(使用、共有、調査、変更)を付与することを保証するために、最も基本的で重要な部分でさえ、オペレーティングシステム(その多数のユーティリティプログラムすべてを含む)は無料である必要がありましたソフトウェア。そのマニフェストによると、プロジェクトの創設目標は、無料のオペレーティングシステムを構築することであり、可能であれば、「無料でないソフトウェアがなくてもうまくいくように、通常はUnixシステムに付属している便利なものすべて」です。ストールマンは独自のオペレーティングシステムであるUnixの設計に基づいて、このオペレーティングシステムをGNU( 「 GNUはUnixではない! 」を意味する再帰的頭字語)と呼ぶことにしました。[4]開発は1984年1月に開始されました。1991年にLinuxカーネルが登場し、 Linus TorvaldsによってGNUプロジェクトの外部で開発され[5] 、1992年12月にGNU General PublicLicenseのバージョン2で利用可能になりました[6] GNUプロジェクトによってすでに開発されたオペレーティングシステムユーティリティと組み合わせることで、一般にLinuxとして知られているフリーソフトウェアである最初のオペレーティングシステムが可能になりました。[7] [8]

プロジェクトの現在の作業には、ソフトウェア開発、意識向上、政治キャンペーン、および新素材の共有が含まれます。

起源

リチャード・ストールマンは、1983年9月にUsenetメッセージでGNUプロジェクトのコーディングを開始する意向を発表しました。 [9]

GNUプロジェクトが最初に開始されたとき、彼らはエディターコマンドを書くためのLispを備えたEmacsテキストエディター、ソースレベルのデバッガーyacc互換のパーサージェネレーター、そしてリンカーを持っていました。[10] GNUシステムは、独自のCコンパイラとツールが自由ソフトウェアである必要があるため、これらも開発する必要がありました。1987年6月までに、プロジェクトはアセンブラー、ほぼ完成したポータブル最適化Cコンパイラー(GCC)、エディター(GNU Emacs ) 、およびさまざまなUnixユーティリティ(、、、、など)のフリーソフトウェアを蓄積および開発しました[11]lsgrepawk make ld彼らは、より多くの更新を必要とする初期カーネルを持っていました。

カーネルとコンパイラが完成すると、GNUをプログラム開発に使用できるようになりました。主な目標は、Unixシステムのように他の多くのアプリケーションを作成することでした。GNUはUnixプログラムを実行できましたが、それと同一ではありませんでした。GNUには、より長いファイル名、ファイルバージョン番号、およびクラッシュプルーフファイルシステムが組み込まれています。GNUマニフェストは、プロジェクトに対する他の人々からの支持と参加を得るために書かれました。プログラマーは、興味のあるプロジェクトのあらゆる側面に参加することが奨励されました。人々は、プロジェクトのコードやプログラムを作成するために、資金、コンピューターパーツ、または自分の時間を寄付することができます。[4]

GNUプロジェクト(および一般に自由ソフトウェア)のほとんどの側面の起源と開発は、Emacsヘルプシステムの詳細な説明で共有されています。(Ch gはEmacsエディターコマンドを実行しdescribe-gnu-projectます。)これは、彼らのWebサイトと同じ詳細な履歴です。

GNUマニフェスト

GNUマニフェストは、GNUプロジェクトへのサポートと参加を得るためにRichardStallmanによって作成されました。GNU宣言の中で、ストールマンは、ソフトウェアユーザーに不可欠な4つの自由を挙げました。それは、任意の目的でプログラムを実行する自由、プログラムの仕組みを研究して変更する自由、コピーを再配布する自由、および公開用に変更されたバージョンを改善および変更する自由です。使用する。[12] [13]これらの自由を実装するには、ユーザーはコードへのフルアクセスが必要でした。コードを無料で維持し、一般に提供するために、ストールマンはGNU General Public License(GPL)を作成しました。これにより、ソフトウェアとそれから派生した次世代のコードを無料で一般に使用できるようになりました。

哲学と行動主義

GNUプロジェクトの成果のほとんどは本質的に技術的なものですが、社会的、倫理的、政治的イニシアチブとして立ち上げられました。ソフトウェアとライセンスを作成するだけでなく、GNUプロジェクトは多くの著作を公開しており、その大部分はリチャード・ストールマンによって執筆されました。

自由ソフトウェア

GNUプロジェクトは、ユーザーが無料でコピー、編集、配布できるソフトウェアを使用しています。ユーザーが個々のニーズに合わせてソフトウェアを変更できるという意味で、無料です。プログラマーがフリーソフトウェアを入手する方法は、どこで入手するかによって異なります。ソフトウェアは、友人やインターネットを介してプログラマーに提供することも、プログラマーが働いている会社がソフトウェアを購入することもできます。

資金

アソシエイトメンバーからの収入、購入、寄付は、GNUプロジェクトをサポートします。[14]

コピーレフト

コピーレフトは、他のプログラマーの間でこのソフトウェアの自由な使用を維持するのに役立つものです。コピーレフトは、配布条件が変更されない限り、プログラムまたはプログラムのコードを使用、編集、および再配布する法的権利をすべての人に与えます。その結果、ソフトウェアを合法的に入手したユーザーは、他のユーザーと同じ自由を得ることができます。

GNUプロジェクトとフリーソフトウェアファウンデーションは、「強い」コピーレフトと「弱い」コピーレフトを区別することがあります。「弱い」コピーレフトプログラムは通常、ディストリビューターがそれらを非フリープログラムとリンクすることを可能にしますが、「強い」コピーレフトはこの慣行を厳しく禁じます。GNUプロジェクトの出力のほとんどは、強力なコピーレフトの下でリリースされますが、一部は弱いコピーレフトまたは緩いプッシュオーバーの自由ソフトウェアライセンスの下でリリースされます。[15] [16]

オペレーティングシステムの開発

GNUHurdライブCD

GNUプロジェクトの最初の目標は、完全なフリーソフトウェアオペレーティングシステムを作成することでした。UNIXはすでに普及しており、現在のCP / MまたはMS-DOSマシンと比較して、より強力なマシンで実行されていたため[17]、Unixライクなオペレーティングシステムであることが決定されました。リチャード・ストールマンは後に、MS-DOSを「おもちゃ」と見なしたとコメントしました。[18]

1992年までに、GNUプロジェクトはすべての主要なオペレーティングシステムユーティリティを完了しましたが、提案されたオペレーティングシステムカーネルであるGNUHurdは完了していませんでした。Linuxカーネルのリリースにより、 1991年にLinus Torvaldsによって独立して開始され、1992年にバージョン0.12のGPLでリリースされ、完全にフリーソフトウェアで構成されるオペレーティングシステムを初めて実行できるようになりました。LinuxカーネルはGNUプロジェクトの一部ではありませんが、GCCおよびその他のGNUプログラミングツールを使用して開発され、GNU General PublicLicenseの下で自由ソフトウェアとしてリリースされました。[19] 現在のところ、GNUプロジェクトは次のバージョンをリリースしていません。31年以上前にGNU / Hurdプロジェクトが開始されて以来、実稼働環境に適したGNU / Hurd。[20]

GNU / Linux

GNUの安定バージョン(またはバリアント)は、GNUパッケージをLinuxカーネルと組み合わせて、機能的なUnixライクなシステムを作成することで実行できます。GNUプロジェクトはこれをGNU / Linuxと呼び、定義する機能は次の組み合わせです。

  • GNUパッケージ[21] [22](GNU Hurdを除く)
    GNUパッケージは、多数のオペレーティングシステムツールとユーティリティ(シェルcoreutils、コンパイラ、ライブラリなど)[21] [22]で構成され、すべてのライブラリ実装が含まれます。POSIXシステムアプリケーションプログラムインターフェイス(POSIX.1)で指定されている機能。[23] [24] GCCコンパイラーは、多種多様なコンピューターアーキテクチャー用のマシンコードを生成できます。[25]
  • Linuxカーネル–これは、プログラムスケジューリング、マルチタスク、デバイスドライバー、メモリ管理などを実装し、システムをさまざまなコンピューターアーキテクチャで実行できるようにします。[26] Linus Torvaldsは、1992年にGNU General PublicLicenseの下でLinuxカーネルをリリースしました。[27]しかし、それはGNUプロジェクトの一部ではありません。[28] [29] [30] [31]
  • 非GNUプログラム– GNUプロジェクトの一部ではないが、GNU General PublicLicenseまたは別のFSF承認のFreeSoftwareLicenseの下でリリースされているさまざまなフリーソフトウェアパッケージ。

GNU Webサイト内には、プロジェクトのリストが配置されており、各プロジェクトには、GNUプロジェクトの特定の部分に必要なタスクを実行できる開発者のタイプに関する詳細があります。スキルレベルはプロジェクトごとに異なりますが、プログラミングのバックグラウンド知識を持っている人は誰でもプロジェクトをサポートすることをお勧めします。

GNUツールのパッケージ化は、Linuxカーネルやその他のプログラムとともに、通常はLinuxディストリビューション(ディストリビューション)と呼ばれます。GNUプロジェクトは、GNUとLinuxカーネルの組み合わせを「GNU / Linux」と呼び、他の人にも同じことをするように求めます[32]。その結果、GNU / Linuxの命名論争が起こります。

ほとんどのLinuxディストリビューションは、GNUパッケージを、プロプライエタリバイナリブロブと多数のプロプライエタリプログラムを含むLinuxカーネルと組み合わせています。[要出典]

GNU Free System DistributionGuidelines

GNU Free System DistributionGuidelines(GNU FSDG)は、インストール可能なシステムディストリビューション(GNU / Linuxディストリビューションなど)が無料(libre)として認定され、ディストリビューション開発者がディストリビューションを作成するのを支援することの意味を説明するために使用されるシステムディストリビューションコミットメントです。資格を得る。

ほとんどの場合、これには、GNUパッケージとLinux-libreカーネル(プロプライエタリライセンスの下でバイナリブロブ、難読化されたコード、およびコードの一部を削除する修正されたLinuxカーネル)の組み合わせであり、フリーソフトウェアのみで構成されるディストリビューションが含まれます(プロプライエタリソフトウェアを完全に回避します) 。[33] [34] [35] GNU FSDGを採用しているディストリビューションには、Dragora GNU / Linux-LibregNewSenseGNU Guix SystemHyperbola GNU / Linux-libreParabola GNU / Linux-libreTrisquel GNU / LinuxUtutoが含まれます。 、および他のいくつか。[36]

Fedora Projectの配布ライセンスガイドラインは、FSDGの基礎として使用されました。[37]

戦略的プロジェクト

1990年代半ば以降、多くの企業が自由ソフトウェア開発に投資するようになり、フリーソフトウェアファウンデーションはその資金を自由ソフトウェア開発の法的および政治的支援に振り向けました。その時点からのソフトウェア開発は、既存のプロジェクトを維持し、自由ソフトウェアコミュニティに深刻な脅威があった場合にのみ新しいプロジェクトを開始することに重点を置いていましたGNUプロジェクトの最も注目すべきプロジェクトの1つはGNUコンパイラコレクションであり、そのコンポーネントは多くのUnixライクなシステムの標準コンパイラシステムとして採用されています。

GNUプロジェクトのほとんどの作品の著作権は、フリーソフトウェアファウンデーションが所有しています。[要出典]

GNOME

GNOMEデスクトップの取り組みは、別のデスクトップシステムであるKDEが普及しつつあったが、ユーザーがQtをインストールする必要があったため、GNUプロジェクトによって開始されました。Qtは当時プロプライエタリソフトウェアでした。人々がKDEとQtをインストールしたくなるのを防ぐために、GNUプロジェクトは2つのプロジェクトを同時に立ち上げました。1つはHarmonyツールキットでしたこれは、Qtの無料ソフトウェア代替品を作成する試みでした。このプロジェクトが成功していれば、KDEで認識されていた問題は解決されていたでしょう。2番目のプロジェクトはGNOMEで、同じ問題に別の角度から取り組みました。これは、プロプライエタリソフトウェアに依存しないKDEの代わりになることを目的としていました。Harmonyプロジェクトはあまり進歩しませんでしたが、GNOMEは非常にうまく開発されました。最終的に、KDEが依存していたプロプライエタリコンポーネント(Qt)がフリーソフトウェアとしてリリースされました。[38]

GNU Enterprise

GNU EnterpriseGNUe)は1996年に開始されたメタプロジェクトであり[39]、GNUプロジェクトのサブプロジェクトと見なすことができます。GNUeの目標は、無料の「エンタープライズクラスのデータベース対応アプリケーション」(エンタープライズリソースプランナーなど)を作成することです。GNUeは、GNUシステムのエンタープライズソフトウェアを単一の場所に収集するように設計されています(GNOMEプロジェクトがデスクトップソフトウェアを収集するのと同じように)。

認識

2001年、GNUプロジェクトは、「研究と商業開発の世代を可能にした、自由に利用できる再配布および変更可能なソフトウェアの遍在性、幅、および品質」に対してUSENIX生涯功労賞を受賞しました。[40]

も参照してください

参考文献

  1. ^ 「大胆なGNUヘッド」2014年11月30日取得このグラフィックを私たちに寄付してくれたAurelioA.Heckertに感謝します。
  2. ^ 「GNUヘッド」2014年11月30日取得このグラフィックはEtienneSuvasaによって描かれました
  3. ^ 「GNUとは何ですか?」GNUオペレーティングシステムフリーソフトウェアファウンデーション2009年9月4日2009年10月9日取得「GNU」という名前は、「GNU's NotUnix!」の再帰的頭字語です。gnの間に母音がない1つの音節として、g-nooと発音されます。
  4. ^ ab GNUマニフェスト」フリーソフトウェアファウンデーション2007年7月21日2015年10月8日取得
  5. ^ Torvalds、Linus Benedict(1991年8月)。"comp.os.minix" 2009年9月6日取得
  6. ^ 「Linuxバージョン0.99のzアーカイブ」kernel.org1992年12月。2017-01-30のオリジナルからアーカイブ。
  7. ^ アンドリューD.バルサ; 共著者「linux-kernelメーリングリストのFAQ」LinuxカーネルアーカイブKernel.org。2012-10-01にオリジナルからアーカイブされました2013年6月13日取得...「Linux」という単語または「Linuxkernel」という表現を使用してカーネルを指定し、GNU / Linuxを使用してGNU / GPL化されたOSソフトウェアの本体全体を指定しようとしました......多くのLinuxカーネルのメーリングリストは、GNU / Linux全般ではなく、カーネル関連の問題を議論するためのフォーラムであることを人々は忘れています... {{cite web}}|author2=総称名(ヘルプ ; ヘルプの外部リンク|author2=
  8. ^ マークシャトルワース(2014年2月14日)。「優雅に失う」2014年3月22日にオリジナルからアーカイブされました2014年4月27日取得今日、私たちの焦点はクラウドとモバイルにあり、私たちは両方の面でGNU / Linuxを非常に明確にリードしています
  9. ^ リチャード・ストールマン。「新しいUnixの実装」
  10. ^ Wardrip-Fruin、Noah; とニック・モントフォート。「GNUマニフェスト。」NewMediaReaderマサチューセッツ州ケンブリッジ:MIT、2003年。pp.545–550。
  11. ^ 「GNUの会報、vol。1no。3」gnu.org1987年6月。
  12. ^ ストールマン、リチャード(1985年3月)。「GNUマニフェスト– GNUプロジェクト–フリーソフトウェアファウンデーション(FSF)」gnu.orgGNUプロジェクト2011年10月18日取得
  13. ^ Weber、S。(2004)。オープンソースの成功ケンブリッジ:ハーバード大学出版局。
  14. ^ GNUプロジェクトと自由ソフトウェア運動の支援– GNUプロジェクト–フリーソフトウェアファウンデーションgnu.org。2013年7月17日に取得。
  15. ^ 「Ncurses」wiki.freedesktop.org 2019-03-18を取得しました。これは、GNU General PublicLicenseまたはGNULesser General PublicLicenseの下で配布されていない数少ないGNUファイルの1つです。X11ライセンスのようなライセンスの下で配布されます
  16. ^ 「次のライブラリにLesserGPLを使用すべきでない理由」GNU場合によっては、LesserGPLを使用する方がよい理由があります。
  17. ^ 「GNU'SBULLETINVolume 1No.1」1986年2月。
  18. ^ 「リチャードストールマン:自由」ラジオニュージーランド2008年8月9日。
  19. ^ Linus Benedict Torvalds(1991年8月26日)。「minixで一番見たいものは?」comp.os.minix。
  20. ^ 「GNUHurd / hurd /ステータス」GNUオペレーティングシステムフリーソフトウェアファウンデーション2018年4月15日取得まだいくつかのバグや不足している機能があるため、本番環境で使用する準備ができていない可能性があります。
  21. ^ a b "すべてのGNUパッケージ"gnu.org
  22. ^ a b GNU @ Free Software Directory(fsf.org)
  23. ^ POSIX – GNUCライブラリ
  24. ^ GNU Cライブラリ#一時的なフォーク
  25. ^ GCCアーキテクチャ
  26. ^ Linuxカーネルアーカイブ
  27. ^ Linuxv0.12のリリースノート
  28. ^ GNU / name規則は、GPLされるすべてのプログラムに適用する必要がありますか?RichardStallmanによるGNU / Linux FAQ
  29. ^ なぜ「GNULinux」の代わりに「GNU / Linux」と書くのですか?RichardStallmanによるGNU / Linux FAQ
  30. ^ Linus Torvaldsの作品にGNUというラベルを付けるのは間違っていませんか?RichardStallmanによるGNU / Linux FAQ
  31. ^ Linus Torvaldsは、Linuxが単なるカーネルであることに同意しますか?RichardStallmanによるGNU / Linux FAQ
  32. ^ なぜLinuxではなくGNU / Linuxと呼ぶのですか?
  33. ^ 「無料のシステム配布のためのガイドライン」gnu.org
  34. ^ 「破滅的な妥協の回避」gnu.org
  35. ^ 「他のシステムを推奨しない理由の説明」gnu.org
  36. ^ 「無料のGNU / Linuxディストリビューションのリスト– GNUプロジェクト–フリーソフトウェアファウンデーション」gnu.org 2014年8月18日取得
  37. ^ 「無料システム配布ガイドライン(GNU FSDG)–GNUプロジェクト」gnu.org出版社2014年6月7日取得これらのポリシーに焦点を合わせ、このドキュメントの基礎として独自の配布ライセンスガイドラインを使用できるようにしてくれたFedoraProjectに感謝します。
  38. ^ リチャード・ストールマン(2000年9月5日)。「Qt、GPL、KDE、およびGNOMEのストールマン」LinuxToday 2005年9月9日取得
  39. ^ 「GNUエンタープライズプロジェクトの歴史–GNUエンタープライズ」2013-01-16。2013年1月16日にオリジナルからアーカイブされまし2019-02-18を取得しました。
  40. ^ 「USENIX生涯功労賞(「炎」)」USENIX 2007年12月5日取得

外部リンク