1. Trong lĩnh vực trí tuệ nhân tạo (AI) và học máy (Machine Learning), phần mềm mã nguồn mở đóng vai trò gì?
A. Hạn chế sự phát triển của AI và Machine Learning.
B. Là nền tảng chính thúc đẩy sự phát triển và phổ biến của AI và Machine Learning.
C. Chỉ được sử dụng trong nghiên cứu AI, không áp dụng trong thực tế.
D. Ít được sử dụng hơn so với phần mềm độc quyền trong lĩnh vực AI và Machine Learning.
2. Nguyên tắc 'release early, release often′ (phát hành sớm, phát hành thường xuyên) trong phát triển mã nguồn mở có lợi ích gì?
A. Giảm chi phí phát triển phần mềm.
B. Nhanh chóng nhận được phản hồi từ cộng đồng và người dùng, giúp cải thiện chất lượng phần mềm.
C. Tăng tính bảo mật của phần mềm.
D. Đơn giản hóa quá trình quản lý dự án.
3. Trong ngữ cảnh phát triển phần mềm mã nguồn mở, 'forking′ (phân nhánh) có nghĩa là gì?
A. Việc tạo ra một phiên bản phần mềm mới hoàn toàn từ đầu.
B. Việc chia sẻ mã nguồn phần mềm lên các nền tảng như GitHub.
C. Việc tạo ra một bản sao độc lập của dự án phần mềm để phát triển theo hướng khác.
D. Việc hợp nhất các thay đổi mã nguồn từ nhiều nhà phát triển khác nhau.
4. Trong các dự án phần mềm mã nguồn mở, vai trò của 'maintainer′ (người bảo trì) là gì?
A. Viết tài liệu hướng dẫn sử dụng phần mềm.
B. Quản lý và điều phối quá trình phát triển dự án, bao gồm xem xét và hợp nhất các đóng góp mã nguồn.
C. Cung cấp hỗ trợ kỹ thuật cho người dùng cuối.
D. Kiểm tra và báo cáo lỗi phần mềm.
5. So sánh chi phí **ban đầu** khi sử dụng phần mềm mã nguồn mở và phần mềm độc quyền, điều nào thường đúng?
A. Phần mềm mã nguồn mở luôn đắt hơn.
B. Phần mềm độc quyền luôn đắt hơn.
C. Phần mềm mã nguồn mở thường có chi phí bản quyền ban đầu thấp hơn hoặc miễn phí.
D. Chi phí ban đầu của cả hai loại phần mềm thường tương đương.
6. Mô hình phát triển 'chợ' (bazaar) trong phần mềm mã nguồn mở **khác biệt** với mô hình 'nhà thờ' (cathedral) của phần mềm truyền thống ở điểm nào?
A. Mô hình chợ tập trung vào chất lượng mã nguồn, còn mô hình nhà thờ ưu tiên tốc độ phát triển.
B. Mô hình chợ khuyến khích sự tham gia rộng rãi của cộng đồng, mô hình nhà thờ có cấu trúc phát triển tập trung hơn.
C. Mô hình chợ thường sử dụng giấy phép GPL, mô hình nhà thờ thường dùng giấy phép MIT.
D. Mô hình chợ phù hợp với các dự án nhỏ, mô hình nhà thờ phù hợp với dự án lớn.
7. Thách thức lớn nhất đối với các dự án phần mềm mã nguồn mở phi lợi nhuận thường là gì?
A. Cạnh tranh với phần mềm độc quyền.
B. Thu hút và duy trì nguồn lực tài chính và nhân lực để phát triển và bảo trì.
C. Vấn đề bản quyền và sở hữu trí tuệ.
D. Khó khăn trong việc tiếp cận người dùng cuối.
8. Điều gì có thể là **động lực** chính thúc đẩy các nhà phát triển cá nhân tham gia đóng góp vào các dự án phần mềm mã nguồn mở?
A. Thu nhập tài chính cao từ dự án.
B. Cơ hội học hỏi, nâng cao kỹ năng, và xây dựng danh tiếng trong cộng đồng.
C. Yêu cầu bắt buộc từ công ty hoặc tổ chức nơi họ làm việc.
D. Áp lực từ bạn bè và đồng nghiệp.
9. Tại sao tính 'minh bạch′ của mã nguồn mở lại được coi là một yếu tố quan trọng trong việc đảm bảo an ninh phần mềm?
A. Vì mã nguồn mở thường được phát triển bởi các chuyên gia bảo mật hàng đầu.
B. Vì mã nguồn mở cho phép cộng đồng rộng lớn kiểm tra và phát hiện lỗ hổng bảo mật.
C. Vì phần mềm mã nguồn mở luôn được cập nhật các bản vá bảo mật nhanh chóng.
D. Vì phần mềm mã nguồn mở không thu phí nên ít bị tấn công mạng hơn.
10. Giấy phép mã nguồn mở nào sau đây **ít hạn chế nhất**, cho phép sử dụng, sửa đổi và phân phối lại phần mềm cho cả mục đích thương mại và phi thương mại mà không yêu cầu chia sẻ lại mã nguồn đã sửa đổi?
A. GPL (GNU General Public License)
B. LGPL (GNU Lesser General Public License)
C. MIT License
D. Creative Commons
11. Đặc điểm cốt lõi nào sau đây **bắt buộc** phải có ở một phần mềm để được coi là mã nguồn mở?
A. Giá thành thấp hoặc miễn phí.
B. Khả năng tương thích với nhiều hệ điều hành.
C. Mã nguồn có thể được tự do truy cập, sửa đổi và phân phối.
D. Được phát triển bởi một cộng đồng lớn mạnh.
12. Nhược điểm **tiềm ẩn** nào của phần mềm mã nguồn mở có thể gây khó khăn cho người dùng doanh nghiệp, đặc biệt là những người không có chuyên môn kỹ thuật?
A. Tính bảo mật kém hơn so với phần mềm độc quyền.
B. Khó khăn trong việc tìm kiếm hỗ trợ kỹ thuật chính thức và kịp thời.
C. Ít tính năng và chức năng hơn so với phần mềm thương mại.
D. Yêu cầu cấu hình phần cứng cao hơn.
13. Điều khoản 'copyleft′ trong một số giấy phép mã nguồn mở (ví dụ: GPL) có ý nghĩa gì?
A. Cho phép sao chép phần mềm một cách tự do nhưng cấm sửa đổi.
B. Yêu cầu rằng các phần mềm phái sinh cũng phải được phát hành dưới giấy phép tương tự.
C. Cấm sử dụng phần mềm cho mục đích thương mại.
D. Cho phép sử dụng phần mềm miễn phí nhưng yêu cầu trả phí cho hỗ trợ kỹ thuật.
14. Ứng dụng nào sau đây là một ví dụ **điển hình** của phần mềm mã nguồn mở, được sử dụng rộng rãi trong lĩnh vực web server?
A. Microsoft IIS
B. Apache HTTP Server
C. Oracle WebLogic Server
D. IBM WebSphere Application Server
15. So với phần mềm độc quyền, một **thách thức** khi sử dụng phần mềm mã nguồn mở trong doanh nghiệp lớn là gì?
A. Chi phí triển khai ban đầu cao hơn.
B. Khả năng tích hợp với các hệ thống hiện có có thể phức tạp hơn.
C. Ít tùy chọn phần mềm mã nguồn mở để lựa chọn.
D. Khó khăn trong việc đào tạo nhân viên sử dụng.
16. Lợi ích **chính** của việc sử dụng phần mềm mã nguồn mở trong các tổ chức chính phủ là gì?
A. Giảm chi phí bản quyền phần mềm.
B. Tăng cường khả năng bảo mật thông tin.
C. Thúc đẩy sự đổi mới và phát triển công nghệ trong nước.
D. Tất cả các đáp án trên.
17. Trong bối cảnh an ninh mạng, 'security through obscurity′ (an ninh nhờ che giấu) **khác biệt** với cách tiếp cận an ninh của phần mềm mã nguồn mở như thế nào?
A. Security through obscurity là phương pháp an ninh hiệu quả hơn phần mềm mã nguồn mở.
B. Phần mềm mã nguồn mở dựa vào security through obscurity để bảo mật.
C. Phần mềm mã nguồn mở thường ưu tiên tính minh bạch và kiểm tra công khai, trái ngược với security through obscurity dựa trên việc che giấu thông tin.
D. Cả hai phương pháp đều không hiệu quả trong việc bảo mật phần mềm.
18. Trong mô hình kinh doanh dựa trên phần mềm mã nguồn mở, chiến lược 'dual licensing′ (giấy phép kép) là gì?
A. Cung cấp phần mềm dưới hai giấy phép mã nguồn mở khác nhau.
B. Cung cấp phần mềm dưới giấy phép mã nguồn mở cho mục đích phi thương mại và giấy phép thương mại cho mục đích thương mại.
C. Cung cấp cả phiên bản mã nguồn mở và phiên bản độc quyền của phần mềm.
D. Cung cấp hai phiên bản phần mềm với các tính năng khác nhau dưới cùng một giấy phép.
19. Trong mô hình kinh doanh phần mềm mã nguồn mở, 'support and services′ (hỗ trợ và dịch vụ) đóng vai trò gì?
A. Là nguồn doanh thu chính cho các công ty mã nguồn mở.
B. Chỉ là dịch vụ phụ trợ, không quan trọng trong mô hình kinh doanh.
C. Chỉ dành cho người dùng doanh nghiệp, không cần thiết cho người dùng cá nhân.
D. Làm tăng chi phí sử dụng phần mềm mã nguồn mở.
20. Một công ty quyết định sử dụng phần mềm mã nguồn mở. Điều gì **quan trọng nhất** mà họ cần xem xét về mặt giấy phép trước khi triển khai?
A. Tính phổ biến của phần mềm.
B. Khả năng mở rộng của phần mềm.
C. Các điều khoản và điều kiện của giấy phép mã nguồn mở để đảm bảo tuân thủ.
D. Số lượng người dùng cộng đồng của phần mềm.
21. Điểm khác biệt **chính** giữa giấy phép 'permissive′ (ví dụ: MIT, BSD) và giấy phép 'copyleft′ (ví dụ: GPL) là gì?
A. Giấy phép permissive yêu cầu trả phí, copyleft miễn phí.
B. Giấy phép permissive hạn chế sử dụng thương mại, copyleft cho phép.
C. Giấy phép permissive cho phép tạo phần mềm độc quyền phái sinh, copyleft yêu cầu phần mềm phái sinh phải là mã nguồn mở.
D. Giấy phép permissive dễ sử dụng hơn, copyleft phức tạp hơn.
22. So với phần mềm độc quyền, một **rủi ro** khi sử dụng phần mềm mã nguồn mở là gì, đặc biệt đối với doanh nghiệp?
A. Chi phí bảo trì và hỗ trợ dài hạn có thể cao hơn dự kiến.
B. Tính năng và hiệu suất thường kém hơn phần mềm độc quyền.
C. Khó khăn trong việc tìm kiếm phần mềm mã nguồn mở phù hợp với nhu cầu.
D. Nguy cơ bị phụ thuộc vào một nhà cung cấp duy nhất.
23. Trong phát triển phần mềm mã nguồn mở, 'contribution′ (đóng góp) thường bao gồm những hình thức nào?
A. Chỉ viết mã nguồn mới.
B. Viết mã nguồn mới, báo cáo lỗi, viết tài liệu, dịch thuật, và hỗ trợ cộng đồng.
C. Chỉ báo cáo lỗi và thử nghiệm phần mềm.
D. Chỉ quyên góp tài chính cho dự án.
24. Trong quá trình phát triển phần mềm mã nguồn mở, 'code review′ (kiểm duyệt mã) có vai trò gì?
A. Chỉ là hình thức, không có tác dụng thực tế.
B. Đảm bảo chất lượng mã nguồn, phát hiện lỗi và cải thiện thiết kế trước khi hợp nhất vào dự án chính.
C. Làm chậm quá trình phát triển phần mềm.
D. Chỉ được thực hiện bởi người quản lý dự án, không có sự tham gia của cộng đồng.
25. Một dự án mã nguồn mở thành công thường có đặc điểm chung nào về cộng đồng?
A. Cộng đồng nhỏ nhưng có trình độ kỹ thuật cao.
B. Cộng đồng lớn, đa dạng và tích cực tham gia đóng góp.
C. Cộng đồng được kiểm soát chặt chẽ bởi một tổ chức duy nhất.
D. Cộng đồng tập trung chủ yếu vào việc sử dụng phần mềm, ít tham gia phát triển.
26. Khái niệm 'open source intelligence′ (OSINT) liên quan đến phần mềm mã nguồn mở như thế nào?
A. OSINT là một loại giấy phép mã nguồn mở.
B. Phần mềm mã nguồn mở thường được sử dụng để thu thập và phân tích thông tin OSINT.
C. OSINT chỉ áp dụng cho phần mềm độc quyền, không liên quan đến mã nguồn mở.
D. OSINT là một phương pháp phát triển phần mềm mã nguồn mở.
27. Loại giấy phép mã nguồn mở nào thường được sử dụng cho các thư viện phần mềm, cho phép các phần mềm độc quyền liên kết đến thư viện mà không cần phải mở mã nguồn của phần mềm độc quyền đó?
A. GPL (GNU General Public License)
B. LGPL (GNU Lesser General Public License)
C. Apache License 2.0
D. Creative Commons
28. Điều gì có thể xảy ra nếu một công ty sử dụng phần mềm mã nguồn mở GPL mà không tuân thủ các điều khoản của giấy phép?
A. Không có hậu quả pháp lý.
B. Có thể bị kiện vi phạm bản quyền và buộc phải công khai mã nguồn phái sinh.
C. Chỉ bị phạt hành chính.
D. Bị cộng đồng mã nguồn mở tẩy chay.
29. So với phần mềm độc quyền, một **ưu điểm** nổi bật của phần mềm mã nguồn mở trong việc tùy chỉnh là gì?
A. Chi phí tùy chỉnh thường thấp hơn.
B. Khả năng tùy chỉnh linh hoạt và sâu rộng hơn, không bị giới hạn bởi nhà cung cấp.
C. Thời gian tùy chỉnh nhanh hơn.
D. Dễ dàng tìm kiếm tài liệu hướng dẫn tùy chỉnh hơn.
30. Ví dụ nào sau đây thể hiện **sự hợp tác cộng đồng** trong phát triển phần mềm mã nguồn mở?
A. Một công ty phát triển phần mềm độc quyền và bán bản quyền cho người dùng.
B. Một nhóm lập trình viên trên toàn thế giới cùng nhau phát triển hệ điều hành Linux.
C. Một cá nhân tự phát triển một ứng dụng và bán trên cửa hàng ứng dụng.
D. Một tổ chức chính phủ thuê một công ty phát triển phần mềm riêng cho họ.