Quay lại
2025/03/27
9. Xem xét quyết định giữ lại mã nguồn của Red Hat
Trong bài đăng blog ngày 21 tháng 6 năm 2023, “Tiếp tục phát triển CentOS Stream ,” Red Hat đã thông báo rằng họ sẽ giới hạn việc phát hành mã nguồn của Red Hat Enterprise Linux (RHEL) chỉ cho khách hàng và đối tác.
Kể từ đó, chủ đề này đã được nhiều trang tin tức đề cập, và các nhà cung cấp cùng cộng đồng phát triển các bản sao RHEL, như Oracle, AlmaLinux và Rocky Linux, đã phản ứng mạnh mẽ với quyết định này.
Thông báo của Red Hat có ý nghĩa gì? Tại sao nó lại gây ra phản ứng mạnh mẽ như vậy? Để hiểu rõ, bạn cần biết lịch sử của Linux, cách các bản phân phối được phát triển và các giấy phép liên quan.
Tại đây, chúng ta sẽ xem xét một cách đơn giản về sự xáo trộn gần đây này, bao gồm ý nghĩa của thông báo của Red Hat, phản ứng của các công ty khác và dự đoán về xu hướng tương lai.
Hiểu thông báo của Red Hat
Để hiểu thông báo này, bạn cần hiểu về CentOS Stream. Hãy cùng xem xét thông báo này trong khi giới thiệu về CentOS Stream.
Các thông báo liên quan đến CentOS của Red Hat/IBM
Để hiểu bức tranh toàn cảnh, hãy cùng nhìn lại tình hình của CentOS.
- 2004: Phát hành đầu tiên của CentOS
- 2014: Red Hat mua lại CentOS
- 2019: IBM mua lại Red Hat
- 2020: Dự án CentOS sẽ bị ngừng lại
- 2021: Để phản ứng với việc ngừng phát triển CentOS, cộng đồng đã ra mắt AlmaLinux và Rocky Linux
- 2023: Mã nguồn RHEL chỉ có sẵn cho khách hàng và đối tác
CentOS có một lịch sử lâu đời đáng ngạc nhiên, bắt đầu từ phiên bản 2.0 vào năm 2004. Vào thời điểm đó, có nhiều bản phân phối tương thích với RHEL, và nó chưa được thiết lập như ngày nay. Đặc biệt, Scientific Linux đã được sử dụng trong nhiều năm và tồn tại cho đến năm 2020. Oracle Linux được phát hành vào năm 2006.
Vào năm 2014, Red Hat mua lại CentOS, vốn là một dự án độc lập cho đến lúc đó. Có cả ưu và nhược điểm, nhưng tôi nhớ rằng có nhiều tiếng nói hoan nghênh điều này, đặc biệt là vì việc phát hành CentOS vào thời điểm đó hơi bị trì hoãn.
Vào năm 2019, IBM mua lại Red Hat. Như các bạn đều biết, CentOS đã trải qua một sự thay đổi lớn kể từ thời điểm này.
Kết thúc CentOS và chuyển sang CentOS Stream
Điểm khởi đầu của sự thay đổi lớn là thông báo về việc kết thúc dự án CentOS vào năm 2020. Như đã đề cập trước đây trong “Phần 8: Chuyển từ CentOS sang Oracle Linux ,” dự án CentOS đã kết thúc và được thay thế bởi CentOS Stream (hỗ trợ cho CentOS 7 sẽ kết thúc vào ngày 30 tháng 6 năm 2024, và CentOS 8 đã kết thúc).
Lý do nó gây ra sự xôn xao là vì CentOS Stream được định vị là upstream của RHEL.
Cho đến nay, CentOS rất phổ biến như một bản phân phối miễn phí tương thích với RHEL. Tuy nhiên, với sự xuất hiện của CentOS Stream, nó không còn có thể được gọi là bản phân phối tương thích với RHEL nữa. Ngoài ra, CentOS Stream sử dụng phương pháp phát hành liên tục (rolling release). Do đó, nó luôn yêu cầu phải được cập nhật, khiến việc sử dụng trong môi trường sản xuất trở nên khó khăn.
Đây được gọi là “cú sốc CentOS.”
Thông báo của Red Hat
Red Hat đã công bố hai bài blog sau liên quan đến việc tiết lộ mã nguồn:
- 2023/06/21 Tiếp tục phát triển CentOS Stream
- 2023/06/26 Cam kết của Red Hat với mã nguồn mở: Phản hồi về các thay đổi trên git.centos.org
Trước tiên, chúng tôi sẽ giới thiệu những phần quan trọng của “Tiếp tục phát triển CentOS Stream “. Vì nhiều bài báo tin tức đã giải thích chi tiết, chúng tôi đã rút ngắn ở đây để ưu tiên sự rõ ràng hơn là độ chính xác của bản dịch.
Khi cộng đồng CentOS Stream phát triển và thế giới phần mềm doanh nghiệp đối mặt với những động lực mới, chúng tôi muốn tập trung mạnh mẽ hơn vào CentOS Stream như là xương sống của sự đổi mới Linux doanh nghiệp. Chúng tôi đang tiếp tục đầu tư và tăng cường cam kết của mình với CentOS Stream.
Khi cộng đồng CentOS Stream phát triển và phần mềm doanh nghiệp đón nhận những động lực mới, chúng tôi sẽ tiếp tục đầu tư và củng cố nỗ lực của mình vào CentOS Stream.
Red Hat đã thể hiện cam kết của mình với CentOS Stream, và trong đoạn trước, họ cho biết một số người hoan nghênh việc phát hành nhanh các bản upstream.
CentOS Stream đã nổi lên như một lựa chọn năng động và hướng tới tương lai. Một số người có thể hoan nghênh điều đó. Tuy nhiên, điều quan trọng cần nhớ là cũng có nhu cầu downstream với sự tương thích hoàn toàn với RHEL. Đặc biệt đối với việc sử dụng trong doanh nghiệp, sự ổn định thường quan trọng hơn sự thay đổi và tư duy tiến bộ.
CentOS Stream giờ đây sẽ là kho lưu trữ duy nhất cho các bản phát hành mã nguồn liên quan đến RHEL công khai. Đối với khách hàng và đối tác của Red Hat, mã nguồn vẫn sẽ có sẵn qua Cổng khách hàng Red Hat.
CentOS Stream sẽ là kho lưu trữ duy nhất cho các bản phát hành mã nguồn công khai liên quan đến RHEL từ nay về sau, và khách hàng cùng đối tác của Red Hat sẽ tiếp tục có quyền truy cập mã nguồn qua Cổng khách hàng Red Hat.
Bản gốc cũng in đậm phần này. Đây là cách nói vòng vo, nhưng nói một cách đơn giản, nó có nghĩa là “Mã nguồn CentOS Stream sẽ được công khai, nhưng mã nguồn RHEL sẽ không được công khai.”
Tiếp theo là “Cam kết của Red Hat với mã nguồn mở: Phản hồi về các thay đổi trên git.centos.org .”
Đây là tóm tắt nửa đầu bài viết. Bản gốc khá dài nên đã được lược bỏ.
Red Hat áp dụng mô hình phát triển mã nguồn mở, và việc phát triển tính năng mới, sửa lỗi, vá lỗi ngược dòng, cùng nhiều bài kiểm tra khác nhau gây ra nhiều chi phí. Ngoài ra, việc luôn quản lý 3 đến 4 bản phát hành lớn và vá lỗi ngược dòng cho mã có tuổi đời từ 5 đến 10 năm là một nhiệm vụ khó khăn. Hơn nữa, cần phản ánh các dự án upstream như Fedora và dự án Kernel Linux.
Tôi cảm thấy phần lớn sự tức giận từ quyết định gần đây của chúng tôi về các nguồn downstream đến từ những người không muốn trả tiền cho thời gian, công sức và tài nguyên dành cho RHEL hoặc những người muốn đóng gói lại nó để kiếm lợi nhuận riêng. Nhu cầu về mã RHEL này là không trung thực.
Tôi rất phẫn nộ trước sự không trung thực của các bản phân phối tương thích với RHEL, những người chỉ đơn giản là xây dựng lại mã nguồn RHEL mà không đóng góp gì cho nó.
Có sự lên án về việc sử dụng miễn phí ở đây.
Phần mềm mã nguồn mở đã phát triển vì nhiều lý do. Lý do lớn nhất có lẽ là lợi ích cho người dùng, chẳng hạn như việc có thể sử dụng miễn phí hoặc với chi phí thấp, và không có sự khóa nhà cung cấp vì mã nguồn được công khai. Tuy nhiên, cũng có lợi ích cho các nhà phát triển. Chất lượng được cải thiện khi nhiều người dùng báo cáo lỗi hơn, sự phát triển tiến triển khi số lượng thành viên phát triển tăng lên, và số lượng người dùng tăng khi tài liệu và thông tin kỹ thuật được cung cấp bằng nhiều ngôn ngữ.
Trong những năm gần đây, việc sử dụng miễn phí đã trở thành vấn đề trên các đám mây lớn như Amazon Web Services. Redis, Elasticsearch, MongoDB và các dịch vụ khác đã thay đổi giấy phép để phản đối việc sử dụng miễn phí trên các đám mây lớn.
Chúng tôi cũng cung cấp đăng ký Nhà phát triển Red Hat và Red Hat Enterprise Linux (RHEL) cho Cơ sở hạ tầng mã nguồn mở miễn phí. Đăng ký nhà phát triển cung cấp RHEL miễn phí cho các nhà phát triển và cho phép sử dụng tối đa 16 hệ thống, một lần nữa, miễn phí. Điều này có thể được cá nhân sử dụng cho công việc của họ và khách hàng RHEL sử dụng cho công việc của nhân viên của họ.
Chúng tôi cung cấp Đăng ký Nhà phát triển Red Hat và Red Hat Enterprise Linux cho Cơ sở hạ tầng mã nguồn mở (dịch vụ cho cộng đồng phát triển mã nguồn mở) miễn phí.
Mặc dù các điều khoản sử dụng khá hạn chế, RHEL vẫn cung cấp chương trình miễn phí cho một số người dùng.
Tại sao lại nhận được phản ứng mạnh mẽ như vậy?
Nguyên nhân của sự náo động này là “CentOS, vốn có thể được sử dụng miễn phí và tương thích với RHEL, sẽ không còn tồn tại” và “Mã nguồn liên quan đến RHEL ngoài CentOS Stream sẽ không được công khai”. Hãy đào sâu hơn một chút về điều này. Chúng tôi sẽ giải thích cách tạo một bản phân phối tương thích với RHEL và GPL.
Cách tạo một bản phân phối tương thích với RHEL
Sơ đồ dưới đây cho thấy cách tạo một bản phân phối tương thích với RHEL. Các bản phân phối tương thích với RHEL được phát triển dựa trên mã nguồn (SRPM) của RHEL hoặc CentOS. Nhiều bản phân phối dựa trên CentOS, vốn không có hạn chế bản quyền và dễ sửa đổi.
Vấn đề là làm thế nào để tạo ra nó trong tương lai. Mã nguồn của RHEL bị giới hạn cho những người dùng nhất định như khách hàng và đối tác. Chỉ có CentOS Stream trở thành kho lưu trữ mã nguồn mà mọi người đều có thể truy cập. Tuy nhiên, CentOS Stream là upstream của RHEL. Việc xây dựng lại mã nguồn CentOS Stream sẽ không làm cho nó tương thích với RHEL.
GPL và Thỏa thuận Doanh nghiệp RED HAT
Nhân Linux là một chương trình được cấp phép dưới GPL v2. Một số người có thể nghĩ rằng việc không phát hành mã nguồn là lạ vì Linux là GPL. Dưới đây là giải thích ngắn gọn về GPL và Thỏa thuận Doanh nghiệp RED HAT, điều quan trọng để hiểu giấy phép RHEL.
GPL là một giấy phép rất mạnh với các đặc điểm sau: Các điều khoản GPL đã được dịch sang tiếng Nhật bởi các tình nguyện viên, nhưng một số phần khó hiểu và có thể diễn giải khác nhau, vì vậy hãy nghĩ về nó một cách đại khái như sau.
- Cho phép sử dụng thương mại
- Tác giả không chịu trách nhiệm
- Bao gồm thông báo bản quyền và không có bảo hành.
- Mã nguồn phải được công khai khi phân phối
- Nếu bạn tạo phần mềm sử dụng toàn bộ hoặc một phần của chương trình được cấp phép dưới GPL, bạn cũng phải phân phối nó dưới GPL.
Phần quan trọng cần lưu ý là phần nói rằng “Có nghĩa vụ công khai mã nguồn tại thời điểm phân phối”. Cách hiểu chung của điều này là “bất kỳ ai có mã đối tượng (mã nhị phân) đều có quyền nhận mã nguồn.” Tuy nhiên, cũng có thể nói rằng “bất kỳ ai không có mã đối tượng thì không có quyền nhận mã nguồn.”
Để đưa ra một ví dụ cụ thể, giả sử một công ty phát triển một chương trình sử dụng phần mềm GPL đã sửa đổi chỉ trong nội bộ công ty. Mặc dù phần mềm này là GPL, nó không được công khai, vì vậy không cần phải phát hành mã nguồn, bao gồm các phần đã sửa đổi, ra công chúng.
Mặc dù GPL có các đặc điểm mạnh mẽ liên quan đến việc công khai mã nguồn, nó có các đặc điểm như trên. Do đó, Red Hat áp đặt một số hạn chế đối với khách hàng của mình bằng cách ký kết Thỏa thuận Doanh nghiệp Red Hat với họ. Mặc dù chúng tôi sẽ không đi sâu vào nội dung của Thỏa thuận Doanh nghiệp Red Hat, nó chứa nhiều điều khoản hạn chế.
Phản ứng từ các nhà cung cấp và dự án
Để phản hồi thông báo của Red Hat, các nhà cung cấp và dự án phát triển các bản phân phối tương thích với RHEL đã công bố nhiều tuyên bố khác nhau. Dưới đây là một số trong số đó.
AlmaLinux
AlmaLinux là một dự án được khởi động bởi CloudLinux, một công ty có thành tích là hệ điều hành Linux cho dịch vụ lưu trữ. Đây là bản phát hành đầu tiên sau dự án CentOS. Ba bài blog đã được công bố liên tiếp nhanh chóng.
- Ảnh hưởng của thay đổi RHEL đối với AlmaLinux
- Giá trị của chúng tôi là giá trị
- Tương lai của AlmaLinux rất sáng sủa
Tóm tắt như sau:
- Các RPM mã nguồn tương thích với RHEL khó có được hơn, nhưng các bản cập nhật bảo mật có sẵn nhanh hơn.
- Duy trì lập trường downstream của RHEL, nhưng từ bỏ tính tương thích 1:1 với RHEL, và nhắm đến tính tương thích nhị phân
- Đóng góp cho toàn bộ hệ sinh thái Linux Doanh nghiệp, bao gồm cộng đồng mã nguồn mở và các nền tảng upstream như Fedora và CentOS Stream.
Bài blog thứ hai giải thích cách theo kịp các bản cập nhật bảo mật bằng cách sử dụng OpenSSL làm ví dụ. Cybertrust (MIRACLE LINUX), công ty phát triển các bản phân phối tương thích với RHEL tại Nhật Bản, đã công bố quan hệ đối tác với CloudLinux, nhà tài trợ chính của AlmaLinux.
Rocky Linux
Rocky Linux là một dự án được thành lập bởi Gregory Kurtzer, người sáng lập dự án CentOS. Hỗ trợ được cung cấp bởi CiQ, một công ty do Gregory Kurtzer thành lập. Dự án này cũng công bố ba bài blog.
- Rocky Linux bày tỏ sự tự tin bất chấp thông báo của Red Hat
- Giữ mã nguồn mở luôn mở
- Tuyên bố liên quan đến OpenELA
Tóm tắt như sau:
- Tương thích 100% với RHEL đến mức lỗi
- Hoàn thành sứ mệnh cung cấp một bản phân phối tương thích với RHEL ổn định, lâu dài
- Đóng góp cho toàn bộ hệ sinh thái Linux Doanh nghiệp, bao gồm cộng đồng mã nguồn mở và các nền tảng upstream như Fedora và CentOS Stream.
- Mặc dù Điều khoản Dịch vụ và Thỏa thuận Người dùng Cuối của Red Hat hạn chế các quyền được cấp bởi GPL, trang web cung cấp các cách hợp pháp để lấy mã nguồn (sử dụng hình ảnh container Red Hat Universal Base Image và sử dụng các phiên bản trả theo sử dụng trên các đám mây công cộng).
- Ra mắt OpenELA, một dự án thúc đẩy Linux Doanh nghiệp, cùng với Oracle và SUSE.
Oracle
Oracle, nhà phát triển Oracle Linux, đã phát hành tin tức sau:
Một số nội dung có chút mỉa mai so với AlmaLinux và Rocky Linux, nhưng ý chính như sau:
- Đã tham gia cộng đồng Linux trong 25 năm, với mục tiêu biến nó thành hệ điều hành máy chủ miễn phí tốt nhất cho mọi người.
- Oracle phát hành Oracle Linux vào năm 2006, chọn tính tương thích với RHEL để tránh chia rẽ cộng đồng Linux.
- Chúng tôi tuân thủ GPL và công khai mã nhị phân cùng mã nguồn. Không như IBM (Red Hat), chúng tôi không can thiệp vào quyền của người dùng thông qua hợp đồng đăng ký.
- Liệu ý định không công khai mã nguồn lần này có nhằm loại bỏ đối thủ cạnh tranh không?
- Tiếp tục duy trì tính tương thích với RHEL khi có thể
- Oracle sẽ tiếp tục đóng góp cho cộng đồng Linux và sẽ phát hành mã nhị phân cùng mã nguồn. Các bản phân phối downstream được hoan nghênh.
SUSE
Cuối cùng là SUSE. Mặc dù là một bản phân phối dựa trên RPM, nó không tương thích với RHEL, nhưng đã thông báo sẽ tham gia thị trường bản phân phối tương thích với RHEL.
Kết luận
Red Hat chắc chắn đã là nhà lãnh đạo trong thị trường Linux doanh nghiệp. Ngoài ra, đóng góp của công ty cho cộng đồng mã nguồn mở, không chỉ Linux, là không thể đo lường. Đó là lý do tại sao thông báo này gây bất ngờ.
Mặc dù chỉ ba tháng đã trôi qua kể từ thông báo của Red Hat, các công ty khác đã phản ứng nhanh chóng. Không chỉ tất cả các nhà cung cấp bản phân phối tương thích với RHEL lớn đã công bố biện pháp đối phó, mà ngay cả SUSE, vốn có thị phần cao ở châu Âu, cũng đã thông báo tham gia. Do đó, không có khả năng các bản phân phối tương thích với RHEL sẽ biến mất, hoặc các bản vá bảo mật sẽ bị trì hoãn đáng kể.
Trường hợp này khiến tôi nhớ đến “Vụ kiện SCO Linux” kéo dài từ năm 2003 đến 2010. Bắt đầu với SCO, chủ sở hữu bản quyền Linux, kiện IBM, sau đó kiện Novell và Red Hat, thậm chí còn ám chỉ việc kiện người dùng Linux nói chung. Ngoài việc bị chỉ trích nặng nề trên toàn thế giới, SCO không thắng được vụ nào và cuối cùng phải trả một khoản phí pháp lý khổng lồ.
Lần này, không có sự ác ý kiểu troll bản quyền như của SCO. Tuy nhiên, điều gì đó có nhiều đối thủ trong thế giới mã nguồn mở khó có thể thành công. Tuy nhiên, cũng có nhu cầu về CentOS Stream như một upstream, vì vậy có thể sẽ có sự cố gắng chung sống với phe downstream tương thích với RHEL.