1. Trong ngữ cảnh phát triển web, ví dụ nào sau đây là framework mã nguồn mở phổ biến?
A. Microsoft .NET Framework
B. AngularJS
C. Adobe Dreamweaver
D. Apple Xcode
2. Ưu điểm chính của việc sử dụng phần mềm mã nguồn mở trong các tổ chức là gì?
A. Đảm bảo phần mềm luôn hoạt động hoàn hảo.
B. Giảm chi phí bản quyền phần mềm.
C. Được hỗ trợ kỹ thuật tốt hơn từ nhà cung cấp.
D. Tăng cường bảo mật tuyệt đối.
3. Ví dụ nào sau đây thể hiện ứng dụng của phần mềm mã nguồn mở trong lĩnh vực giáo dục?
A. Sử dụng hệ điều hành Windows trong phòng máy tính.
B. Sử dụng phần mềm bảng tính Microsoft Excel để quản lý điểm.
C. Sử dụng Moodle (hệ thống quản lý học tập) để xây dựng nền tảng học trực tuyến.
D. Sử dụng PowerPoint để trình chiếu bài giảng.
4. Vai trò của `Free Software Foundation` (FSF) trong phong trào mã nguồn mở là gì?
A. Quản lý và cấp phép tất cả phần mềm mã nguồn mở.
B. Thúc đẩy và bảo vệ phần mềm tự do (free software), một nhánh của mã nguồn mở, nhấn mạnh các quyền tự do đạo đức.
C. Phát triển các hệ điều hành mã nguồn mở.
D. Cung cấp hỗ trợ tài chính cho các dự án mã nguồn mở.
5. Cộng đồng đóng vai trò như thế nào trong sự thành công của phần mềm mã nguồn mở?
A. Cung cấp nguồn tài chính chính cho dự án.
B. Kiểm soát hoàn toàn hướng phát triển của phần mềm.
C. Đóng góp vào việc phát triển, kiểm thử, hỗ trợ và quảng bá phần mềm.
D. Chỉ tham gia vào giai đoạn thử nghiệm cuối cùng.
6. Khái niệm `upstream` và `downstream` thường được sử dụng trong phát triển mã nguồn mở để chỉ điều gì?
A. Upstream chỉ phiên bản phần mềm cũ hơn, downstream chỉ phiên bản mới hơn.
B. Upstream chỉ dự án gốc hoặc chính thức, downstream chỉ các phiên bản phái sinh hoặc tùy chỉnh.
C. Upstream chỉ phía máy chủ, downstream chỉ phía máy khách.
D. Upstream chỉ phần giao diện người dùng, downstream chỉ phần backend.
7. Tại sao tính minh bạch của mã nguồn mở có thể được coi là lợi thế về bảo mật?
A. Mã nguồn mở luôn được kiểm tra bởi các chuyên gia bảo mật hàng đầu.
B. Bất kỳ ai cũng có thể kiểm tra mã nguồn để tìm và báo cáo lỗ hổng bảo mật.
C. Phần mềm mã nguồn mở không bao giờ có lỗ hổng bảo mật.
D. Tính minh bạch khiến hacker khó tấn công hơn.
8. Trong quá trình phát triển phần mềm mã nguồn mở, `code review` (đánh giá mã) đóng vai trò gì?
A. Chỉ là hình thức, không có tác dụng thực tế.
B. Chỉ để kiểm tra lỗi chính tả trong mã.
C. Để đảm bảo chất lượng mã, phát hiện lỗi, chia sẻ kiến thức và duy trì tính nhất quán của dự án.
D. Chỉ dành cho người mới tham gia dự án.
9. Công cụ kiểm soát phiên bản (version control) phổ biến nào thường được sử dụng trong phát triển phần mềm mã nguồn mở?
A. Microsoft Word
B. Adobe Photoshop
C. Git
D. Microsoft Excel
10. Trong lĩnh vực trí tuệ nhân tạo (AI) và học máy (Machine Learning), thư viện mã nguồn mở nào sau đây rất phổ biến?
A. Microsoft Office
B. TensorFlow
C. Adobe Creative Suite
D. AutoCAD
11. Thuật ngữ `copyleft` trong giấy phép mã nguồn mở có nghĩa là gì?
A. Người dùng được phép sao chép phần mềm tự do.
B. Phần mềm phải được phân phối miễn phí.
C. Các phiên bản sửa đổi hoặc mở rộng của phần mềm cũng phải được phát hành dưới giấy phép tương tự.
D. Mã nguồn phải được viết bằng ngôn ngữ lập trình cụ thể.
12. Điều gì KHÔNG phải là lợi ích của việc tham gia vào cộng đồng mã nguồn mở?
A. Nâng cao kỹ năng lập trình và kiến thức chuyên môn.
B. Xây dựng mạng lưới quan hệ chuyên nghiệp.
C. Đảm bảo được trả lương cao cho mọi đóng góp.
D. Đóng góp vào các dự án có ý nghĩa và tác động lớn.
13. Khái niệm `forking` trong phát triển phần mềm mã nguồn mở đề cập đến điều gì?
A. Việc hợp nhất các nhánh phát triển khác nhau.
B. Việc tạo ra một dự án mới từ mã nguồn của một dự án hiện có.
C. Việc kiểm tra lỗi và sửa lỗi trong mã nguồn.
D. Việc tối ưu hóa hiệu suất của phần mềm.
14. Trong ngữ cảnh của phần mềm mã nguồn mở, `contribution` (đóng góp) có nghĩa là gì?
A. Chỉ việc đóng góp tài chính cho dự án.
B. Chỉ việc báo cáo lỗi phần mềm.
C. Bất kỳ hình thức tham gia nào vào dự án, bao gồm viết mã, dịch thuật, viết tài liệu, kiểm thử, thiết kế, hỗ trợ cộng đồng, v.v.
D. Chỉ việc quảng bá phần mềm trên mạng xã hội.
15. Sự khác biệt chính giữa `phần mềm tự do` (free software) và `phần mềm mã nguồn mở` (open source software) là gì?
A. Không có sự khác biệt, hai thuật ngữ này hoàn toàn đồng nghĩa.
B. Phần mềm tự do tập trung vào khía cạnh kỹ thuật, mã nguồn mở tập trung vào khía cạnh đạo đức.
C. Phần mềm tự do nhấn mạnh các quyền tự do đạo đức của người dùng, trong khi mã nguồn mở tập trung vào lợi ích phát triển và kinh doanh.
D. Phần mềm tự do luôn miễn phí, mã nguồn mở có thể có phí.
16. Điều gì KHÔNG phải là một loại giấy phép mã nguồn mở phổ biến?
A. GPL (GNU General Public License)
B. MIT License
C. Proprietary License (Giấy phép độc quyền)
D. Apache License
17. Mô hình kinh doanh nào thường được các công ty phần mềm mã nguồn mở sử dụng để tạo doanh thu?
A. Bán bản quyền phần mềm.
B. Thu phí dựa trên số lượng người dùng.
C. Cung cấp dịch vụ hỗ trợ, tư vấn, tùy chỉnh và các dịch vụ giá trị gia tăng khác xung quanh phần mềm.
D. Bán dữ liệu người dùng.
18. Tại sao nhiều chính phủ và tổ chức công lại khuyến khích sử dụng phần mềm mã nguồn mở?
A. Để tăng cường khả năng giám sát người dân.
B. Để tiết kiệm chi phí, tăng tính minh bạch, chủ động công nghệ và thúc đẩy phát triển cộng đồng trong nước.
C. Vì phần mềm mã nguồn mở luôn có hiệu suất cao hơn.
D. Để giảm sự phụ thuộc vào internet.
19. Ví dụ nào sau đây KHÔNG phải là phần mềm mã nguồn mở?
A. Linux
B. Apache HTTP Server
C. Microsoft Windows
D. Mozilla Firefox
20. Điều gì KHÔNG phải là một trong những nguyên tắc cốt lõi của phong trào mã nguồn mở?
A. Phân phối tự do
B. Truy cập mã nguồn
C. Phần mềm phải luôn miễn phí sử dụng
D. Quyền sửa đổi và phân phối lại
21. Đặc điểm cốt lõi nào phân biệt phần mềm mã nguồn mở với phần mềm độc quyền?
A. Giá thành thấp hơn.
B. Khả năng tương thích với nhiều hệ điều hành hơn.
C. Khả năng người dùng được phép xem xét, sửa đổi và phân phối mã nguồn.
D. Giao diện người dùng thân thiện hơn.
22. Giấy phép mã nguồn mở nào sau đây được biết đến với tính `cho phép` cao nhất, cho phép sử dụng, sửa đổi và phân phối lại gần như không hạn chế?
A. GPL (GNU General Public License)
B. AGPL (Affero General Public License)
C. MIT License
D. Creative Commons
23. Giấy phép AGPL (Affero General Public License) khác biệt so với GPL ở điểm nào?
A. AGPL chỉ áp dụng cho phần mềm thương mại, GPL cho phần mềm phi thương mại.
B. AGPL yêu cầu chia sẻ mã nguồn khi phần mềm được sử dụng qua mạng (network), GPL thì không.
C. AGPL cho phép sử dụng mã nguồn trong phần mềm độc quyền, GPL thì không.
D. AGPL dễ sử dụng hơn GPL.
24. Lợi ích kinh tế của việc sử dụng phần mềm mã nguồn mở cho doanh nghiệp nhỏ là gì?
A. Tiếp cận công nghệ tiên tiến nhất mà không cần chi phí lớn.
B. Được hỗ trợ marketing miễn phí.
C. Đảm bảo tăng trưởng doanh thu ngay lập tức.
D. Giảm thiểu rủi ro pháp lý.
25. Phần mềm mã nguồn mở có thể giúp thúc đẩy sự đổi mới sáng tạo như thế nào?
A. Bằng cách hạn chế quyền truy cập vào công nghệ.
B. Bằng cách tạo ra môi trường hợp tác, chia sẻ kiến thức và tái sử dụng mã nguồn, từ đó giảm chi phí và thời gian phát triển.
C. Bằng cách tăng cường bảo mật thông tin.
D. Bằng cách giảm sự cạnh tranh trên thị trường.
26. Điều gì xảy ra nếu một công ty sử dụng phần mềm mã nguồn mở có giấy phép `copyleft` (như GPL) trong sản phẩm thương mại của mình?
A. Không có vấn đề gì, giấy phép copyleft không ảnh hưởng đến sản phẩm thương mại.
B. Công ty có thể phải phát hành mã nguồn của toàn bộ sản phẩm thương mại của mình dưới giấy phép tương thích.
C. Công ty phải trả phí bản quyền cho người giữ bản quyền gốc.
D. Công ty chỉ cần ghi nhận nguồn gốc của phần mềm mã nguồn mở đã sử dụng.
27. Nhược điểm tiềm ẩn của việc sử dụng phần mềm mã nguồn mở có thể là gì?
A. Giá thành thường cao hơn phần mềm độc quyền.
B. Khó tùy chỉnh cho nhu cầu cụ thể.
C. Có thể thiếu hỗ trợ kỹ thuật tập trung hoặc chuyên nghiệp.
D. Tính bảo mật luôn kém hơn phần mềm độc quyền.
28. Lỗi sai thường gặp khi đánh giá phần mềm mã nguồn mở là gì?
A. Cho rằng phần mềm mã nguồn mở luôn an toàn hơn phần mềm độc quyền.
B. Cho rằng phần mềm mã nguồn mở luôn miễn phí về mọi mặt (bao gồm cả chi phí sử dụng và duy trì).
C. Cho rằng phần mềm mã nguồn mở luôn có giao diện người dùng thân thiện.
D. Tất cả các đáp án trên đều là lỗi sai thường gặp.
29. Trong bối cảnh bảo mật, `security through obscurity` (bảo mật qua che giấu) được coi là một thực hành tồi, tại sao mã nguồn mở lại được xem là ưu việt hơn trong vấn đề này?
A. Vì mã nguồn mở luôn được cập nhật vá lỗi nhanh nhất.
B. Vì sự minh bạch của mã nguồn cho phép nhiều người kiểm tra và phát hiện lỗ hổng hơn, thay vì dựa vào việc che giấu mã.
C. Vì phần mềm mã nguồn mở không cần bảo mật.
D. Vì mã nguồn mở được mã hóa mạnh mẽ hơn.
30. Mô hình phát triển `chợ` (bazaar) thường được liên kết với phần mềm mã nguồn mở, nó khác biệt như thế nào so với mô hình `nhà thờ` (cathedral) truyền thống?
A. Mô hình chợ tập trung vào kế hoạch dài hạn, còn mô hình nhà thờ ưu tiên phát hành nhanh.
B. Mô hình chợ có quy trình kiểm soát chất lượng nghiêm ngặt hơn.
C. Mô hình chợ dựa vào sự tham gia rộng rãi của cộng đồng, còn mô hình nhà thờ thường khép kín hơn.
D. Mô hình chợ thích hợp cho dự án nhỏ, mô hình nhà thờ cho dự án lớn.