Phần mềm nguồn mở - những yêu cầu cơ bản(28/01/2005)

Phần mềm nguồn mở (PMNM) đã trở thành một cụm từ rất quen thuộc đối với người dùng CNTT ở VN trong thời gian gần đây. Tuy nhiên, PMNM thực sự là gì và có những tính chất như thế nào thì nhiều người vẫn còn khá mơ hồ. Để giúp bạn đọc có được cái nhìn cơ bản và tổng quát về PMNM, chúng tôi xin giới thiệu sơ lược những đặc điểm nổi bật của nó.

Phần mềm nguồn mở (PMNM) đã trở thành một cụm từ rất quen thuộc đối với người dùng CNTT ở VN trong thời gian gần đây. Tuy nhiên, PMNM thực sự là gì và có những tính chất như thế nào thì nhiều người vẫn còn khá mơ hồ. Để giúp bạn đọc có được cái nhìn cơ bản và tổng quát về PMNM, chúng tôi xin giới thiệu sơ lược những đặc điểm nổi bật của nó.

PMNM được phân phối với giấy phép (GP) riêng, cũng giống như PM thương mại được phân phối với GP của nhà sản xuất. Điều khác biệt của PMNM là: Thay vì giữ hoặc mở rộng bản quyền của nhà sản xuất, PMNM trao cả bản quyền đó cho người nhận. Điểm đáng chú ý là có rất nhiều loại GP PMNM khác nhau - cho tới nay đã có khoảng trên 30 loại. Để thiết lập một sự thống nhất tương đối, tổ chức phi lợi nhuận Open Source Initiative (OSI - Sáng kiến Mã nguồn mở) đã soạn ra một bộ định nghĩa chung về mã nguồn mở (Open Source Definition - OSD). Đây là những chỉ dẫn chung và cụ thể về những khoản gì phải có hoặc không được có trong một GP PMNM. Tuy nhiên, đây chỉ là những yêu cầu tối thiểu. Miễn là đạt được những yêu cầu đó, nhà sản xuất hoàn toàn có thể thêm những điều khoản khác theo ý muốn. Chính vì vậy mà các loại GP PMNM có nhiều sự khác biệt với nhau.
Để được coi là một GP PMNM, một GP PM phải có những đặc điểm sau:
Tự do tái phân phối: GP phải cho phép bất cứ ai nhận và sử dụng PM có thể bán hoặc tặng nó cho người khác mà không phải trả khoản phí nào cho người sở hữu bản quyền đầu tiên.
Truy cập mã nguồn: Mỗi người khi cung cấp PMNM phải cung cấp toàn bộ mã nguồn của chương trình.
Các sản phẩm phát sinh: GP phải cho phép người dùng sửa đổi PM và tạo ra những sản phẩm mới dựa trên PM đó. Các sửa đổi và sản phẩm phát sinh phải được phân phối dưới cùng những điều kiện như PM nguyên bản. Điều khoản này cùng với đòi hỏi cung cấp mã nguồn chính là lý do giúp các PMNM phát triển rất nhanh.
Không phân biệt đối xử: GP không được phân biệt đối xử với bất cứ người hay nhóm người nào. Nói cách khác, mọi người đều có thể sử dụng PMNM, miễn là họ tuân theo GP. GP cũng không được hạn chế việc sử dụng trong bất cứ lĩnh vực nào. Ví dụ, một người có thể dùng một PMNM trong công việc kinh doanh hoặc trong nghiên cứu, giảng dạy...
Không hạn chế các PM khác: GP không được hạn chế các PM "không mở mã nguồn" khác được phân phối kèm theo PMNM. Ví dụ, GP không được yêu cầu mọi PM đi kèm PMNM trong cùng một đĩa CD-ROM cũng phải là PMNM.
Sự khác biệt giữa các GP PMNM
Để tìm hiểu đầy đủ và so sánh giữa các loại GP PMNM, bạn có thể tham khảo www.opensource.org/licenses/. Nhìn chung, có 4 mảng GP chính là:
GP "copyleft" mạnh: GPL (General Public License - GP công rộng rãi). Copyleft là cách chơi chữ từ "copyright" (bản quyền, trong đó "right" nghĩa là "bên phải"), còn "left" là "bên trái". Copyleft quyết định việc phân phối những phiên bản sửa đổi của một PMNM gốc. Nếu GP bảo vệ mạnh mẽ copyleft, bất cứ ai sửa đổi mã nguồn PM và phân phối nó cho công chúng phải chuyển giao GP đối với những sửa đổi đó cho công chúng với cùng những điều khoản như PM gốc. GNU GPL là một trong những GP PMNM đầu tiên và đến nay vẫn được dùng rất rộng rãi. Linux - ứng dụng PMNM nổi tiếng nhất - sử dụng GP GPL. Richard Stallman và Eben Moglen đã tạo ra GPL và lập ra Tổ chức PM Tự do (Free Software Foundation) để quảng bá việc sử dụng của nó.
GP "copyleft" yếu: Một số lập trình viên đóng góp cho cộng đồng PMNM không muốn từ bỏ hoàn toàn quyền sở hữu đối với những sửa đổi của họ. Do đó, một loạt GP đã ra đời với sự hỗ trợ "yếu" đối với copyleft. Mozilla Public License (MPL) là ví dụ điển hình nhất của loại này. Nó ra đời để giúp phân phối trình duyệt web Mozilla (nền tảng nguồn mở của trình duyệt Netscape). MPL yêu cầu việc công bố mã nguồn của mọi thay đổi được đưa ra công chúng. Thời gian yêu cầu để công bố được giới hạn trong vòng khoảng 6 tháng - 1 năm, tuỳ theo từng trường hợp. ý nghĩa của copyleft đối với MPL chỉ giới hạn cho những tệp liên quan đến MPL hoặc những tệp mới có sử dụng mã nguồn của MPL.
GP không có "copyleft": Định nghĩa OSD không yêu cầu phải có copyleft. Do đó, nhiều GP PMNM hoàn toàn không có copyleft. Ví dụ, GP Berkeley Software Distribution (BSD) cho phép người dùng làm hầu như bất cứ việc gì họ muốn với mã nguồn mang GP này: Phân phối lại cho người khác miễn phí hoặc có thu phí; sửa đổi và phân phối lại mà không cung cấp mã nguồn... Hai ví dụ khác là GP Apache Software và GP MIT.
Các loại GP khác: Nhiều loại GP khác kết hợp các đặc điểm lẫn lộn của các loại GP kể trên và nhiều khi thêm vào những điều khoản riêng. Ví dụ, GP Artistic License và GP Academic Free.
Như vậy, rõ ràng việc gia nhập cộng đồng PMNM về những mặt nào đó là không khó, nhưng cũng có mặt phức tạp của nó. Bạn cần tìm hiểu kỹ về các đặc điểm, điều khoản đi kèm với từng loại PMNM, từng loại GP PMNM riêng biệt, trước khi thực hiện bất cứ công việc nào liên quan tới PMNM. Một địa chỉ tốt để tham khảo là website chính thức của OSI: www.opensource.org.

Theo báo Lao Động



Ảnh trong bài
  • Phần mềm nguồn mở - những yêu cầu cơ bản(28/01/2005)