
GNUプロジェクト(/ ɡnuː / ⓘ GNOO )[3]は、リチャード・ストールマンによって発表されたフリーソフトウェアの大規模共同。その目的は、誰もが自由にソフトウェアを実行、複製、配布、研究、改変する権利を持つソフトウェアを共同で開発、公開することにより、コンピュータユーザーにコンピュータやコンピューティングデバイスの使用における自由と制御を与えることです。GNUソフトウェアは、ライセンス。
コンピュータのソフトウェア全体がユーザーにあらゆる自由権(使用、共有、研究、改変)を与えるためには、最も基本的で重要な部分であるオペレーティングシステム(その多数のユーティリティプログラムすべてを含む)でさえもフリーソフトウェアである必要がありました。ストールマンは、このオペレーティングシステムをGNU(「GNUはUnixではない! 」を意味する再帰的な頭字語)と呼ぶことにしました。これは、プロプライエタリオペレーティングシステムであるUnixの設計をベースとしているためです。 [4]その宣言によると、プロジェクトの設立目標はフリーオペレーティングシステムを構築すること、そして可能であれば「Unixシステムに通常付属する便利なものすべてを組み込み、フリーでないソフトウェアがなくてもやっていける」ことでした。開発は1984年1月に開始されました。1991年には、 GNUプロジェクトの外でLinus Torvaldsによって開発されたLinuxカーネルが登場し、[5] 1992年12月にGNU一般公衆利用許諾書バージョン2の下で利用可能になりました。[6] GNUプロジェクトによって既に開発されていたオペレーティングシステムユーティリティと組み合わせることで、フリーソフトウェアである最初のオペレーティングシステム(一般にLinuxとして知られる)が誕生しました。[7] [8]
プロジェクトの現在の活動には、ソフトウェア開発、意識啓発、政治運動、新しい資料の共有などが含まれます。
起源
リチャード・ストールマンは1960年代、中規模企業のプリンターでプロプライエタリなファームウェアが動作していたため、特殊な用紙で印刷してホチキス留めすることができないという問題を抱えていました。このことがきっかけで、リチャード・ストールマンは非フリーソフトウェアの廃止にさらに意欲を燃やしました。[9]
リチャード・ストールマンは1983年9月にユーズネットのメッセージでGNUプロジェクトのコーディングを開始する意向を発表しました。[10]ストールマンはそれまでUnixを使ったことがなかったにもかかわらず、移植性が高く「かなりクリーン」であるため、GNUプロジェクトの基盤として最も適切なシステム設計だと感じました。[11]
GNUプロジェクトが始まった当初は、エディタコマンドを書くためのLispを備えたEmacs テキストエディタ、ソースレベルデバッガ、yacc互換のパーサジェネレータ、リンカがありました。[12] GNUシステムでは、独自のCコンパイラとツールがフリーソフトウェアである必要があったため、これらも開発する必要がありました。1987年6月までに、プロジェクトは、アセンブラ、ほぼ完成した移植可能な最適化Cコンパイラ(GCC)、エディタ(GNU Emacs)、さまざまなUnixユーティリティ(、、、など)のフリーソフトウェアを蓄積および開発しました。 [13]リチャード・ストールマンは、 GNUオペレーティングシステム用の最初のカーネルが存在するともGNU宣言で述べています。そのカーネルはすぐにTRIXカーネルであることが明らかになりました。[ 14 ]開発者はTRIXをGNUカーネルのベースとして利用しようとしましたが、 GNU Machを支持してその努力を断念しました。
lsgrepawkmakeld
カーネルとコンパイラが完成すると、GNUはプログラム開発に利用できるようになりました。主な目標は、 Unixシステムに似た多くのアプリケーションを作成することでした。GNUはUnixプログラムを実行できましたが、Unixと完全に同一ではありませんでした。GNUは、より長いファイル名、ファイルバージョン番号、そしてクラッシュプルーフファイルシステムを採用しました。GNU宣言は、プロジェクトへの他者からの支援と参加を得るために書かれました。プログラマーは、興味のあるプロジェクトのあらゆる側面に参加することが奨励されました。人々は資金、コンピュータ部品、あるいは自分の時間を寄付して、プロジェクトのためにコードやプログラムを書くことができました。[4]
GNU プロジェクト(およびフリーソフトウェア全般)のほとんどの側面の起源と発展については、Emacs ヘルプ システムの詳細な説明で共有されています。(Ch g は Emacs エディタ コマンド を実行しますdescribe-gnu-project。)これは、Emacs の Web サイトに掲載されている詳細な歴史と同じです。
GNU宣言
GNU宣言は、リチャード・ストールマンによってGNUプロジェクトへの支持と参加を得るために書かれたものです。GNU宣言の中で、ストールマンはソフトウェア利用者にとって不可欠な4つの自由を挙げています。それは、プログラムをあらゆる目的で実行する自由、プログラムの仕組みを研究し改変する自由、複製を再配布する自由、そして改変版を公共の利用のために改良・変更する自由です。[15] [16]これらの自由を実現するために、利用者はソースコードに完全にアクセスできる必要がありました。コードが自由であり続け、公衆に提供されることを保証するために、ストールマンはGNU一般公衆利用許諾書(GPL)を作成しました。これにより、ソフトウェアとそこから派生した将来の世代のコードは、公共の利用において自由であり続けることが認められました。
哲学と行動主義
GNUプロジェクトの成果物の大部分は技術的な性質のものですが、社会的、倫理的、そして政治的な取り組みとして立ち上げられました。GNUプロジェクトは、ソフトウェアやライセンスの作成に加え、数多くの著作を発表しており、その多くはリチャード・ストールマンが執筆したものです。
フリーソフトウェア
GNUプロジェクトは、ユーザーが自由にコピー、編集、配布できるソフトウェアを使用しています。[17]ユーザーが個々のニーズに合わせてソフトウェアを変更できるという意味で、これは自由です。プログラマーがフリーソフトウェアを入手する方法は、どこから入手するかによって異なります。友人やインターネット経由で提供される場合もあれば、プログラマーが勤務する会社が購入する場合もあります。[18]
資金調達
フリーソフトウェア財団の準会員、購入、寄付からの収益はGNUプロジェクトを支援しています。 [19]
コピーレフト
コピーレフトは、他のプログラマーの間でこのソフトウェアの自由な利用を維持するのに役立ちます。コピーレフトは、配布条件が変更されない限り、すべての人にプログラムまたはプログラムのコードを使用、編集、再配布する法的権利を与えます。その結果、ソフトウェアを合法的に入手したすべてのユーザーは、他のユーザーと同じ自由を持ちます。
GNUプロジェクトとフリーソフトウェア財団は、「強い」コピーレフトと「弱い」コピーレフトを区別することがあります。「弱い」コピーレフトプログラムは、通常、配布者が非フリープログラムとリンクすることを許可しますが、「強い」コピーレフトプログラムは、そのような行為を厳しく禁じます。GNUプロジェクトの成果物の大部分は強いコピーレフトの下でリリースされていますが、一部は弱いコピーレフト、あるいは緩く、押し通しのフリーソフトウェアライセンスの下でリリースされています。[20] [21]
オペレーティングシステム開発

GNUプロジェクトの当初の目標は、完全なフリーソフトウェア・オペレーティングシステムを構築することでした。UNIXは既に広く普及しており、当時のCP/MやMS-DOSマシンと比較して、より高性能なマシンで動作していたため、[22] Unixライクなオペレーティングシステムとなることが決定されました。リチャード・ストールマンは後に、MS-DOSを「おもちゃ」と考えていたと述べています。[23]
1992年までに、GNUプロジェクトは主要なオペレーティングシステムユーティリティをすべて完成させましたが、提案されたオペレーティングシステムカーネルであるGNU Hurdはまだ完成していませんでした。1991年にリーナス・トーバルズが独自に開始し、1992年にバージョン0.12で初めてGPLv2の下でリリースされたLinuxカーネルのリリースにより、完全にフリーソフトウェアで構成されたオペレーティングシステムを実行することが可能になりました。LinuxカーネルはGNUプロジェクトの一部ではありませんが、 GCCやその他のGNUプログラミングツールを使用して開発され、GNU一般公衆利用許諾書の下でフリーソフトウェアとしてリリースされました。[24] Linuxカーネルのコンパイルの大部分は依然としてGNUツールチェーンで行われていますが、現在ではコンパイルにClangコンパイラとLLVMツールチェーンを使用することもできます。[25]
現時点では、GNUプロジェクトは34年以上前にGNU/Hurdプロジェクトが開始されて以来、実稼働環境に適したバージョンのGNU/Hurdをリリースしていません。 [26]
GNU/Linux
GNUの安定版(またはバリアント)は、GNUパッケージとLinuxカーネルを組み合わせることで実行でき、機能的なUnixライクなシステムを構築できます。GNUプロジェクトはこれをGNU/Linuxと呼んでおり、その特徴は以下のとおりです。
- GNUパッケージ[27] [28](GNU Hurdを除く)
GNUパッケージは、多数のオペレーティングシステムツールとユーティリティ(シェル、コアユーティリティ、コンパイラ、ライブラリなど)で構成されています。 [27] [28] POSIXシステムアプリケーションプログラムインターフェース(POSIX.1)で規定されているすべての関数のライブラリ実装が含まれています。 [29] [30] GCCコンパイラは、さまざまなコンピュータアーキテクチャ用のマシンコードを生成できます。[31] - Linuxカーネル– プログラムスケジューリング、マルチタスク、デバイスドライバ、メモリ管理などを実装し、システムを様々なコンピュータアーキテクチャ上で実行できるようにします。[32] Linus Torvaldsは1992年にGNU General Public Licenseの下でLinuxカーネルをリリースしました。 [33]ただし、GNUプロジェクトの一部ではありません。[34] [35] [36] [37]
- 非 GNU プログラム – GNU プロジェクトの一部ではないが、GNU 一般公衆利用許諾書または別のFSF 承認フリーソフトウェアライセンスの下でリリースされるさまざまなフリーソフトウェアパッケージ。
GNUウェブサイトにはプロジェクトのリストが掲載されており、各プロジェクトには、GNUプロジェクトの特定の部分に必要なタスクを実行できる開発者のタイプが具体的に示されています。スキルレベルはプロジェクトごとに異なりますが、プログラミングの知識をお持ちの方であればどなたでもプロジェクトへの支援を歓迎します。
GNUツールをLinuxカーネルやその他のプログラムと共にパッケージ化したものは、通常Linuxディストリビューション(ディストロ)と呼ばれます。GNUプロジェクトは、GNUとLinuxカーネルの組み合わせを「GNU/Linux」と呼び、他のプロジェクトにも同様の呼称を求めています。[38]その結果、 GNU/Linuxの命名をめぐる論争が巻き起こりました。
ほとんどのLinuxディストリビューションは、GNUパッケージと独自のバイナリBLOBを含むLinuxカーネルを組み合わせています。[39]
GNUフリーシステム配布ガイドライン
GNU フリー システム ディストリビューション ガイドライン (GNU FSDG) は、インストール可能なシステム ディストリビューション (Linux ディストリビューションなど) がフリー (libre) として適格となる条件を説明し、ディストリビューション開発者がディストリビューションをフリーとして適格となるように支援するシステム ディストリビューションの取り組みです。
このリストは主に、GNUパッケージとLinux-libreカーネル(バイナリブロブ、難読化コード、プロプライエタリライセンスのコード部分を取り除いた修正Linuxカーネル)を組み合わせたディストリビューションで、フリーソフトウェアのみで構成されている(プロプライエタリソフトウェアを完全に排除している)ディストリビューションについて説明しています。[40] [41] [39] GNU FSDGを採用しているディストリビューションには、 Dragora GNU/Linux-Libre、GNU Guix System、Hyperbola GNU/Linux-libre、Parabola GNU/Linux-libre、Trisquel GNU/Linux、PureOSなどが含まれます。[42]
2022年、DebianはFSF承認ディストリビューションになる寸前でしたが、サーバー上に非フリーパッケージを含む別のリポジトリがあったため、FSF承認には至りませんでした。また、2022年にDebian 12では、非フリーハードウェアで非フリーコードを実行するためのオプションがインストーラーに追加されました。[43]
The Fedora Project's distribution license guidelines were used as a basis for the FSDG.[44] The Fedora Project's own guidelines, however, currently do not follow the FSDG, and thus the GNU Project does not consider Fedora to be a fully free (libre) GNU/Linux distribution.[39]
Strategic projects
From the mid-1990s onward, with many companies investing in free software development, the Free Software Foundation redirected its funds toward the legal and political support of free software development. Software development from that point on focused on maintaining existing projects, and starting new projects only when there was an acute threat to the free software community. One of the most notable projects of the GNU Project is the GNU Compiler Collection, whose components have been adopted as the standard compiler system on many Unix-like systems.
The copyright of most works by the GNU Project is owned by the Free Software Foundation.[45]
GNOME
The GNOME desktop effort was launched by the GNU Project because another desktop system, KDE, was becoming popular, but required users to install Qt, which was then proprietary software. To prevent people from being tempted to install KDE and Qt, the GNU Project simultaneously launched two projects. One was the Harmony toolkit. This was an attempt to make a free software replacement for Qt. Had this project been successful, the perceived problem with the KDE would have been solved. The second project was GNOME, which tackled the same issue from a different angle. It aimed to make a replacement for KDE that had no dependencies on proprietary software. The Harmony project did not make much progress, but GNOME developed very well. Eventually, the proprietary component that KDE depended on (Qt) was released as free software.[46] GNOME has since dissociated itself from the GNU Project and the Free Software Foundation, and is now independently managed by the GNOME Project.[47]
GNU Enterprise
GNU Enterprise (GNUe) was a meta-project started in 1996,[48] and can be regarded as a sub-project of the GNU Project. GNUe's goal is to create free "enterprise-class data-aware applications" (enterprise resource planners, etc.). GNUe is designed to collect Enterprise software for the GNU system in a single location (much like the GNOME project collects Desktop software), it was later decommissioned.[49]
Recognition
2001年、GNUプロジェクトは「自由に利用可能で再配布可能かつ改変可能なソフトウェアの普遍性、広範さ、そして品質により、一世代にわたる研究と商業開発を可能にした」としてUSENIX生涯功労賞を受賞した。[50]
参照
参考文献
- ^ 「A Bold GNU Head」。2014年12月5日時点のオリジナルよりアーカイブ。2014年11月30日閲覧。
このグラフィックを提供してくださったAurelio A. Heckert氏に感謝します。
- ^ 「A GNU Head」。2011年7月28日時点のオリジナルよりアーカイブ。2014年11月30日閲覧。
このグラフィックはエティエンヌ・スヴァサによるものです。
- ^ 「GNUとは何か?」GNUオペレーティングシステム。フリーソフトウェア財団。2009年9月4日。2004年4月2日時点のオリジナルよりアーカイブ。2009年10月9日閲覧。
「GNU」という名称は、「GNUはUnixではない!」の再帰的頭字語であり、
「g-noo」と発音され、
g
と
n
の間に母音のない1音節である
。
- ^ ab "GNU宣言".フリーソフトウェア財団. 2007年7月21日. 2018年7月14日時点のオリジナルよりアーカイブ。2015年10月8日閲覧。
- ^ Torvalds, Linus Benedict (1991年8月). "comp.os.minix". 2013年5月9日時点のオリジナルよりアーカイブ。2009年9月6日閲覧。
- ^ 「Linux バージョン 0.99 の z-archive」。Linuxカーネルアーカイブ。1992年12月。2017年1月30日時点のオリジナルよりアーカイブ。
- ^ Balsa, Andrew D. 「Linuxカーネルメーリングリスト FAQ」 Linuxカーネルアーカイブ. Kernel.org. オリジナルから2012年10月1日にアーカイブ。 2013年6月13日閲覧。
…私たちは「Linux」という単語や「Linuxカーネル」という表現をカーネルを指し、「GNU/Linux」をGNU/GPLのOSソフトウェア全体を指すために使用しようとしてきましたが……多くの人が、Linuxカーネルメーリングリストはカーネル関連の議論のためのフォーラムであり、GNU/Linux全般に関する議論のためのフォーラムではないことを忘れています…
- ^ マーク・シャトルワース(2014年2月14日). 「Losing graciously」. 2014年3月22日時点のオリジナルよりアーカイブ。2014年4月27日閲覧。
現在、私たちはクラウドとモバイルに注力しており、どちらの分野でもGNU/Linuxをリードしていることは明らかです。
- ^ https://www.gnu.org/philosophy/rms-nyu-2001-transcript.txt
- ^ リチャード・ストールマン. 「新しいUnix実装」. 2011年1月22日時点のオリジナルよりアーカイブ。2013年9月27日閲覧。
- ^ Stallman, Richard (2022). “How I do my computing”. 2023年1月31日時点のオリジナルよりアーカイブ。2023年1月31日閲覧。
- ^ Wardrip-Fruin, Noah; Nick Montfort. 「GNU宣言」. The NewMediaReader . マサチューセッツ州ケンブリッジ: MIT, 2003. pp.545–550.
- ^ 「GNUの速報、第1巻第3号」。gnu.org。1987年6月。2015年11月25日時点のオリジナルよりアーカイブ。 2014年4月18日閲覧。
- ^ https://www.gnu.org/gnu/manifesto.en.html#whats-gnu
- ^ リチャード・ストールマン(1985年3月)「GNU宣言 – GNUプロジェクト – フリーソフトウェア財団(FSF)」gnu.org GNUプロジェクト。2018年7月14日時点のオリジナルよりアーカイブ。 2011年10月18日閲覧。
- ^ Weber, S. (2004).『オープンソースの成功』 ケンブリッジ: ハーバード大学出版局.
- ^ https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms
- ^ https://www.gnu.org/philosophy/free-sw.en.html#selling
- ^ GNUプロジェクトとフリーソフトウェア運動への支援 – GNUプロジェクト – フリーソフトウェア財団 2015年12月25日アーカイブ、Wayback Machine . gnu.org. 2013年7月17日閲覧。
- ^ “Ncurses”. wiki.freedesktop.org . 2021年3月22日時点のオリジナルからのアーカイブ。 2019年3月18日閲覧。
これは、GNU一般公衆利用許諾書(GNU General Public License)またはGNU劣等一般公衆利用許諾書(Lesser General Public License)の下で配布されていない数少ないGNUファイルの一つであり、X11ライセンスのようなライセンスの下で配布されています。
- ^ 「なぜ次のライブラリに劣等GPLを使うべきではないのか」GNU . 2007年11月26日時点のオリジナルよりアーカイブ。 2019年3月18日閲覧。
場合によっては、劣等GPLを使う方がよい理由がいくつかあります。
- ^ “GNU's Bulletin Volume 1 No.1”. 1986年2月. 2015年6月23日時点のオリジナルよりアーカイブ。2020年8月16日閲覧。
- ^ “Richard Stallman: Freedom”. Radio New Zealand . 2008年8月9日. 2020年10月31日時点のオリジナルよりアーカイブ。2020年8月16日閲覧。
- ^ Linus Benedict Torvalds (1991年8月26日). "What would you like to see most in minix?". comp.os.minix. 2013年4月30日時点のオリジナルよりアーカイブ。2016年7月28日閲覧。
- ^ カーネル開発コミュニティ。「Clang/LLVMを使用したLinuxのビルド」。Linuxカーネルドキュメント。2022年9月27日時点のオリジナルよりアーカイブ。 2022年10月8日閲覧。
- ^ "GNU Hurd/ hurd/ status". GNUオペレーティングシステム. フリーソフトウェア財団. 2020年11月12日時点のオリジナルよりアーカイブ。 2018年4月15日閲覧。
まだバグや機能不足が残っているため、本番環境での使用には適さない可能性があります。
- ^ ab 「すべてのGNUパッケージ」. gnu.org . 2015年12月25日時点のオリジナルよりアーカイブ。2014年4月18日閲覧。
- ^ ab GNU @ Free Software Directory 2015年12月5日アーカイブ、Wayback Machine (fsf.org)
- ^ “POSIX – The GNU C Library”. 2014年4月24日時点のオリジナルよりアーカイブ。2014年4月18日閲覧。
- ^ GNU C ライブラリ#一時的なフォーク
- ^ GCC アーキテクチャ
- ^ “Linuxカーネルアーカイブ”. 2011年2月21日時点のオリジナルよりアーカイブ。2016年7月25日閲覧。
- ^ “Linux v0.12 リリースノート”. 2013年5月26日時点のオリジナルよりアーカイブ。2012年12月24日閲覧。
- ^ GPLライセンスのプログラムすべてにGNU/命名規則を適用すべきか? 2013年9月7日アーカイブ、ウェイバックマシンGNU/Linux FAQ by Richard Stallman
- ^ なぜ「GNU Linux」ではなく「GNU/Linux」と書くのですか? 2013年9月7日アーカイブWayback Machine GNU/Linux FAQ by Richard Stallman
- ^ Linus Torvalds の著作を GNU と呼ぶのは間違いではないでしょうか? 2013年9月7日アーカイブ、Wayback Machine GNU/Linux FAQ by Richard Stallman
- ^ Linus TorvaldsはLinuxが単なるカーネルであるということに同意しますか? 2013年9月7日アーカイブWayback Machine GNU/Linux FAQ by Richard Stallman
- ^ 「なぜLinuxではなくGNU/Linuxと呼ぶのか?」 2013年9月7日時点のオリジナルよりアーカイブ。 2014年4月18日閲覧。
- ^ abc 「他のシステムを推奨しない理由の説明」GNU . 2011年4月24日時点のオリジナルよりアーカイブ。 2016年7月22日閲覧。
- ^ 「フリーシステムディストリビューションのガイドライン」gnu.org . 2015年12月8日時点のオリジナルよりアーカイブ。2014年4月17日閲覧。
- ^ 「破滅的な妥協を避ける」www.gnu.org . 2018年6月22日時点のオリジナルよりアーカイブ。 2016年7月22日閲覧。
- ^ 「無料GNU/Linuxディストリビューション一覧 – GNUプロジェクト – フリーソフトウェア財団」gnu.org . 2014年12月16日時点のオリジナルよりアーカイブ。 2014年8月18日閲覧。
- ^ https://www.gnu.org/distros/common-distros.html
- ^ 「フリーシステムディストリビューションガイドライン(GNU FSDG)– GNUプロジェクト」gnu.org。出版社。2015年12月8日時点のオリジナルからのアーカイブ。 2014年6月7日閲覧。
これらのポリシーの焦点を絞る上でご協力いただき、また、この文書のベースとしてFedoraプロジェクト独自のディストリビューションライセンスガイドラインを使用することを許可していただいたことに感謝申し上げます。
- ^ Moglen, Eben. 「なぜFSFは貢献者から著作権譲渡を受けるのか」GNUプロジェクト。2023年5月11日時点のオリジナルよりアーカイブ。 2023年5月11日閲覧。
- ^ リチャード・ストールマン (2000年9月5日). 「ストールマン氏、Qt、GPL、KDE、GNOMEについて語る」. Linux Today. 2012年4月19日時点のオリジナルよりアーカイブ。 2005年9月9日閲覧。
- ^ https://x.com/nmcgovern/status/1382360647464316931
- ^ “GNU Enterprise Project History – GNU Enterprise”. 2013年1月16日. 2013年1月16日時点のオリジナルよりアーカイブ。 2019年2月18日閲覧。
- ^ 「GNU エンタープライズ ホームページ」。
- ^ “USENIX Lifetime Achievement Award ("The Flame")”. USENIX. 2007年12月28日時点のオリジナルよりアーカイブ。2007年12月5日閲覧。
外部リンク
- 公式サイト
- GNUフリーソフトウェアディレクトリ
- GNUエンタープライズ