Nhà phát triển | Cộng đồng |
---|---|
Được viết bằng | nhiều (đáng chú ý là C và Assembly) |
Họ hệ điều hành | Tương tự Unix |
Tình trạng hoạt động | đang phát triển |
Kiểu mã nguồn | Phần mềm tự do |
Đối tượng tiếp thị | Máy tính cá nhân, thiết bị di động, thiết bị nhúng, server, mainframe, supercomputer |
Nền tảng | IA-32 (chỉ với nhân Hurd) và Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, Itanium, M32R, m68k, META, MicroBlaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa (chỉ với nhân Linux-libre) |
Loại nhân | Microkernel (GNU Hurd) hay Monolithic kernel (GNU Linux-libre, phân nhánh của Linux) |
Không gian người dùng | GNU |
Giấy phép | GNU GPL, GNU LGPL, GNU AGPL, GNU FDL, GNU FSDG[1][2] |
Website chính thức | https://www.gnu.org/home.en.html |
GNU /ɡnuː/ ⓘ[3][4] là một hệ điều hành và bộ sưu tập phần mềm máy tính phong phú.[5][6][7][8][9][10] GNU bao gồm toàn bộ phần mềm tự do,[11][12][13] hầu hết được cấp phép theo General Public License (GPL) của GNU Project.
GNU là một kiểu viết tắt đệ quy của "GNU's Not Unix!",[11][14] nó được chọn bởi thiết kế của GNU là tương tự Unix, nhưng khác với Unix vì nó là phần mềm miễn phí và không có mã Unix.[11][15][16] Dự án GNU bao gồm nhân hệ điều hành, GNU Hurd, vốn là trọng tâm ban đầu của Free Software Foundation (FSF).[11][17][18][19] Tuy nhiên với trạng thái của hạt nhân Hurd là chưa sẵn sàng ra mắt,[20] các hạt nhân phi GNU, phổ biến nhất là nhân Linux, cũng có thể được sử dụng với phần mềm GNU.[21][22] Sự kết hợp giữa GNU và Linux đã trở nên phổ biến đến mức bộ đôi này thường được gọi tắt là "Linux", hoặc ít thường xuyên hơn, GNU/Linux. (xem Tranh cãi về đặt tên GNU/Linux)
Richard Stallman, người sáng lập dự án, xem GNU như một "phương tiện kỹ thuật để kết thúc xã hội".[23] Liên quan đến Lawrence Lessig trong phần giới thiệu về ấn bản thứ hai của cuốn sách Free Software, Free Society của mình Stallman đã viết về "các khía cạnh xã hội của phần mềm và cách Phần mềm tự do có thể tạo ra công bằng và xã hội".[24]
Việc phát triển hệ điều hành GNU được Richard Stallman khởi xướng khi ông làm việc tại Phòng thí nghiệm trí tuệ nhân tạo MIT. Nó được gọi là Dự án GNU, và được công bố công khai vào ngày 27 tháng 9 năm 1983, trên các nhóm tin net.unix-wizards và net.usoft bởi Stallman.[25] Việc phát triển phần mềm bắt đầu vào ngày 5 tháng 1 năm 1984, khi Stallman nghỉ việc tại Phòng thí nghiệm để họ không thể đòi quyền sở hữu hoặc can thiệp vào việc phân phối các thành phần GNU dưới dạng phần mềm tự do.[26] Richard Stallman đã chọn tên bằng cách sử dụng nhiều cách chơi chữ khác nhau, bao gồm cả bài hát The Gnu.[4](9 tháng 3 năm 2006.en.html#the-name-gnu 00:45:30)
Mục tiêu là ra mắt một hệ điều hành phần mềm hoàn toàn tự do. Stallman muốn người dùng máy tính được tự do nghiên cứu mã nguồn của phần mềm họ sử dụng, chia sẻ phần mềm với người khác, sửa đổi hành vi của phần mềm và xuất bản các phiên bản phần mềm được sửa đổi của riêng họ. Triết lý này sau đó đã được xuất bản thành Tuyên ngôn GNU vào tháng 3 năm 1985.[27]
Kinh nghiệm của Richard Stallman với Incompatible Timesharing System (ITS),[26] một hệ điều hành ban đầu được viết bằng hợp ngữ đã trở nên lỗi thời do PDP-10 bị ngừng phát triển, kiến trúc máy tính mà ITS đã viết, dẫn đến một quyết định rằng hệ thống di động là cần thiết.[4](9 tháng 3 năm 2006.en.html#choosing-the-unix-design 00:40:52)[28] Do đó ông đã quyết định rằng sự phát triển sẽ được bắt đầu bằng C và Lisp làm ngôn ngữ lập trình hệ thống,[29] và GNU sẽ tương thích với Unix.[30] Vào thời điểm đó, Unix đã là một hệ điều hành độc quyền phổ biến. Thiết kế của Unix là mô-đun, do đó, nó có thể được thực hiện lại từng phần.[28]
Phần lớn các phần mềm cần thiết phải được viết từ đầu, nhưng các thành phần phần mềm miễn phí của bên thứ ba tương thích hiện có cũng được sử dụng như hệ thống sắp chữ TeX, X Window System, và microkernel Mach tạo thành nền tảng của lõi GNU Mach của GNU Hurd (hạt nhân chính thức của GNU).[31] Ngoại trừ các thành phần bên thứ ba nói trên, hầu hết GNU đã được các tình nguyện viên viết; một số trong thời gian rảnh rỗi, một số được trả bởi các công ty,[32] tổ chức giáo dục và các tổ chức phi lợi nhuận khác. Tháng 10 năm 1985, Stallman đã thành lập Free Software Foundation (FSF). Vào cuối những năm 1980 và 1990, FSF đã thuê các nhà phát triển phần mềm viết phần mềm cần thiết cho GNU.[33][34]
Khi GNU trở nên nổi bật, các doanh nghiệp quan tâm bắt đầu đóng góp vào việc phát triển hoặc bán phần mềm và hỗ trợ kỹ thuật của GNU. Nổi bật và thành công nhất trong số này là Cygnus Solutions,[32] bây giờ là một phần của Red Hat.[35]
Các thành phần cơ bản của hệ thống bao gồm GNU Compiler Collection (GCC), GNU C library (glibc), và GNU Core Utilities (coreutils),[11] cũng bao gồm GNU Debugger (GDB), GNU Binary Utilities (binutils),[36] GNU Bash shell.[31][37][38] Các nhà phát triển GNU đã đóng góp cho các ports Linux của các ứng dụng và tiện ích GNU, hiện cũng được sử dụng rộng rãi trên các hệ điều hành khác như các biến thể BSD, Solaris và macOS.[39]
Nhiều chương trình GNU đã được port đến các hệ điều hành khác, bao gồm cả các nền tảng độc quyền như Microsoft Windows[40] và macOS.[41] Các chương trình GNU đã được chứng minh là đáng tin cậy hơn so với các đối chiếu Unix độc quyền của chúng.[42][43]
Tính đến tháng 11 năm 2015, có tổng số 466 gói GNU (bao gồm ngừng hoạt động, loại trừ 383) được lưu trữ trên trang web phát triển GNU chính thức.[44]
Hạt nhân chính thức của GNU Project là GNU Hurd microkernel; tuy nhiên, vào năm 2012, Linux kernel trở thành một phần chính thức của GNU Project với Linux-libre, một biến thể của Linux với tất cả các thành phần độc quyền được loại bỏ.[45]
Với bản phát hành Debian GNU/Hurd 2015 ngày 30/4/2015,[46][47] GNU OS hiện cung cấp các thành phần để hợp lại thành một hệ điều hành mà người dùng có thể cài đặt và sử dụng trên máy tính.[48][49][50] Việc này bao gồm hạt nhân GNU Hurd, hiện đang ở trạng thái tiền phát hành. Trang trạng thái Hurd nói rằng "nó có thể chưa sẵn sàng để đưa vào sử dụng, vì vẫn còn một số lỗi và thiếu tính năng. Tuy nhiên, đây phải là cơ sở tốt để phát triển thêm và sử dụng ứng dụng không quan trọng."[48]
Do Hurd chưa sẵn sàng để đưa vào sử dụng, trong thực tế, các hệ điều hành này là các bản phân phối Linux. Chúng chứa nhân Linux, các thành phần GNU và phần mềm từ nhiều dự án phần mềm tự do khác. Nhìn vào tất cả các mã chương trình có trong bản phân phối Ubuntu Linux vào năm 2011, GNU bao gồm 8% (13% trong GNOME) và Linux kernel 6% (tăng lên 9% khi bao gồm các phụ thuộc trực tiếp của nó).[51]
Các hạt nhân khác như FreeBSD cũng hoạt động cùng với phần mềm GNU để tạo thành một hệ điều hành hoạt động.[52] FSF cho trì rằng một hệ điều hành được xây dựng bằng nhân Linux và các công cụ và tiện ích GNU, nên được coi là một biến thể của GNU và thúc đẩy thuật ngữ GNU/Linux cho các hệ thống đó (dẫn đến tranh cãi về đặt tên GNU/Linux).[53][54][55] GNU Project đã phê duyệt các bản phân phối Linux, như gNewSense, Trisquel và Parabola GNU/Linux-libre.[56] Các biến thể GNU khác không sử dụng Hurd làm hạt nhân bao gồm Debian GNU/kFreeBSD và Debian GNU/NetBSD, mang lại kết quả ban đầu cho GNU trên kernel BSD.
GNU Project khuyến nghị rằng những người đóng góp gán bản quyền cho các gói GNU cho Quỹ phần mềm tự do,[57][58] mặc dù Quỹ phần mềm tự do cho rằng có thể chấp nhận phát hành các thay đổi nhỏ cho một dự án hiện theo Phạm vi công cộng.[59] Tuy nhiên, điều này là không bắt buộc; các nhà bảo trì gói có thể giữ bản quyền đối với các gói GNU mà họ duy trì, mặc dù chỉ có chủ bản quyền mới có thể thực thi giấy phép được sử dụng (như GNU GPL), nên người giữ bản quyền trong trường hợp này thi hành nó thay vì Free Software Foundation.[60]
Để phát triển phần mềm cần thiết, Stallman đã viết một giấy phép gọi là GNU General Public License (ban đầu gọi là Emacs General Public License), với mục tiêu đảm bảo người dùng tự do chia sẻ và tự do thay đổi phần mềm.[61] Stallman đã viết giấy phép này sau kinh nghiệm của mình với James Gosling và một chương trình có tên UniPress, về một cuộc tranh cãi xung quanh việc sử dụng mã phần mềm trong chương trình GNU Emacs.[62][63] Trong hầu hết những năm 1980, mỗi gói GNU có giấy phép riêng: Emacs General Public License, GCC General Public License, v.v. Năm 1989, FSF đã xuất bản một giấy phép duy nhất mà có thể sử dụng cho tất cả phần mềm của mình có thể được sử dụng bởi các dự án không phải GNU: GNU General Public License (GPL).[62][64]
Giấy phép này hiện được sử dụng bởi hầu hết các phần mềm GNU, cũng như một số lượng lớn các chương trình phần mềm tự do không phải là một phần của GNU Project; nó cũng là giấy phép phần mềm tự do được sử dụng phổ biến nhất.[65] Nó cho phép tất cả những người nhận chương trình có quyền chạy, sao chép, sửa đổi và phân phối chương trình đó, đồng thời cấm họ áp đặt các hạn chế hơn nữa đối với bất kỳ bản sao nào họ phân phối. Ý tưởng này thường được gọi là copyleft.[66]
Năm 1991, giấy phép GNU Lesser General Public License (LGPL), sau đó được gọi là Library General Public License, được viết cho GNU C Library để cho phép nó được liên kết với phần mềm độc quyền.[67] Năm 1991 phiên bản 2 của GNU GPL cũng được phát hành. GNU Free Documentation License (FDL), cho tài liệu, ra mắt vào năm 2000.[68] GPL và LGPL đã được sửa đổi thành phiên bản 3 năm 2007, thêm các điều khoản để bảo vệ người dùng chống lại các hạn chế phần cứng ngăn người dùng chạy phần mềm đã sửa đổi trên thiết bị của họ.[69]
Bên cạnh các gói riêng của GNU, giấy phép của Dự án GNU được sử dụng bởi nhiều dự án không liên quan, chẳng hạn như Linux kernel, thường được sử dụng với phần mềm GNU. Một số ít các phần mềm được sử dụng bởi hầu hết các bản phân phối Linux, chẳng hạn như X Window System, được cấp phép theo giấy phép phần mềm tự do.
Logo của GNU là một chiếc đầu gnu. nan đầu được vẽ bởi Etienne Suvasa, một phiên bản táo bạo và đơn giản hơn được thiết kế bởi Aurelio Heckert hiện được ưa thích.[70][71] Nó xuất hiện trong phần mềm GNU và trong tài liệu in và điện tử của GNU Project, và cũng được sử dụng trong các tài liệu của Tổ chức phần mềm tự do.
Hình ảnh hiển thị ở đây là một phiên bản sửa đổi của logo chính thức. Nó được tạo bởi Quỹ phần mềm miễn phí vào tháng 9 năm 2013 để kỷ niệm 30 năm GNU Project.[72]
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.
|lay-url=
(trợ giúp).
...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.
Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as "Linux", they are more accurately called "GNU/Linux systems".
Debian port to Hurd...: The GNU Hurd is a totally new operating system being put together by the GNU group.
GNU is an operating system that offers a set of free open source programs.
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.
|newsgroup=
(trợ giúp); Đã bỏ qua tham số không rõ |message-id=
(trợ giúp)
|journal=
(trợ giúp)
Both C and Lisp will be available as system programming languages.
RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.Đã bỏ qua tham số không rõ
|newsgroup=
(trợ giúp)
Các tổ chức công nghệ thông tin quốc tế (sửa) |
Các tổ chức phần mềm tự do và nguồn mở: GNU | |