Chuyển đến nội dung chính (Skip to content)
Mục lục bài viết
Open Source Essentials

Open Source Essentials 052.1: Các khái niệm về Giấy phép Phần mềm Mã nguồn Mở

Open Source Essentials 052.1: Các khái niệm về Giấy phép Phần mềm Mã nguồn Mở

Phân biệt free software, open source, freeware và source available; đọc phạm vi license, OR/AND, nhận biết tương thích và lập hồ sơ tái sử dụng có bằng chứng.

Một nhóm muốn đưa thư viện trên kho mã công khai vào công cụ nội bộ. README nói “free”, nhưng thư mục còn có ảnh, mã của bên khác và một gói nhị phân. Người tiếp nhận cần biết mình đang lấy tài sản nào, ở phiên bản nào và với quyền gì. Chỉ thấy nút tải xuống hoặc số sao của dự án chưa trả lời được những câu hỏi đó.

Bài 052.1, Các khái niệm về giấy phép phần mềm mã nguồn mở, tham chiếu Open Source Essentials 050-100 trang in 52–70, viết độc lập và đối chiếu ngày 23/10/2026. Bạn cần hiểu source, artifact và dependency. Sau bài học, bạn nên phân biệt giá với quyền, đọc phạm vi cấp phép, nhận biết lựa chọn nhiều giấy phép và lập hồ sơ tái sử dụng. Nội dung cung cấp kiến thức nhập môn; quyết định pháp lý cho một sản phẩm cần người có chuyên môn xem xét văn bản cùng hoàn cảnh cụ thể.

Free software và open source nói về quyền

Định nghĩa của FSF tập trung vào bốn quyền tự do: chạy chương trình theo mục đích của người dùng; nghiên cứu và sửa; chia sẻ bản sao; chia sẻ phiên bản đã sửa. Việc tiếp cận source là điều kiện cần cho các quyền liên quan đến sửa mã. “Free” ở đây không đồng nghĩa giá bằng không.

Open Source Definition của OSI cũng vượt xa việc nhìn thấy source. Các tiêu chí bao gồm quyền tái phân phối, mã nguồn, bản sửa đổi và không phân biệt đối xử theo người hoặc lĩnh vực sử dụng. Một điều khoản chỉ cho nghiên cứu hoặc cấm thương mại không đáp ứng định nghĩa này. Có thể bán bản sao phần mềm nguồn mở trong phạm vi giấy phép; thu phí không tự biến nó thành độc quyền.

Hai phong trào có cách nhấn mạnh khác nhau; đừng suy ra chỉ từ tên gọi rằng hai tập giấy phép hoàn toàn trùng nhau hoặc khác biệt theo một tỉ lệ cố định. FOSS là Free and Open Source Software; FLOSS dùng thêm Libre để làm rõ nghĩa tự do. Khi đánh giá một dự án, đọc giấy phép cụ thể thay vì tranh luận nhãn gọi thay cho bằng chứng.

Một vài mốc giúp đặt thuật ngữ vào bối cảnh: GNU được công bố tháng 9/1983; OSI hình thành năm 1998 và phát triển định nghĩa từ Debian Free Software Guidelines. Đừng nhầm sự ra đời của một tổ chức với thời điểm mọi hoạt động chia sẻ mã bắt đầu.

Những nhãn thường bị hiểu nhầm

Freeware thường chỉ phần mềm không thu phí ở phạm vi được nhà phát hành cho phép; vẫn có thể hạn chế sử dụng hoặc phân phối. Shareware thường cho thử theo thời gian hay chức năng, nhưng điều kiện cụ thể thay đổi theo sản phẩm. Source available nói có thể xem source, chưa khẳng định đáp ứng định nghĩa nguồn mở.

Public repository là trạng thái truy cập của kho mã. GitHub giải thích trường hợp không có license: không nên mặc định quyền sao chép, sửa và phân phối như một dự án nguồn mở; quyền xem và fork theo điều khoản nền tảng là vấn đề riêng. Nhãn nhận diện license tự động cũng là điểm khởi đầu, chưa bảo đảm bao phủ mọi tệp.

Public domain liên quan trạng thái quyền, khác việc công khai trên Internet. WIPO nêu nguyên tắc bản quyền tự động ở đa số quốc gia và phân biệt biểu đạt được bảo hộ với ý tưởng. Không có biểu tượng © hoặc không tìm thấy LICENSE chưa đủ để coi tác phẩm thuộc public domain. Các chi tiết về thời hạn, ngoại lệ và quyền nhân thân cần xét theo pháp luật áp dụng.

Giấy phép: đọc quyền, điều kiện và tài sản được áp dụng

Giấy phép cho phép thực hiện những hành vi theo phạm vi và điều kiện của văn bản. Trước hết tìm văn bản, người cấp quyền, đối tượng và phiên bản cụ thể.

Với một thư viện, hãy ghi quyền chạy, sao chép, sửa, phân phối source và phân phối binary được nêu thế nào. Tiếp theo đánh dấu nghĩa vụ có liên quan: giữ thông báo, kèm giấy phép, thông báo sửa đổi hoặc cung cấp source theo cơ chế của giấy phép. Bài sau sẽ đọc copyleft và permissive chi tiết; ở đây chưa kết luận một cách tích hợp cụ thể đã đáp ứng điều kiện.

Người quản lý văn bản giấy phép và người có quyền cấp phép cho mã là hai vai trò khác nhau. Có phiên bản license mới không có nghĩa mọi bản phát hành cũ tự chuyển sang phiên bản đó. Cần đọc thông báo áp dụng cho artifact đang dùng.

Source, binary, ảnh giao diện, tài liệu và dependency có thể có điều kiện riêng. Creative Commons không khuyến nghị dùng các license CC cho phần mềm, mà khuyến khích chọn giấy phép phần mềm phù hợp. Khi gói có ảnh theo CC và mã theo giấy phép khác, giữ hai hồ sơ thay vì gán một nhãn cho tất cả.

Nhận diện tài sản và phiên bản trước khi xét quyền cho hành vi sử dụng dự kiến.
Hình 1. Nhận diện tài sản và phiên bản trước khi xét quyền cho hành vi sử dụng dự kiến. Mở hình để xem chi tiết.

Phân phối, tương thích và cấp phép nhiều lựa chọn

Nhiều nghĩa vụ liên quan đến hành vi phân phối hoặc truyền bản sao; một số điều khoản còn liên quan đến tương tác qua mạng. Vì vậy phải mô tả sử dụng nội bộ, gửi bộ cài hay cung cấp dịch vụ trước khi đánh giá. Không rút gọn thành “không bán thì không có nghĩa vụ” hoặc “chạy nội bộ luôn được bỏ qua mọi điều kiện”.

Ghép mã, linking, sửa tệp hoặc chỉ đặt hai chương trình độc lập cùng bộ cài là những tình huống kỹ thuật khác nhau cần ghi rõ. Khả năng tương thích không phải phép so tên license rồi bỏ mọi điều kiện nguồn gốc. Để quyết định có thể phân phối một kết hợp hay không, cần xem chính xác văn bản, phiên bản, ngoại lệ và cấu trúc kết hợp.

Phần mở rộng thực tế: SPDX mô tả biểu thức license dùng OR cho lựa chọn, AND khi các điều kiện cùng áp dụng và WITH cho ngoại lệ. Ví dụ MIT OR Apache-2.0 biểu thị lựa chọn được cung cấp; MIT AND BSD-3-Clause không có nghĩa tùy ý chọn một rồi quên phần còn lại. Đây là ký pháp hồ sơ, không tự cấp thêm quyền.

Dual licensing có thể cung cấp hai đường cấp phép, chẳng hạn một lựa chọn nguồn mở và một thỏa thuận thương mại riêng. Người phát hành cần có quyền phù hợp để đưa ra lựa chọn đó. Đừng coi việc nhiều tệp dùng nhiều license là cùng một trường hợp. Cũng không được tự thay license của mã người khác chỉ vì sản phẩm của mình chọn một giấy phép khác.

Bản quyền, bằng sáng chế và hậu quả cần nhận biết

Bản quyền và bằng sáng chế là các cơ chế khác nhau. WIPO giải thích bằng sáng chế là quyền đối với sáng chế được cấp theo điều kiện tương ứng, có tính lãnh thổ. Không coi mọi ý tưởng là sáng chế được bảo hộ, hoặc source mở là bằng chứng không có rủi ro bằng sáng chế. Cần xem điều khoản cấp quyền bằng sáng chế nếu có và phạm vi thực sự của nó.

Vi phạm điều kiện có thể làm mất quyền được cấp hoặc dẫn đến tranh chấp; cơ chế chấm dứt, khắc phục và khôi phục phụ thuộc văn bản cùng bối cảnh. Không dùng một mốc 30 ngày làm quy tắc cho mọi giấy phép. Khi phát hiện thiếu notice hay source, giữ bằng chứng, ngừng quyết định phân phối tiếp theo cho tới khi người phụ trách đánh giá và lập cách khắc phục phù hợp.

Bài tập: hồ sơ tái sử dụng ba tài sản DEMO

Dùng một trang giấy hoặc tệp riêng. Tạo ba dòng giả định, không tải mã ngoài: thư viện A có thông báo MIT cho phiên bản DEMO-1; tệp B ghi MIT OR Apache-2.0; ảnh C không có thông tin cấp phép. Đây là dữ liệu học tập tự biên soạn, không phải kết luận về một dự án thật.

Bước 1: ghi bằng chứng và phần chưa biết

Mỗi dòng có loại tài sản, phiên bản, nguồn thông báo, biểu thức license, cách dự kiến dùng và câu hỏi cần giải quyết. Với A, ghi cần xem toàn văn MIT và thông báo áp dụng cho đúng phiên bản. Với B, ghi có lựa chọn theo thông báo nhưng cần lưu bằng chứng lựa chọn. Với C, ghi “chưa xác định quyền”, không tự điền public domain.

Tiêu chí đạt là mọi kết luận có đường quay lại bằng chứng. Trong hồ sơ thật, chỉ ghi URL trang chủ chưa đủ nếu giấy phép đã thay đổi giữa các phiên bản. Có thể lưu ref và hash của bản nhận được, nhưng hash chỉ nhận diện byte so với tham chiếu; nó không tự chứng minh người tải lên có quyền cấp phép.

Bước 2: thay đổi hành vi dự kiến

Ban đầu giả định nhóm chỉ đọc source A để học. Sau đó đổi thành sửa A và gửi kèm công cụ cho một đối tác. Viết lại phần hành vi: có sao chép, có sửa và có chuyển bản sao. Danh sách cần kiểm tra tăng lên vì tình huống đã đổi; không tái dùng kết luận của ca trước mà không xét lại.

Với B, diễn giải OR bằng lời và ghi lựa chọn dự định xem xét. Tiếp theo đổi thông báo giả định thành AND rồi giải thích vì sao cách xử lý khác. Kết quả mong đợi là học viên nhận ra thay một toán tử làm thay ý nghĩa hồ sơ, dù tên các license giữ nguyên.

Bước 3: lập quyết định có điều kiện

Với ảnh C, đề xuất thay bằng ảnh tự tạo có nguồn gốc rõ hoặc xin quyền theo quy trình của tổ chức trước khi dùng vào gói. Ghi người xử lý, câu hỏi còn mở và thời điểm xem lại; không gửi yêu cầu thật ra ngoài trong bài tập.

Thêm tình huống AI đề xuất một đoạn mã mà không có nguồn. Đánh dấu cần review kỹ thuật và nguồn gốc theo quy trình tiếp nhận. Công cụ tạo mã không tự giải quyết quyền đối với mọi thành phần. Cũng không gán một license ngẫu nhiên chỉ để trình quét hết cảnh báo. Quyết định nhận vào dự án phải dựa trên bằng chứng phù hợp.

Ba tài sản giả định tập đọc bằng chứng, toán tử OR/AND và các câu hỏi chưa giải quyết.
Hình 2. Ba tài sản giả định tập đọc bằng chứng, toán tử OR/AND và các câu hỏi chưa giải quyết. Mở hình để xem chi tiết.

Tự kiểm tra và giới hạn bài tập

  1. Mã public nhưng không có license đã đủ quyền phân phối chưa? Chưa thể suy ra từ trạng thái public.
  2. OR và AND có giống nhau không? Không. Một bên biểu đạt lựa chọn, một bên biểu đạt đồng thời trong ký pháp đã dẫn.
  3. License ở root có bảo đảm ảnh đi kèm cùng license không? Chưa; cần kiểm tra phạm vi và thông báo riêng.
  4. Nâng phiên bản thư viện có cần xem lại license không? Có, cần xác minh thông báo và thành phần của đúng bản mới.
  5. File hồ sơ đầy đủ có chứng minh tuân thủ pháp lý không? Không. Nó hỗ trợ đánh giá và thực hiện nghĩa vụ, chưa thay được đánh giá cần thiết.

Bài tập đã được rà soát bằng các ca giả định và kết quả mong đợi, chưa quét sản phẩm, xác minh chủ thể quyền hoặc đưa ra kết luận tương thích cho gói thực tế. Khi chuyển sang bài copyleft, hãy giữ hồ sơ này để bổ sung điều kiện cụ thể thay vì học thuộc các nhãn giấy phép tách rời cách sử dụng.

Nguồn tham khảo

  • LPI: mục tiêu Open Source Essentials, mục 052.1; PDF tiếng Việt bản 2025-01-08 là khung tham chiếu.
  • Các nguồn FSF, OSI, WIPO, GitHub, Creative Commons và SPDX được dẫn trực tiếp tại nội dung liên quan; luôn đọc văn bản áp dụng cho phiên bản và tài sản đang xét.

Bài liên quan trong bộ LPI

Tìm hiểu thêm