Câu 1:Sự khác biệt cốt lõi về tư tưởng giữa 'Phần mềm tự do' (Free Software) và 'Phần mềm mã nguồn mở' (Open Source Software) là gì?
💡 Lời giải chi tiết:
Theo triết lý của FSF và OSI, 'Phần mềm tự do' nhấn mạnh khía cạnh đạo đức và quyền tự do của người dùng, trong khi 'Phần mềm mã nguồn mở' tập trung vào sự ưu việt của mô hình phát triển cộng tác. Kết luận Lý giải Phần mềm tự do tập trung vào quyền tự do và đạo đức, còn phần mềm mã nguồn mở tập trung vào lợi ích kỹ thuật.
Câu 2:Giấy phép nào sau đây được coi là giấy phép 'Copyleft' mạnh, yêu cầu mọi phần mềm phái sinh phải sử dụng cùng một giấy phép?
💡 Lời giải chi tiết:
Giấy phép GNU GPL có điều khoản ràng buộc các tác phẩm phái sinh phải được phát hành dưới cùng một giấy phép để đảm bảo tính tự do liên tục của mã nguồn. Kết luận Lý giải Giấy phép Công cộng Tổng quát GNU (GNU GPL).
Câu 3:Trong mô hình phát triển phần mềm mã nguồn mở, thuật ngữ 'Upstream' dùng để chỉ đối tượng nào?
💡 Lời giải chi tiết:
Trong quy trình đóng góp mã nguồn, 'Upstream' là nơi quản lý mã nguồn gốc và là nơi các bản vá hoặc tính năng mới thường được gửi về để tích hợp. Kết luận Lý giải Dự án gốc hoặc nhóm người duy trì chính của phần mềm đó.
Câu 4:Ai là người sáng lập ra Quỹ Phần mềm Tự do (Free Software Foundation - FSF) vào năm 1985?
💡 Lời giải chi tiết:
Richard Stallman là người khởi xướng phong trào phần mềm tự do, dự án GNU và sáng lập FSF để bảo vệ các quyền tự do của người dùng máy tính. Kết luận Lý giải Richard Stallman.
Câu 5:Đặc điểm chính của 'Giấy phép MIT' (MIT License) là gì?
💡 Lời giải chi tiết:
Giấy phép MIT là một loại giấy phép mã nguồn mở cho phép người dùng làm hầu hết mọi thứ với mã nguồn, bao gồm cả việc tích hợp vào phần mềm độc quyền. Kết luận Lý giải Là giấy phép cực kỳ lỏng lẻo (permissive), cho phép sử dụng mã nguồn trong các phần mềm thương mại đóng.
Câu 6:Trong cuốn sách 'Thánh đường và Chợ' (The Cathedral and the Bazaar), Eric S. Raymond đã mô tả mô hình 'Chợ' như thế nào?
💡 Lời giải chi tiết:
Mô hình 'Chợ' đại diện cho cách tiếp cận phát triển phần mềm mã nguồn mở nơi mã nguồn được phát hành sớm, thường xuyên và có sự tham gia của nhiều tình nguyện viên. Kết luận Lý giải Phát triển bởi cộng đồng đông đảo, công khai tiến trình và liên tục sửa lỗi trên mạng.
Câu 7:Thuật ngữ 'Fork' trong phát triển mã nguồn mở có nghĩa là gì?
💡 Lời giải chi tiết:
Một 'Fork' xảy ra khi các nhà phát triển lấy bản sao của mã nguồn từ một gói phần mềm và bắt đầu phát triển độc lập, tạo ra một nhánh phần mềm riêng biệt. Kết luận Lý giải Việc sao chép mã nguồn của một dự án để bắt đầu phát triển độc lập theo một hướng mới.
Câu 8:Tổ chức nào chịu trách nhiệm phê duyệt và quản lý các tiêu chuẩn để một giấy phép được coi là 'Mã nguồn mở'?
💡 Lời giải chi tiết:
OSI là tổ chức phi lợi nhuận chuyên thúc đẩy phần mềm mã nguồn mở và duy trì 'Định nghĩa Mã nguồn mở' (Open Source Definition). Kết luận Lý giải Sáng kiến Mã nguồn mở (Open Source Initiative - OSI).
Câu 9:Theo định nghĩa của FSF, quyền tự do thứ 0 trong 'Bốn quyền tự do' của phần mềm tự do là gì?
💡 Lời giải chi tiết:
Bốn quyền tự do bắt đầu từ số 0, trong đó quyền tự do 0 là quyền chạy chương trình cho bất kỳ mục đích nào mà không bị hạn chế. Kết luận Lý giải Tự do chạy chương trình vì bất kỳ mục đích nào.
Câu 10:Lợi ích chính của việc sử dụng phần mềm mã nguồn mở đối với các doanh nghiệp về mặt an ninh mạng là gì?
💡 Lời giải chi tiết:
Khả năng tiếp cận mã nguồn cho phép các chuyên gia bảo mật trên toàn thế giới kiểm tra độc lập và phản ứng nhanh với các lỗ hổng. Kết luận Lý giải Tính minh bạch cho phép mọi người kiểm tra mã nguồn để phát hiện và vá lỗ hổng nhanh chóng.
Câu 11:Định luật Linus (Linus's Law) trong cộng đồng mã nguồn mở phát biểu điều gì?
💡 Lời giải chi tiết:
Định luật này nhấn mạnh rằng khi có nhiều người cùng xem xét mã nguồn, các lỗi sẽ được phát hiện và khắc phục hiệu quả hơn. Kết luận Lý giải Với đủ số lượng mắt quan sát, mọi lỗi phần mềm đều trở nên nông cạn (dễ tìm thấy).
Câu 12:Mô hình 'Cấp phép kép' (Dual-licensing) thường được các công ty mã nguồn mở sử dụng nhằm mục đích gì?
💡 Lời giải chi tiết:
Cấp phép kép cho phép doanh nghiệp vừa đóng góp cho cộng đồng mã nguồn mở vừa tạo doanh thu từ những khách hàng cần các điều khoản thương mại riêng biệt. Kết luận Lý giải Cung cấp phần mềm dưới một giấy phép mã nguồn mở và một giấy phép thương mại trả phí.
Câu 13:Hệ thống quản lý phiên bản phân tán nào được Linus Torvalds tạo ra để phục vụ việc phát triển nhân Linux?
💡 Lời giải chi tiết:
Linus Torvalds đã thiết kế Git vào năm 2005 để đáp ứng nhu cầu quản lý mã nguồn phức tạp và phân tán của dự án nhân Linux. Kết luận Lý giải Git.
Câu 14:Sự kiện nào đánh dấu sự ra đời của phong trào 'Mã nguồn mở' (Open Source) như một thực thể tách biệt với 'Phần mềm tự do'?
💡 Lời giải chi tiết:
Việc Netscape giải phóng mã nguồn đã thúc đẩy một nhóm các nhà phát triển hình thành thuật ngữ 'Open Source' để làm cho phần mềm tự do hấp dẫn hơn với giới kinh doanh. Kết luận Lý giải Việc Netscape công bố mã nguồn của trình duyệt Navigator vào năm 1998.
Câu 15:Ưu điểm của Giấy phép Apache 2.0 so với các giấy phép permissive khác như MIT hay BSD là gì?
💡 Lời giải chi tiết:
Giấy phép Apache 2.0 cung cấp sự bảo vệ pháp lý tốt hơn cho người dùng bằng cách cấp quyền sử dụng các bằng sáng chế liên quan đến mã nguồn từ những người đóng góp. Kết luận Lý giải Nó bao gồm các điều khoản rõ ràng về việc cấp quyền sử dụng bằng sáng chế (patents).
Câu 16:Hệ điều hành Android chủ yếu sử dụng loại giấy phép nào cho các thành phần nằm trong 'Android Open Source Project' (AOSP)?
💡 Lời giải chi tiết:
Google ưu tiên sử dụng giấy phép Apache 2.0 cho Android để các nhà sản xuất thiết bị có thể tùy chỉnh phần mềm mà không bắt buộc phải công khai toàn bộ mã nguồn tùy chỉnh của họ. Kết luận Lý giải Giấy phép Apache 2.0.
Câu 17:Khái niệm 'Tivoization' đề cập đến vấn đề gì trong lĩnh vực phần mềm mã nguồn mở?
💡 Lời giải chi tiết:
Tivoization là thuật ngữ do Richard Stallman đặt ra để chỉ việc các thiết bị dùng phần mềm GPL nhưng khóa phần cứng để ngăn người dùng thay đổi phần mềm đó. Kết luận Lý giải Sử dụng phần mềm mã nguồn mở trên phần cứng ngăn cản người dùng chạy các phiên bản đã chỉnh sửa.
Câu 18:Trong các dự án mã nguồn mở, vai trò của 'Maintainer' (Người duy trì) là gì?
💡 Lời giải chi tiết:
Maintainers đóng vai trò là những người 'gác cổng' chất lượng, đảm bảo các thay đổi từ cộng đồng phù hợp với định hướng và tiêu chuẩn của dự án. Kết luận Lý giải Người có quyền xem xét, phê duyệt và tích hợp các đóng góp mã nguồn vào dự án chính.
Câu 19:Giấy phép 'Creative Commons' (CC) thường được áp dụng cho đối tượng nào nhiều nhất?
💡 Lời giải chi tiết:
Mặc dù có thể dùng cho mã nguồn, CC được thiết kế tối ưu để chia sẻ các tác phẩm văn hóa, giáo dục và nghệ thuật một cách linh hoạt. Kết luận Lý giải Các nội dung sáng tạo như tài liệu, hình ảnh, âm thanh và video.
Câu 20:Tại sao việc 'Vendor lock-in' (Phụ thuộc nhà cung cấp) thường ít xảy ra hơn khi sử dụng phần mềm mã nguồn mở?
💡 Lời giải chi tiết:
Sự sẵn có của mã nguồn giúp người dùng có quyền tự chủ cao hơn, cho phép họ chuyển đổi nhà cung cấp dịch vụ mà không phải thay đổi toàn bộ hệ thống phần mềm. Kết luận Lý giải Vì người dùng có mã nguồn nên có thể tự duy trì hoặc thuê đơn vị khác hỗ trợ thay vì chỉ phụ thuộc vào một hãng.
Câu 21:Sự khác biệt chính giữa giấy phép GPLv2 và GPLv3 là gì?
💡 Lời giải chi tiết:
GPLv3 được cập nhật để giải quyết các vấn đề pháp lý hiện đại như bằng sáng chế phần mềm và các biện pháp kỹ thuật ngăn cản quyền tự do của người dùng. Kết luận Lý giải GPLv3 bổ sung các điều khoản chống Tivoization và bảo vệ chống lại các vụ kiện bằng sáng chế.
Câu 22:Dự án nào sau đây là một ví dụ điển hình về phần mềm mã nguồn mở trong lĩnh vực đồ họa?
💡 Lời giải chi tiết:
GIMP là một trong những phần mềm thay thế mã nguồn mở phổ biến nhất cho các công cụ chỉnh sửa ảnh chuyên nghiệp độc quyền. Kết luận Lý giải GIMP (GNU Image Manipulation Program).
Câu 23:Khái niệm 'Upstreaming' (đóng góp ngược lại dự án gốc) mang lại lợi ích gì cho nhà phát triển?
💡 Lời giải chi tiết:
Khi mã nguồn đóng góp được chấp nhận vào dự án gốc, nhà phát triển không cần phải tự mình vá lại các thay đổi đó mỗi khi dự án chính nâng cấp. Kết luận Lý giải Giúp giảm bớt gánh nặng bảo trì mã nguồn riêng biệt khi dự án gốc cập nhật phiên bản mới.
Câu 24:Giấy phép AGPL (Affero General Public License) được thiết kế đặc biệt để giải quyết vấn đề gì?
💡 Lời giải chi tiết:
AGPL yêu cầu các tổ chức cung cấp dịch vụ qua mạng dựa trên phần mềm đã chỉnh sửa phải công khai mã nguồn cho người dùng dịch vụ đó. Kết luận Lý giải Lỗ hổng pháp lý khi phần mềm chạy trên máy chủ (SaaS) mà không cần phân phối bản sao cho người dùng.
Câu 25:Tổ chức 'Software in the Public Interest' (SPI) nổi tiếng với việc hỗ trợ pháp lý và tài chính cho dự án nào?
💡 Lời giải chi tiết:
SPI được thành lập ban đầu để giúp dự án Debian quản lý các khoản quyên góp và vấn đề pháp lý một cách chuyên nghiệp. Kết luận Lý giải Dự án Debian (Debian Project).