1. GNU GPL (General Public License) là một loại giấy phép mã nguồn mở nào?
A. Giấy phép cho phép tự do sử dụng, sửa đổi và phân phối, nhưng yêu cầu các tác phẩm phái sinh cũng phải được cấp phép theo GPL.
B. Giấy phép cho phép sử dụng, sửa đổi và phân phối, nhưng không yêu cầu các tác phẩm phái sinh phải được cấp phép theo GPL.
C. Giấy phép chỉ cho phép sử dụng phần mềm cho mục đích phi thương mại.
D. Giấy phép cấm sửa đổi và phân phối phần mềm.
2. Trong bối cảnh phần mềm mã nguồn mở, thuật ngữ `contributor` (người đóng góp) thường đề cập đến ai?
A. Người dùng cuối sử dụng phần mềm.
B. Người viết mã và đóng góp vào dự án.
C. Người quản lý dự án.
D. Người tài trợ tài chính cho dự án.
3. Ứng dụng nào sau đây là một ví dụ về phần mềm mã nguồn mở?
A. Microsoft Office
B. Adobe Photoshop
C. LibreOffice
D. Final Cut Pro
4. Giấy phép nào sau đây thường được sử dụng cho các thư viện phần mềm và cho phép sử dụng trong cả phần mềm mã nguồn mở và phần mềm độc quyền?
A. GNU GPL
B. GNU LGPL
C. Apache License 2.0
D. MIT License
5. Thuật ngữ `copyleft` trong lĩnh vực phần mềm mã nguồn mở có nghĩa là gì?
A. Một phương pháp bảo vệ mã nguồn khỏi bị sao chép.
B. Một loại giấy phép cho phép tự do sử dụng, sửa đổi và phân phối, nhưng yêu cầu các tác phẩm phái sinh cũng phải tuân theo các điều khoản tương tự.
C. Một loại giấy phép cấm sao chép mã nguồn.
D. Một tổ chức chuyên bảo vệ bản quyền phần mềm.
6. Tại sao nhiều công ty lớn lại đóng góp vào các dự án phần mềm mã nguồn mở?
A. Chỉ vì mục đích từ thiện.
B. Để tuyển dụng các nhà phát triển tài năng.
C. Để cải thiện chất lượng của phần mềm mà họ sử dụng, giảm chi phí phát triển, và tăng cường sự đổi mới.
D. Vì chính phủ yêu cầu họ làm như vậy.
7. Điều gì là một ví dụ về một tổ chức hoặc cộng đồng hỗ trợ phát triển phần mềm mã nguồn mở?
A. Microsoft
B. The Apache Software Foundation
C. Adobe
D. Apple
8. Khi nào thì việc sử dụng phần mềm mã nguồn mở KHÔNG phù hợp?
A. Khi cần một giải pháp tùy chỉnh cao.
B. Khi muốn tiết kiệm chi phí.
C. Khi yêu cầu hỗ trợ kỹ thuật chuyên nghiệp 24/7 với thời gian phản hồi đảm bảo.
D. Khi muốn tận dụng lợi thế của cộng đồng phát triển lớn.
9. Đâu là một lợi thế chính của việc sử dụng hệ thống kiểm soát phiên bản mã nguồn mở như Git cho một dự án phần mềm?
A. Nó cho phép chỉ một người làm việc trên mã tại một thời điểm.
B. Nó giúp quản lý các thay đổi mã, hợp tác giữa các nhà phát triển và theo dõi lịch sử dự án một cách hiệu quả.
C. Nó tự động tạo tài liệu cho mã.
D. Nó đảm bảo rằng mã không có lỗi.
10. Thuật ngữ `open core` trong bối cảnh phần mềm đề cập đến mô hình kinh doanh nào?
A. Mô hình mà tất cả mã nguồn đều mở.
B. Mô hình mà một phần cốt lõi của phần mềm là mã nguồn mở, trong khi các tính năng bổ sung hoặc phiên bản doanh nghiệp là độc quyền và phải trả phí.
C. Mô hình mà phần mềm được cung cấp miễn phí cho mục đích phi thương mại.
D. Mô hình mà người dùng có thể tùy chỉnh giao diện của phần mềm.
11. Điều gì KHÔNG phải là một lợi ích chính của việc sử dụng phần mềm mã nguồn mở?
A. Chi phí thấp hoặc miễn phí
B. Khả năng tùy chỉnh cao
C. Bảo mật tuyệt đối
D. Cộng đồng hỗ trợ lớn
12. Loại giấy phép nào sau đây là `permissive license`?
A. GNU GPL
B. GNU AGPL
C. MIT License
D. Mozilla Public License 2.0
13. Hệ điều hành nào sau đây được coi là một ví dụ điển hình về phần mềm mã nguồn mở?
A. Windows
B. macOS
C. Linux
D. iOS
14. Tại sao phần mềm mã nguồn mở thường được coi là một động lực thúc đẩy sự đổi mới?
A. Vì nó luôn miễn phí.
B. Vì nó cho phép mọi người xem, sửa đổi và phân phối mã nguồn, tạo điều kiện cho sự hợp tác và cải tiến liên tục.
C. Vì nó luôn được phát triển bởi các công ty lớn.
D. Vì nó không yêu cầu kiểm thử.
15. Điều gì KHÔNG phải là một ví dụ về nền tảng hoặc công cụ phát triển phần mềm mã nguồn mở?
A. Git
B. Eclipse
C. Visual Studio
D. Jenkins
16. Điều gì là quan trọng nhất để đảm bảo khi sử dụng một thư viện mã nguồn mở trong một dự án thương mại?
A. Đảm bảo thư viện có nhiều người sử dụng.
B. Đảm bảo thư viện có tài liệu đầy đủ.
C. Đảm bảo giấy phép của thư viện tương thích với giấy phép của dự án và không có các hạn chế không mong muốn.
D. Đảm bảo thư viện được viết bằng ngôn ngữ lập trình phổ biến.
17. Điều gì xảy ra nếu một công ty sử dụng mã nguồn mở được cấp phép theo GPL trong sản phẩm độc quyền của mình 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ả gì, vì mã nguồn mở là miễn phí.
B. Công ty có thể bị kiện vì vi phạm bản quyền.
C. Công ty sẽ bị yêu cầu phải trả phí bản quyền.
D. Công ty sẽ nhận được cảnh báo từ cộng đồng mã nguồn mở.
18. Tại sao việc sử dụng phần mềm mã nguồn mở có thể giúp tăng cường tính bảo mật của một hệ thống?
A. Vì 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. Vì mã nguồn mở không thể bị tấn công.
C. Vì nhiều người có thể xem xét mã nguồn và tìm ra các lỗ hổng bảo mật.
D. Vì phần mềm mã nguồn mở luôn được cập nhật thường xuyên.
19. Lợi ích nào sau đây KHÔNG phải là lợi ích của việc tham gia vào một cộng đồng phát triển phần mềm mã nguồn mở?
A. Cải thiện kỹ năng lập trình.
B. Xây dựng danh tiếng trong ngành.
C. Kiếm tiền trực tiếp từ việc đóng góp mã.
D. Học hỏi từ các nhà phát triển khác.
20. Mục đích chính của tổ chức Free Software Foundation (FSF) là gì?
A. Phát triển phần mềm độc quyền.
B. Thúc đẩy việc sử dụng phần mềm miễn phí (free software).
C. Cung cấp dịch vụ hỗ trợ kỹ thuật cho phần mềm mã nguồn mở.
D. Kiểm soát việc phân phối phần mềm mã nguồn mở.
21. Giấy phép nào sau đây yêu cầu bất kỳ ai phân phối các tác phẩm phái sinh phải cung cấp mã nguồn của chúng?
A. MIT License
B. Apache License 2.0
C. GNU GPL
D. BSD License
22. Sự khác biệt chính giữa giấy phép BSD và giấy phép GNU GPL là gì?
A. Giấy phép BSD yêu cầu mã nguồn phải được công khai, trong khi GNU GPL thì không.
B. Giấy phép GNU GPL yêu cầu các tác phẩm phái sinh phải được cấp phép theo GPL, trong khi giấy phép BSD thì không.
C. Giấy phép BSD miễn phí, trong khi giấy phép GNU GPL thì phải trả phí.
D. Giấy phép GNU GPL không cho phép sử dụng phần mềm cho mục đích thương mại, trong khi giấy phép BSD thì có.
23. Trong các hệ thống kiểm soát phiên bản, điều gì cho phép nhiều nhà phát triển làm việc trên cùng một tệp mã nguồn cùng một lúc mà không xung đột với nhau?
A. Các trình biên dịch
B. Các trình gỡ rối
C. Chi nhánh (Branching)
D. Các trình soạn thảo văn bản
24. Điều gì KHÔNG phải là một vai trò điển hình trong một dự án phần mềm mã nguồn mở?
A. Người đóng góp (Contributor)
B. Người bảo trì (Maintainer)
C. Người dùng cuối (End User)
D. Giám đốc điều hành (CEO)
25. Giấy phép nào sau đây cho phép người dùng sử dụng, sửa đổi và phân phối phần mềm cho bất kỳ mục đích nào, ngay cả khi mục đích đó là thương mại, mà không cần tiết lộ mã nguồn của các tác phẩm phái sinh?
A. GNU GPL
B. MIT License
C. Apache License 2.0
D. Creative Commons
26. Trong ngữ cảnh của phần mềm mã nguồn mở, `forking` có nghĩa là gì?
A. Việc tạo ra một bản sao của mã nguồn và bắt đầu phát triển nó theo một hướng khác.
B. Việc hợp nhất hai dự án mã nguồn mở lại với nhau.
C. Việc xóa bỏ một phần mã nguồn khỏi dự án.
D. Việc chuyển đổi mã nguồn từ ngôn ngữ lập trình này sang ngôn ngữ lập trình khác.
27. Phần mềm mã nguồn mở khác với phần mềm miễn phí (freeware) như thế nào?
A. Phần mềm mã nguồn mở luôn miễn phí, trong khi freeware thì không.
B. Phần mềm miễn phí luôn miễn phí, trong khi mã nguồn mở thì không.
C. Phần mềm mã nguồn mở cho phép người dùng truy cập và sửa đổi mã nguồn, trong khi freeware thì không.
D. Không có sự khác biệt, hai khái niệm này là đồng nghĩa.
28. Điều gì KHÔNG phải là một hạn chế tiềm ẩn của phần mềm mã nguồn mở?
A. Có thể thiếu hỗ trợ chuyên nghiệp.
B. Có thể có các vấn đề về bảo mật.
C. Luôn luôn có giao diện người dùng thân thiện.
D. Có thể có các vấn đề về khả năng tương thích.
29. Khi lựa chọn giấy phép mã nguồn mở cho dự án của mình, điều gì quan trọng nhất cần xem xét?
A. Mức độ phổ biến của giấy phép.
B. Logo của giấy phép có đẹp hay không.
C. Các điều khoản của giấy phép có phù hợp với mục tiêu của dự án hay không.
D. Số lượng dòng mã trong giấy phép.
30. Nếu bạn muốn sử dụng mã nguồn mở trong một dự án thương mại và không muốn bị ràng buộc phải công khai mã nguồn của các thay đổi của mình, bạn nên chọn giấy phép nào?
A. GNU GPL
B. GNU AGPL
C. MIT License
D. GNU LGPL