Dự Án GNU Và Richard Stallman (RMS): Triết Lý Tự Do Phần Mềm, Kiến Trúc Hệ Thống Và Cuộc Hội Tụ Lịch Sử Với Linux
Bài phân tích này được cấu trúc thành mười phần theo đúng trọng tâm tư tưởng và kỹ thuật:bảy phần đầu đi sâu vào triết lý, lý tưởng đạo đức,ba phần sau tập trung phân tích kiến trúc, cuộc gặp gỡ lịch sử với nhân Linux
Trong lịch sử khoa học máy tính, ít có dự án nào vừa tạo ra nền móng kỹ thuật cho toàn bộ hạ tầng điện toán hiện đại, vừa khởi xướng một cuộc cách mạng đạo đức và pháp lý sâu rộng như Dự án GNU do Richard Matthew Stallman (RMS) sáng lập vào năm 1983. Khác với những dự án phần mềm thuần túy nhắm tới hiệu năng hay thị phần, GNU ngay từ giây phút đầu tiên đã được định vị như một phong trào xã hội nhằm bảo vệ quyền tự chủ của con người trước quyền lực độc quyền của mã nguồn đóng.
Bài phân tích này được cấu trúc thành mười phần theo đúng trọng tâm tư tưởng và kỹ thuật: bảy phần đầu đi sâu vào triết lý, lý tưởng đạo đức và cuộc đời hoạt động của Richard Stallman; ba phần sau tập trung phân tích kiến trúc hệ điều hành GNU, cuộc gặp gỡ lịch sử với nhân Linux và vị thế của GNU trong kỷ nguyên điện toán đương đại.
Phần I: Bối cảnh ra đời và sự rạn nứt của văn hóa Hacker tại MIT AI Lab
Để hiểu được ngọn nguồn tư tưởng của Richard Stallman, cần quay trở lại thập niên 1970 tại Phòng thí nghiệm Trí tuệ Nhân tạo của Viện Công nghệ Massachusetts (MIT AI Lab). Ở thời kỳ đó, phần mềm chưa được coi là một hàng hóa độc quyền tách rời khỏi phần cứng; việc chia sẻ mã nguồn là chuẩn mực tự nhiên của giới lập trình viên hàn lâm — những người tự gọi mình là hacker theo nghĩa nguyên thủy là những người say mê lập trình và khám phá sự khéo léo kỹ thuật. Trong hồi ký chính thức trên About the GNU Project, Richard Stallman nhớ lại bầu không khí cộng đồng ấy:
"When I started working at the MIT Artificial Intelligence Lab in 1971, I became part of a software-sharing community that had existed for many years. Sharing of software was not limited to our particular community; it is as old as computers, just as sharing of recipes is as old as cooking. But we did it more than most."
Tại MIT AI Lab, Stallman làm việc với hệ điều hành chia sẻ thời gian ITS (Incompatible Timesharing System) chạy trên máy tính lớn Digital PDP-10, đồng thời phát triển trình soạn thảo Emacs ban đầu trên nền TECO. Tuy nhiên, bước sang đầu thập niên 1980, cấu trúc cộng đồng này sụp đổ nhanh chóng khi hãng Digital ngừng dòng PDP-10, công ty thương mại Symbolics lôi kéo phần lớn các hacker của phòng thí nghiệm, và các hệ điều hành mới đều đi kèm thỏa thuận không tiết lộ (Non-Disclosure Agreement — NDA).
Một bước ngoặt mang tính biểu tượng đối với Stallman là sự cố với chiếc máy in laser Xerox tại phòng thí nghiệm: phần mềm điều khiển máy in gặp lỗi kẹt giấy mà không gửi thông báo qua mạng cho người dùng, nhưng khi Stallman đề nghị cung cấp mã nguồn để tự sửa lỗi như từng làm với các máy in đời trước, ông bị từ chối vì mã nguồn đã bị khóa chặt bởi thỏa thuận bảo mật thương mại. Mô tả về sự sụp đổ của tinh thần cộng đồng trước làn sóng độc quyền hóa phần mềm đầu thập niên 1980, Stallman viết trong About the GNU Project:
"The modern computers of the era, such as the VAX or the 68020, had their own operating systems, but none of them were free software: you had to sign a nondisclosure agreement even to get an executable copy."
Đối với Stallman, yêu cầu ký vào một thỏa thuận không chia sẻ phần mềm với đồng nghiệp không chỉ là một thủ tục pháp lý, mà là sự ép buộc phản bội tình bằng hữu và đạo đức nghề nghiệp.
Phần II: Tuyên ngôn GNU (1985) và quyết định từ bỏ MIT để bảo vệ tính tự do
Đứng trước ngã ba đường vào năm 1983 hoặc chấp nhận gia nhập ngành công nghiệp phần mềm độc quyền, hoặc rời bỏ ngành khoa học máy tính, hoặc tự tay xây dựng một hệ điều hành hoàn toàn tự do để tái lập cộng đồng chia sẻ — Stallman đã chọn con đường thứ ba. Ngày 27 tháng 9 năm 1983, ông công bố kế hoạch phát triển hệ điều hành GNU (từ viết tắt đệ quy của "GNU's Not Unix").
Đến tháng 1 năm 1984, Stallman đưa ra một quyết định mang tính hy sinh cá nhân sâu sắc: từ chức khỏi vị trí nhân viên nghiên cứu tại MIT để trường đại học này không có bất kỳ cơ sở pháp lý nào để tuyên bố quyền sở hữu trí tuệ hoặc áp đặt các điều khoản độc quyền lên mã nguồn GNU. Trong bản The GNU Manifesto xuất bản năm 1985, Stallman giải thích động cơ đạo đức này dựa trên "Quy tắc Vàng" (Golden Rule):
"I consider that the Golden Rule requires that if I like a program I must share it with other people who like it. Software sellers want to divide the users and conquer them, making each user agree not to share with others. I refuse to break solidarity with other users in this way. I cannot in good conscience sign a nondisclosure agreement or a software license agreement."
Trong cùng văn kiện lịch sử này, Stallman lý giải vì sao việc sao chép và chia sẻ chương trình là quyền tự nhiên gắn liền với bản chất của tri thức nhân loại chứ không phải hành vi tội phạm như các tập đoàn phần mềm tuyên truyền. Ông viết trong The GNU Manifesto:
"Copying all or parts of a program is as natural to a programmer as breathing, and as productive. It ought to be as free."
Tuyên ngôn GNU không chỉ là bản kế hoạch kỹ thuật cho một hệ điều hành tương thích Unix, mà còn là một luận cương triết học xã hội: phần mềm độc quyền tạo ra sự khan hiếm nhân tạo đối với một tài nguyên có chi phí sao chép gần bằng không, qua đó chia rẽ người dùng và đặt nhà phát triển vào thế đối đầu với cộng đồng.
Phần III: Định nghĩa Phần mềm Tự do và Bốn quyền tự do thiết yếu
Trọng tâm trong hệ thống lý luận của Richard Stallman và Dự án GNU là khái niệm Phần mềm Tự do (Free Software). Vì từ "free" trong tiếng Anh vừa mang nghĩa "tự do" vừa mang nghĩa "miễn phí", Stallman luôn nhấn mạnh sự phân biệt rạch ròi giữa quyền tự do và giá cả bằng câu châm ngôn kinh điển trên What is Free Software?:
"Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”"
Theo định nghĩa chuẩn mực của Dự án GNU tại What is Free Software?, một chương trình chỉ được công nhận là phần mềm tự do nếu người dùng được trao trọn vẹn bốn quyền tự do thiết yếu sau đây:
Quyền tự do 0 (Freedom 0): Tự do chạy chương trình theo ý muốn, vì bất kỳ mục đích gì.
Quyền tự do 1 (Freedom 1): Tự do nghiên cứu cách chương trình hoạt động và thay đổi nó để thực hiện việc tính toán theo ý muốn của người dùng (quyền tiếp cận mã nguồn là điều kiện tiên quyết).
Quyền tự do 2 (Freedom 2): Tự do phân phối lại các bản sao để giúp đỡ người khác.
Quyền tự do 3 (Freedom 3): Tự do phân phối các bản sao của phiên bản đã sửa đổi cho người khác, giúp toàn bộ cộng đồng hưởng lợi từ những cải tiến đó.
Nguyên văn bốn quyền tự do này được quy định tại What is Free Software?:
"The freedom to run the program as you wish, for any purpose (freedom 0). The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this. The freedom to redistribute copies so you can help others (freedom 2). The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this."
Một điểm thường bị hiểu lầm nhưng được Stallman làm rõ ngay từ đầu là phần mềm tự do hoàn toàn cho phép hoạt động thương mại. Người phát triển hoặc nhà phân phối có quyền bán bản sao phần mềm tự do với bất kỳ mức giá nào hoặc cung cấp dịch vụ hỗ trợ kỹ thuật có thu phí, miễn là người mua vẫn nhận được đầy đủ bốn quyền tự do nói trên mà không bị tước đoạt quyền tiếp tục chia sẻ hay chỉnh sửa.
Phần IV: Nguyên lý Copyleft, GNU GPL và cuộc chiến chống "Tivoization"
Nếu chỉ phát hành phần mềm vào phạm vi công cộng (public domain) hoặc dưới các giấy phép dễ dãi (permissive licenses) như giấy phép MIT/X11 ban đầu, một nguy cơ lớn sẽ nảy sinh: các công ty thương mại có thể lấy mã nguồn tự do, sửa đổi đôi chút rồi đóng gói lại thành sản phẩm độc quyền và tước đi quyền tự do của người dùng cuối. Stallman đã chứng kiến kịch bản này xảy ra trực tiếp với hệ thống cửa sổ X Window System do MIT phát triển, khi các hãng Unix thương mại tích hợp X vào hệ thống của họ dưới dạng nhị phân đóng.
Để ngăn chặn hiện tượng "tư nhân hóa thành quả chung", Stallman đã sáng tạo ra cơ chế pháp lý mang tên Copyleft (lấy cảm hứng từ câu đùa "Copyleft—all rights reversed" trên phong bì thư của Don Hopkins gửi cho ông năm 1984–1985) và hiện thực hóa nó thông qua giấy phép GNU General Public License (GNU GPL) phát hành lần đầu năm 1989. Trên About the GNU Project, Stallman giải thích bản chất của Copyleft:
"Copyleft uses copyright law, but flips it over to serve the opposite of its usual purpose: instead of a means for restricting a program, it becomes a means for keeping the program free."
Cơ chế này buộc bất kỳ ai phân phối lại phần mềm được cấp phép GPL — dù nguyên bản hay đã chỉnh sửa đều phải giữ nguyên giấy phép GPL và cung cấp mã nguồn cho người nhận. Nhờ tính chất "lan truyền tự do" này, kho tài sản chung của cộng đồng chỉ có thể mở rộng chứ không bao giờ bị các bên trung gian thu hẹp lại thành mã đóng.
Bước sang thập niên 2000, sự phát triển của thiết bị nhúng đã tạo ra một kẽ hở mới đối với GPLv2: các nhà sản xuất phần cứng như TiVo sử dụng nhân Linux (cấp phép GPLv2) và công bố mã nguồn đúng quy định, nhưng lại tích hợp cơ chế kiểm tra chữ ký số trong phần cứng khiến thiết bị từ chối khởi động nếu người dùng cài đặt phiên bản phần mềm do chính họ biên dịch lại. Stallman gọi hiện tượng này là "Tivoization" (Tivo hóa) và coi đó là sự biến quyền tự do số 1 thành hình thức sáo rỗng. Để bịt lỗ hổng này, Stallman và FSF đã ban hành GPLv3 vào năm 2007 với điều khoản cấm Tivoization trên các sản phẩm tiêu dùng. Trong bài viết Why Upgrade to GPLv3, Stallman khẳng định:
"Tivoization is the way they deny you that freedom; to protect your freedom, GPLv3 forbids tivoization."
Tuy nhiên, chính điều khoản chống Tivoization của GPLv3 đã dẫn đến sự bất đồng triết lý sâu sắc giữa Richard Stallman và Linus Torvalds người kiên quyết giữ nhân Linux ở giấy phép GPLv2 vì cho rằng giấy phép phần mềm chỉ nên điều chỉnh bản thân mã nguồn chứ không nên can thiệp vào quyền thiết kế phần cứng của nhà sản xuất.
Phần V: Quỹ Phần mềm Tự do (FSF) và các chiến dịch bảo vệ chủ quyền số
Khi dự án GNU phát triển vượt ra ngoài quy mô nỗ lực cá nhân, vào tháng 10 năm 1985, Richard Stallman cùng các cộng sự đã thành lập Quỹ Phần mềm Tự do (Free Software Foundation — FSF) một tổ chức phi lợi nhuận tại Boston nhằm huy động nguồn lực tài chính, thuê lập trình viên toàn thời gian phát triển các thành phần cốt lõi của GNU và bảo vệ quyền lợi pháp lý cho cộng đồng phần mềm tự do. Sứ mệnh cốt lõi của tổ chức được khẳng định tại The GNU Manifesto:
"“The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom. We defend the rights of all software users.”"
Trong suốt bốn thập kỷ, FSF dưới sự dẫn dắt tư tưởng của Stallman không chỉ dừng lại ở việc viết mã nguồn mà còn mở rộng mặt trận đấu tranh sang các chính sách công nghệ vĩ mô:
Chống bằng sáng chế phần mềm (Software Patents): Stallman cảnh báo bằng sáng chế thuật toán tạo ra những "bãi mìn pháp lý" ngăn cản lập trình viên viết phần mềm tự do trong suốt 20 năm, tiêu biểu như cuộc khủng hoảng bằng sáng chế thuật toán nén LZW (định dạng GIF) buộc GNU phải phát triển
gzipthay thếcompress, hay bằng sáng chế MP3 buộc cộng đồng chuyển sang Ogg Vorbis và Opus.Chống Quản lý Hạn chế Kỹ thuật số (DRM): Stallman từ chối cách gọi "Digital Rights Management" của các tập đoàn truyền thông và gọi đúng bản chất của nó là "Digital Restrictions Management" (Quản lý Hạn chế Kỹ thuật số), khởi xướng chiến dịch Defective by Design để phản đối việc phần mềm bị lập trình nhằm khóa chặt quyền kiểm soát dữ liệu của chính chủ sở hữu thiết bị.
Giấy phép Tài liệu Tự do GNU (GNU FDL): Nhận thấy một hệ điều hành tự do không thể hoàn chỉnh nếu thiếu tài liệu hướng dẫn tự do, Stallman đã xây dựng giấy phép GNU FDL để đảm bảo mọi lập trình viên khi sửa đổi phần mềm đều có quyền cập nhật và phân phối tài liệu hướng dẫn tương ứng.
Phần VI: Ranh giới đạo đức giữa "Phần mềm Tự do" và "Mã nguồn Mở"
Năm 1998 đánh dấu một cuộc chia rẽ tư tưởng lớn trong nội bộ cộng đồng. Sau khi Netscape công bố mã nguồn trình duyệt Communicator, một nhóm các nhà hoạt động thực dụng (bao gồm Eric S. Raymond và Bruce Perens) đã đề xuất thuật ngữ "Open Source" (Mã nguồn Mở) nhằm thay thế cụm từ "Free Software". Mục tiêu của họ là loại bỏ sự nhập nhằng về từ ngữ với "miễn phí" và gạt bỏ ngôn ngữ đạo đức "đúng – sai" của Stallman để dễ dàng tiếp thị mô hình phát triển mở tới các giám đốc điều hành doanh nghiệp tại Thung lũng Silicon.
Richard Stallman kiên quyết bác bỏ thuật ngữ "Mã nguồn Mở". Trong bài tiểu luận kinh điển Why Open Source Misses the Point of Free Software, ông chỉ rõ sự khác biệt căn bản về hệ giá trị giữa hai phong trào:
"The two now describe almost the same category of software, but they stand for views based on fundamentally different values. For the free software movement, free software is an ethical imperative, essential respect for the users' freedom. By contrast, the philosophy of open source considers issues in terms of how to make software “better”—in a practical sense only. It says that nonfree software is an inferior solution to the practical problem at hand."
Theo Stallman, chủ nghĩa Mã nguồn Mở chỉ coi việc mở mã nguồn là một phương pháp kỹ thuật giúp phần mềm ít lỗi hơn, mạnh mẽ hơn và hiệu quả kinh tế hơn. Hệ quả của cách tiếp cận phi đạo đức hóa này là khi một phần mềm độc quyền tỏ ra tiện lợi hơn hoặc mạnh mẽ hơn, người theo chủ nghĩa mã nguồn mở sẽ sẵn sàng chấp nhận từ bỏ tự do để đổi lấy sự tiện nghi, và thậm chí chấp nhận cả "phần mềm DRM mã nguồn mở" dùng để kiểm soát người dùng. Stallman cảnh báo rằng nếu phong trào chỉ nói về hiệu quả kỹ thuật mà im lặng về quyền tự do, cộng đồng sẽ mất đi sức đề kháng trước các cám dỗ độc quyền hóa.
Phần VII: Chân dung Richard Stallman (RMS) Người giữ lửa lý tưởng và những tranh cãi đương đại
Không thể tách rời tư tưởng của GNU khỏi nhân cách đặc biệt của Richard Stallman. Sinh ngày 16 tháng 3 năm 1953 tại Manhattan, New York, Stallman sống một cuộc đời khổ hạnh và nhất quán đến mức cực đoan với những nguyên tắc do chính mình đề ra: ông từ chối sử dụng điện thoại di động vì cho rằng đó là thiết bị theo dõi vị trí người dùng, không duyệt web trực tiếp bằng trình duyệt thông thường nếu trang web chạy mã JavaScript không tự do (ông phát triển chiến dịch The JavaScript Trap và tiện ích LibreJS), và chỉ sử dụng máy tính chạy hệ điều hành 100% phần mềm tự do từ BIOS (Libreboot) đến nhân hệ điều hành (Linux-libre).
Chính sự kiên định không khoan nhượng này đã biến RMS thành biểu tượng tinh thần của phong trào tự do số, nhưng đồng thời cũng khiến ông thường xuyên vướng vào các tranh cãi gay gắt về phong cách giao tiếp và quan điểm xã hội. Theo hồ sơ tiểu sử trên Wikipedia — Richard Stallman:
"In September 2019, Stallman resigned as president of the FSF and left his visiting scientist role at MIT after making controversial comments about the Jeffrey Epstein sex trafficking scandal related to Marvin Minsky. He remained head of the GNU Project, and in 2021 returned to the FSF board of directors and others."
Sự kiện từ chức năm 2019 và việc ông trở lại Hội đồng quản trị FSF năm 2021 đã tạo ra một cuộc tranh luận sâu sắc trong cộng đồng phần mềm tự do và mã nguồn mở toàn cầu về ranh giới giữa sự tôn kính dành cho người đặt nền móng tư tưởng với nhu cầu đổi mới văn hóa quản trị tổ chức trong thế kỷ XXI. Dẫu vậy, ngay cả những người chỉ trích Stallman gay gắt nhất cũng thừa nhận rằng nếu không có sự bướng bỉnh mang tính nguyên tắc của ông suốt bốn thập kỷ, khái niệm bản quyền mở và quyền tự do phần mềm đã không thể đứng vững trước sức ép của các tập đoàn công nghệ khổng lồ.
Phần VIII: Kiến trúc hệ điều hành GNU Từ chuỗi công cụ cốt lõi đến vi nhân GNU Hurd
Chuyển sang khía cạnh kỹ thuật, Stallman thiết kế hệ điều hành GNU theo nguyên tắc tương thích ngược với Unix nhưng không sao chép mã nguồn Unix và loại bỏ những giới hạn thiết kế lỗi thời của Unix thập niên 1970. Trong About the GNU Project, ông giải thích quan niệm kiến trúc của mình rằng một hệ điều hành thực thụ không chỉ là một nhân (kernel) đơn lẻ mà là toàn bộ môi trường làm việc hoàn chỉnh:
"An operating system does not mean just a kernel, barely enough to run other programs. In the 1970s, every operating system worthy of the name included command processors, assemblers, compilers, interpreters, debuggers, text editors, mailers, and much more. ITS had them, Multics had them, VMS had them, and Unix had them. The GNU operating system would include them too."
Về mặt kỹ thuật, các công cụ không gian người dùng (userland) của GNU đã vượt xa các tiện ích Unix thương mại cùng thời nhờ các quyết định kiến trúc táo bạo: cấp phát bộ nhớ động thay vì giới hạn bộ đệm tĩnh (tránh lỗi tràn dòng cố định), hỗ trợ đầy đủ mã ký tự 8-bit, và từ bỏ các tối ưu hóa chật hẹp cho máy 16-bit để tập trung vào kiến trúc 32-bit/64-bit hiện đại. Hệ sinh thái kiến trúc GNU bao gồm hai tầng chính:
Tầng chuỗi công cụ và môi trường hệ thống (GNU Toolchain & Userland): Gồm trình biên dịch đa ngôn ngữ đa nền tảng GCC (GNU Compiler Collection) do chính Stallman khởi xướng năm 1987, trình gỡ lỗi GDB, bộ công cụ nhị phân GNU Binutils (trình hợp dịch
as, trình liên kếtld), hệ thống xây dựng GNU Make, thư viện chuẩn C glibc (do Roland McGrath phát triển làm cầu nối mọi lệnh gọi hệ thống tới nhân), trình bao lệnh GNU Bash (do Brian Fox phát triển), bộ tiện ích cốt lõi GNU Coreutils (ls,cp,mv,rm,cat...) và trình soạn thảo mở rộng GNU Emacs.Tầng nhân vi kiến trúc đa máy chủ (GNU Hurd): Khi bắt tay vào xây dựng nhân cho hệ thống GNU vào năm 1990 dưới sự dẫn dắt của kiến trúc sư Thomas Bushnell, dự án đã chọn hướng đi tiên phong thời bấy giờ là vi nhân đa máy chủ (multiserver microkernel) chạy trên nền tảng vi nhân GNU Mach. Theo tài liệu kỹ thuật trên Wikipedia — GNU Hurd:
"The Hurd's design consists of a set of protocols and server processes (or daemons, in Unix terminology) that run on the GNU Mach microkernel. The Hurd aims to surpass the Unix kernel in functionality, security, and stability, while remaining largely compatible with it."
Kiến trúc của GNU Hurd sở hữu những ý tưởng đi trước thời đại như cơ chế Translators (Bộ dịch hệ thống tệp) cho phép người dùng thông thường gắn kết các hệ thống tệp ảo (như ftpfs hay UnionFS) ngay trong không gian người dùng mà không cần quyền quản trị root, cũng như mô hình đa định danh người dùng trên mỗi tiến trình. Tuy nhiên, việc gỡ lỗi các máy chủ đa luồng giao tiếp bất đồng bộ qua thông điệp IPC trên nền Mach đã chứng tỏ độ phức tạp vượt xa dự tính, khiến GNU Hurd mất hàng thập kỷ vẫn chưa đạt độ ổn định cho môi trường sản xuất thương mại.
Phần IX: Cuộc hội tụ lịch sử giữa GNU và nhân Linux (1991–1992)
Đến năm 1991, dự án GNU đã hoàn thiện gần như toàn bộ hệ điều hành — từ trình biên dịch GCC, thư viện glibc, trình bao Bash cho tới hàng trăm tiện ích hệ thống — chỉ còn thiếu duy nhất mảnh ghép cuối cùng là một nhân hệ điều hành ổn định vì GNU Hurd vẫn đang trong giai đoạn phát triển sơ khai.
Đúng vào thời điểm lịch sử đó, vào tháng 8 năm 1991, sinh viên khoa học máy tính người Phần Lan Linus Torvalds đã công bố nhân hệ điều hành Linux viết cho kiến trúc Intel 80386. Ban đầu Linux được phát hành dưới giấy phép cấm phân phối thương mại, nhưng đến năm 1992, Linus Torvalds đã chuyển sang phát hành nhân Linux dưới giấy phép GNU GPLv2 của Stallman. Sự kết hợp giữa nhân Linux với bộ công cụ và thư viện của hệ thống GNU đã lập tức tạo nên một hệ điều hành tự do hoàn chỉnh, có khả năng tự biên dịch chính nó thông qua GCC và chạy mượt mà trên máy tính cá nhân PC giá rẻ.
Trong bài viết About the GNU Project, Richard Stallman ghi nhận bước ngoặt lịch sử này đồng thời nhấn mạnh lý do vì sao hệ điều hành hoàn chỉnh đó phải được gọi là GNU/Linux:
"Fortunately, another kernel is available. In 1991, Linus Torvalds developed a Unix-compatible kernel and called it Linux. It was proprietary at first, but in 1992, he made it free software; combining Linux with the not-quite-complete GNU system resulted in a complete free operating system. (Combining them was a substantial job in itself, of course.) It is due to Linux that we can actually run a version of the GNU system today."
Cuộc hợp tác kỹ thuật giữa hệ sinh thái GNU và nhân Linux là một trong những sự cộng hưởng vĩ đại nhất lịch sử công nghệ: nhân Linux cung cấp khả năng quản lý phần cứng, bộ nhớ và tiến trình thực dụng, hiệu năng cao theo kiến trúc nhân nguyên khối (monolithic kernel); trong khi hệ thống GNU cung cấp toàn bộ trình biên dịch (GCC), thư viện hệ thống (glibc) và giao diện lệnh chuẩn POSIX biến nhân Linux thành một hệ điều hành có thể sử dụng được. Ngay cả trong những năm gần đây, nhân Linux vẫn mặc định được biên dịch bằng chuỗi công cụ GNU, như xác nhận trên Wikipedia — Linux kernel:
"The kernel is usually built with the GNU toolchain. The GNU C compiler, GNU cc, part of the GNU Compiler Collection (GCC), is the default compiler for mainline Linux. Sequencing is handled by GNU make."
Phần X: Hiện tại và tương lai của GNU trong kỷ nguyên đám mây, AI và sự trỗi dậy của LLVM/Clang
Bước sang thập niên 2020, hệ điều hành GNU/Linux đã trở thành xương sống không thể thay thế của thế giới số: vận hành 100% trong danh sách 500 siêu máy tính mạnh nhất thế giới (TOP500), chi phối phần lớn hạ tầng điện toán đám mây, máy chủ huấn luyện trí tuệ nhân tạo và hàng tỷ thiết bị Android/nhúng. Tuy nhiên, bản thân dự án GNU và hệ tư tưởng của Richard Stallman đang đối mặt với những chuyển dịch cấu trúc sâu sắc trong hiện tại:
Sự cạnh tranh kiến trúc từ LLVM/Clang và xu hướng giấy phép dễ dãi: Từ cuối thập niên 2000 đến nay, hệ sinh thái trình biên dịch mô-đun LLVM/Clang (cấp phép theo Apache 2.0 với ngoại lệ LLVM, không mang tính ràng buộc Copyleft như GPLv3 của GCC) đã được Apple, Google và cộng đồng FreeBSD lựa chọn làm trình biên dịch mặc định. Theo ghi nhận trên Wikipedia — Clang, lý do không chỉ nằm ở kiến trúc cây cú pháp dễ tích hợp vào IDE mà còn ở rào cản giấy phép GPLv3:
"Finally, GCC's license agreement, the GNU General Public License (GPL) version 3, requires developers who distribute extensions or modified versions of GCC to make their source code available, but LLVM's permissive software license doesn't require this. For these reasons, Apple developed Clang, a new compiler front end which supports C, Objective-C and C++."
Dù vậy, GCC vẫn giữ vững vị thế trụ cột trong thế giới máy chủ Linux, hỗ trợ nhiều kiến trúc vi xử lý nhất lịch sử và tiếp tục mở rộng sang các ngôn ngữ hiện đại như Rust (gccrs) và Go (gccgo).
Sự phân mảnh trong không gian người dùng nhúng và container: Trong các môi trường container siêu nhẹ (như Alpine Linux) hay thiết bị IoT, các giải pháp thay thế gọn nhẹ như
musl libcvàBusyBoxthường được dùng thay choglibcvàGNU Coreutilsnhằm giảm dung lượng bộ nhớ. Đồng thời, trong thế giới nhúng thương mại, hiện tượng Tivoization và phần sụn độc quyền (binary blobs) vẫn phổ biến bất chấp nỗ lực của các bản phân phối 100% tự do như GNU Guix, Trisquel hay Parabola.Thách thức của kỷ nguyên SaaSS và AI tạo sinh: Trong thời đại điện toán đám mây và trí tuệ nhân tạo, phần mềm ngày càng ít được phân phối dưới dạng bản cài đặt trên máy cá nhân mà chạy trực tiếp trên máy chủ của nhà cung cấp — mô hình mà Stallman gọi là SaaSS (Service as a Software Substitute — Dịch vụ thay thế phần mềm), vốn tước đoạt hoàn toàn quyền kiểm soát tính toán của người dùng ngay cả khi máy chủ đó đang chạy trên nền GNU/Linux. Để ứng phó, FSF đã phát triển giấy phép GNU Affero GPL (AGPLv3) buộc các dịch vụ mạng phải công bố mã nguồn nếu sửa đổi phần mềm chạy trên máy chủ.
Nhìn lại chặng đường hơn bốn thập kỷ, dự án GNU và Richard Stallman đã chứng minh rằng một lý tưởng đạo đức kiên định có thể kiến tạo nên những công cụ kỹ thuật bền bỉ nhất của nhân loại. Dù phần lớn người dùng đám mây hay lập trình viên ngày nay gọi hệ thống của mình đơn giản là "Linux" hoặc "mã nguồn mở", từng dòng lệnh bash, từng tệp nhị phân biên dịch qua gcc và từng lời gọi hệ thống qua glibc vẫn đang vận hành dựa trên nền móng tư tưởng và kiến trúc mà Stallman đặt viên gạch đầu tiên từ năm 1983.
Tài liệu tham khảo và nguồn xác thực
Richard Stallman — Dự án GNU (Tuyên ngôn sáng lập 1985): The GNU Manifesto - GNU Project - Free Software Foundation — Văn kiện gốc công bố năm 1985 trình bày lý do khởi xướng hệ điều hành GNU, nguyên tắc chia sẻ mã nguồn và quyết định từ chức khỏi MIT.
Richard Stallman — Dự án GNU (Hồi ký lịch sử chính thức): About the GNU Project - GNU Project - Free Software Foundation — Tài liệu lịch sử toàn diện ghi lại bối cảnh MIT AI Lab thập niên 1970, sự cố máy in Xerox, quá trình phát triển GNU Emacs, GCC, glibc, Bash, GNU Hurd và cuộc hội tụ với nhân Linux năm 1991–1992.
Dự án GNU — Quỹ Phần mềm Tự do (Định nghĩa chuẩn mực): What is Free Software? - GNU.org — Tài liệu quy định chính thức Bốn quyền tự do thiết yếu (Freedom 0, 1, 2, 3), khái niệm Copyleft và ranh giới giữa phần mềm tự do với phần mềm độc quyền.
Richard Stallman — Dự án GNU (Luận điểm về tranh luận tên gọi): Linux and GNU - GNU Project - Free Software Foundation — Bài phân tích làm rõ vai trò kiến trúc của hệ thống GNU và nhân Linux trong hệ điều hành hoàn chỉnh GNU/Linux.
Richard Stallman — Dự án GNU (Phân tích triết lý Free Software vs. Open Source): Why Open Source Misses the Point of Free Software - GNU Project — Tiểu luận cốt lõi phân tích sự khác biệt hệ giá trị đạo đức giữa phong trào Phần mềm Tự do và phong trào Mã nguồn Mở từ năm 1998.
Richard Stallman — Dự án GNU (Phân tích giấy phép GPLv3): Why Upgrade to GPLv3 - GNU Project - Free Software Foundation — Tài liệu giải thích cơ chế chống Tivoization, bảo vệ quyền tự do sửa đổi trên thiết bị phần cứng tiêu dùng và phòng vệ trước bằng sáng chế phần mềm.
Wikipedia (Hồ sơ tiểu sử Richard Stallman): Richard Stallman - Wikipedia — Nguồn tổng hợp được kiểm chứng về tiểu sử RMS, các đóng góp kỹ thuật (Emacs, GCC, GDB, GPL), các chiến dịch vận động chính sách và diễn biến nhân sự tại FSF giai đoạn 2019–2021.
Wikipedia (Lịch sử và kiến trúc vi nhân GNU Hurd): GNU Hurd - Wikipedia — Nguồn tư liệu kỹ thuật về kiến trúc vi nhân đa máy chủ chạy trên GNU Mach, cơ chế translators và quá trình phát triển từ năm 1990.
Wikipedia (Tranh luận Tivoization và GPLv3): Tivoization - Wikipedia — Nguồn ghi chép lịch sử về khái niệm Tivoization, vụ việc TiVo DVR và bất đồng quan điểm cấp phép giữa Richard Stallman và Linus Torvalds.
Wikipedia (Chuỗi công cụ biên dịch của nhân Linux): Linux kernel - Wikipedia — Nguồn xác thực mối quan hệ kỹ thuật giữa nhân Linux và chuỗi công cụ GNU (GCC, GNU make, GNU Binutils).
Wikipedia (Trình biên dịch GCC và hệ sinh thái LLVM/Clang): GNU Compiler Collection - Wikipedia và Clang - Wikipedia — Nguồn đối chiếu lịch sử phát triển của GCC từ năm 1987 và sự cạnh tranh kiến trúc, giấy phép với LLVM/Clang trong kỷ nguyên hiện đại.
Đang tải bình luận…