Câu 1:Ai là người đã thành lập Tổ chức 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 sáng lập FSF và khởi xướng dự án GNU nhằm tạo ra một hệ điều hành hoàn toàn tự do. Kết luận Lý giải Richard Stallman.
Câu 2:Trong khái niệm 'Free Software', từ 'Free' chủ yếu ám chỉ điều gì theo định nghĩa của FSF?
💡 Lời giải chi tiết:
Theo triết lý của FSF, 'free' đề cập đến quyền tự do của người dùng để chạy, sao chép, phân phối, nghiên cứu và thay đổi phần mềm chứ không phải giá cả. Kết luận Lý giải Quyền tự do của người dùng.
Câu 3:Mục tiêu chính của Sáng kiến Mã nguồn mở (Open Source Initiative - OSI) khi được thành lập là gì?
💡 Lời giải chi tiết:
OSI được thành lập để thúc đẩy mã nguồn mở như một mô hình phát triển phần mềm hiệu quả thông qua các lợi ích kỹ thuật thực tế thay vì chỉ tập trung vào đạo đức như FSF. Kết luận Lý giải Tập trung vào khía cạnh thực dụng và lợi ích kỹ thuật của việc chia sẻ mã nguồn.
Câu 4:Thuật ngữ 'Copyleft' trong phần mềm mã nguồn mở có ý nghĩa cốt lõi là gì?
💡 Lời giải chi tiết:
Copyleft là một phương thức pháp lý sử dụng luật bản quyền để yêu cầu các phiên bản sửa đổi của phần mềm cũng phải được phát hành dưới các điều khoản tự do tương tự. Kết luận Lý giải Sử dụng luật bản quyền để đảm bảo phần mềm và các bản sửa đổi của nó luôn tự do.
Câu 5:Theo giấy phép GNU GPL, nếu bạn phân phối một phần mềm đã sửa đổi dựa trên mã nguồn GPL, bạn bắt buộc phải làm gì?
💡 Lời giải chi tiết:
Giấy phép GPL có tính chất 'di truyền', yêu cầu bất kỳ sản phẩm phái sinh nào khi được phân phối cũng phải công khai mã nguồn dưới cùng một giấy phép. Kết luận Lý giải Cung cấp mã nguồn của phiên bản sửa đổi theo cùng một giấy phép GPL.
Câu 6:Sự khác biệt lớn nhất giữa giấy phép MIT và giấy phép GNU GPL là gì?
💡 Lời giải chi tiết:
MIT là giấy phép 'thông thoáng' (permissive) cho phép tích hợp mã nguồn vào phần mềm đóng, trong khi GPL yêu cầu tính mở liên tục của mã nguồn. Kết luận Lý giải Giấy phép MIT cho phép đóng mã nguồn trong các sản phẩm thương mại còn GPL thì không.
Câu 7:Ai là người khởi xướng và phát triển phiên bản đầu tiên của nhân (kernel) Linux vào năm 1991?
💡 Lời giải chi tiết:
Linus Torvalds đã tạo ra nhân Linux khi còn là sinh viên tại Đại học Helsinki và phát hành nó dưới dạng mã nguồn mở. Kết luận Lý giải Linus Torvalds.
Câu 8:Định luật Linus (Linus's Law) trong phát triển mã nguồn mở phát biểu điều gì về bảo mật?
💡 Lời giải chi tiết:
Định luật này nhấn mạnh rằng với một cộng đồng đông đảo cùng kiểm tra mã nguồn, các lỗi và lỗ hổng sẽ nhanh chóng được phát hiện và khắc phục. Kết luận Lý giải Càng nhiều người xem mã nguồn thì lỗi càng dễ bị phát hiện và sửa chữa.
Câu 9:Đặc điểm nào dưới đây phân biệt rõ nhất giữa phần mềm mã nguồn mở và phần mềm độc quyền (proprietary software)?
💡 Lời giải chi tiết:
Phần mềm mã nguồn mở cho phép bất kỳ ai cũng có quyền xem, sửa đổi và phân phối lại mã nguồn, điều mà phần mềm độc quyền nghiêm cấm. Kết luận Lý giải Khả năng tiếp cận và sửa đổi mã nguồn của người dùng.
Câu 10:Trong một dự án mã nguồn mở, vai trò của 'Maintainer' (Người duy trì) thường là gì?
💡 Lời giải chi tiết:
Maintainer là người có quyền quyết định cuối cùng trong việc tích hợp các thay đổi từ cộng đồng vào nhánh chính của dự án để đảm bảo chất lượng. Kết luận Lý giải Quản lý dự án, kiểm tra và chấp nhận các đóng góp mã nguồn từ cộng đồng.
Câu 11:Khái niệm 'Forking' (Rẽ nhánh) trong phát triển phần mềm mã nguồn mở có nghĩa là gì?
💡 Lời giải chi tiết:
Forking xảy ra khi các nhà phát triển lấy một bản sao mã nguồn của dự án hiện tại và bắt đầu phát triển nó tách biệt với dự án gốc. Kết luận Lý giải Tạo ra một bản sao của mã nguồn để phát triển theo một hướng độc lập mới.
Câu 12:Mô hình kinh doanh 'Open Core' thường được các công ty phần mềm áp dụng như thế nào?
💡 Lời giải chi tiết:
Trong mô hình Open Core, phần nhân cốt lõi được miễn phí và mở, trong khi các tính năng doanh nghiệp phức tạp hơn được bán dưới dạng giấy phép đóng. Kết luận Lý giải Cung cấp phiên bản cơ bản là mã nguồn mở và các tính năng bổ sung cao cấp là độc quyền.
Câu 13:Hệ điều hành Android có mối quan hệ như thế nào với phần mềm mã nguồn mở?
💡 Lời giải chi tiết:
Dự án mã nguồn mở Android (AOSP) cung cấp mã nguồn nền tảng theo giấy phép Apache 2.0, cho phép cộng đồng tùy biến rộng rãi. Kết luận Lý giải Android dựa trên nhân Linux và hầu hết mã nguồn nền tảng được phát hành theo giấy phép Apache 2.0.
Câu 14:Sự khác biệt chính giữa giấy phép Creative Commons (CC) và các giấy phép mã nguồn mở (như GPL) là gì?
💡 Lời giải chi tiết:
Các giấy phép CC được thiết kế cho nội dung như văn bản, hình ảnh, âm nhạc, trong khi GPL hay MIT được tối ưu hóa cho cấu trúc mã lệnh phần mềm. Kết luận Lý giải Creative Commons chủ yếu dành cho các tác phẩm sáng tạo nội dung còn giấy phép mã nguồn mở dành cho phần mềm.
Câu 15:Hiện tượng 'Tivoization' đề cập đến vấn đề gì trong thế giới phần mềm tự do?
💡 Lời giải chi tiết:
Tivoization là hành động sử dụng phần mềm có giấy phép copyleft nhưng dùng biện pháp kỹ thuật phần cứng để ngăn chặn việc cài đặt bản sửa đổi, vi phạm tinh thần tự do. Kết luận Lý giải Sử dụng phần mềm tự do trong thiết bị phần cứng nhưng ngăn cản người dùng chạy các phiên bản đã sửa đổi.
Câu 16:Giấy phép GNU LGPL (Lesser General Public License) thường được ưu tiên sử dụng cho loại sản phẩm nào?
💡 Lời giải chi tiết:
LGPL cho phép các phần mềm không tự do liên kết với thư viện mà không bị buộc phải mở mã nguồn của chính phần mềm đó, giúp thư viện được phổ biến rộng hơn. Kết luận Lý giải Các thư viện phần mềm cần cho phép liên kết với phần mềm độc quyền.
Câu 17:Trong cộng đồng mã nguồn mở, hành động gửi đóng góp 'Upstream' (lên thượng nguồn) có nghĩa là gì?
💡 Lời giải chi tiết:
Đóng góp Upstream giúp duy trì sự thống nhất của dự án và đảm bảo các cải tiến được tích hợp vào phiên bản chính thức cho mọi người dùng. Kết luận Lý giải Việc gửi các bản sửa lỗi hoặc tính năng mới trở lại cho dự án gốc.
Câu 18:Đặc điểm nổi bật của giấy phép Apache 2.0 so với các giấy phép tự do khác 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ý quan trọng cho người dùng thông qua việc cấp quyền sử dụng các bằng sáng chế liên quan đến mã nguồn đó. Kết luận Lý giải 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ế từ những người đóng góp.
Câu 19:Phần mềm Git đóng vai trò gì trong quá trình phát triển mã nguồn mở?
💡 Lời giải chi tiết:
Git cho phép nhiều lập trình viên cùng làm việc trên một dự án mà không bị xung đột, đồng thời lưu trữ toàn bộ lịch sử thay đổi của mã nguồn. Kết luận Lý giải Hệ thống quản lý phiên bản phân tán giúp theo dõi sự thay đổi của mã nguồn.
Câu 20:Dự án LibreOffice được hình thành như thế nào?
💡 Lời giải chi tiết:
Cộng đồng đã tạo ra LibreOffice từ mã nguồn OpenOffice.org để đảm bảo dự án tiếp tục phát triển theo hướng độc lập và mở hoàn toàn. Kết luận Lý giải Một nhánh phát triển (fork) từ OpenOffice.org sau khi dự án này được Oracle mua lại.
Câu 21:Câu nói 'Free as in speech, not as in beer' nhằm giải thích điều gì?
💡 Lời giải chi tiết:
Phép so sánh này giúp phân biệt rõ quyền tự do cá nhân (liberty) với việc không mất phí (zero cost) trong định nghĩa về phần mềm tự do. Kết luận Lý giải Free as in speech nhấn mạnh vào quyền tự do sử dụng và sửa đổi thay vì giá cả.
Câu 22:Từ viết tắt FLOSS (Free/Libre and Open Source Software) có mục đích gì?
💡 Lời giải chi tiết:
Việc sử dụng thuật ngữ FLOSS giúp trung hòa và bao hàm cả quan điểm về 'tự do' của FSF lẫn quan điểm 'mở' của OSI. Kết luận Lý giải FLOSS bổ sung từ 'Libre' để nhấn mạnh tính chất tự do của phần mềm theo quan điểm của FSF.
Câu 23:Đặc điểm chính của các giấy phép kiểu BSD (Berkeley Software Distribution) là gì?
💡 Lời giải chi tiết:
Giấy phép BSD đặt ra rất ít hạn chế đối với người dùng, cho phép tái sử dụng mã nguồn trong cả các phần mềm đóng và thương mại. Kết luận Lý giải Một giấy phép cực kỳ thông thoáng, cho phép sử dụng mã nguồn trong các sản phẩm thương mại mà không cần mở mã nguồn.
Câu 24:Tại sao việc kiểm tra mã nguồn công khai lại được coi là một lợi thế bảo mật của phần mềm mã nguồn mở?
💡 Lời giải chi tiết:
Tính minh bạch cho phép các chuyên gia bảo mật trên toàn thế giới cùng rà soát lỗi, giúp hệ thống trở nên tin cậy hơn so với việc giấu kín mã nguồn. Kết luận Lý giải Khả năng kiểm tra mã nguồn công khai giúp phát hiện và vá các lỗ hổng bảo mật nhanh chóng hơn.
Câu 25:Trong quy trình đóng góp mã nguồn trên GitHub, 'Pull Request' (PR) có nghĩa là gì?
💡 Lời giải chi tiết:
Pull Request là cơ chế cộng tác phổ biến giúp các nhà quản lý dự án xem xét chất lượng mã nguồn trước khi chính thức gộp vào sản phẩm. Kết luận Lý giải Một yêu cầu gửi đến người quản lý dự án để xem xét và tích hợp các thay đổi mã nguồn từ một nhánh khác.