Phần mềm tự do nguồn mở cho phép người sử dụng có thể sao chép, sửa đổi, phân phối một cách tự do và không phụ thuộc vào bất kỳ nhà cung cấp công nghệ nào.
Phần mềm tự do nguồn mở (PMTDNM) được phát triển từ lâu và đến nay đã xuất hiện khá phổ biến trong các tổ chức chính phủ, doanh nghiệp. PMTDNM thu hút sự chú ý của cộng đồng do sự tự nguyện của những người đóng góp cho cộng đồng giúp phát hiện và thông báo các lỗi mà họ gặp phải khi trải nghiệm.
Điểm sáng của PMTDNM chính là khái niệm distro, có thể tạm dịch là bản phân phối phần mềm mã nguồn mở. Kể từ lúc Linux ra đời, cho đến nay đã có rất nhiều distro khác nhau, một phần là do tính "mở" của nó. Một số distro có thể kể đến như: Ubuntu, Fedora, LinuxMint, openSUSE, PCLinuxOS, Debian, Mandriva…
Các nhà phát triển distro đều mong muốn đưa ra một GNU/Linux - được đóng gói nhân Linux cùng với các thư viện và công cụ GNU – riêng của họ trong đó là tập hợp số lượng lớn các phần mềm như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trường giao diện như GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng như OpenOffice…
Bài viết này sẽ đề cập đến một số distro: Red Hat Linux và Debian GNU/Linux vì từ 2 distro này đã tạo hứng khởi cho các nhà phát triển xây dựng nên 2 distro hiện được xem là phổ biến trong cộng đồng PMTDNM, đó là Fedora và Ubuntu (do công ty Canonical phát triển) .
Giao diện của Red Hat
Red Hat Linux là một trong những distro thương mại đầu tiên của GNU/Linux và được xem là chuẩn nhất trong số các distro khác. Phiên bản 1.0 đầu tiên ra mắt vào năm 1995 nhưng chỉ vài tháng sau đó, phiên bản 2.0 bổ sung công nghệ RPM (RPM Package Manager – Trình quản lý gói tin của Red Hat) tiếp tục được xuất bản. Sự ra đời của RPM giúp việc cài đặt, cập nhật, xóa, bổ sung các gói phần mềm trở nên dễ dàng hơn trước rất nhiều.
Vào tháng 9/2003, hãng Red Hat đã quyết định tập trung vào công việc phát triển các phiên bản distro dành cho doanh nghiệp. Đồng thời, Red Hat cũng ủy quyền phiên bản cộng đồng cho Fedora Core – đây là dự án nguồn mở độc lập với Red Hat. Hiện tại, một số sản phẩm hàng đầu của Red Hat là Fedora, Red Hat Network và một số dịch vụ cập nhật phần mềm Internet.
Các ngôn ngữ lập trình được sử dụng trong Red Hat: C chiếm vị trí quan trọng với hơn 60% số lượng các dòng mã lệnh (hơn 30 triệu dòng mã lệnh), kế tiếp là C++ với khoảng 10 triệu dòng mã lệnh và theo sau là Shell (khoảng 3 triệu dòng mã lệnh).
Bên cạnh đó, Red Hat cũng có distro hướng doanh nghiệp là bản Red Hat Enterprise Linux (RHEL). Một điểm lưu ý, Red Hat cũng đưa ra các dịch vụ tư vấn công nghệ thông tin và chương trình cấp chứng chỉ tương tự như Microsoft.
Giao diện của Fedora
Fedora là phiên bản miễn phí cho người dùng, đồng thời cũng là phiên bản thử nghiệm đưa ra cộng đồng sử dụng và phản hồi, từ đó những đặc tính nổi bật của Fedora sẽ đúc kết vào phiên bản RHEL. Thông thường, cứ 6 tháng Fedora sẽ đưa ra phiên bản mới với các tính năng bảo mật mà các chuyên gia đánh giá khá tốt.
Fedora là distro dựa trên RPM. Fedora có thể dùng cho máy tính để bàn và máy trạm, thậm chí máy chủ; dành cho những người mới tiếp cận PMTDNM hay những người đã có nhiều kinh nghiệm. Từ đĩa CD/DVD, người dùng có thể cài đặt tất cả các ứng dụng, dịch vụ, thư viện cần thiết của Fedora và sau đó chỉ việc sử dụng chúng. Tuy nhiên, cách quản lý gói tin của Fedora gây không ít khó khăn cho người dùng.
Debian GNU/Linux là hệ điều hành (HĐH) PMTD mà sử dụng nhân Linux để phát triển distro riêng của nó. Vào năm 2007, Debian hỗ trợ cho nhiều kiến trúc khác nhau như Intel x86, ARM, Motorola, PowerPC, Alpha, SPARC.
Giao diện của Debian GNU/Linux
Các distro Debian GNU/Linux ra đời là do các tình nguyện viên, thường là những chuyên gia về công nghệ thông tin đóng góp. Công việc của họ là thiết lập cấu hình, biên dịch, tích hợp các phần mềm sao cho tất cả có thể tương thích với nhau. Ngoài ra, các lập trình viên còn phải có trách nhiệm duy trì hạ tầng các dịch vụ dựa trên Internet như tập tin lưu trực tuyến, hệ thống quản lý lỗi… kèm theo là các dự án về dịch thuật, quốc tế hóa một loạt công cụ đặc biệt cho Debian GNU/Linux.
Ngoài ra, Debian GNU/Linux còn có một “hợp đồng xã hội” (www.debian.org/social_contract.html), ở tài liệu này sẽ đề cập đến mục tiêu chính của dự án Debian GNU/Linux với chính sách gói tin và phiên bản chặt chẽ. Debian GNU/Linux có 3 dạng khác nhau: phiên bản ổn định mà người dùng được khuyến khích sử dụng, phiên bản không ổn định và phiên bản thử nghiệm dành cho những ai mong muốn có được phần mềm mới nhất.
Quay lại những năm đầu, Debian GNU/Linux 3.0 (gọi là Woody) có phiên bản không ổn định là Sid, phiên bản thử nghiệm là Sarge. Phiên bản Debian GNU/Linux 4.0 được tung ra vào tháng 4/ 2007 (tên gọi là Etch) cấu tạo từ hơn 10.000 gói nguồn với hơn 288 triệu dòng mã lệnh. Ngôn ngữ sử dụng phổ biến nhất trong Debian GNU/Linux 4.0 là C với hơn 155 triệu dòng mã lệnh, nhưng thực tế C không còn chiếm ưu thế (trước đây C chiếm đến 80%). Ngôn ngữ lập trình phổ biến thứ 2 là C++, song song đó là sự gia tăng của các ngôn ngữ kịch bản như Perl, Python, PHP. Hiện tại đang có Debian GNU/Linux phiên bản 5.0 (tên mã Lenny) sau 22 tháng phát triển liên tục và quá trình nâng cấp lên Debian GNU/Linux 5.0 xuất phát từ bản phát hành trước.
Debian GNU/Linux cũng nổi tiếng với hệ thống quản lí gói, cụ thể APT (Advanced Packaging Tool - công cụ quản lí gói cao cấp). Debian có chính sách nghiêm ngặt đối với chất lượng các gói và bản phát hành cũng như tiến trình phát triển và kiểm tra mở. Cách này giúp cho việc nâng cấp các bản phát hành cũng như việc đặt hay gỡ bỏ dễ dàng hơn.
Lịch sử HĐH Linux và Phần mềm tự do nguồn mở |
- 1983: Richard Stallman, giáo sư của MIT thành lập dự án GNU phát triển PMTD (Free Software). - 1985: Richard Stallman thành lập Tổ chức PMTD (Free Software Foundation) bảo trợ cho dự án GNU. - 1991: Linus Torvalds viết phiên bản đầu tiên của nhân HĐH Linux và xuất bản theo giấy phép PMTD của Stallman là GPL (General Public License). Do đó, Linux trở thành một HĐH tự do. Nhờ những đặc tính của một PMTD, Linux nhanh chóng được hàng ngàn lập trình viên trên toàn thế giới tham gia phát triển. Và từ đó, Linux xuất hiện nhiều distro khác nhau. - 1998: Tổ chức "Sáng kiến nguồn mở" (Open Source Initiative) được thành lập bởi Eric Raymond, một hacker kỳ cựu với mục đích quảng bá cho thuật ngữ Phần mềm nguồn mở (Open Source Software). Open Source Software được tạo ra vì thuật ngữ Free Software trong tiếng Anh dễ gây nhầm lẫn giữa 2 khái niệm "Miễn phí" và "Tự do". Phần mềm miễn phí trong tiếng Anh là Freeware khác hoàn toàn với PMTD. (*) Cuối cùng, cả 2 thuật ngữ Phần mềm tự do và Phần mềm nguồn mở đều có những điểm tương đồng rất lớn. Bên cạnh đó, cả 2 thuật ngữ đều có những điểm mạnh và điểm yếu riêng. Do vậy, cộng đồng quyết định sử dụng chung thành một thuật ngữ chính thức là FOSS (Free and Open Soure Software - Phần mềm tự do nguồn mở) như là một tên gọi thống nhất. (*) Về tranh luận GNU/Linux hay Linux: Ban đầu, Linux chỉ là một nhân HĐH, muốn để trở thành một HĐH hoàn - Vì bản thân nhân Linux một mình KHÔNG đủ để tạo thành một HĐH nên cần sử dụng tên gọi là GNU/Linux. - Nhân HĐH là thành phần quan trọng nhất cấu trúc tạo nên một HĐH. Do vậy, chỉ cần gọi tắt là HĐH Linux là đủ. - 2007: Tổ chức Linux Foundation được thành lập với mục đích hỗ trợ việc phát triển nhân Linux. Linux Foundation có nguồn tài chính hỗ trợ khá mạnh từ các tập đoàn công nghệ thông tin lớn trên thế giới nhằm đảm bảo những người phát triển nhân Linux quan trọng có thể làm việc độc lập, không bị "mua chuộc" bởi bất kì công ty nào. Và hiện tại, cộng đồng FOSS và Linux được dẫn dắt bởi 3 tổ chức phi lợi nhuận quốc tế là Free Software Foundation, Open Source Initiative và Linux Foundation. |
Ubuntu do công ty Canonical phân phối chỉ mới xuất hiện vào quý 3/2004 và không lâu sau đó HĐH này đã trở nên phổ biến, uy tín về chất lượng và dễ dàng sử dụng. Đặc tính cơ bản của Ubuntu là dựa trên hệ thống quản lý gói mạnh mẽ APT của Debian, nhắm đến đối tượng người dùng đầu cuối, nhỏ gọn chỉ với 1 đĩa cài đặt. Người dùng Ubuntu có thể cảm nhận được sự tự do, tùy biến cao trong sử dụng, quản lý hệ thống. Trên thực tế, Ubuntu không phải là trường hợp đầu tiên của một distro dựa trên Debian mà còn có distro nổi tiếng khác là gnuLinEx.
Giao diện của Ubuntu
Canonical đã thuê một số lượng lớn các chuyên gia của Debian, điều này chứng tỏ rằng ở một mức độ nào đó thì Canonical cố gắng cải tiến những gì còn thiếu từ Debian để gần gũi với người dùng hơn.
Theo thống kê của trang Distrowatch, cho đến hiện nay Ubuntu là distro phổ biến nhất với khoảng hơn 2.000 lượt người truy cập/ngày. Cứ 6 tháng, Ubuntu sẽ ra bản phát hành mới, còn với các phiên bản Long Term Support (LTS) thì việc cập nhật trình bảo mật sẽ từ 3 đến 5 năm.
Ubuntu sử dụng giao diện đồ họa thân thiện GNOME, hướng đến sự đơn giản hóa trong quá trình sử dụng. Ngoài ra, Ubuntu còn có bộ ứng dụng văn phòng OpenOffice, trình duyệt Firefox, trình gửi tin nhắn tức thời Pidgin, trình biên tập đồ họa GIMP… Ubuntu cũng cho phép người dùng chạy CD trực tiếp để xem phần cứng của máy tính có tương thích với HĐH hay không trước khi cài đặt lên đĩa cứng.
Ngoài Ubuntu, các nhà phát triển còn sản sinh ra các distro mang hơi hướng tương tự Ubuntu như Kubuntu, Xubuntu và Lunbuntu. Các distro này chủ yếu khác biệt với Ubuntu ở môi trường màn hình.
Tựu chung lại, mỗi distro sẽ có những ưu và nhược điểm riêng. Ngoài ra, một distro có thể mạnh ở thị trường này nhưng chưa chắc đã chiếm ưu thế ở thị trường khác. Và một điều quan trọng, do mỗi distro đều có triết lí phát triển chuyên sâu theo một hướng riêng nên PMTDNM sẽ mang đến cho người sử dụng nhiều sự lựa chọn; đây cũng là một điểm khác biệt với phần mềm thương mại.
Do vậy, điểm tuyệt vời của PMTDNM là mang đến cho người sử dụng quyền tự do lựa chọn distro yêu thích. Chẳng hạn, một người chuyên trách bộ phận kĩ thuật của một công ty có thể chọn Centos để chạy các máy chủ, chọn Ubuntu để chạy trên máy tính của các nhân viên, chọn Debian trên máy tính của các lập trình viên trong công ty, nhưng chính người trong bộ phận kỹ thuật có thể dùng Arch Linux trên máy tính cá nhân của mình. Dù có thể mỗi bộ phận trong công ty có thể dùng các distro khác nhau, nhưng người phụ trách bộ phận vẫn có thể quản lý tốt cả hệ thống đó một cách nhịp nhàng và hiệu quả vì suy cho cùng tất cả đều xuất phát từ Linux và chúng đều tuân theo những tiêu chuẩn hệ thống nhất định.
Sự khác nhau giữa các distro chủ yếu dựa vào 2 yếu tố |
- Thị trường mà distro muốn nhắm đến, ví dụ dành cho máy chủ, doanh nghiệp, siêu máy tính, người dùng đầu cuối… - Tùy thuộc vào triết lí phần mềm của từng distro mà những người phát triển quyết định gắn bó lâu dài với distro đó hay không. Các distro phổ biến và phát triển bền vững hiện nay có thể được chia thành 4 nhóm: (1) Arch (archlinux.org), Gentoo (gentoo.org), Slackware (slackware.com): Các distro nhắm vào người dùng am hiểu về hệ thống Linux. Hầu hết phương thức xây dựng và cấu hình hệ thống đều phải thực hiện qua môi trường dòng lệnh. (2) Debian (debian.org), Fedora (fedoraproject.org): Các distro cũng nhắm vào những người dùng am hiểu hệ thống, tuy nhiên cung cấp nhiều công cụ hơn cho những người chưa thật sự hiểu rõ hoàn toàn về Linux. Nhóm này tương đối thân thiện với người dùng mới bắt đầu hơn nhóm (1). Tuy nhiên, các distro nhóm này lại có một quy trình phát triển và kiểm tra chất lượng các gói phần mềm cực kì khắt khe so với các distro còn lại. Để trở thành một lập trình viên chính thức của Debian hay Fedora cần phải có thời gian đóng góp khá dài, và phải được chứng nhận bởi các lập trình viên khác. Do vậy, môi trường để lập trình và nghiên cứu ở 2 distro này khá tốt. (3) Centos (centos.org), RHEL (redhat.com/rhel), SUSE EL (novell.com/linux): Các distro này chủ yếu nhắm vào thị trường doanh nghiệp, cơ quan, thị trường máy chủ… Các dòng distro này có nhiều đặc tính phù hợp cho mảng thị trường đòi hỏi sự ổn định cao như: thời gian ra phiên bản mới thường khá lâu (3 - 5 năm tùy distro); dịch vụ hỗ trợ thương mại cho các công ty, tổ chức sử dụng sản phẩm; ít sử dụng các công nghệ mới nhất (thường kém ổn định) mà tập trung phát triển trên các công nghệ lâu đời và đáng tin cậy hơn. (4) Ubuntu (ubuntu.com), Open SUSE (opensuse.org): Nhóm các distro nhắm đến người dùng đầu cuối và người mới bắt đầu sử dụng Linux. Đặc tính của các distro này là thời gian phát hành ngắn, ứng dụng liên tục các công nghệ mới với nhiều công cụ đồ họa để cấu hình hệ thống, thiết kế với mục đích dễ dùng, dễ làm quen, không cần đọc tài liệu đối với người mới. Xét về triết lí phần mềm (software philosophy), nó chỉ đơn giản là bộ các quy tắc, định hướng, mục tiêu mà những người phát triển một phần mềm đặt ra hay đi theo triết lí do người khác đặt ra để phát triển sản phẩm của mình nhưng phải tuân thủ theo các triết lí đó. Ví dụ triết lí của Microsoft Windows là dễ sử dụng, ít cấu hình thì triết lí của Mac OS X lại là bóng bẩy, thanh lịch... Các distro Linux cũng có những triết lí riêng ví dụ: Nhóm (1) là cấu trúc gọn nhẹ, uyển chuyển để có thể xây dựng một hệ thống hoàn toàn tuân theo ý của mình. Nhóm (2) lại nhắm đến việc chuẩn hóa, chuyên môn hóa quá trình phát triển phần mềm nhằm tạo ra một hệ thống hoạt động nhịp nhàng, ăn khớp và hạn chế lổ hỗng bảo mật. Nhóm (3) phát triển theo hướng bền vững, chuyên nghiệp, cung cấp dịch vụ hỗ trợ dài hạn, cung cấp sản phẩm có vòng đời kéo dài (lên tới 7 năm). Nhóm (4) cung cấp những công nghệ mới nhất, những hiệu ứng đồ họa bắt mắt ngay sau khi cài đặt, không cần phải cấu hình nhiều… |