Giải Tin Học trang 16
Lời giải chi tiết SGK Lớp 11 · Môn Tin Há»c · Trang 16–17
Nguon: Tin Hoc 11 - Ket Noi Tri Thuc Voi Cuoc Song (trang 16 – 17)
🔍 Kiến thức cần nhớ
Bài 3 giới thiệu cách phân loại phần mềm theo cách chuyển giao và khái niệm phần mềm nguồn mở. Một số khái niệm cốt lõi:
- Mã nguồn: chương trình viết bằng ngôn ngữ lập trình bậc cao, gần với ngôn ngữ tự nhiên, con người đọc hiểu được.
- Mã máy: dãy lệnh máy đã được dịch từ mã nguồn để máy tính chạy trực tiếp; rất khó đọc hiểu nên giúp bảo vệ ý tưởng, chống sửa đổi.
- Phần mềm nguồn đóng: phần mềm chuyển giao dưới dạng mã máy.
- Phần mềm thương mại (commercial software): phần mềm để bán, hầu hết là nguồn đóng. Ví dụ: Microsoft Word, Photoshop.
- Phần mềm tự do (free software): miễn phí và được tự do sử dụng mà không cần xin phép; có thể ở dạng mã máy hoặc mã nguồn. Ví dụ: Acrobat Reader.
- Phần mềm nguồn mở (open-source software): cung cấp cả mã nguồn để người dùng tự sửa đổi, cải tiến, phát triển, phân phối lại theo một giấy phép. Thường là tự do và không được bảo hành. Ví dụ: Inkscape, GIMP, môi trường lập trình Python.
- Giấy phép (license): điều kiện được phép sử dụng phần mềm. Ví dụ: phần mềm thương mại chỉ được cài trên số lượng máy nhất định khi trả tiền cho mỗi giấy phép.
💡 Mẹo nhớ: Ba mức "mở dần" theo lợi ích người dùng: Bán mã máy → Miễn phí (không mã nguồn) → Tự do + mã nguồn (nguồn mở)
⚙️ Bài tập
Câu hỏi mở đầu
Đề bài: Theo em, lợi ích đối với cộng đồng trong việc chia sẻ mã nguồn là gì?
Cách 1 — Phân tích theo cộng đồng phát triển
Khi mã nguồn được chia sẻ, cả cộng đồng đều được hưởng lợi:
- Cùng phát triển, tránh lãng phí: Nhiều người có thể cùng đọc, sửa lỗi, cải tiến và nâng cấp phần mềm mà không phải viết lại từ đầu. Công sức của người này được người khác kế thừa.
- Học hỏi và đào tạo: Người mới học lập trình có nguồn mã thực tế để nghiên cứu, học cách viết chương trình tốt.
- Phát hiện và sửa lỗi nhanh: Càng nhiều người xem mã nguồn thì lỗi (kể cả lỗ hổng bảo mật) càng dễ được phát hiện và khắc phục.
- Thúc đẩy đổi mới: Ý tưởng được lan tỏa rộng, tạo nền tảng cho các phần mềm mới ra đời, đẩy nhanh sự phát triển của công nghệ thông tin.
- Giảm chi phí: Cộng đồng, đặc biệt là người dùng ở các nước đang phát triển, được dùng phần mềm chất lượng mà không tốn chi phí bản quyền.
Cách 2 — Liên hệ thực tế ngắn gọn
Chia sẻ mã nguồn giống như chia sẻ tri thức: "một người làm, nhiều người cùng hưởng và cùng góp sức". Nhờ đó mới có những sản phẩm lớn như hệ điều hành Linux, trình duyệt Firefox hay ngôn ngữ Python — đều do cộng đồng toàn cầu cùng xây dựng và liên tục hoàn thiện.
Hoạt động 1 — Tìm hiểu các cách chuyển giao phần mềm
Đề bài: Cách thức chuyển giao phần mềm theo chiều hướng "mở dần":
- Bán phần mềm dưới dạng mã máy.
- Cho sử dụng miễn phí (có hoặc không điều kiện), không cung cấp mã nguồn.
- Cho sử dụng tự do, cung cấp cả mã nguồn để có thể sửa, nâng cấp, phát triển và phân phối lại.
Hãy thảo luận xem lợi ích của người dùng được tăng dần như thế nào theo hướng mở nói trên.
Cách 1 — Phân tích từng mức
Lợi ích của người dùng tăng dần qua ba mức:
| Mức | Cách chuyển giao | Lợi ích của người dùng |
|---|---|---|
| 1 | Bán mã máy | Chỉ được dùng phần mềm, phải trả tiền, không sửa đổi được, phụ thuộc hoàn toàn vào nhà sản xuất. |
| 2 | Miễn phí, không có mã nguồn | Không tốn tiền mua, nhưng vẫn không thể sửa đổi hay cải tiến vì không có mã nguồn. |
| 3 | Tự do + có mã nguồn | Vừa miễn phí, vừa được tự do sử dụng, lại có mã nguồn để tự sửa lỗi, nâng cấp theo nhu cầu và chia sẻ lại cho người khác. |
Kết luận: Càng "mở", người dùng càng có nhiều quyền chủ động hơn — từ chỗ chỉ là người mua thụ động (mức 1), đến được dùng miễn phí (mức 2), rồi trở thành người có thể tham gia phát triển phần mềm (mức 3).
Cách 2 — Ghi nhớ theo trục "quyền của người dùng"
Đi từ mức 1 đến mức 3, người dùng lần lượt được cộng thêm các quyền:
- Mức 1: quyền sử dụng (có trả phí).
- Mức 2: thêm quyền dùng miễn phí.
- Mức 3: thêm quyền xem, sửa, nâng cấp và phân phối lại nhờ có mã nguồn.
Mỗi mức kế thừa lợi ích của mức trước và bổ sung thêm, nên lợi ích tăng dần.
Hoạt động 2 — Giấy phép đối với phần mềm nguồn mở
Đề bài: Theo quy định về bản quyền, tác giả phần mềm có quyền bảo vệ chống việc sửa đổi gây phương hại đến uy tín, danh dự; nếu là người đầu tư còn giữ quyền tạo bản sao, sửa đổi, nâng cấp, chuyển giao sử dụng,... Em hãy so sánh quyền sử dụng phần mềm nguồn mở với quy định về bản quyền và cho biết một số điểm mâu thuẫn.
Cách 1 — Lập bảng so sánh quyền
| Quyền | Quy định bản quyền (phần mềm thông thường) | Phần mềm nguồn mở |
|---|---|---|
| Tạo bản sao, phân phối | Chỉ tác giả/nhà đầu tư được quyền | Người dùng được phép phân phối lại |
| Sửa đổi, nâng cấp | Thuộc về tác giả/nhà đầu tư | Người dùng được tự sửa đổi, cải tiến |
| Bảo vệ uy tín tác giả | Cấm sửa đổi gây phương hại danh dự tác giả | Vẫn cần tôn trọng, nhưng việc cho sửa tự do dễ phát sinh rủi ro |
Một số điểm mâu thuẫn:
- Quyền sửa đổi: Bản quyền dành quyền sửa đổi cho tác giả/nhà đầu tư, nhưng nguồn mở lại cho phép bất kỳ người dùng nào cũng được sửa. Đây là điểm mâu thuẫn rõ nhất.
- Quyền tạo bản sao và phân phối: Bản quyền chỉ cho tác giả phân phối, còn nguồn mở cho phép người dùng tự phân phối lại.
- Bảo vệ uy tín, danh dự tác giả: Khi ai cũng có thể sửa đổi, nếu một bản sửa đổi kém chất lượng hoặc có lỗi mang tên/dựa trên phần mềm gốc thì có thể ảnh hưởng đến uy tín tác giả — mâu thuẫn với quyền được bảo vệ danh dự.
Cách 2 — Giải thích cách dung hòa qua giấy phép
Thực ra hai bên không mâu thuẫn hoàn toàn vì giấy phép nguồn mở chính là cách tác giả chủ động "trao quyền". Tác giả vẫn là người giữ bản quyền, nhưng tự nguyện cho phép người dùng sao chép, sửa đổi và phân phối lại theo các điều kiện ghi trong giấy phép. Để bảo vệ uy tín, nhiều giấy phép nguồn mở yêu cầu:
- Giữ nguyên thông tin tác giả gốc.
- Ghi rõ phần nào đã bị sửa đổi và do ai sửa.
Nhờ đó, các quyền tưởng như mâu thuẫn (tự do sửa đổi ↔ bảo vệ tác giả) được dung hòa: người dùng được tự do, còn tác giả vẫn được ghi nhận và không bị quy trách nhiệm cho các bản sửa đổi của người khác.
🎯 Ghi nhớ: - Phần mềm phân loại theo cách chuyển giao: thương mại → tự do → nguồn mở, mức độ "mở" và lợi ích người dùng tăng dần. - Phần mềm nguồn mở cung cấp cả mã nguồn, cho phép sửa đổi và phân phối lại theo giấy phép (license). - Chia sẻ mã nguồn mang lại lợi ích lớn cho cộng đồng: cùng phát triển, học hỏi, sửa lỗi nhanh và thúc đẩy đổi mới công nghệ.
⚠️ Lưu ý thi: Đề hay yêu cầu phân biệt phần mềm tự do và phần mềm nguồn mở. Nhớ: phần mềm tự do có thể không kèm mã nguồn (như Acrobat Reader), còn phần mềm nguồn mở luôn có mã nguồn. Không phải cứ miễn phí là nguồn mở.
