Lịch sá» Unix, Linux và Phần má»m mã nguồn mở/ miá»…n phÃ
1. Unix
Giữa năm 1969 - 1970, Kenneth Thompson, Dennis Ritchie và những ngưá»i khác cá»§a phòng thà nghiệm AT&T Bell Labs bắt đầu phát triển má»™t hệ Ä‘iá»u hà nh nhá» dá»±a trên PDP-7. Hệ Ä‘iá»u hà nh nà y sá»›m mang tên Unix, má»™t sá»± chÆ¡i chữ từ má»™t dá»± án hệ Ä‘iá»u hà nh có từ trước đó mang tên MULTICS. Và o khoảng 1972 - 1973, hệ thống được viết lại bằng ngôn ngữ C và thông qua quyết định nà y, Unix đã trở thà nh hệ Ä‘iá»u hà nh được sá» dụng rá»™ng rãi nhất có thể chuyển đổi được và không cần phần cứng ban đầu cho nó. Các cải tiến khác cÅ©ng được thêm và o Unix trong má»™t phần cá»§a sá»± thoả thuáºn giữa AT&T Bell Labs và cá»™ng đồng các trưá»ng đại há»c và há»c viện. Và o năm 1979, phiên bản thứ 7 cá»§a Unix được phát hà nh, đó chÃnh là hệ Ä‘iá»u hà nh gốc cho tất cả các hệ thống Unix có hiện nay.
Sau thá»i Ä‘iểm đó, lịch sá» Unix bắt đầu trở nên hÆ¡i phức tạp. Cá»™ng đồng các trưá»ng đại há»c và há»c viện, đứng đầu là Berkeley, phát triển má»™t nhánh khác gá»i là Berkeley Software Distribution (BSD), trong khi AT&T tiếp tục phát triển Unix dưới tên gá»i là “Hệ thống III†và sau đó là “Hệ thống Vâ€. Và o những năm cuối cá»§a tháºp ká»· 1980 cho đến các năm đầu tháºp ká»· 1990, má»™t “cuá»™c chiến tranh†giữa hai hệ thống chÃnh nà y đã diá»…n ra hết sức căng thẳng. Sau nhiá»u năm, má»—i hệ thống Ä‘i theo những đặc Ä‘iểm khác nhau. Trong thị trưá»ng thương mại, “Hệ thống V†đã già nh thắng lợi (có hầu hết các giao tiếp theo má»™t chuẩn thông dụng) và nhiá»u nhà cung cấp phần cứng đã chuyển sang “Hệ thống V†cá»§a AT&T. Tuy nhiên, “Hệ thống V†cuối cùng đã kết hợp các cải tiến BSD, và kết quả là hệ thống đã trở thà nh sá»± pha trá»™n cá»§a 2 nhánh Unix. Nhánh BSD không chết, thay và o đó, nó đã được sá» dụng rá»™ng rãi trong mục Ä‘Ãch nghiên cứu, cho các phần cứng PC, và cho các server đơn mục Ä‘Ãch (vd: nhiá»u website sá» dụng má»™t nguồn BSD).
Kết quả là có nhiá»u phiên bản Unix khác nhau, nhưng tất cả Ä‘á»u dá»±a trên phiên bản thứ bảy ban đầu. Hầu hết các phiên bản Unix Ä‘á»u thuá»™c quyá»n sở hữu và được bảo vệ bởi từng nhà cung cấp phần cứng tương ứng, và dụ Sun Solaris là má»™t phiên bản cá»§a “Hệ thống Vâ€. Ba phiên bản cá»§a BSD cá»§a nhánh Unix cuối cùng đã trở thà nh mã nguồn mở: FreeBSD (táºp trung và o sá»± cà i đặt dá»… dà ng trên phần cứng cá»§a dòng máy PC), NetBSD (táºp trung và o nhiá»u kiến trúc CPU khác nhau) và má»™t bản khác cá»§a NetBSD, OpenBSD (táºp trung và o bảo máºt).
2. Tổ chức phần má»m miá»…n phà (Free Software Foundation)
Và o năm 1984, Tổ chức phần má»m miá»…n phà (FSF) cá»§a Richard Stallman bắt đầu dá»± án GNU, má»™t dá»± án tạo ra má»™t phiên bản miá»…n phà cá»§a hệ Ä‘iá»u hà nh Unix. Miá»…n phÃ, theo Richard Stallman nghÄ©a là tá»± do sá» dụng, Ä‘á»c, chỉnh sá»a và phân phối lại. FSF đã thà nh công trong việc xây dá»±ng má»™t lượng khổng lồ các thà nh phần hữu Ãch, bao gồm má»™t trình biên dịch C (gcc), má»™t trình hiệu chỉnh văn bản khá ấn tượng (emacs) và má»™t loạt các công cụ cÆ¡ bản. Tuy nhiên, và o những năm 1990, FSF đã gặp khó khăn trong việc phát triển kernel hệ Ä‘iá»u hà nh [FSF 1998] mà nếu không có kernel nà y thì giấc mÆ¡ hoà n thà nh má»™t hệ Ä‘iá»u hà nh miá»…n phà cá»§a há» sẽ không thể hoà n tất.
3. Linux
Và o năm 1991, Linus Tovalds bắt đầu phát triển má»™t kernel hệ Ä‘iá»u hà nh, lấy tên cá»§a anh ta “Linux†[Tovalds 1999]. Kernel nà y có thể kết hợp vá»›i các tà i liệu cá»§a FSF và các thà nh phần khác (cụ thể là má»™t và i thà nh phần cá»§a BSD và phần má»m MIT cá»§a X-Windows) để có thể giá»›i thiệu má»™t hệ Ä‘iá»u hà nh vô cùng hữu Ãch và có thể tá»± do chỉnh sá»a.
Trong cá»™ng đồng Linux, nhiá»u tổ chức khác nhau đã kết hợp các thà nh phần khác có sẵn. Má»—i má»™t sá»± kết hợp đó được gá»i là má»™t bản phân phối (distribution) và các tổ chức phát triển các bản phân phối đó gá»i là các nhà phân phối (distributors). Các bản phân phối thông dụng gồm có Linux Red Hat, Mandrake, SuSE, Caldera, Corel và Debian. Có những sá»± khác nhau giữa các bản phân phối đó, nhưng tất cả các bản phân phối đó Ä‘á»u dá»±a trên cùng ná»n tảng: kernel cá»§a Linux và các thư viện cá»§a GNU. Cả hai thứ đã kết hợp lại tạo thà nh má»™t giấy phép kiểu “copyleftâ€, thay đổi những ná»n tảng cÆ¡ bản nà y phải được là m sẵn cho tất cả, má»™t sá»± bắt buá»™c thống nhất giữa các bản phân phối Linux mà điá»u nà y không há» có trên BSD và các hệ thống Unix kế thừa từ AT&T.
4. Phần má»m miá»…n phà / Phần má»m mã nguồn mở
Sá»± quan tâm đến các phần má»m miá»…n phà được chia sẻ ngà y cà ng tăng đã là m tăng sá»± cần thiết phải chỉnh sá»a nó. Äiá»u kiện được sá» dụng rá»™ng rãi là “Phần má»m mã nguồn mở†đã được định nghÄ©a trước đó. Phần má»m mã nguồn mở là những phần má»m được sá» dụng mà mã nguồn được cung cấp nhưng không có sá»± giá»›i hạn vá» bản quyá»n: ngưá»i dùng có quyá»n sá» dụng, xem, sá»a đổi hay phân phối mã nguồn. Nó khác vá»›i những Ä‘iá»u kiện cá»§a “Phần má»m miá»…n phÃâ€. Phần má»m miá»…n phà thưá»ng gây rắc rối vá»›i những chương trình chỉ thá»±c thi theo cách cho trước và không thay đổi được, cÅ©ng như mã nguồn không được xem, không được chỉnh sá»a cÅ©ng như không được phân phối. Các bạn có thể Ä‘á»c thêm vỠđịnh nghÄ©a phần má»m miá»…n phà ở http://www.opensource.org/osd.html