Giải Tin Học trang 18

Lời giải chi tiết SGK Lớp 11 · Môn Tin Học · Trang 18–19

Nguon: Tin Hoc 11 - Ket Noi Tri Thuc Voi Cuoc Song (trang 18 – 19)

🔍 Kiến thức cần nhớ

Ba khái niệm cốt lõi về giấy phép phần mềm:

  • Phần mềm thương mại (nguồn đóng): dùng để bán, người dùng phải mua mới có quyền sử dụng. Hầu hết được bán ở dạng mã máy nên gọi là phần mềm nguồn đóng.
  • Phần mềm nguồn mở: được cung cấp cả mã nguồn, người dùng có quyền sử dụng, thay đổi và phân phối lại theo các "giấy phép" thích hợp.
  • Giấy phép công cộng GNU GPL: giấy phép điển hình của phần mềm nguồn mở, bảo đảm:
  • Quyền tiếp cận mã nguồn để dùng, thay đổi, phân phối lại.
  • Quyền miễn trừ trách nhiệm của tác giả về hậu quả sử dụng.
  • Quyền đứng tên của các tác giả tham gia phát triển.
  • Sự phát triển bền vững: phần phát triển dựa trên phần mềm GPL cũng phải mở theo GPL.

Hai loại phần mềm thương mại:

  • Phần mềm "đặt hàng" (may-đo): thiết kế theo yêu cầu riêng của từng khách hàng, được bảo hành theo hợp đồng. Ví dụ: phần mềm điều khiển dây chuyền lắp ráp, phần mềm đặt xe của hãng taxi.
  • Phần mềm "đóng gói": thiết kế dựa trên nhu cầu chung của nhiều người, kèm công cụ cài đặt tự động. Ví dụ: Photoshop, Microsoft Word.
💡 Mẹo nhớ: "Đóng" = đóng kín mã nguồn (nguồn đóng = thương mại). "Mở" = mở mã nguồn (nguồn mở). GPL có nguyên tắc "lan truyền": đã mở thì con cháu cũng phải mở.

⚙️ Bài tập

Câu 1

Đề bài: Em hãy cho biết ý nghĩa của yêu cầu "người sửa đổi, nâng cấp phần mềm nguồn mở phải công bố rõ ràng phần nào đã sửa, sửa thế nào so với bản gốc".

Cách 1 — Phân tích theo quyền lợi các bên

Yêu cầu này có những ý nghĩa quan trọng sau:

1. Bảo vệ quyền và uy tín của tác giả gốc:
Khi công bố rõ phần nào đã sửa, người ta phân biệt được đâu là công sức của tác giả gốc, đâu là phần do người sửa đổi thêm vào. Nhờ đó:

  • Tác giả gốc không bị "đánh đồng" trách nhiệm với những lỗi do người sửa đổi tạo ra.
  • Quyền đứng tên của tác giả gốc được tôn trọng.

2. Bảo vệ người dùng:
Người dùng biết được mình đang sử dụng phiên bản nào, đã được thay đổi ra sao so với bản gốc, từ đó đánh giá được độ tin cậy và quyết định có nên dùng hay không.

3. Bảo đảm tính minh bạch và phát triển bền vững:
Việc ghi rõ các thay đổi giúp cộng đồng theo dõi được quá trình phát triển của phần mềm qua các phiên bản, dễ dàng kế thừa, sửa lỗi và tiếp tục phát triển.

Cách 2 — Liên hệ thực tế

Hãy hình dung một cuốn sách được nhiều người cùng biên soạn lại qua các đời. Nếu mỗi người chỉnh sửa đều ghi chú rõ "tôi đã sửa chỗ này, sửa như thế này", thì:

  • Người đọc biết ai chịu trách nhiệm cho từng phần.
  • Người sửa sau biết được lịch sử thay đổi để không làm hỏng nội dung gốc.

Tương tự với phần mềm nguồn mở: công bố rõ phần sửa đổi chính là cách ghi "nhật ký thay đổi" minh bạch, vừa công bằng với tác giả gốc, vừa thuận lợi cho những người phát triển tiếp theo.

⚠️ Lưu ý thi: Câu hỏi dạng "ý nghĩa" cần nêu được ít nhất 2 - 3 khía cạnh: bảo vệ tác giả gốc, bảo vệ người dùng, và tính minh bạch / phát triển bền vững.

Câu 2

Đề bài: Ý nghĩa của yêu cầu "phần mềm sửa đổi một phần mềm nguồn mở theo GPL cũng phải mở theo giấy phép của GPL" là gì?

Cách 1 — Phân tích theo mục tiêu của GPL

Đây chính là nguyên tắc "lan truyền" (copyleft) của GPL, với những ý nghĩa sau:

1. Bảo đảm sự phát triển bền vững của phần mềm nguồn mở:
Nếu một sản phẩm bắt nguồn từ phần mềm nguồn mở GPL thì sản phẩm đó cũng phải là nguồn mở. Nhờ vậy, "kho tài nguyên" nguồn mở không bị thu hẹp mà ngày càng phong phú theo thời gian.

2. Ngăn chặn việc chiếm dụng thành quả chung làm của riêng:
Quy định này ngăn không cho ai đó lấy mã nguồn mở miễn phí của cộng đồng, sửa đổi một chút rồi biến thành phần mềm nguồn đóng để bán độc quyền. Như vậy mới công bằng với những người đã đóng góp ban đầu.

3. Bảo đảm quyền tiếp cận của mọi người được duy trì lâu dài:
Người dùng các phiên bản sau vẫn được hưởng quyền xem, sửa và phân phối lại mã nguồn giống như với bản gốc, quyền lợi này không bị "đóng lại" qua các đời phiên bản.

Cách 2 — Hình ảnh "dòng chảy mở"

Có thể hình dung GPL như một dòng nước luôn được giữ trong sạch và chảy tự do. Bất kỳ nhánh sông nào tách ra từ dòng chính (tức là sửa đổi từ phần mềm GPL) đều buộc phải giữ nguyên tính chất "mở" của dòng chính.

Quy định "con cháu cũng phải mở" này giống như một lời cam kết: ai đã hưởng lợi từ sự tự do của cộng đồng thì cũng phải tiếp tục đóng góp lại sự tự do đó cho cộng đồng, không được khóa lại để giữ riêng.

💡 Mẹo nhớ: Nguyên tắc GPL = "Đã mở thì mãi mở" (copyleft). Đây là điểm khác biệt cốt lõi giữa GPL và nhiều giấy phép nguồn mở khác.

Hoạt động 3

Đề bài: Hãy thảo luận xem phần mềm nguồn mở có thay thế hoàn toàn được phần mềm thương mại hay không? Tại sao?

Cách 1 — Trả lời theo lập luận của sách giáo khoa

Kết luận: Phần mềm nguồn mở KHÔNG thể thay thế hoàn toàn phần mềm thương mại.

Lý do:

1. Phần mềm nguồn mở chỉ đáp ứng nhu cầu chung của nhiều người:
Mỗi phần mềm nguồn mở được phát triển để phục vụ những nhu cầu phổ biến, chung cho số đông. Trong khi đó, nhu cầu riêng trong thực tế lại rất phong phú và đặc thù.

2. Nhiều nhu cầu riêng chỉ phần mềm "đặt hàng" mới đáp ứng được:
Ví dụ phần mềm điều khiển một dây chuyền lắp ráp cụ thể, hay phần mềm quản lý riêng của một doanh nghiệp, phải được thiết kế chính xác theo yêu cầu và được bảo hành theo hợp đồng. Đây là việc phần mềm nguồn mở phổ biến khó đáp ứng.

3. Phần mềm thương mại mang lại nguồn tài chính nuôi sống ngành phần mềm:
Chính các phần mềm thương mại đem lại nguồn thu chủ yếu để duy trì các tổ chức, công ty làm phần mềm. Nếu không có nguồn tài chính này, hoạt động phát triển phần mềm (kể cả nguồn mở) cũng khó bền vững.

Cách 2 — Phân tích theo từng tiêu chí
Tiêu chíPhần mềm nguồn mởPhần mềm thương mại
Đối tượng phục vụNhu cầu chung của số đôngCó loại "đặt hàng" theo nhu cầu riêng
Chi phíThường miễn phíPhải mua
Bảo hành, hỗ trợDựa vào cộng đồng, không cam kếtBảo hành theo hợp đồng, hỗ trợ chuyên nghiệp
Nguồn tài chính cho ngànhHạn chếNguồn thu chính nuôi các tổ chức làm phần mềm

Qua bảng so sánh thấy rõ: ở những lĩnh vực có nhu cầu chung (văn phòng, hệ điều hành, xử lí ảnh...) phần mềm nguồn mở có thể thay thế tốt. Nhưng với nhu cầu riêng, đặc thù và yêu cầu bảo hành cam kết thì vẫn cần phần mềm thương mại. Vì vậy hai loại phần mềm bổ sung cho nhau chứ không loại trừ nhau.

⚠️ Lưu ý thi: Câu hỏi này hay ra ở phần thảo luận / tự luận. Cần khẳng định rõ "KHÔNG thay thế hoàn toàn" và nêu được 2 lý do chính: (1) nhu cầu riêng cần phần mềm "đặt hàng", (2) phần mềm thương mại tạo nguồn tài chính duy trì ngành.

🎯 Ghi nhớ: - Giấy phép GPL buộc công bố rõ phần sửa đổi → minh bạch, bảo vệ tác giả gốc và người dùng. - Nguyên tắc copyleft: "Đã mở theo GPL thì sản phẩm phát triển từ nó cũng phải mở theo GPL" → bảo đảm phát triển bền vững. - Phần mềm nguồn mở và phần mềm thương mại bổ sung cho nhau, không thay thế hoàn toàn được nhau.
Chế độ đọc sách →