Chọn đến phần học sinh cần nhanh chóng thông qua mục lục bằng cách click đến phần đó
Câu hỏi mở đầu trang 15
Đề bài: Vào những năm 1970, trong một số trường đại học ở Mỹ đã xuất hiện việc chia sẻ mã nguồn để cùng phát triển phần mềm, dẫn tới sự ra đời của phần mềm nguồn mở. Theo em, lợi ích đối với cộng đồng trong việc chia sẻ mã nguồn là gì?
Lời giải:
Lợi ích của cộng đồng khi chia sẻ mã nguồn:
- Cùng phát triển phần mềm: Nhiều người trong cộng đồng có thể sửa lỗi, nâng cấp, cải tiến phần mềm.
- Tiết kiệm chi phí: Không phải trả tiền mua phần mềm; nhiều người cùng làm nên chi phí phát triển giảm.
- Học hỏi kinh nghiệm: Người mới có thể đọc mã nguồn để học cách viết chương trình từ những người giỏi.
- Minh bạch: Ai cũng kiểm tra được mã nguồn → an tâm về mặt an toàn (không có mã độc, không thu thập dữ liệu trái phép).
- Không phụ thuộc nhà cung cấp: Cộng đồng có thể tiếp tục phát triển phần mềm ngay cả khi tác giả gốc dừng lại.
1. Phần mềm nguồn mở
Hoạt động 1 trang 15
Đề bài: Cách thức chuyển giao phần mềm cho người sử dụng theo chiều hướng “mở dần” như sau:
- Bán phần mềm dưới dạng mã máy.
- Cho sử dụng phần mềm miễn phí có điều kiện hoặc không điều kiện, không cung cấp mã nguồn.
- Cho sử dụng phần mềm tự do, cung cấp cả mã nguồn để có thể sửa, nâng cấp, phát triển và chuyển giao (phân phối) lại phần mềm.
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.
Lời giải:
Lợi ích của người dùng tăng dần theo 3 mức “mở”:
| Cách chuyển giao | Lợi ích của người dùng |
|---|---|
| Cách 1: Bán phần mềm dưới dạng mã máy | Chỉ được sử dụng phần mềm sau khi mua, không thể sửa đổi, không xem được mã nguồn. |
| Cách 2: Miễn phí, không cấp mã nguồn | Được sử dụng miễn phí (đỡ tốn chi phí) nhưng vẫn không thể sửa đổi vì không có mã nguồn. |
| Cách 3: Tự do, cung cấp cả mã nguồn | Được sử dụng miễn phí, xem được mã nguồn, có thể sửa đổi, nâng cấp, phát triển và chuyển giao lại cho người khác. |
→ Từ cách 1 đến cách 3, quyền của người dùng tăng dần: từ chỉ được dùng → được dùng miễn phí → được tự do làm chủ phần mềm.
Hoạt động 2 trang 16
Đề bài: Theo quy định về bản quyền, các tác giả của phần mềm có quyền bảo vệ chống phần mềm bị sửa đổi gây phương hại đến uy tín và danh dự của tác giả. Nếu là người đầu tư, tác giả giữ cả quyền tạo bản sao, sửa đổi, nâng cấp phần mềm, quyền 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.
Lời giải:
So sánh:
| Tiêu chí | Quy định về bản quyền | Quyền sử dụng phần mềm nguồn mở |
|---|---|---|
| Sửa đổi phần mềm | Không được sửa đổi | Được tự do sửa đổi |
| Tạo bản sao | Chỉ tác giả có quyền | Ai cũng có thể sao chép |
| Chuyển giao (phân phối) | Chỉ tác giả có quyền | Ai cũng có thể phân phối lại |
| Nâng cấp phần mềm | Chỉ tác giả có quyền | Ai cũng có thể nâng cấp |
Một số điểm mâu thuẫn:
- Mâu thuẫn về quyền sửa đổi: Bản quyền cấm sửa đổi ↔ Nguồn mở cho phép sửa đổi tự do.
- Mâu thuẫn về quyền sao chép, phân phối: Bản quyền dành riêng cho tác giả ↔ Nguồn mở cho phép mọi người sao chép, phân phối lại.
→ Vì có mâu thuẫn này nên phần mềm nguồn mở cần có giấy phép (license) để cấp cho người dùng các quyền vốn bị cấm bởi quy định bản quyền.
Câu hỏi củng cố mục 1 trang 17
Đề bài:
1. 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”.
Lời giải:
Ý nghĩa của yêu cầu này:
- Đảm bảo tính minh bạch: Cộng đồng biết rõ đâu là bản gốc, đâu là bản sửa đổi.
- Bảo vệ uy tín của tác giả gốc: Nếu bản sửa có lỗi hoặc gây hại, tác giả gốc sẽ không bị đổ lỗi oan vì đã ghi rõ những gì đã thay đổi.
- Hỗ trợ cộng đồng phát triển: Các lập trình viên khác có thể học hỏi từ những sửa đổi và tiếp tục cải tiến phần mềm dựa trên đó.
2. Ý 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ì?
Lời giải:
Ý nghĩa của yêu cầu này:
- Đảm bảo sự phát triển bền vững của phần mềm nguồn mở: Mọi bản sửa đổi đều tiếp tục là nguồn mở → cộng đồng luôn được tiếp cận mã nguồn.
- Ngăn chặn việc “chiếm dụng”: Không ai có thể lấy phần mềm nguồn mở về sửa lại rồi biến thành phần mềm nguồn đóng để bán → giữ cho phần mềm luôn thuộc về cộng đồng.
- Cộng đồng cùng hưởng lợi: Mọi cải tiến, nâng cấp của bất kì ai đều được chia sẻ lại cho cộng đồng.
2. Vai trò của phần mềm thương mại và phần mềm nguồn mở
Hoạt động 3 trang 18
Đề 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?
Lời giải:
Phần mềm nguồn mở không thể thay thế hoàn toàn phần mềm thương mại.
Giải thích:
- Phần mềm thương mại có hai loại là phần mềm “đặt hàng” (đáp ứng nhu cầu riêng của từng khách hàng) và phần mềm “đóng gói” (đáp ứng nhu cầu chung của nhiều người).
- Phần mềm nguồn mở chỉ đáp ứng nhu cầu chung của cộng đồng, trong khi những nhu cầu riêng phong phú của từng cá nhân, tổ chức thì chỉ phần mềm “đặt hàng” mới đáp ứng được.
- Phần mềm thương mại là nguồn tài chính chủ yếu để duy trì các tổ chức, cá nhân làm phần mềm chuyên nghiệp. Nếu không có phần mềm thương mại, ngành công nghiệp phần mềm sẽ khó tồn tại và phát triển.
→ Kết luận: Phần mềm nguồn mở và phần mềm thương mại bổ sung cho nhau, cả hai đều cần thiết trong xã hội.
Câu hỏi củng cố mục 2 trang 19
Đề bài:
1. Cho ví dụ về phần mềm đóng gói và phần mềm đặt hàng. Ưu điểm của phần mềm thương mại là gì?
Lời giải:
a) Ví dụ:
- Phần mềm đóng gói: Microsoft Word, Microsoft Excel, PowerPoint, Photoshop, Windows,…
- Phần mềm đặt hàng: phần mềm điều khiển dây chuyền lắp ráp trong nhà máy, phần mềm đặt xe của các hãng taxi (Grab, Be,…), phần mềm quản lí bệnh nhân của bệnh viện,…
b) Ưu điểm của phần mềm thương mại:
- Phần mềm “đặt hàng”: đáp ứng đúng nhu cầu riêng của khách hàng và có hỗ trợ kĩ thuật, bảo hành theo hợp đồng.
- Phần mềm “đóng gói”: có tính hoàn chỉnh cao, đáp ứng nhu cầu rộng rãi của nhiều người dùng.
2. Cho ví dụ về một phần mềm thương mại và một phần mềm nguồn mở có thể thay thế. Ưu điểm của phần mềm nguồn mở là gì?
Lời giải:
a) Ví dụ phần mềm thương mại và phần mềm nguồn mở có thể thay thế (theo Bảng 3.1 SGK):
| Lĩnh vực | Phần mềm thương mại | Phần mềm nguồn mở |
|---|---|---|
| Phần mềm văn phòng | Microsoft Word | Writer (trong OpenOffice) |
| Phần mềm xử lí ảnh | Photoshop | GIMP |
| Hệ điều hành | Windows | LINUX, Ubuntu |
b) Ưu điểm của phần mềm nguồn mở:
- Chi phí thấp: chỉ mất phí chuyển giao (nếu có), không phải mua phần mềm.
- Minh bạch: người dùng kiểm soát được mã nguồn, biết rõ phần mềm làm gì.
- Không phụ thuộc vào nhà cung cấp: được cộng đồng phát triển theo chuẩn chung.
3. Phần mềm chạy trên Internet
Hoạt động 4 trang 19
Đề bài: Phần mềm chạy trên Internet là gì? Em hãy cho một ví dụ về phần mềm như vậy. Hãy nêu ưu điểm của phần mềm chạy trên Internet.
Lời giải:
a) Khái niệm:
Phần mềm chạy trên Internet (còn gọi là phần mềm trực tuyến) là phần mềm cho phép sử dụng qua Internet mà không cần cài đặt vào máy.
b) Ví dụ:
- Google Docs – soạn thảo văn bản trực tuyến.
- Google Sheets – tạo bảng tính trực tuyến.
- Google Slides – trình chiếu trực tuyến.
- Ứng dụng mạng xã hội (Facebook), thư điện tử (Gmail), mua sắm trên mạng (Shopee, Lazada).
c) Ưu điểm:
- Có thể sử dụng ở bất cứ đâu, bất cứ khi nào, trên bất cứ máy tính nào miễn là có kết nối Internet.
- Chi phí rẻ hoặc miễn phí.
- Không cần cài đặt vào máy → không tốn dung lượng đĩa.
Câu hỏi củng cố mục 3 trang 20
Đề bài:
1. Em hãy nêu những ưu điểm của phần mềm chạy trên Internet.
Lời giải:
Ưu điểm của phần mềm chạy trên Internet:
- Không cần cài đặt vào máy tính → tiết kiệm dung lượng đĩa cứng.
- Dùng được mọi lúc, mọi nơi trên bất kì máy tính nào có kết nối Internet.
- Chi phí thấp hoặc miễn phí.
- Dữ liệu được lưu tự động trên đám mây → không lo mất dữ liệu khi hỏng máy, có thể truy cập từ nhiều thiết bị khác nhau.
2. Em hãy nêu tên một phần mềm trực tuyến khác với các phần mềm đã nêu trong bài.
Lời giải:
Một số phần mềm trực tuyến khác:
- Zalo Web – nhắn tin trực tuyến.
- Facebook, YouTube, TikTok – mạng xã hội.
- Zoom, Google Meet – họp trực tuyến.
- Canva – thiết kế đồ hoạ trực tuyến.
- Netflix, Spotify – xem phim, nghe nhạc trực tuyến.
Luyện tập
Luyện tập trang 20
Đề bài:
1. Có thể nói “Phần mềm nguồn mở ngày càng phát triển thì thị trường phần mềm thương mại càng suy giảm” hay không? Tại sao?
Lời giải:
Không thể nói như vậy.
Giải thích:
- Phần mềm nguồn mở và phần mềm thương mại có vai trò khác nhau, phục vụ các nhu cầu khác nhau:
- Phần mềm nguồn mở đáp ứng nhu cầu chung của cộng đồng.
- Phần mềm thương mại (đặc biệt là phần mềm “đặt hàng”) đáp ứng nhu cầu riêng rất phong phú của từng cá nhân, tổ chức.
- Phần mềm thương mại là nguồn thu nhập chính của các tổ chức làm phần mềm chuyên nghiệp, giúp thị trường phần mềm phát triển đa dạng.
- Cả hai cùng tồn tại và bổ sung cho nhau, không phải là quan hệ đối lập.
→ Do đó, phần mềm nguồn mở phát triển không làm phần mềm thương mại suy giảm.
2. Phần mềm ở các trạm ATM (rút tiền tự động) có phải là phần mềm trực tuyến không?
Lời giải:
Không phải là phần mềm trực tuyến.
Giải thích:
- Phần mềm trực tuyến là phần mềm chạy qua Internet, không cần cài đặt vào máy của người dùng.
- Phần mềm ở các trạm ATM được cài đặt sẵn trong máy ATM.
- Máy ATM có kết nối mạng với ngân hàng chỉ để truyền dữ liệu giao dịch, chứ không phải để tải phần mềm chạy qua mạng.
→ Vì vậy phần mềm ATM là phần mềm cài đặt bình thường, không phải phần mềm trực tuyến.
Vận dụng
Vận dụng trang 20
Đề bài:
1. Em hãy tìm trên Internet và cho biết tên một số phần mềm đồ hoạ nguồn mở và một số phần mềm đồ hoạ thương mại.
Lời giải:
| Loại | Tên phần mềm |
|---|---|
| Phần mềm đồ hoạ nguồn mở | GIMP (xử lí ảnh, thay thế Photoshop)
Inkscape (đồ hoạ vector, thay thế Illustrator) Krita (vẽ tranh số) Blender (đồ hoạ 3D) |
| Phần mềm đồ hoạ thương mại | Adobe Photoshop (xử lí ảnh)
Adobe Illustrator (đồ hoạ vector) CorelDRAW (đồ hoạ vector) Autodesk 3ds Max (đồ hoạ 3D) |
2. Nói chung, các môi trường lập trình trên ngôn ngữ Python đều không có chức năng biên dịch để chuyển mã nguồn thành mã máy. Các chương trình Python đều ở dạng mã nguồn. Liệu có thể coi mọi phần mềm viết bằng Python đều là phần mềm nguồn mở hay không?
Lời giải:
Không thể coi mọi phần mềm viết bằng Python đều là phần mềm nguồn mở.
Giải thích:
- Một phần mềm được coi là nguồn mở khi thoả mãn hai điều kiện:
- Mã nguồn được công bố công khai.
- Có giấy phép cho phép người dùng sử dụng, sửa đổi và phân phối lại.
- Phần mềm viết bằng Python tuy tồn tại ở dạng mã nguồn, nhưng nếu tác giả không công bố công khai mã nguồn (chỉ dùng nội bộ, chỉ giao cho khách hàng khi bán) và không cấp giấy phép sử dụng lại, thì đó vẫn là phần mềm nguồn đóng/thương mại.
- Ngoài ra, phần mềm Python có thể được đóng gói thành file thực thi (ví dụ
.exe) hoặc mã hoá để người dùng cuối không đọc được mã nguồn.
→ Kết luận: Việc là phần mềm nguồn mở hay không phụ thuộc vào cách chuyển giao và giấy phép, chứ không phụ thuộc vào ngôn ngữ lập trình dùng để viết phần mềm đó.

Thầy Phạm Thành Danh
(Người kiểm duyệt, ra đề)
Chức vụ: Trưởng ban biên soạn môn Tin Học THPT
Trình độ: Cử nhân Sư phạm Tin học, Chứng chỉ hạng II, Chứng chỉ Tin học, Ngoại ngữ B1
Kinh nghiệm: 8+ năm kinh nghiệm tại Trường THPT Thuận Hóa
