「GNU」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
en:GNU (21:43, 13 January 2016‎ ‎ UTC) から翻訳して追加
タグ: サイズの大幅な増減
1行目: 1行目:
{{Otheruses|GNUプロジェクト|その他の用法|GNU (曖昧さ回避)}}
{{Otheruses|オペレーティングシステム|動物|ヌー|フリーソフトウェアプロジェクト|GNUプロジェクト|その他の用法|GNU (曖昧さ回避)}}
{{Infobox OS
{{Infobox OS
| name = GNU
| logo = [[File:Heckert GNU white.svg|128px]]
| logo = [[ファイル:Heckert GNU white.svg|128px|ロゴ]]
| screenshot = HURD Live CD.png
| family = [[Unix系]]
| caption = [[Debian GNU/Hurd]]コンソールスタートアップとログイン
| source_model = [[フリーソフトウェア]]
| family = [[Unix系]]
| language = 多言語対応
| developer = コミュニティ
| source model = [[フリーソフトウェア]]
| kernel_type = [[マイクロカーネル]](Linuxを利用する場合は[[モノリシックカーネル|モノリシック]])
| marketing target = パーソナルコンピュータ、モバイルデバイス、組み込むデバイス、サーバ、メインフレーム、スーパーコンピュータ
| ui = [[GNOME]]
| language = <!--Exactly which?-->
| license = [[GNU General Public License]] および他の[[フリーソフトウェア]]ライセンス
| kernel_type = [[マイクロカーネル]] ([[GNU Hurd]]) または [[モノリシックカーネル]]([[Linuxカーネル|Linux]]のフォークであるGNU [[Linux-libre]])
| working_state = 進行中
| license = [[GNU General Public License|GNU GPL]], [[GNU Lesser General Public License|GNU LGPL]], [[GNU Affero General Public License|GNU AGPL]], [[GNU Free Documentation License|GNU FDL]], [[GNU Project#GNU Free System Distribution Guidelines|GNU FSDG]]<ref>{{cite web | url = https://www.gnu.org/licenses/ |title = GNU Licenses|accessdate=2016-01-14}}</ref><ref>{{cite web | url = https://www.gnu.org/distros/free-system-distribution-guidelines.html |title = GNU FSDG|accessdate=2016-01-14}}</ref>
| supported_platforms = [[x86]]
| programmed in = 多数の言語(主に[[C言語|C]]と[[アセンブリ言語]])
| website = {{URL|http://www.gnu.org/}}
| working_state = 開発中
| supported_platforms = Hurdカーネルのみサポートされるものは[[IA-32]]、Linux-libreカーネルのみサポートされるものは[[DEC Alpha|Alpha]]、[[シノプシス|ARC]]、[[ARMアーキテクチャ|ARM]]、{{仮リンク|AVR32|en|AVR32}}、[[Blackfin]]、{{仮リンク|C6x|en|Texas Instruments TMS320}}、{{仮リンク|ETRAX CRIS|en|ETRAX CRIS}}、[[FR-V]]、[[H8|H8/300]]、{{仮リンク|Hexagon|en|Qualcomm Hexagon}}、[[Itanium]]、[[M32R]]、[[MC68000|m68k]]、{{仮リンク|META|en|Imagination META}}、[[MicroBlaze]]、[[MIPSアーキテクチャ|MIPS]]、{{仮リンク|MN103|en|MN103}}、[[OpenRISC]]、[[PA-RISC]]、[[PowerPC]]、[[ESA/390|s390]]、{{仮リンク|S+core|en|S+core}}、[[SuperH]]、[[SPARC]]、{{仮リンク|TILE64|en|TILE64}}、{{仮リンク|Unicore32|en|Unicore}}、[[x86]]、{{仮リンク|Xtensa|en|Tensilica}} <!-- Do not include 64 bit extensions of 32 bit ISAs, e.g. sparc64, ppc64, x86-64 &c. -->
}}
}}
'''GNU''' {{IPAc-en|audio =En-gnu.ogg|ɡ|n|uː}}<ref>{{cite web | url = https://www.gnu.org/ |title = What is GNU? |work = The GNU Operating System | date = September 4, 2009 | publisher = [[Free Software Foundation]] |accessdate=October 9, 2009 | quote =The name ‘GNU’ is a recursive acronym for ‘GNU's Not Unix‘; it is pronounced ''g-noo'', as one syllable with no vowel sound between the ''g'' and the ''n''.}}</ref><!-- /gnu:/ is not a possible English pronunciation--><ref name= "rms-zagreb-talk" />とは[[オペレーティングシステム]]<ref>
'''GNU'''(/gnuː/ '''グヌー'''、/gnjuː/ '''グニュー''')は、[[UNIX]]互換のソフトウェア環境を全て[[フリーソフトウェア]]で実装することを目標とする[[プロジェクト]]、およびそのソフトウェア全体を指す。GNUプロジェクトは[[フリーソフトウェア財団]]<ref>ウェブでは「フリーソフトウェア'''ファウンデーション'''」の表記が見える。{{Cite web |url=http://www.gnu.org/gnu/gnu.html |title=GNUオペレーティング・システム - GNUプロジェクト - フリーソフトウェアファウンデーション |accessdate=2013-10-03}}</ref>によって法的、経済的にサポートされている。
{{cite journal|author1=Yi Peng|author2=Fu Li|author3=Ali Mili|title=Modeling the evolution of operating systems: An empirical study|journal=Journal of Systems and Software|date=January 2007|volume=80|issue=1|pages=1-15|doi=10.1016/j.jss.2006.03.049|url=https://web.njit.edu/~mili/pdf/oss.pdf|accessdate=11 January 2016|archiveurl=https://web.archive.org/web/20160111035552/https://web.njit.edu/~mili/pdf/oss.pdf|archivedate=9 May 2009|publisher=Elsevier|format=PDF|quote=''...we have selected a set of fifteen operating systems: Unix, Solaris/Sun OS, BSD, Windows, MS-DOS, MAC OS, Linux, Net Ware, HP UX, GNU Hurd, IBM Aix, Compaq/ DEC VMS, OS/2.''}}
</ref><ref>
{{cite journal|author1=M. R. M. Torres|author2=Federico Barrero|author3=M. Perales|author4=S. L. Toral|title=Analysis of the Core Team Role in Open Source Communities|journal=Complex, Intelligent and Software Intensive Systems (CISIS), 2011 International Conference on|date=June 2011|pages=109-114|doi=10.1109/CISIS.2011.25|url=https://www.researchgate.net/profile/Federico_Barrero/publication/221328676_Analysis_of_the_core_team_role_in_open_source_communities/links/5464a5fb0cf2cb7e9dab30fe.pdf|accessdate=11 January 2016|publisher=IEEE Computer Society|format=PDF|quote=''Debian port to Hurd...: The GNU Hurd is a totally new operating system being put together by the GNU group.''}}
</ref><ref>
{{cite journal|author1=Neal H. Walfield|author2=Marcus Brinkmann|title=A critique of the GNU hurd multi-server operating system|journal=ACM SIGOPS Operating Systems Review|date=4 July 2007|volume=41|issue=4|pages=30-39|doi=10.1145/1278901.1278907|url=http://walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf|accessdate=11 January 2016|archiveurl=https://web.archive.org/web/20151105213752/http://www.walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf|archivedate=5 November 2015|publisher=[[Association for Computing Machinery]]|location=New York, NY, USA|format=PDF}}</ref>
であり、かつコンピュータソフトウェアの広範囲に渡るコレクションである。GNUは完全に[[フリーソフトウェア]]から構成されている<ref name = "handbookonopensource" /><ref>{{cite web | url =https://www.gnu.org/gnu/manifesto.html | title = GNU Manifesto |publisher = FSF | work = GNU project |accessdate= 2011-07-27}}</ref><ref>{{cite book | url= https://books.google.com/books?id=F6qgFtLwpJgC | title = The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary | pages = 10–12 | isbn= 978-0-59600108-7 | last = Raymond | first =Eric | date = 2001-02-01}}</ref>。


''GNU''は''"GNU's Not Unix!"''(「GNUはUNIXではない」)の[[再帰的頭字語]]である。この名称が選ばれたのは、GNUは[[Unix系]]の設計ではあるが[[UNIX]]とは違いフリーソフトウェアでありUNIXに由来する[[ソースコード]]を全く使っていないことを示すためである<ref name = handbookonopensource>{{cite book |first1 = Kirk |last1=St. Amant |first2=Brian |last2 = Still |title=Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives |isbn= 1-59140999-3}}</ref><ref>{{cite web | publisher = FSF | work = GNU project | url = https://www.gnu.org/ | title = The GNU Operating system | accessdate = 2008-08-18}}</ref><ref>{{cite web|last=Marshall |first = Rosalie | place = [[Australia|AU]] | url = http://www.pcauthority.com.au/News/128513,qa-richard-stallman-founder-of-the-gnu-project-and-the-free-software-foundation.aspx |title = Q&A: Richard Stallman, founder of the GNU Project and the Free Software Foundation | publisher = PC & Tech Authority |date = 2008-11-17 |accessdate = 2012-09-22}}</ref>。GNUの正式な発音は「グヌー」または「グニュー」である<ref>{{cite web|url= http://www.gnu.org/ |title=The GNU Operating System - What is GNU? |date=September 4, 2009 |publisher=[[フリーソフトウェア財団|Free Software Foundation]] |accessdate=2009-10-09 |quote=The name "GNU" is a recursive acronym for "GNU's Not Unix!"; it is pronounced ''g-noo'', as one syllable with no vowel sound between the ''g'' and the ''n''.}}</ref>。一般的な英語では、gnuは「ヌー」と発音し、ウシカモシカまたは'''[[ヌー]]'''と呼ばれる動物をさす言葉である。GNUプロジェクトは自らの名称を「it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.」と呼ぶよう要請している。
== 概要 ==
'''GNUプロジェクト'''は、[[1983年]][[9月27日]][[リチャード・ストールマン]]が[[マサチューセッツ工科大学]] (MIT) で発表した[[フリーソフトウェア]]の[[マス・コラボレーション]]・プロジェクトである。GNU[[オペレーティングシステム]]の開発を1984年1月から開始した。当初の発表によれば、プロジェクトの目標は「フリーでないソフトウェアを全く使わないでも済むように、十分なフリーソフトウェアを開発すること」であった<ref>{{cite web |url= http://www.gnu.org/gnu/manifesto.html |title=The GNU Manifesto |date=2007-07-21 |publisher=[[フリーソフトウェア財団|Free Software Foundation]] |accessdate=2007-11-10}}</ref>。


GNUプロジェクトには、元々[[フリーソフトウェア財団]]が焦点を当てていたオペレーティングシステムの[[カーネル]]である[[GNU Hurd]]が含まれている<ref name = "handbookonopensource" /><ref name = computerworld>Vaughan-Nichols, Steven J. "[http://www.computerworld.com/s/article/9131178/Opinion_The_top_10_operating_system_stinkers Opinion: The top 10 operating system stinkers]", ''[[Computerworld]]'', April 9, 2009: "…after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. […] Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."</ref><ref name= Hillesley>{{Citation | last = Hillesley | first = Richard | newspaper = The H | url = http://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html | edition = online | title = GNU HURD: Altered visions and lost promise | date = June 30, 2010 | page = [http://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html?page=3 3] | quote = Nearly twenty years later the HURD has still to reach maturity, and has never achieved production quality. […] Some of us are still wishing and hoping for the real deal, a GNU operating system with a GNU kernel.}}</ref><ref>Lessig, Lawrence. ''The Future of Ideas: The Fate of the Commons in a Connected World'', p. 54. Random House, 2001. ISBN 978-0-375-50578-2. About Stallman: "He had mixed all of the ingredients needed for an operating system to function, but he was missing the core."</ref>。しかしながらGNU Hurd以外のカーネルもGNUソフトウェアと共に利用できる。そのようなカーネルとして最も有名なものは[[Linuxカーネル]]である。GNUのカーネルにLinuxカーネルを用いるのが一般的な理由は、GNUのカーネルがGNUの中で最も成熟していない部分のためである<ref>{{Citation | url = http://oreilly.com/openbook/debian/book/ch01_02.html |title= Debian open book | chapter = 1.2 What is Linux? |publisher = O’Reilly |date=1991-10-05 |accessdate = 2012-09-22}}</ref><ref>{{Citation | edition = 12.4 | contribution-url = https://help.ubuntu.com/lts/installation-guide/armhf/ch01s03.html | contribution =What is GNU/Linux? |publisher= Canonical | series = Ubuntu | title = Ubuntu Installation Guide | accessdate = 2015-06-22}}</ref>。GNUソフトウェアとLinuxカーネルを組み合わせたものが一般的に知られる[[Linux]]である(あまり一般的ではないが[[GNU/Linuxシステム|GNU/Linux]]と呼ばれることがある。この呼称については[[GNU/Linux名称論争]]を参照すること)。
この目標を達成するため、GNUプロジェクトはGNUと呼ばれるオペレーティングシステム (OS) を開発しようとした。システムの基本コンポーネントとしては、[[GNUコンパイラコレクション]] (GCC)、[[Binutils|GNU Binary Utilities]] (binutils)、[[bash]]、[[GNU Cライブラリ]] (glibc)、[[Coreutils|GNU Core Utilities]] (coreutils) などがある。


GNUには人間が容易にコンピュータへインストールして利用可能な完全なオペレーティングシステムとするためのコンポーネントである、完全な機能を持ったカーネルが未だに欠けたままである。実際には、使用可能なGNUベースオペレーティングシステムのほとんどが[[Linuxディストリビューション]]である。LinuxディストリビューションにはLinuxカーネル、GNUコンポーネント、およびGNUプロジェクト以外のフリーソフトウェアプロジェクトによるソフトウェアが多く含まれている。
GNUは今も活発に開発されている。コンポーネントのほとんどはずっと以前に完成し、10年以上実際に使われているが、その公式[[カーネル]]である[[GNU Hurd]]は不完全で、全てのGNUコンポーネントがその上で動作できるには至っていない{{要出典|date=2009年10月}}。そのため、サードパーティである[[Linuxカーネル]]が代替としてよく使われている。LinuxカーネルはGNUプロジェクトに正式に採用されてはいないが、[[X Window System]]の[[X.Org Foundation]]によるリリースや[[組版]]システム[[TeX]]などのサードパーティ製ソフトウェアはGNUに正式に組み込まれている。GNUのアプリケーションやユーティリティは、[[BSDの子孫|BSD系]]、[[Solaris]]、[[OS X|Mac OS X]] といった他のオペレーティングシステムでも広く使われている。


プロジェクトの創設者である[[リチャード・ストールマン]]は、GNUを「社会的目的のための技術的手段」として考えている<ref>{{Citation | contribution = KTH | publisher = FSF | title = Philosophy | series = GNU | contribution-url = https://www.gnu.org/philosophy/stallman-kth.html | first = Richard | last = Stallman | type = speech | place = Stockholm, Sweden | year = 1986}}.</ref>。
GNUプロジェクトは現在、ソフトウェア開発、意識改革、政治的キャンペーンなどを行っている。

GNUプロジェクトでは、[[GNU General Public License]] (GPL)、[[GNU Lesser General Public License]] (LGPL)、[[GNU Free Documentation License]] (GFDL) といったライセンスも作成し、GNUとは組織的には直接関係のない多数のプロジェクトで利用している。

== 名称とロゴ ==
[[ファイル:Heckert GNU white.svg|thumb|right|主にGNUの[[ロゴタイプ|ロゴ]]として用いられる「上品(Handsome)な」ヌー]]
[[ファイル:Philosophical-gnu-sm.png|thumb|right|主にGNUの思想を論じる際に用いられる「冷静(Philosophical)な」ヌー]]
GNUという単語は「GNUは[[UNIX]]ではない ('''G'''NU's '''N'''ot '''U'''NIX)」というフレーズから頭文字を取った略称で、[[再帰的頭字語|再帰的命名]]という一種の言葉遊びになっている。正式な発音は「グヌー」または「グニュー」である<ref>{{cite web|url= http://www.gnu.org/ |title=The GNU Operating System - What is GNU? |date=September 4, 2009 |publisher=[[フリーソフトウェア財団|Free Software Foundation]] |accessdate=2009-10-09 |quote=The name "GNU" is a recursive acronym for "GNU's Not Unix!"; it is pronounced ''g-noo'', as one syllable with no vowel sound between the ''g'' and the ''n''.
}}</ref>。一般的な英語では、gnuは「ヌー」と発音し、ウシカモシカまたは'''[[ヌー]]'''と呼ばれる動物をさす言葉である。GNUプロジェクトは自らの名称を「it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.」と呼ぶよう要請している。

この名称が選ばれたのは、GNUが[[Unix系]]の設計であると同時に、フリーソフトウェアとして[[UNIX]]に由来するソースコードを全く使っていないことを示すためである。<ref>{{ cite web | url = http://www.gnu.org/ | title = The GNU Operating system | accessdate = 2008-08-18 }}</ref>

GNUでは[[Linuxカーネル]]を実装したOSのことを「[[GNU/Linuxシステム|GNU/Linux]]」と呼んでいて、LinuxはGNUの思想を体現した最も有名な[[ソフトウェア]]と言える。

GNUのロゴは[[ヌー]]の頭である。よく見られるものは、Etienne Suvasaが描いた絵が元になっている。GNUソフトウェアやGNUプロジェクト関連の文書によく見られ、フリーソフトウェア財団の文書にも使われている<ref>[http://www.gnu.org/graphics/agnuhead.html A GNU Head - Free Software Foundation (FSF)]</ref>


== 歴史 ==
== 歴史 ==
[[File:Richard Stallman - Fête de l'Humanité 2014 - 010.jpg|thumb|GNUプロジェクトの創設者である[[リチャード・ストールマン]]]]
GNUオペレーティングシステムの計画は、1983年9月27日、[[リチャード・ストールマン]]が net.unix-wizards および net.usoft という[[ニュースグループ]]で発表した<ref>{{ cite newsgroup | title = new UNIX implementation | first = Richard | last = Stallman | date = 27 September 1983 | newsgroup = net.unix-wizards | id = 771@mit-eddie.UUCP | url = https://groups.google.com/forum/?fromgroups#!msg/net.unix-wizards/8twfRPM79u0/1xlglzrWrU0J | accessdate = 2008-08-18 }}</ref>。開発が始まったのは[[1984年]][[1月5日]]であり、この日はそれまで勤務していた[[マサチューセッツ工科大学]]の人工知能研究所がGNUの所有権を主張することや、フリーソフトウェアとしての配布へ干渉することを阻止するためにストールマンが同研究所を辞めた日でもある。リチャード・ストールマンが選んだGNUという名称には様々な言葉遊びが含まれており、''[[:en:The Gnu|The Gnu]]'' という歌も関係している<ref>{{cite web|url= http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#the-name-gnu| title=Stallman explaining why the name "GNU" was chosen|publisher=FSFE|accessdate=2007-02-20}}</ref>。
GNUオペレーティングシステムの開発は[[マサチューセッツ工科大学]] (MIT) 人工知能研究所でリチャード・ストールマンにより[[GNUプロジェクト]]として開始され、[[1983年]][[9月27日]]にnet.unix-wizardsおよびnet.usoftという[[ニュースグループ]]で彼が公式に発表した<ref>{{cite newsgroup |title=new UNIX implementation |first=Richard |last=Stallman |date=September 27, 1983 |newsgroup=net.unix-wizards |message-id=771@mit-eddie.UUCP |url=https://groups.google.com/group/net.unix-wizards/msg/4dadd63a976019d7 |accessdate=August 18, 2008 }}</ref><ref name="internethist">{{cite book |url=https://books.google.com/books?id=qi-ItIG6QLwC |title=The Internet: A Historical Encyclopedia. Biographies, Volume 1 |first=Laura |last=Lambert |editor-first=Hilary |editor-last=Poole |publisher=ABC-CLIO |publication-place=Santa Barbara, California |year=2005 |isbn=1-85109-664-7|pages=215–216}}</ref>。ソフトウェア開発が始まったのは[[1984年]][[1月5日]]であり、この日はそれまでストールマンが勤務していたMIT人工知能研究所が、GNUの所有権を主張することやフリーソフトウェアとしての配布へ干渉することを阻止するために彼が同研究所を辞めた日でもある<ref name="intervention">{{cite book |url=https://books.google.com/books?id=jXC6H8lRjlUC |title=Inter/vention: Free Play in the Age of Electracy |first1=Jan Rune |last1=Holmevik |first2=Ian |last2=Bogost |first3=Gregory |last3=Ulmer |publisher=MIT Press |date=March 2012 |isbn=978-0-262-01705-3|pages=69–71}}</ref>。ストールマンが選んだGNUという名称には様々な言葉遊びが含まれており、その中には''{{仮リンク|The Gnu|en|The Gnu}}''という歌も含まれている<ref name="rms-zagreb-talk">{{cite AV media |url=http://mjesec.ffzg.hr/~dpavlin/stallman2006/free_software_movement_and_the_future_of_freedom_zagreb_09_march_2006.ogg |title=The Free Software Movement and the Future of Freedom |first=Richard |last=Stallman |authorlink=Richard Stallman |publisher=[[Free Software Foundation|FSF Europe]] |location=Zagreb, Croatia |laysummary=http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html |date=March 9, 2006 |accessdate=February 20, 2007}}</ref>{{rp|at=[https://fsfe.org/freesoftware/transcripts/rms-fs-2006-03-09.en.html#the-name-gnu 00:45:30]}}。


の目標は、完全にフリーソフトウェアで構成されるオペレーティングシステムを実現すること」だった。ストールマンは1960年代や1970年代のコンピュータユーザーのように、ユーザーを自由にしたいと考えていた。そは、使っているソフトウェアのソースコードを使って勉強できる自由であり、ソフトウェアを他の人々と共有できる自由であり、ソフトウェアを修正できる自由であり、修正版を配布できる自由である。この哲学は1985年3月、[[GNU宣言]]として公表された。
GNUの目標は、完全にフリーソフトウェアで構成されるオペレーティングシステムを実現することであった。ストールマンは[[1960年代]][[1970年代]]のコンピュータユーザーのように、ユーザーを自由にしたいと考えていた。その自由とは、使っているソフトウェアのソースコードを使って研究できる自由であり、ソフトウェアを他の人々と共有できる自由であり、ソフトウェアを修正できる自由であり、修正版を配布できる自由である。この哲学は後に[[GNU宣言]]として[[1985年]][[3月]]に公表された<ref name="internethist" />


GNU宣言の中でストールマンは「基本的カーネルは存在するが、Unixをエミュレートするにはより多くの機能が必要だ」としている。ここでストールマンが想定したカーネルは、マサチューセッツ工科大学が開発した[[RPC]]型カーネル{{仮リンク|Trix|en|Trix (operating system)}}である{{要出典|date=2009年10月}}。これは作者がフリーソフトウェアとして配布しており、[[Version 7 Unix]]と互換性があった。そして[[1986年]][[12月]]、開発者らはこのカーネルに修正を加える作業を開始しようとした。しかし、開発者らはこれが出発点としてはふさわしくないと判断した。何故ならTRIXは「不明確で高価な68000マシン」でしか動作せず、使用するにはまず他のアーキテクチャへの[[移植 (ソフトウェア)|移植]]が必須だったからである。
リチャード・ストールマンは[[Incompatible Timesharing System]] (ITS) に関わっていた。ITSは[[PDP-10]]上で[[アセンブリ言語]]で書かれた初期のオペレーティングシステムだが、PDP-10自体が開発・製造されなくなったために消えていった。このためストールマンは[[移植性]]のあるソフトウェアが必要だと考えていた<ref>{{cite web|url= http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#choosing-the-unix-design| title=Stallman describing why a Unix-like design was chosen|publisher=FSFE|accessdate=2007-02-20}}</ref>。そのためGNUをほぼUNIX互換にする決定がなされた。当時すでにUNIXは[[プロプライエタリ・ソフトウェア|プロプライエタリ]]なオペレーティングシステムとして広く使われていた。UNIXの設計はしっかりしており、しかもモジュール性が高く、部分ごとに再実装することが可能だった。


ストールマンは[[Incompatible Timesharing System]] (ITS) に関わっていた。ITSは[[PDP-10]]コンピュータアーキテクチャ用に[[アセンブリ言語]]で書かれた初期のオペレーティングシステムだが、PDP-10自体が開発・製造されなくなったために消えていった。このためストールマンは移植性のあるソフトウェアが必要だと考えていた<ref name="rms-zagreb-talk" />{{rp|at=[https://fsfe.org/freesoftware/transcripts/rms-fs-2006-03-09.en.html#choosing-the-unix-design 00:40:52]}}<ref name="opensource2.0">{{cite book |url=https://books.google.com/books?id=q9GnNrq3e5EC&printsec=frontcover#v=onepage&q&f=false |title=Open Sources 2.0: The Continuing Evolution |first1=Chris |last1=DiBona |first2=Mark |last2=Stone |first3=Danese |last3=Cooper |date=October 2005 |pages=38–40 |isbn=9780596008024}}</ref>。そのため、GNUの開発にはシステムプログラミング言語として[[C言語|C]]と[[LISP]]を使用し<ref>{{cite web|url=http://laurel.datsi.fi.upm.es/~ssoo/IG/download/timeline.html|title=Timeline of GNU/Linux and Unix|quote=Both C and Lisp will be available as system programming languages.|accessdate=2016-01-14}}</ref>、さらにGNUをUNIX互換にする決定がなされた<ref>{{cite book |url=https://books.google.com/books?id=53zaxy423xcC&printsec=frontcover#v=onepage&q&f=false|title=Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source)|date=November 2008|pages=177–178 |isbn=9781430210436 |author1=Seebach |first1=Peter}}</ref>。当時UNIXは既に[[プロプライエタリ・ソフトウェア|プロプライエタリ]]なオペレーティングシステムとして広く使われていた。UNIXの設計はモジュール性が高く、部分ごとに再実装することが可能だった<ref name="opensource2.0" />。
必要なソフトウェアの大部分は一から書かれたが、TeXやX Window Systemといった既存のフリーソフトウェアはそのまま採用された。GNUのコードの大部分はボランティアが書いたものであり、具体的には個人が余暇時間内や会社の業務内で書いた部分・教育機関や非営利団体が書いた部分で構成されている。1985年10月、ストールマンは[[フリーソフトウェア財団]] (FSF) を創設した。1980年代後半から1990年代にはFSFがソフトウェア開発者を雇い、GNUで必要となるソフトウェア作成を行わせた。


GNUに必要なソフトウェアの大部分は一から書かれたが、[[TeX]][[組版]]システムや[[X Window System]]<ref name="internethist" />、さらに[[Mach]][[マイクロカーネル]]といった共有可能な[[サードパーティー]]フリーソフトウェアコンポーネントは既存のものを流用した。なおMachは(GNUの公式カーネルである)GNU Hurdの、[[GNU Mach]]コアの基礎を形成している<ref name="linuxinterface">{{cite book |url=https://books.google.com/books?id=Ps2SH727eCIC&printsec=frontcover#v=onepage&q&f=false|title=The Linux Programming Interface: A Linux and UNIX System Programming Handbook|pages=5–6|date=October 2010 |isbn=9781593272203 |author1=Kerrisk |first1=Michael}}</ref>。前述したサードパーティーコンポーネントを除くGNUのコードの大部分はボランティアが書いたものであり、具体的には個人が余暇時間内や会社の業務内で書いた部分<ref name="cygnus">{{cite book |url=http://oreilly.com/catalog/opensources/book/tiemans.html |title=Open Sources: Voices from the Open Source Revolution |publisher=O'Reilly & Associates, Inc. |date=January 1999 |isbn=1-56592-582-3}}</ref>、および教育機関や非営利団体が書いた部分で構成されている。1985年[[10月]]、ストールマンは[[フリーソフトウェア財団]] (FSF) を創設した。[[1980年代]]後半から[[1990年代]]にはFSFがソフトウェア開発者を雇い、GNUで必要となるソフトウェア作成を行わせた<ref>{{cite book |url=https://books.google.com/books?id=LlCnYt2snHYC&printsec=frontcover#v=onepage&q&f=false |title=The Software Industry | pages=187–196 |isbn=9783642315091 |author1=Buxmann |first1=Peter |last2=Diefenbach |first2=Heiner |last3=Hess |first3=Thomas |date=2012-09-30}}</ref><ref>{{cite book |url=https://books.google.com/?id=50maN7VmpusC&printsec=frontcover#v=onepage&q&f=false | title=Practical UNIX and Internet Security, 3rd Edition | publisher=O'Reilly & Associates, Inc. |date=February 2003 | page=18 |isbn=9781449310127}}</ref>。
GNUが有名になるにつれて、GNUに興味を持つ企業が現れはじめた。それらの企業は資金援助をして、GNUのソフトウェアと技術サポートを組み合わせて商売するようになっていった。その中で最も成功した企業としては[[シグナスソリューションズ]]が知られている。(同社は現在、[[レッドハット]]の一部となっている。)


GNUプロジェクトの初期の計画では、[[BSD]] 4.4-Liteのカーネルを採用することになっていた。しかし、[[カリフォルニア大学バークレー校|バークレー]]のプログラマの協力が得られなかったため{{要出典|date=2009年10月}}、ストールマンは[[1988年]]に[[カーネギーメロン大学]]が開発した[[Mach]]カーネルを採用することにした。ただし、Machには[[AT&T]]由来のコードが使われていたため、それを取り除いてフリーソフトウェアとして使えるようになったのは[[1990年]]である{{要出典|date=2009年10月}}。HurdのアーキテクトだったThomas Bushnellは後に、BSDカーネルの採用を見送ったことでプロジェクトは大きく後退しており、そういう意味でもBSDカーネルを採用すべきだったと述べている<ref>{{cite web | url = http://www.groklaw.net/article.php?story=20050727225542530 | title = The Hurd and BSDI|accessdate = 2008-08-18 | author = Peter H. Salus | work = The Daemon, the GNU and the Penguin | quote = It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today. }}</ref>。
== OS開発 ==
GNUプロジェクトが当初目標としたOS像は「全体がフリーソフトウェアで構成され、ほぼUNIX互換であり、そこに便利な強化が施されたOS」だった。1990年には拡張性の高い[[テキストエディタ]] ([[Emacs]]) や、非常に広く使われている最適化[[コンパイラ]] ([[GNUコンパイラコレクション|GCC]])、一般的UNIXディストリビューションの基本ライブラリやユーティリティの大部分が完成した。この開発のためにストールマンがコンポーネントとして採用したフリーソフトウェアは主にX Window System、TeX、[[Mach]]などである。(これらは1980年代当時に存在した数少ないフリーソフトウェアたちである。)なお、ここで既存のフリーソフトウェアが採用された理由は上記の通り、「全体がフリーソフトウェアで構成されるOSを実現する。全てを一から開発することではない。」という当初の理念によるものである。


カーネルの設計は、GNUの中でもUNIXから最も大きく異なる部分である。GNUのカーネルはマルチサーバ型マイクロカーネルであり、従来のUNIXカーネルの持つ機能をサーバと呼ばれる複数のプログラムで構成している。Machのマイクロカーネルは非常に低レベルのカーネル機能しか提供していないため、GNUプロジェクトではカーネルの上位レベルの部分を一種のユーザープログラムの集合体として開発しなければならなかった。この集合体を当初Alixと呼んでいたが、Thomas BushnellはHurdと呼ぶことを好み、Alixの名はそのサブコンポーネントに移され、最終的には使われなくなった<ref>[http://www.gnu.org/gnu/thegnuproject.html About the GNU Project - GNU Project - Free Software Foundation (FSF)]</ref>。その後、Hurdの開発は技術的問題がいくつも発生し、なかなか進展しない状況になった<ref>{{cite web|url= http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#gnu-and-linux|title=Stallman describing Hurd progress|quote=it took many many many years to get this kernel to run at all, and it still doesn't run well, and it looks like there may be fundamental problems with this design, which nobody knew about back in 1990.|accessdate=2009-10-25}}</ref>。
GNU宣言の中でストールマンは「基本的カーネルは存在するが、Unixをエミュレートするにはより多くの機能が必要だ」としている。ここでストールマンが想定したカーネルは、マサチューセッツ工科大学が開発した[[RPC]]型カーネル [[:en:Trix (operating system)|TRIX]]である。{{要出典|date=2009年10月}}。これは、作者がフリーソフトウェアとして配布しており、[[Version 7 Unix]] と互換性があった。そして1986年12月、開発者らはこのカーネルに修正を加える作業を開始しようとした。しかし、開発者らはこれが出発点としてはふさわしくないと判断した。何故ならTRIXは「不明確で高価な68000マシン」でしか動作せず、使用するにはまず他のアーキテクチャへの[[移植 (ソフトウェア)|移植]]が必須だったからである。


GNUが有名になるにつれて、GNUに興味を持つ企業が現れはじめた。それらの企業は開発援助をしたり、GNUのソフトウェアや技術サポートを組み合わせて商売するようになっていった。その中で最も成功した企業としては[[シグナスソリューションズ]]が知られている<ref name="cygnus" />(同社は現在、[[レッドハット]]の一部となっている<ref>[http://news.cnet.com/2100-1001-232971.html Red Hat buys software firm, shuffles CEO - CNET News<!-- Bot generated title -->]</ref>)。
GNUプロジェクトの初期の計画では、[[BSD]] 4.4-Liteのカーネルを採用することになっていた。しかし、[[カリフォルニア大学バークレー校|バークレー]]のプログラマの協力が得られなかったため{{要出典|date=2009年10月}}、ストールマンは1988年に[[カーネギーメロン大学]]が開発した[[Mach]]カーネルを採用することにした。ただし、Machには[[AT&T]]由来のコードが使われていたため、それを取り除いてフリーソフトウェアとして使えるようになったのは1990年である{{要出典|date=2009年10月}}。HurdのアーキテクトだったThomas Bushnellは後に、BSDカーネルの採用を見送ったことでプロジェクトは大きく後退しており、そういう意味でもBSDカーネルを採用すべきだったと述べている<ref>{{cite web | url = http://www.groklaw.net/article.php?story=20050727225542530 | title = The Hurd and BSDI|accessdate = 2008-08-18 | author = Peter H. Salus | work = The Daemon, the GNU and the Penguin | quote = It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today. }}</ref>。


[[1992年]]、最重要コンポーネントであるカーネルのGNU Hurdを除く全てのコンポーネントが完成した。[[1991年]]には[[リーナス・トーバルズ]]が独自にLinuxカーネルの開発を始めており、1992年にはLinuxのバージョン0.12が[[GNU General Public License]]ライセンスでリリースされ、この最後の空白を埋めた。LinuxとGNUを組み合わせることで、世界初の完全にフリーソフトウェアで構成されたオペレーティングシステムとなった。LinuxカーネルはGNUプロジェクトの一部ではないが、その開発には[[GNUコンパイラコレクション|GCC]]などのGNU製プログラミングツールが使われている<ref>[http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b What would you like to see most in minix?] Linus Benedict Torvalds (Aug 26 1991, 2:12 am) - comp.os.minix | Google Groups</ref>。
カーネルの設計は、GNUの中でもUNIXから最も大きく異なる部分である。GNUのカーネルはマルチサーバ型[[マイクロカーネル]]であり、従来のUNIXカーネルの持つ機能をサーバと呼ばれる複数のプログラムで構成している。Machのマイクロカーネルは非常に低レベルのカーネル機能しか提供していないため、GNUプロジェクトではカーネルの上位レベルの部分を一種のユーザープログラムの集合体として開発しなければならなかった。この集合体を当初Alixと呼んでいたが、Thomas BushnellはHurdと呼ぶことを好み、Alixの名はそのサブコンポーネントに移され、最終的には使われなくなった<ref>[http://www.gnu.org/gnu/thegnuproject.html About the GNU Project - GNU Project - Free Software Foundation (FSF)]</ref>。その後、Hurdの開発は技術的問題がいくつも発生し、なかなか進展しない状況になった<ref>{{cite web|url= http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#gnu-and-linux|title=Stallman describing Hurd progress|quote=it took many many many years to get this kernel to run at all, and it still doesn't run well, and it looks like there may be fundamental problems with this design, which nobody knew about back in 1990.|accessdate=2009-10-25}}</ref>。


ストールマンは2002年にGNU/Hurdのリリースについて楽観的声明を発表しているが<ref>{{cite web | url = http://www.pcworld.com/article/88464/free_software_sees_gnu_loose_of_linux.html | title = Free Software Sees Gnu Loose of Linux | accessdate = 2006-08-08 | author = John Ribeiro | publisher = PC World |date=2002-03-11}}</ref>、開発は2009年現在も続いている。Hurdの最新リリースはバージョン0.2である。動作はそれなりに安定しており、重要なアプリケーションを使うのでなければ十分使えるレベルである。HurdはGNUの公式カーネルだが、GNUシステムを他のカーネル([[FreeBSD]]、[[NetBSD]]、[[OpenSolaris]]など)で動作させる移植プロジェクトもある。
[[2002年]]にストールマンはGNU/Hurdのリリースについて楽観的声明を発表しが<ref>{{cite web | url = http://www.pcworld.com/article/88464/free_software_sees_gnu_loose_of_linux.html | title = Free Software Sees Gnu Loose of Linux | accessdate = 2006-08-08 | author = John Ribeiro | publisher = PC World |date=2002-03-11}}</ref>、開発は[[2016]]現在も続いている。Hurdの最新リリースはバージョン0.7である。動作はそれなりに安定しており、重要なアプリケーションを使うのでなければ十分使えるレベルである。


== コンポーネント ==
1992年、最重要コンポーネントであるカーネル ([[GNU Hurd]]) を除いて全てのコンポーネントが完成した。1991年には[[リーナス・トーバルズ]]が独自に[[Linuxカーネル]]の開発を始めており、1992年にはLinuxのバージョン0.12がGPLライセンスでリリースされ、この最後の空白を埋めた。LinuxとGNUを組み合わせることで、世界初の完全にフリーソフトウェアで構成されたオペレーティングシステムとなった。LinuxカーネルはGNUプロジェクトの一部ではないが、その開発には[[GNUコンパイラコレクション|GCC]]などのGNU製プログラミングツールが使われている<ref>[http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b What would you like to see most in minix?] Linus Benedict Torvalds (Aug 26 1991, 2:12 am) - comp.os.minix | Google Groups</ref>。
{{Main|GNUパッケージ一覧}}
GNUシステムの基本コンポーネントには[[GNUコンパイラコレクション]] (GCC) 、[[GNU Cライブラリ]] (glibc) およびGNU Core Utilities ([[Coreutils|coreutils]]) だけでなく、[[GNUデバッガ]] (GDB)、[[Binutils|GNU Binary Utilities]] (binutils)<ref>{{cite web|url=http://developer.amd.com/tools-and-sdks/archive/gcc-and-gnu-toolchains-for-amd-platforms/ |title=GCC & GNU Toolchains - AMD |publisher=Developer.amd.com |date= |accessdate=2015-09-02 |archiveurl=https://web.archive.org/web/20150316191013/http://developer.amd.com/tools-and-sdks/archive/gcc-and-gnu-toolchains-for-amd-platforms/ |archivedate=2015-03-16 }}</ref>、[[Bash|GNU Bash]][[シェル]]<ref name="linuxinterface" /><ref>{{cite book| url=https://books.google.com/books?id=vvuzDziOMeMC&printsec=frontcover#v=onepage&q&f=false|title=Beginning Linux Programming|chapter=The GNU Project and the Free Software Foundation| isbn=9781118058619| author1=Matthew| first1=Neil| last2=Stones| first2=Richard| date=2011-04-22}}</ref>、および[[GNOME]][[デスクトップ環境]]も含まれる<ref>{{cite book| url=https://books.google.com/books?id=7MhTb9X4aYgC&printsec=frontcover#v=onepage&q&f=false|title=Emerging Free and Open Source Software Practices|pages=262–264|date=May 2007| isbn=9781599042107| author1=Sowe| first1=Sulayman K| last2=Stamelos| first2=Ioannis G| last3=Samoladas| first3=Ioannis M}}</ref>。GNUの開発者はGNUアプリケーションやユーティリティのLinuxへの移植に貢献しており、それらのアプリケーションやユーティリティは[[BSD]]の派生、[[Solaris]]そして[[OS X]]といったLinux以外のオペレーティングシステムでも広く利用されている<ref>{{cite web|url=http://www.buzzle.com/articles/linux-history-and-introduction.html |title=Linux: History and Introduction |publisher=Buzzle.com |date=1991-08-25 |accessdate=2012-09-22}}</ref>。


GNUのプログラムの多くは、[[Microsoft Windows]]<ref>{{cite book| url=https://books.google.com/books?id=0SM3PEH9gagC&printsec=frontcover#v=onepage&q&f=false|title=Integrating Linux and Windows|page=30|date=December 2000| isbn=9780130306708| author1=McCune| first1=Mike}}</ref>やOS X<ref>{{cite book| url=https://books.google.com/books?id=o9K8KEQic5sC&printsec=frontcover#v=onepage&q&f=false|title=A Practical Guide To Unix For Mac Os X Users|page=4|year=2005| isbn=9780131863330| author1=Sobell| first1=Mark G| last2=Seebach| first2=Peter}}</ref>といったプロプライエタリプラットフォームを含む他のオペレーティングシステムに移植されている。GNUのプログラムはプロプライエタリUNIX上の相当するソフトウェアよりも信頼性が高いことが示されている<ref>[http://ftp.cs.wisc.edu/pub/paradyn/technical_papers/fuzz-revisited.ps Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services] - October 1995 - Computer Sciences Department,University of Wisconsin</ref>。
== 著作権とライセンス ==
GNUプロジェクトでは、コントリビュータに対してGNUパッケージの著作権表示をフリーソフトウェア財団にすることを示唆しているが<ref>[http://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html Copyright Papers - Information For Maintainers of GNU Software]</ref>、それが要求事項になっているわけではない<ref>[http://www.gnu.org/licenses/why-assign.html Why the FSF gets copyright assignments from contributors - GNU Project - Free Software Foundation (FSF)]</ref>。


[[2015年]][[11月]]の時点で、公式GNU開発サイトにホストされたGNUのパッケージ数は合計で466個存在する(終了したパッケージも含む。それらを除くと383個である)<ref>{{cite web|url=https://www.gnu.org/software/software.html |title=Software - GNU Project - Free Software Foundation |publisher=Free Software Foundation, Inc |date=2016-01-13 |accessdate=2016-01-13}}</ref>。
著作権法は、著作物の複製・配布について著作権者の大きな権限を認めているが、FSFがGNUソフトウェア用に定めたライセンスでは、非常に寛容な条件下で著作物の受領者が複製・配布できる権利を認めている。1980年代には、GNUパッケージはそれぞれ別々のライセンスで配布されていた。Emacs General Public LicenseやGCC General Public Licenseなどである。1989年、FSFはGNUプロジェクトだけでなく全てのソフトウェアに使用できる単一のライセンス [[GNU General Public License]] (GPL) を発表した。


[[File:GNewSense screenshot.png|thumb|FSF認定ディストリビューションの例である[[gNewSense]]]]
このライセンスは今ではGNUソフトウェアのほとんどで使われており、GNUプロジェクトとは関係ないフリーソフトウェアでもよく使われている。GPLでは、著作物の受領者はそれを実行し、複製し、修正し、再配布できるが、その再配布物のライセンスに制限を加えることを許さない。この作品や創造活動の共有を保護するための概念を[[コピーレフト]]と呼ぶ。
[[File:Parabola12.png|thumb|[[ローリング・リリース]]モデルを用いるFSF認定ディストリビューションの例である[[Parabola GNU/Linux-libre]]]]
[[File:Screenshot of Trisquel 7.png|thumb|FSF公認ディストリビューションである{{仮リンク|Trisquel|en|Trisquel}}([https://www.gnu.org/distros/screenshot.html GNUスクリーンショット])]]


== GNUの派生 ==
1991年、ある種のライブラリのために [[GNU Lesser General Public License]] (LGPL) が登場した(当初の名称は Library General Public License)。フリーではないライセンスの作品からの参照(静的リンク、動的リンク)を許すために作られた。
{{Main|GNUの派生}}
GNUプロジェクトの公式カーネルは[[GNU Hurd]]マイクロカーネルである。しかしながら、[[2012年]]の時点でLinuxカーネルが[[Linux-libre]]という形で公式にGNUプロジェクトの一部となった。Linux-libreは、Linuxカーネルから全てのプロプライエタリコンポーネントを削除した派生物である<ref>{{cite web | url= https://directory.fsf.org/wiki/GNU_Linux-libre |title = GNU Linux-libre | date = 2012-12-17 | accessdate = 2013-02-09}}</ref>。


[[FreeBSD]]のカーネルのようなLinux以外のカーネルも、実用的なオペレーティングシステムを構成するGNUソフトウェアと連携して機能する<ref>{{cite book|url=https://books.google.com/books?id=CHkHNChvPqIC |title=Open Source Software: Implementation and Management| page = 129| isbn= 978-1-55558320-0| last1 = Kavanagh | first1 = Paul| date = 2004-07-26}}</ref>。FSFはGNUツールやユーティリティと共に利用されるLinuxはGNUの派生とみなすべきであると主張しており、そのようなシステムを''GNU/Linux''という用語で表現するよう奨励している(なおこのことが[[GNU/Linux名称論争]]の原因となっている)<ref>{{cite newsgroup | url = https://groups.google.com/group/comp.os.linux.misc/msg/1241a2919efc4bc3 | title = Linux is a GNU system and the DWARF support | newsgroup = comp.os.linux.misc | date = 8 September 1994 | first = Matt | last = Welsh | accessdate = 3 February 2008 | quote = RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.}}</ref><ref>{{cite web|last=Proffitt |first = Brian |url=http://www.itworld.com/it-managementstrategy/285750/debian-gnulinux-seeks-alignment-free-software-foundation | title =Debian GNU/Linux seeks alignment with Free Software Foundation | work =ITworld | date =2012-07-12 |accessdate= 2012-09-22}}</ref><ref>{{cite web|url= http://www.tldp.org/LDP/sag/html/gnu-or-not.html |title= 1.1. Linux or GNU/Linux, that is the question | work = SAG | publisher= TLDP | accessdate = 2012-09-22}}</ref>。GNUプロジェクトは[[gNewSense]]、{{仮リンク|Trisquel|en|Trisquel}}および[[Parabola GNU/Linux-libre]]といったLinuxを用いた派生を支持している<ref>{{Citation | contribution-url = https://www.gnu.org/distros/free-distros.html | contribution = List of Free GNU/Linux Distributions | title = GNU Project | publisher = Free Software Foundation (FSF)}}.</ref>。カーネルとしてHurdを使用しない派生でLinux以外のカーネルを用いるものとしては、BSDカーネル上にGNUの初期計画を実現した、Debian GNU/kFreeBSDやDebian GNU/NetBSDがある。さらにGNUを[[NetBSD]]や[[OpenSolaris]]などのカーネルで動作させる移植プロジェクトもある。
また同年、GPLのバージョン2もリリースされている。文書用の [[GNU Free Documentation License]] (FDL) は2000年に登場した。特に文書、マニュアル、教科書向けに用意されている。Wikipediaの全文書もこのライセンスを適用している。


== コピーライト、GNUライセンスと管理 ==
GPLとLGPLは2007年にバージョン3に改版された。このとき、国際的な適用可能性を高めるよう改訂され、ソフトウェアの変更を制限しているハードウェアを使っているユーザーを保護する改訂も行われている。
フリーソフトウェア財団は既存のプロジェクトへの小規模な変更のリリースを[[パブリックドメイン]]とすることが無難だと考えている<ref>{{cite web | work = GNU | url = https://www.gnu.org/licenses/license-recommendations.html |publisher = Free Software Foundation |title=How to choose a license for your own work |deadurl=no | accessdate =2012-07-12}}</ref>が、GNUプロジェクトでは、その貢献者に対してGNUパッケージの著作権をフリーソフトウェア財団に譲渡することを推奨している<ref>{{cite web| url = https://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html |title=Copyright Papers | work = Information For Maintainers of GNU Software |publisher= FSF |date=2011-06-30 | accessdate =2011-07-27}}</ref><ref>{{cite web | work = GNU | url= https://www.gnu.org/licenses/why-assign.html |title=Why the FSF gets copyright assignments from contributors | publisher = FSF | date= 2011-07-15 | accessdate = 2011-07-27}}</ref>。ただしこれは必須ではない。パッケージのメンテナは自身が維持するGNUパッケージの著作権を維持することができるが、使用される(GNU GPLのような)ライセンスは著作権保持者しか強制させることができないので、この場合はフリーソフトウェア財団ではなく著作権保持者がライセンスを強制する<ref>{{cite web| last = Raymond | first = Eric S | url = http://www.catb.org/esr/Licensing-HOWTO.html |title = Licensing HOWTO | publisher= CatB |date = 2002-11-09 | accessdate = 2012-09-22}}</ref>。


GNUに必要なソフトウェアの開発のため、ストールマンはユーザーがフリーソフトウェアを共有し変更する自由を保障することを目的とした、[[GNU General Public License]]と呼ばれるライセンスを書いた(最初はEmacs General Public Licenseと呼ばれた)<ref>{{Citation | title = Old licenses | series = GNU | publisher = FSF | contribution-url = https://www.gnu.org/licenses/old-licenses/gpl-1.0.txt | contribution = GPL 1.0}}.</ref>。彼は[[ジェームズ・ゴスリン]]とのUniPressと呼ばれるプログラムに対するGNU Emacsプログラムにおけるソフトウェアコードの使用についての論争をめぐる経験をふまえてこのライセンスを書いた<ref name = "twobits">{{cite book|url= https://books.google.com/books?id=MEmMl-tY8jEC | title = Two Bits: The Cultural Significance of Free Software | chapter = Writing Copyright Licenses | date =June 2008|isbn = 978-0-82234264-9 | last = Kelty | first = Christopher M}}</ref><ref>{{Citation | url = http://www.free-soft.org/gpl_history/ | title = The History of the GNU General Public License | publisher = Free Software}}.</ref>。1980年代のほとんどの期間において、Emacs General Public LicenseやGCC General Public LicenseのようにGNUパッケージごとに個別のライセンスが存在した。[[1989年]]にFSFはGNUプロジェクトのソフトウェアだけでなく全てのソフトウェアに使用できる単一のライセンスであるGNU General Public License (GPL) を発表した<ref name="twobits" /><ref>{{Citation | url = https://www.gnu.org/bulletins/bull5.html#SEC7 | date = Jun 11, 1998 | title = GNU’s flashes | newspaper = GNU's Bulletin | volume = 1 | number = 5 | series = GNU Project | publisher = Free Software Foundation (FSF)}}.</ref>。
GNUソフトウェアのほとんどはGPLで配布されている。一部はLGPLで配布されており、一握りのパッケージだけは許容型[[フリーソフトウェアライセンス]]で配布されている<ref>[http://slashdot.org/comments.pl?sid=225606&cid=18272276 What the GPLv3 Means for MS-Novell Agreement]</ref>。


現在GPLはGNUソフトウェアのほとんどで使われており、GNUプロジェクトとは関係のないフリーソフトウェアでもよく使われている。GPLは最も一般的に使用される[[フリーソフトウェアライセンス]]である<ref>{{cite web |url = http://osrc.blackducksoftware.com/data/licenses/ |title=Open Source License Data | work =Open Source Resource Center | publisher = [[Black Duck Software]] |accessdate = September 24, 2012 }}</ref>。GPLでは、著作物の受領者はそれを実行し、複製し、修正し、再配布できるが、その再配布物のライセンスに制限を加えることを許さない。この思想は[[コピーレフト]]と呼ばれることが多い<ref>{{cite book|url= https://books.google.com/books?id=c7ppFih2mSwC | title = Decoding Liberation: The Promise of Free and Open Source Software|pages= 46–52|date = August 2007|isbn=978-0-41597893-4| last1 = Chopra |first1 = Samir| last2 = Dexter | first2 = Scott}}</ref>。
== GNUプロジェクトのソフトウェア ==
GNUパッケージの一覧<ref>[http://savannah.gnu.org/stats/ Statistics (Savannah)]</ref>
GNUプロジェクトのソフトウェアには、以下のようなものがある。


1991年、[[GNU Cライブラリ]]を[[プロプライエタリ・ソフトウェア]]とリンクできるようにするためにLibrary General Public Licenseとして知られる[[GNU Lesser General Public License]] (LGPL) が書かれ<ref>{{Citation | publisher = Free BSD | url = https://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/origins-lgpl.html | title = The origins of Linux and the LGPL}}.</ref>、さらにGNU GPLのバージョン2がリリースされた。[[2000年]]には文書用に[[GNU Free Documentation License]]が書かれた<ref>{{cite book|url= https://books.google.com/books?id=2VElII9QeakC | title = Innovation Happens Elsewhere: Open Source as Business Strategy| pages = 133–34| date = April 2005 | isbn = 978-1-55860889-4| last1 = Goldman | first1 = Ron| last2= Gabriel | first2 = Richard P}}</ref>。GPLとLGPLは[[2007年]]にバージョン3に修正され、ユーザーが自身のデバイスで修正されたソフトウェアの実行を妨げる{{仮リンク|ハードウェアの制限|en|Hardware restriction}}からユーザーを保護するための条項が追加された<ref>{{cite book |url= https://books.google.com/books?id=gmfFsdIAejkC | title = Linux Essentials |chapter = Free Software and the GPL |year=2012 |isbn = 978-1-11819739-4 |author1=Smith |first1 = Roderick W}}</ref>。
* オペレーティングシステム・[[カーネル]]
** [[Hurd]] - プロジェクトにより作られているオペレーティングシステム・カーネル。
** [[Linux-libre]] - [[Linuxカーネル]]から[[バイナリ・ブロブ]]を除いたオペレーティングシステム・カーネル。
* コンピュータの[[オペレーティングシステム]]の名前でもある。
** [[GNU/Linux]] - GNUソフトウェアと[[Linuxカーネル]]の組み合わせ+α。
** [[GNU/Hurd]] - GNUソフトウェアと[[Hurd]]の組み合わせ+α。
* ライブラリなどのプログラムの実行環境。
** [[GNU Cライブラリ|GNU libc]] - GNU Cライブラリ。
** [[binutils|GNU binutils]] - リンカなど。
** [[GNU Classpath]] - [[Javaクラスライブラリ|Java標準クラスライブラリ]]のフリーな実装。
* [[Bash]] - シェル(OSのコマンドを実行するインタプリタ)
* [[Coreutils]] - 基本的なコマンド集
** fileutils - ファイル操作用の基本Unixコマンド
** textutils - テキスト操作用の基本Unixコマンド
** shellutils - ユーザー情報やシェルスクリプトに有用な基本コマンド
* 開発環境
** [[GNUコンパイラコレクション]] (GCC)
*** [[C言語|C]]コンパイラ
*** [[C++]]コンパイラ
*** [[Objective C]]コンパイラ
*** [[Java]]コンパイラ
*** [[Ada]]コンパイラ
*** [[FORTRAN]]コンパイラ
*** [[Pascal]]コンパイラ
** [[GNUデバッガ|GDB]] - デバッガ
** [[Emacs|GNU Emacs]] - 多機能エディタ、コンピュータ操作環境、ソフトウェア開発環境。
** [[Make|GNU Make]] - プログラムのビルド作業を自動化するツール。
** [[GNU Scientific Library|GSL]] - 行列演算や特殊関数、最適化などの科学技術計算のためのCライブラリ。
* [[GNU Privacy Guard|GnuPG]] - フリーな[[Pretty Good Privacy|PGP]]の実装
* その他 [http://www.gnu.org/directory/GNU/]


GNUプロジェクトのライセンスはGNU独自のパッケージに加え、LinuxカーネルのようなGNUとは無関係だがGNUソフトウェアと一緒に使用されることの多いプロジェクトでよく使用される。ただしX Window Systemのように、Linuxディストリビューションで使用されるソフトウェアの中には{{仮リンク|緩やかなフリーソフトウェアライセンス|en|Permissive free software licence}}に基づきライセンスされているものも少数ではあるが存在する。
GNUのソフトウェアの多くは各種オペレーティングシステムにも移植されており、[[Microsoft Windows|Windows]]や[[OS X|Mac OS X]]といった商用プラットフォーム上でも動作する。商用UNIX上でもプロプライエタリなソフトウェアの代替としてインストールすることがあるが、それらGNUソフトウェアはシステムをフリーソフトウェアで置換することを目的としているのであって、機能を強化するためにあるのではないという議論もある。GNUソフトウェアは商用UNIX上の相当するソフトウェアと比較しても、信頼性で劣ることはない<ref>[http://ftp.cs.wisc.edu/pub/paradyn/technical_papers/fuzz-revisited.ps Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services] - October 1995 - Computer Sciences Department,University of Wisconsin</ref>。


== ロゴ ==
2015年現在、GNUパッケージは382存在する。統合などによる廃止一覧なども公式のGNU開発サイトにある。
GNUのロゴは[[ヌー]]の[[頭]]である。元々はEtienne Suvasaによって描かれ、現在ではAurelio Heckertがデザインした大胆でシンプルなバージョンが好まれている<ref>{{cite web|url=https://www.gnu.org/graphics/agnuhead.html |title=A GNU Head |publisher= Free Software Foundation (FSF)|date=2011-07-13 |accessdate=2011-07-27}}</ref><ref>{{cite web|url=https://www.gnu.org/graphics/heckert_gnu.html |title=A Bold GNU Head |publisher= Free Software Foundation (FSF)|date=2011-07-13 |accessdate=2011-07-27}}</ref>。これはGNUソフトウェアや印刷されたり電子化されたGNUプロジェクトの文書に表示され、フリーソフトウェア財団のマテリアルにも使われる。


なお本章で示したGNU30周年記念ロゴは公式ロゴの修正バージョンであり、[[2013年]][[9月]]にGNUプロジェクト30周年記念としてフリーソフトウェア財団によって作成されたものである<ref>{{cite web|url=https://www.gnu.org/gnu30/ |title=GNU 30th Anniversary |publisher= Free Software Foundation (FSF)|date=2013-10-08 |accessdate=2014-12-15}}</ref>。
== GNUからの派生 ==
[[ファイル:GNewSense screenshot.png|thumb|[[gNewSense]]は[[GNU/Linux]]ディストリビューションの一例]]
[[Linuxカーネル]]との組合せが最も一般的だが、Linuxカーネル自体はGNUの一部ではない。


<gallery>
[[GNU Hurd|Hurd]]をカーネルとして使っていない他の派生として、[[Nexenta OS]]([[OpenSolaris]]のカーネルを使用)や[[GNU-Darwin]]がある。[[Debian]]では[[BSD]]系カーネルを使ったDebian GNU/kFreeBSDやDebian GNU/NetBSDといったものも早くから計画されている。GNU自体はDebianプロジェクトから[[Debian GNU/Hurd]]として配布されており、[[Live CD]]も[http://www.superunprivileged.org/ superunprivileged.org]で入手可能である。
File:Heckert GNU white.svg|主にGNUの[[ロゴタイプ|ロゴ]]として用いられる「上品(Handsome)な」ヌー
File:Philosophical-gnu-sm.png|主にGNUの思想を論じる際に用いられる「冷静(Philosophical)な」ヌー
File:Gnu-30-banner-without-background.svg|GNU30周年記念ロゴ
</gallery>


== 関連項目 ==
== 関連項目 ==
{{Portal|FLOSS}}
{{Portal|FLOSS}}
* [[クリエイティブ・コモンズ]]
{{Commonscat|GNU}}
* [[リチャード・ストールマン]]
* [[フリーソフトウェア財団]]
* [[フリーソフトウェア財団]]
* [[フリーソフトウェア運動]]
* [[GNU General Public License]]
* {{仮リンク|FLOSSの歴史|en|History of free and open-source software}}
* [[GNU Lesser General Public License]]
* [[GNU Free Documentation License]]
* [[GNUパッケージ一覧]]

* [[ヌー]] - ウシ科の動物。GNUのシンボルマークとしてよく使用される。
== 脚注 ==
{{reflist|30em}}


== 脚注・出典 ==
== 外部リンク ==
{{脚注ヘルプ}}
{{Commons}}
* {{Official website}}
{{Reflist|2}}
* [http://unxutils.sourceforge.net/ Microsoft Windows用のGNUユーティリティの移植]
* [http://www.verbumvanum.org/pesalus/ The daemon, the GNU and the penguin]


{{Unix-like}}
{{Unix-like}}
141行目: 115行目:
{{オペレーティングシステム}}
{{オペレーティングシステム}}


[[Category:GNUプロジェクト|*]]
[[Category:Unix系オペレーティングシステム]]
[[Category:UNIXに関連する組織]]
[[Category:GNUプロジェクト]]
[[Category:フリーソフトウェア文化・運動]]

2016年1月14日 (木) 13:52時点における版

GNU
Debian GNU/Hurdコンソールスタートアップとログイン
開発者 コミュニティ
プログラミング言語 多数の言語(主にCアセンブリ言語
OSの系統 Unix系
開発状況 開発中
ソースモデル フリーソフトウェア
対象市場 パーソナルコンピュータ、モバイルデバイス、組み込むデバイス、サーバ、メインフレーム、スーパーコンピュータ
プラットフォーム HurdカーネルのみサポートされるものはIA-32、Linux-libreカーネルのみサポートされるものはAlphaARCARMAVR32英語版BlackfinC6x英語版ETRAX CRIS英語版FR-VH8/300HexagonItaniumM32Rm68kMETAMicroBlazeMIPSMN103英語版OpenRISCPA-RISCPowerPCs390S+core英語版SuperHSPARCTILE64英語版Unicore32英語版x86Xtensa英語版
カーネル種別 マイクロカーネル (GNU Hurd) または モノリシックカーネルLinuxのフォークであるGNU Linux-libre
ライセンス GNU GPL, GNU LGPL, GNU AGPL, GNU FDL, GNU FSDG[1][2]
ウェブサイト www.gnu.org/home.en.html、https://www.gnu.org/home.fr.html
テンプレートを表示

GNU [ɡn] ( 音声ファイル)[3][4]とはオペレーティングシステム[5][6][7] であり、かつコンピュータソフトウェアの広範囲に渡るコレクションである。GNUは完全にフリーソフトウェアから構成されている[8][9][10]

GNU"GNU's Not Unix!"(「GNUはUNIXではない」)の再帰的頭字語である。この名称が選ばれたのは、GNUはUnix系の設計ではあるがUNIXとは違いフリーソフトウェアでありUNIXに由来するソースコードを全く使っていないことを示すためである[8][11][12]。GNUの正式な発音は「グヌー」または「グニュー」である[13]。一般的な英語では、gnuは「ヌー」と発音し、ウシカモシカまたはヌーと呼ばれる動物をさす言葉である。GNUプロジェクトは自らの名称を「it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.」と呼ぶよう要請している。

GNUプロジェクトには、元々フリーソフトウェア財団が焦点を当てていたオペレーティングシステムのカーネルであるGNU Hurdが含まれている[8][14][15][16]。しかしながらGNU Hurd以外のカーネルもGNUソフトウェアと共に利用できる。そのようなカーネルとして最も有名なものはLinuxカーネルである。GNUのカーネルにLinuxカーネルを用いるのが一般的な理由は、GNUのカーネルがGNUの中で最も成熟していない部分のためである[17][18]。GNUソフトウェアとLinuxカーネルを組み合わせたものが一般的に知られるLinuxである(あまり一般的ではないがGNU/Linuxと呼ばれることがある。この呼称についてはGNU/Linux名称論争を参照すること)。

GNUには人間が容易にコンピュータへインストールして利用可能な完全なオペレーティングシステムとするためのコンポーネントである、完全な機能を持ったカーネルが未だに欠けたままである。実際には、使用可能なGNUベースオペレーティングシステムのほとんどがLinuxディストリビューションである。LinuxディストリビューションにはLinuxカーネル、GNUコンポーネント、およびGNUプロジェクト以外のフリーソフトウェアプロジェクトによるソフトウェアが多く含まれている。

プロジェクトの創設者であるリチャード・ストールマンは、GNUを「社会的目的のための技術的手段」として考えている[19]

歴史

GNUプロジェクトの創設者であるリチャード・ストールマン

GNUオペレーティングシステムの開発はマサチューセッツ工科大学 (MIT) 人工知能研究所でリチャード・ストールマンによりGNUプロジェクトとして開始され、1983年9月27日にnet.unix-wizardsおよびnet.usoftというニュースグループで彼が公式に発表した[20][21]。ソフトウェア開発が始まったのは1984年1月5日であり、この日はそれまでストールマンが勤務していたMIT人工知能研究所が、GNUの所有権を主張することやフリーソフトウェアとしての配布へ干渉することを阻止するために彼が同研究所を辞めた日でもある[22]。ストールマンが選んだGNUという名称には様々な言葉遊びが含まれており、その中にはThe Gnu英語版という歌も含まれている[4](00:45:30)

GNUの目標は、完全にフリーソフトウェアで構成されるオペレーティングシステムを実現することであった。ストールマンは1960年代1970年代のコンピュータユーザーのように、ユーザーを自由にしたいと考えていた。その自由とは、使っているソフトウェアのソースコードを使って研究できる自由であり、ソフトウェアを他の人々と共有できる自由であり、ソフトウェアを修正できる自由であり、修正版を配布できる自由である。この哲学は後にGNU宣言として1985年3月に公表された[21]

GNU宣言の中でストールマンは「基本的カーネルは存在するが、Unixをエミュレートするにはより多くの機能が必要だ」としている。ここでストールマンが想定したカーネルは、マサチューセッツ工科大学が開発したRPC型カーネルTrix英語版である[要出典]。これは作者がフリーソフトウェアとして配布しており、Version 7 Unixと互換性があった。そして1986年12月、開発者らはこのカーネルに修正を加える作業を開始しようとした。しかし、開発者らはこれが出発点としてはふさわしくないと判断した。何故ならTRIXは「不明確で高価な68000マシン」でしか動作せず、使用するにはまず他のアーキテクチャへの移植が必須だったからである。

ストールマンはIncompatible Timesharing System (ITS) に関わっていた。ITSはPDP-10コンピュータアーキテクチャ用にアセンブリ言語で書かれた初期のオペレーティングシステムだが、PDP-10自体が開発・製造されなくなったために消えていった。このためストールマンは移植性のあるソフトウェアが必要だと考えていた[4](00:40:52)[23]。そのため、GNUの開発にはシステムプログラミング言語としてCLISPを使用し[24]、さらにGNUをUNIX互換にする決定がなされた[25]。当時UNIXは既にプロプライエタリなオペレーティングシステムとして広く使われていた。UNIXの設計はモジュール性が高く、部分ごとに再実装することが可能だった[23]

GNUに必要なソフトウェアの大部分は一から書かれたが、TeX組版システムやX Window System[21]、さらにMachマイクロカーネルといった共有可能なサードパーティーフリーソフトウェアコンポーネントは既存のものを流用した。なおMachは(GNUの公式カーネルである)GNU Hurdの、GNU Machコアの基礎を形成している[26]。前述したサードパーティーコンポーネントを除くGNUのコードの大部分はボランティアが書いたものであり、具体的には個人が余暇時間内や会社の業務内で書いた部分[27]、および教育機関や非営利団体が書いた部分で構成されている。1985年10月、ストールマンはフリーソフトウェア財団 (FSF) を創設した。1980年代後半から1990年代にはFSFがソフトウェア開発者を雇い、GNUで必要となるソフトウェア作成を行わせた[28][29]

GNUプロジェクトの初期の計画では、BSD 4.4-Liteのカーネルを採用することになっていた。しかし、バークレーのプログラマの協力が得られなかったため[要出典]、ストールマンは1988年カーネギーメロン大学が開発したMachカーネルを採用することにした。ただし、MachにはAT&T由来のコードが使われていたため、それを取り除いてフリーソフトウェアとして使えるようになったのは1990年である[要出典]。HurdのアーキテクトだったThomas Bushnellは後に、BSDカーネルの採用を見送ったことでプロジェクトは大きく後退しており、そういう意味でもBSDカーネルを採用すべきだったと述べている[30]

カーネルの設計は、GNUの中でもUNIXから最も大きく異なる部分である。GNUのカーネルはマルチサーバ型マイクロカーネルであり、従来のUNIXカーネルの持つ機能をサーバと呼ばれる複数のプログラムで構成している。Machのマイクロカーネルは非常に低レベルのカーネル機能しか提供していないため、GNUプロジェクトではカーネルの上位レベルの部分を一種のユーザープログラムの集合体として開発しなければならなかった。この集合体を当初Alixと呼んでいたが、Thomas BushnellはHurdと呼ぶことを好み、Alixの名はそのサブコンポーネントに移され、最終的には使われなくなった[31]。その後、Hurdの開発は技術的問題がいくつも発生し、なかなか進展しない状況になった[32]

GNUが有名になるにつれて、GNUに興味を持つ企業が現れはじめた。それらの企業は開発援助をしたり、GNUのソフトウェアや技術サポートを組み合わせて商売するようになっていった。その中で最も成功した企業としてはシグナスソリューションズが知られている[27](同社は現在、レッドハットの一部となっている[33])。

1992年、最重要コンポーネントであるカーネルのGNU Hurdを除く全てのコンポーネントが完成した。1991年にはリーナス・トーバルズが独自にLinuxカーネルの開発を始めており、1992年にはLinuxのバージョン0.12がGNU General Public Licenseライセンスでリリースされ、この最後の空白を埋めた。LinuxとGNUを組み合わせることで、世界初の完全にフリーソフトウェアで構成されたオペレーティングシステムとなった。LinuxカーネルはGNUプロジェクトの一部ではないが、その開発にはGCCなどのGNU製プログラミングツールが使われている[34]

2002年にストールマンはGNU/Hurdのリリースについて楽観的声明を発表したが[35]、開発は2016年現在も続いている。Hurdの最新リリースはバージョン0.7である。動作はそれなりに安定しており、重要なアプリケーションを使うのでなければ十分使えるレベルである。

コンポーネント

GNUシステムの基本コンポーネントにはGNUコンパイラコレクション (GCC) 、GNU Cライブラリ (glibc) およびGNU Core Utilities (coreutils) だけでなく、GNUデバッガ (GDB)、GNU Binary Utilities (binutils)[36]GNU Bashシェル[26][37]、およびGNOMEデスクトップ環境も含まれる[38]。GNUの開発者はGNUアプリケーションやユーティリティのLinuxへの移植に貢献しており、それらのアプリケーションやユーティリティはBSDの派生、SolarisそしてOS XといったLinux以外のオペレーティングシステムでも広く利用されている[39]

GNUのプログラムの多くは、Microsoft Windows[40]やOS X[41]といったプロプライエタリプラットフォームを含む他のオペレーティングシステムに移植されている。GNUのプログラムはプロプライエタリUNIX上の相当するソフトウェアよりも信頼性が高いことが示されている[42]

2015年11月の時点で、公式GNU開発サイトにホストされたGNUのパッケージ数は合計で466個存在する(終了したパッケージも含む。それらを除くと383個である)[43]

FSF認定ディストリビューションの例であるgNewSense
ローリング・リリースモデルを用いるFSF認定ディストリビューションの例であるParabola GNU/Linux-libre
ファイル:Screenshot of Trisquel 7.png
FSF公認ディストリビューションであるTrisquelGNUスクリーンショット

GNUの派生

GNUプロジェクトの公式カーネルはGNU Hurdマイクロカーネルである。しかしながら、2012年の時点でLinuxカーネルがLinux-libreという形で公式にGNUプロジェクトの一部となった。Linux-libreは、Linuxカーネルから全てのプロプライエタリコンポーネントを削除した派生物である[44]

FreeBSDのカーネルのようなLinux以外のカーネルも、実用的なオペレーティングシステムを構成するGNUソフトウェアと連携して機能する[45]。FSFはGNUツールやユーティリティと共に利用されるLinuxはGNUの派生とみなすべきであると主張しており、そのようなシステムをGNU/Linuxという用語で表現するよう奨励している(なおこのことがGNU/Linux名称論争の原因となっている)[46][47][48]。GNUプロジェクトはgNewSenseTrisquelおよびParabola GNU/Linux-libreといったLinuxを用いた派生を支持している[49]。カーネルとしてHurdを使用しない派生でLinux以外のカーネルを用いるものとしては、BSDカーネル上にGNUの初期計画を実現した、Debian GNU/kFreeBSDやDebian GNU/NetBSDがある。さらにGNUをNetBSDOpenSolarisなどのカーネルで動作させる移植プロジェクトもある。

コピーライト、GNUライセンスと管理

フリーソフトウェア財団は既存のプロジェクトへの小規模な変更のリリースをパブリックドメインとすることが無難だと考えている[50]が、GNUプロジェクトでは、その貢献者に対してGNUパッケージの著作権をフリーソフトウェア財団に譲渡することを推奨している[51][52]。ただしこれは必須ではない。パッケージのメンテナは自身が維持するGNUパッケージの著作権を維持することができるが、使用される(GNU GPLのような)ライセンスは著作権保持者しか強制させることができないので、この場合はフリーソフトウェア財団ではなく著作権保持者がライセンスを強制する[53]

GNUに必要なソフトウェアの開発のため、ストールマンはユーザーがフリーソフトウェアを共有し変更する自由を保障することを目的とした、GNU General Public Licenseと呼ばれるライセンスを書いた(最初はEmacs General Public Licenseと呼ばれた)[54]。彼はジェームズ・ゴスリンとのUniPressと呼ばれるプログラムに対するGNU Emacsプログラムにおけるソフトウェアコードの使用についての論争をめぐる経験をふまえてこのライセンスを書いた[55][56]。1980年代のほとんどの期間において、Emacs General Public LicenseやGCC General Public LicenseのようにGNUパッケージごとに個別のライセンスが存在した。1989年にFSFはGNUプロジェクトのソフトウェアだけでなく全てのソフトウェアに使用できる単一のライセンスであるGNU General Public License (GPL) を発表した[55][57]

現在GPLはGNUソフトウェアのほとんどで使われており、GNUプロジェクトとは関係のないフリーソフトウェアでもよく使われている。GPLは最も一般的に使用されるフリーソフトウェアライセンスである[58]。GPLでは、著作物の受領者はそれを実行し、複製し、修正し、再配布できるが、その再配布物のライセンスに制限を加えることを許さない。この思想はコピーレフトと呼ばれることが多い[59]

1991年、GNU Cライブラリプロプライエタリ・ソフトウェアとリンクできるようにするためにLibrary General Public Licenseとして知られるGNU Lesser General Public License (LGPL) が書かれ[60]、さらにGNU GPLのバージョン2がリリースされた。2000年には文書用にGNU Free Documentation Licenseが書かれた[61]。GPLとLGPLは2007年にバージョン3に修正され、ユーザーが自身のデバイスで修正されたソフトウェアの実行を妨げるハードウェアの制限英語版からユーザーを保護するための条項が追加された[62]

GNUプロジェクトのライセンスはGNU独自のパッケージに加え、LinuxカーネルのようなGNUとは無関係だがGNUソフトウェアと一緒に使用されることの多いプロジェクトでよく使用される。ただしX Window Systemのように、Linuxディストリビューションで使用されるソフトウェアの中には緩やかなフリーソフトウェアライセンス英語版に基づきライセンスされているものも少数ではあるが存在する。

ロゴ

GNUのロゴはヌーである。元々はEtienne Suvasaによって描かれ、現在ではAurelio Heckertがデザインした大胆でシンプルなバージョンが好まれている[63][64]。これはGNUソフトウェアや印刷されたり電子化されたGNUプロジェクトの文書に表示され、フリーソフトウェア財団のマテリアルにも使われる。

なお本章で示したGNU30周年記念ロゴは公式ロゴの修正バージョンであり、2013年9月にGNUプロジェクト30周年記念としてフリーソフトウェア財団によって作成されたものである[65]

関連項目

脚注

  1. ^ GNU Licenses”. 2016年1月14日閲覧。
  2. ^ GNU FSDG”. 2016年1月14日閲覧。
  3. ^ What is GNU?”. The GNU Operating System. Free Software Foundation (2009年9月4日). 2009年10月9日閲覧。 “The name ‘GNU’ is a recursive acronym for ‘GNU's Not Unix‘; it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.”
  4. ^ a b c Stallman, Richard (9 March 2006). The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe. 2007年2月20日閲覧 {{cite AV media}}: 不明な引数|laysummary=は無視されます。 (説明)
  5. ^ Yi Peng; Fu Li; Ali Mili (January 2007). “Modeling the evolution of operating systems: An empirical study” (PDF). Journal of Systems and Software (Elsevier) 80 (1): 1-15. doi:10.1016/j.jss.2006.03.049. オリジナルの9 May 2009時点におけるアーカイブ。. https://web.archive.org/web/20160111035552/https://web.njit.edu/~mili/pdf/oss.pdf 2016年1月11日閲覧. "...we have selected a set of fifteen operating systems: Unix, Solaris/Sun OS, BSD, Windows, MS-DOS, MAC OS, Linux, Net Ware, HP UX, GNU Hurd, IBM Aix, Compaq/ DEC VMS, OS/2." 
  6. ^ M. R. M. Torres; Federico Barrero; M. Perales; S. L. Toral (June 2011). “Analysis of the Core Team Role in Open Source Communities” (PDF). Complex, Intelligent and Software Intensive Systems (CISIS), 2011 International Conference on (IEEE Computer Society): 109-114. doi:10.1109/CISIS.2011.25. https://www.researchgate.net/profile/Federico_Barrero/publication/221328676_Analysis_of_the_core_team_role_in_open_source_communities/links/5464a5fb0cf2cb7e9dab30fe.pdf 2016年1月11日閲覧. "Debian port to Hurd...: The GNU Hurd is a totally new operating system being put together by the GNU group." 
  7. ^ Neal H. Walfield; Marcus Brinkmann (4 July 2007). “A critique of the GNU hurd multi-server operating system” (PDF). ACM SIGOPS Operating Systems Review (New York, NY, USA: Association for Computing Machinery) 41 (4): 30-39. doi:10.1145/1278901.1278907. オリジナルの5 November 2015時点におけるアーカイブ。. https://web.archive.org/web/20151105213752/http://www.walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf 2016年1月11日閲覧。. 
  8. ^ a b c St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. ISBN 1-59140999-3 
  9. ^ GNU Manifesto”. GNU project. FSF. 2011年7月27日閲覧。
  10. ^ Raymond, Eric (2001-02-01). The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. pp. 10–12. ISBN 978-0-59600108-7. https://books.google.com/books?id=F6qgFtLwpJgC 
  11. ^ The GNU Operating system”. GNU project. FSF. 2008年8月18日閲覧。
  12. ^ Marshall, Rosalie (2008年11月17日). “Q&A: Richard Stallman, founder of the GNU Project and the Free Software Foundation”. PC & Tech Authority. 2012年9月22日閲覧。
  13. ^ The GNU Operating System - What is GNU?”. Free Software Foundation (2009年9月4日). 2009年10月9日閲覧。 “The name "GNU" is a recursive acronym for "GNU's Not Unix!"; it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.”
  14. ^ Vaughan-Nichols, Steven J. "Opinion: The top 10 operating system stinkers", Computerworld, April 9, 2009: "…after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. […] Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."
  15. ^ Hillesley, Richard (June 30, 2010), “GNU HURD: Altered visions and lost promise”, The H: 3, http://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html, "Nearly twenty years later the HURD has still to reach maturity, and has never achieved production quality. […] Some of us are still wishing and hoping for the real deal, a GNU operating system with a GNU kernel." 
  16. ^ Lessig, Lawrence. The Future of Ideas: The Fate of the Commons in a Connected World, p. 54. Random House, 2001. ISBN 978-0-375-50578-2. About Stallman: "He had mixed all of the ingredients needed for an operating system to function, but he was missing the core."
  17. ^ “1.2 What is Linux?”, Debian open book, O’Reilly, (1991-10-05), http://oreilly.com/openbook/debian/book/ch01_02.html 2012年9月22日閲覧。 
  18. ^ “What is GNU/Linux?”, Ubuntu Installation Guide, Ubuntu (12.4 ed.), Canonical, https://help.ubuntu.com/lts/installation-guide/armhf/ch01s03.html 2015年6月22日閲覧。 
  19. ^ Stallman, Richard (1986), “KTH”, Philosophy (speech), GNU, Stockholm, Sweden: FSF, https://www.gnu.org/philosophy/stallman-kth.html .
  20. ^ Stallman, Richard (27 September 1983). "new UNIX implementation". Newsgroupnet.unix-wizards. Usenet: 771@mit-eddie.UUCP. 2008年8月18日閲覧
  21. ^ a b c Lambert, Laura (2005). Poole, Hilary. ed. The Internet: A Historical Encyclopedia. Biographies, Volume 1. Santa Barbara, California: ABC-CLIO. pp. 215–216. ISBN 1-85109-664-7. https://books.google.com/books?id=qi-ItIG6QLwC 
  22. ^ Holmevik, Jan Rune; Bogost, Ian; Ulmer, Gregory (March 2012). Inter/vention: Free Play in the Age of Electracy. MIT Press. pp. 69–71. ISBN 978-0-262-01705-3. https://books.google.com/books?id=jXC6H8lRjlUC 
  23. ^ a b DiBona, Chris; Stone, Mark; Cooper, Danese (October 2005). Open Sources 2.0: The Continuing Evolution. pp. 38–40. ISBN 9780596008024. https://books.google.com/books?id=q9GnNrq3e5EC&printsec=frontcover#v=onepage&q&f=false 
  24. ^ Timeline of GNU/Linux and Unix”. 2016年1月14日閲覧。 “Both C and Lisp will be available as system programming languages.”
  25. ^ Seebach, Peter (November 2008). Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source). pp. 177–178. ISBN 9781430210436. https://books.google.com/books?id=53zaxy423xcC&printsec=frontcover#v=onepage&q&f=false 
  26. ^ a b Kerrisk, Michael (October 2010). The Linux Programming Interface: A Linux and UNIX System Programming Handbook. pp. 5–6. ISBN 9781593272203. https://books.google.com/books?id=Ps2SH727eCIC&printsec=frontcover#v=onepage&q&f=false 
  27. ^ a b Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates, Inc.. (January 1999). ISBN 1-56592-582-3. http://oreilly.com/catalog/opensources/book/tiemans.html 
  28. ^ Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas (2012-09-30). The Software Industry. pp. 187–196. ISBN 9783642315091. https://books.google.com/books?id=LlCnYt2snHYC&printsec=frontcover#v=onepage&q&f=false 
  29. ^ Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc.. (February 2003). p. 18. ISBN 9781449310127. https://books.google.com/?id=50maN7VmpusC&printsec=frontcover#v=onepage&q&f=false 
  30. ^ Peter H. Salus. “The Hurd and BSDI”. The Daemon, the GNU and the Penguin. 2008年8月18日閲覧。 “It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today.”
  31. ^ About the GNU Project - GNU Project - Free Software Foundation (FSF)
  32. ^ Stallman describing Hurd progress”. 2009年10月25日閲覧。 “it took many many many years to get this kernel to run at all, and it still doesn't run well, and it looks like there may be fundamental problems with this design, which nobody knew about back in 1990.”
  33. ^ Red Hat buys software firm, shuffles CEO - CNET News
  34. ^ What would you like to see most in minix? Linus Benedict Torvalds (Aug 26 1991, 2:12 am) - comp.os.minix | Google Groups
  35. ^ John Ribeiro (2002年3月11日). “Free Software Sees Gnu Loose of Linux”. PC World. 2006年8月8日閲覧。
  36. ^ GCC & GNU Toolchains - AMD”. Developer.amd.com. 2015年3月16日時点のオリジナルよりアーカイブ。2015年9月2日閲覧。
  37. ^ Matthew, Neil; Stones, Richard (2011-04-22). “The GNU Project and the Free Software Foundation”. Beginning Linux Programming. ISBN 9781118058619. https://books.google.com/books?id=vvuzDziOMeMC&printsec=frontcover#v=onepage&q&f=false 
  38. ^ Sowe, Sulayman K; Stamelos, Ioannis G; Samoladas, Ioannis M (May 2007). Emerging Free and Open Source Software Practices. pp. 262–264. ISBN 9781599042107. https://books.google.com/books?id=7MhTb9X4aYgC&printsec=frontcover#v=onepage&q&f=false 
  39. ^ Linux: History and Introduction”. Buzzle.com (1991年8月25日). 2012年9月22日閲覧。
  40. ^ McCune, Mike (December 2000). Integrating Linux and Windows. p. 30. ISBN 9780130306708. https://books.google.com/books?id=0SM3PEH9gagC&printsec=frontcover#v=onepage&q&f=false 
  41. ^ Sobell, Mark G; Seebach, Peter (2005). A Practical Guide To Unix For Mac Os X Users. p. 4. ISBN 9780131863330. https://books.google.com/books?id=o9K8KEQic5sC&printsec=frontcover#v=onepage&q&f=false 
  42. ^ Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services - October 1995 - Computer Sciences Department,University of Wisconsin
  43. ^ Software - GNU Project - Free Software Foundation”. Free Software Foundation, Inc (2016年1月13日). 2016年1月13日閲覧。
  44. ^ GNU Linux-libre” (2012年12月17日). 2013年2月9日閲覧。
  45. ^ Kavanagh, Paul (2004-07-26). Open Source Software: Implementation and Management. p. 129. ISBN 978-1-55558320-0. https://books.google.com/books?id=CHkHNChvPqIC 
  46. ^ Welsh, Matt (8 September 1994). "Linux is a GNU system and the DWARF support". Newsgroupcomp.os.linux.misc. 2008年2月3日閲覧RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.
  47. ^ Proffitt, Brian (2012年7月12日). “Debian GNU/Linux seeks alignment with Free Software Foundation”. ITworld. 2012年9月22日閲覧。
  48. ^ 1.1. Linux or GNU/Linux, that is the question”. SAG. TLDP. 2012年9月22日閲覧。
  49. ^ “List of Free GNU/Linux Distributions”, GNU Project, Free Software Foundation (FSF), https://www.gnu.org/distros/free-distros.html .
  50. ^ How to choose a license for your own work”. GNU. Free Software Foundation. 2012年7月12日閲覧。
  51. ^ Copyright Papers”. Information For Maintainers of GNU Software. FSF (2011年6月30日). 2011年7月27日閲覧。
  52. ^ Why the FSF gets copyright assignments from contributors”. GNU. FSF (2011年7月15日). 2011年7月27日閲覧。
  53. ^ Raymond, Eric S (2002年11月9日). “Licensing HOWTO”. CatB. 2012年9月22日閲覧。
  54. ^ “GPL 1.0”, Old licenses, GNU, FSF, https://www.gnu.org/licenses/old-licenses/gpl-1.0.txt .
  55. ^ a b Kelty, Christopher M (June 2008). “Writing Copyright Licenses”. Two Bits: The Cultural Significance of Free Software. ISBN 978-0-82234264-9. https://books.google.com/books?id=MEmMl-tY8jEC 
  56. ^ The History of the GNU General Public License, Free Software, http://www.free-soft.org/gpl_history/ .
  57. ^ “GNU’s flashes”, GNU's Bulletin, GNU Project (Free Software Foundation (FSF)) 1 (5), (Jun 11, 1998), https://www.gnu.org/bulletins/bull5.html#SEC7 .
  58. ^ Open Source License Data”. Open Source Resource Center. Black Duck Software. 2012年9月24日閲覧。
  59. ^ Chopra, Samir; Dexter, Scott (August 2007). Decoding Liberation: The Promise of Free and Open Source Software. pp. 46–52. ISBN 978-0-41597893-4. https://books.google.com/books?id=c7ppFih2mSwC 
  60. ^ The origins of Linux and the LGPL, Free BSD, https://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/origins-lgpl.html .
  61. ^ Goldman, Ron; Gabriel, Richard P (April 2005). Innovation Happens Elsewhere: Open Source as Business Strategy. pp. 133–34. ISBN 978-1-55860889-4. https://books.google.com/books?id=2VElII9QeakC 
  62. ^ Smith, Roderick W (2012). “Free Software and the GPL”. Linux Essentials. ISBN 978-1-11819739-4. https://books.google.com/books?id=gmfFsdIAejkC 
  63. ^ A GNU Head”. Free Software Foundation (FSF) (2011年7月13日). 2011年7月27日閲覧。
  64. ^ A Bold GNU Head”. Free Software Foundation (FSF) (2011年7月13日). 2011年7月27日閲覧。
  65. ^ GNU 30th Anniversary”. Free Software Foundation (FSF) (2013年10月8日). 2014年12月15日閲覧。

外部リンク