1. Đối với người dùng cuối thông thường, lợi ích thiết thực nhất của việc sử dụng phần mềm mã nguồn mở có thể là gì?
A. Có thể tự do sửa đổi mã nguồn theo ý muốn.
B. Thường được sử dụng miễn phí hoặc với chi phí thấp hơn, có nhiều lựa chọn thay thế cho phần mềm độc quyền, và có thể nhận được sự hỗ trợ từ cộng đồng.
C. Đảm bảo phần mềm luôn có hiệu suất cao nhất.
D. Có thể trực tiếp liên hệ với nhà phát triển gốc để yêu cầu hỗ trợ.
2. Rủi ro bảo mật tiềm ẩn nào có thể xuất hiện khi sử dụng phần mềm mã nguồn mở?
A. Do mã nguồn công khai, tin tặc dễ dàng tìm ra lỗ hổng bảo mật hơn.
B. Phần mềm mã nguồn mở thường có ít bản vá bảo mật hơn so với phần mềm độc quyền.
C. Nếu dự án mã nguồn mở không còn được duy trì tích cực, các lỗ hổng bảo mật có thể không được vá kịp thời.
D. Phần mềm mã nguồn mở luôn an toàn tuyệt đối và không có rủi ro bảo mật.
3. Phần mềm mã nguồn mở có thể hỗ trợ sự đổi mới trong lĩnh vực công nghệ như thế nào?
A. Hạn chế đổi mới do thiếu kiểm soát tập trung.
B. Thúc đẩy đổi mới bằng cách cho phép cộng đồng cùng nhau xây dựng, chia sẻ và cải tiến công nghệ, tạo ra sự cạnh tranh và hợp tác.
C. Chỉ đổi mới trong phạm vi cộng đồng mã nguồn mở, không ảnh hưởng đến ngành công nghiệp nói chung.
D. Chỉ sao chép ý tưởng từ phần mềm độc quyền, không tạo ra đổi mới thực sự.
4. 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. Khả năng tương thích kém với phần cứng và phần mềm độc quyền.
B. Thiếu tài liệu hướng dẫn sử dụng chi tiết.
C. Có thể thiếu hỗ trợ kỹ thuật chuyên nghiệp và trách nhiệm pháp lý rõ ràng từ một nhà cung cấp cụ thể.
D. Hiệu suất hoạt động chậm hơn so với phần mềm độc quyền.
5. Phần mềm mã nguồn mở đóng vai trò như thế nào trong lĩnh vực giáo dục?
A. Không có vai trò quan trọng, vì phần mềm độc quyền chuyên dụng hơn.
B. Cung cấp các công cụ học tập miễn phí, khả năng tùy chỉnh phù hợp với nhu cầu giáo dục, và cơ hội cho sinh viên nghiên cứu mã nguồn và đóng góp.
C. Chỉ được sử dụng trong nghiên cứu khoa học, không phù hợp cho giáo dục phổ thông.
D. Chỉ làm tăng chi phí cho các cơ sở giáo dục do cần hỗ trợ kỹ thuật.
6. Đặc điểm cốt lõi nào định nghĩa phần mềm mã nguồn mở?
A. Bản quyền thuộc về nhà phát triển gốc và không thể sửa đổi.
B. Mã nguồn được công khai, cho phép người dùng tự do sử dụng, nghiên cứu, sửa đổi và phân phối.
C. Chỉ được sử dụng miễn phí cho mục đích phi thương mại.
D. Yêu cầu trả phí để sử dụng, nhưng mã nguồn được cung cấp cho mục đích tham khảo.
7. Loại giấy phép mã nguồn mở nào cho phép sử dụng, sửa đổi và phân phối lại cho cả mục đích thương mại và phi thương mại, với ít ràng buộc nhất (ví dụ: chỉ yêu cầu ghi nhận tác giả gốc)?
A. Giấy phép GPL.
B. Giấy phép Creative Commons.
C. Giấy phép MIT.
D. Giấy phép AGPL.
8. Giấy phép `copyleft` khác với giấy phép `permissive` như thế nào trong mã nguồn mở?
A. Giấy phép copyleft cho phép sử dụng thương mại, còn permissive thì không.
B. Giấy phép copyleft yêu cầu các tác phẩm phái sinh cũng phải mã nguồn mở, permissive thì không có ràng buộc này.
C. Giấy phép copyleft chỉ áp dụng cho phần mềm hệ thống, permissive cho ứng dụng.
D. Không có sự khác biệt đáng kể giữa hai loại giấy phép này.
9. Trong ngữ cảnh bảo mật phần mềm, thuật ngữ `security through obscurity` (bảo mật thông qua che giấu) có liên quan đến phần mềm mã nguồn mở như thế nào?
A. Phần mềm mã nguồn mở dựa vào `security through obscurity` để bảo mật.
B. Phần mềm mã nguồn mở hoàn toàn không liên quan đến `security through obscurity`.
C. Ngược lại với `security through obscurity`, phần mềm mã nguồn mở hướng tới `security through transparency` (bảo mật thông qua minh bạch).
D. `Security through obscurity` là nguyên tắc cốt lõi của phần mềm mã nguồn mở.
10. Trong quy trình phát triển phần mềm mã nguồn mở, kiểm thử (testing) thường được thực hiện như thế nào?
A. Chỉ do nhóm phát triển cốt lõi thực hiện, không có sự tham gia của cộng đồng.
B. Chủ yếu dựa vào kiểm thử tự động, ít có kiểm thử thủ công.
C. Thường được thực hiện rộng rãi bởi cộng đồng người dùng và nhà phát triển, bao gồm cả kiểm thử tự động và thủ công, với sự tham gia của nhiều bên.
D. Không được chú trọng bằng phần mềm độc quyền do thiếu nguồn lực.
11. Điều gì xảy ra nếu một dự án phần mềm mã nguồn mở trở nên `bỏ rơi` (abandoned)?
A. Mã nguồn sẽ tự động bị xóa khỏi kho lưu trữ công cộng.
B. Cộng đồng có thể tiếp quản và tiếp tục phát triển dự án (forking) nếu có đủ sự quan tâm và nguồn lực.
C. Phần mềm sẽ trở thành bất hợp pháp để sử dụng.
D. Nhà phát triển gốc có quyền thu hồi giấy phép mã nguồn mở.
12. Điều gì KHÔNG phải là một nguyên tắc cốt lõi của phần mềm mã nguồn mở theo định nghĩa của Open Source Initiative (OSI)?
A. Tự do phân phối lại.
B. Mã nguồn phải được cung cấp.
C. Không phân biệt đối xử với cá nhân hoặc nhóm.
D. Phải được sử dụng miễn phí cho mục đích thương mại.
13. Phần mềm mã nguồn mở có thể mang lại lợi ích kinh tế cho các quốc gia đang phát triển như thế nào?
A. Chỉ giúp giảm chi phí phần mềm, không có tác động lớn đến kinh tế.
B. Thúc đẩy phát triển ngành công nghệ thông tin, giảm sự phụ thuộc vào phần mềm độc quyền, tăng cường năng lực nội tại và tạo việc làm.
C. Giúp tăng cường xuất khẩu phần mềm, nhưng lại làm giảm năng lực sản xuất trong nước.
D. Chỉ có lợi cho các doanh nghiệp lớn, không tác động đến kinh tế vĩ mô.
14. Trong ngữ cảnh phát triển phần mềm mã nguồn mở, `pull request` (yêu cầu kéo) thường được sử dụng để làm gì?
A. Để báo cáo lỗi hoặc vấn đề trong phần mềm.
B. Để đề xuất thay đổi hoặc cải tiến mã nguồn và yêu cầu hợp nhất vào dự án chính.
C. Để tải xuống phiên bản mới nhất của phần mềm.
D. Để yêu cầu hỗ trợ kỹ thuật từ cộng đồng.
15. Tại sao tính minh bạch được coi là một lợi thế của phần mềm mã nguồn mở?
A. Vì nó giúp che giấu các lỗi và lỗ hổng bảo mật.
B. Vì nó cho phép bất kỳ ai kiểm tra mã nguồn, phát hiện lỗi và đảm bảo không có `cửa hậu` (backdoors) hoặc hành vi độc hại.
C. Vì nó giúp giảm chi phí phát triển phần mềm.
D. Vì nó giúp phần mềm chạy nhanh hơn.
16. Ư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 tính ổn định tuyệt đối và không có lỗi.
B. Chi phí thấp hơn hoặc miễn phí sử dụng, linh hoạt tùy chỉnh và cộng đồng hỗ trợ lớn.
C. Được hỗ trợ kỹ thuật chính thức từ nhà cung cấp duy nhất.
D. Giao diện người dùng thân thiện và dễ sử dụng hơn phần mềm độc quyền.
17. Điều gì có thể là thách thức lớn nhất đối với sự phát triển bền vững của một dự án phần mềm mã nguồn mở?
A. Chi phí bản quyền phần mềm.
B. Thiếu nguồn tài trợ và sự tham gia liên tục của cộng đồng nhà phát triển.
C. Sự cạnh tranh từ phần mềm độc quyền.
D. Khả năng tương thích kém với phần cứng mới.
18. Giấy phép mã nguồn mở nào được coi là `giấy phép copyleft mạnh`, yêu cầu các tác phẩm phái sinh cũng phải được phân phối theo cùng giấy phép?
A. Giấy phép MIT.
B. Giấy phép Apache 2.0.
C. Giấy phép GPL (GNU General Public License).
D. Giấy phép BSD.
19. Điều gì KHÔNG phải là lợi ích trực tiếp của việc sử dụng phần mềm mã nguồn mở?
A. Giảm chi phí bản quyền phần mềm.
B. Tăng cường bảo mật do mã nguồn được kiểm tra bởi nhiều người.
C. Đảm bảo phần mềm luôn có giao diện người dùng trực quan và dễ sử dụng.
D. Khả năng tùy chỉnh và điều chỉnh phần mềm theo nhu cầu cụ thể.
20. Làm thế nào để một người đóng góp vào một dự án phần mềm mã nguồn mở?
A. Chỉ có thể đóng góp bằng cách quyên góp tiền cho dự án.
B. Thông qua nhiều cách như báo cáo lỗi, đề xuất tính năng, viết mã, dịch tài liệu, hỗ trợ người dùng trên diễn đàn, hoặc thử nghiệm phần mềm.
C. Chỉ những nhà phát triển chuyên nghiệp mới có thể đóng góp.
D. Cần phải được mời hoặc được cấp phép bởi nhà phát triển gốc để đóng góp.
21. Ví dụ nào sau đây là phần mềm mã nguồn mở?
A. Microsoft Windows.
B. Adobe Photoshop.
C. LibreOffice.
D. macOS.
22. Điều gì có thể là động lực chính cho các công ty lớn đóng góp vào các dự án phần mềm mã nguồn mở?
A. Chỉ là hoạt động từ thiện, không có lợi ích kinh doanh trực tiếp.
B. Để giảm chi phí phát triển phần mềm, tận dụng sự đổi mới từ cộng đồng, thiết lập tiêu chuẩn ngành và xây dựng hệ sinh thái xung quanh sản phẩm của họ.
C. Để kiểm soát hoàn toàn hướng phát triển của phần mềm mã nguồn mở.
D. Để cạnh tranh trực tiếp với các công ty phần mềm độc quyền khác.
23. Khái niệm `forking` trong phát triển phần mềm mã nguồn mở nghĩa là gì?
A. Việc hợp nhất các nhánh phát triển khác nhau vào một phiên bản chính.
B. Việc tạo ra một dự án mới, độc lập từ mã nguồn của một dự án hiện có.
C. Việc đóng góp mã nguồn trở lại dự án gốc.
D. Việc kiểm tra và đánh giá chất lượng mã nguồn của dự án.
24. Trong bối cảnh phần mềm mã nguồn mở, `cộng đồng` đóng vai trò quan trọng như thế nào?
A. Cộng đồng chỉ đóng vai trò quảng bá và tiếp thị phần mềm.
B. Cộng đồng là yếu tố then chốt, đóng góp vào phát triển, kiểm thử, hỗ trợ và duy trì phần mềm.
C. Cộng đồng chỉ có vai trò cung cấp phản hồi cho nhà phát triển chính.
D. Cộng đồng không có vai trò chính thức, mọi quyết định thuộc về nhà phát triển gốc.
25. Thuật ngữ `FLOSS` là viết tắt của cụm từ nào?
A. Free, Libre, and Open Source Software.
B. Fast, Lightweight, and Open System Software.
C. Flexible, Licensed, and Open Standard Software.
D. Functional, Logical, and Open Source Solutions.
26. 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 phát triển theo kế hoạch và tài liệu chi tiết, trong khi nhà thờ là phát triển nhanh chóng và linh hoạt.
B. Mô hình chợ là phát triển phân tán với nhiều nhà phát triển đóng góp, trong khi nhà thờ là phát triển tập trung bởi một nhóm nhỏ hoặc cá nhân.
C. Mô hình chợ ưu tiên tính ổn định và bảo mật, trong khi nhà thờ tập trung vào tính năng mới và đổi mới.
D. Mô hình chợ chỉ áp dụng cho các dự án nhỏ, trong khi nhà thờ phù hợp với các dự án lớn và phức tạp.
27. So sánh chi phí ban đầu giữa phần mềm mã nguồn mở và phần mềm độc quyền, điều nào sau đây thường đúng?
A. Phần mềm mã nguồn mở luôn đắt hơn do chi phí phát triển cộng đồng.
B. Phần mềm độc quyền thường miễn phí, trong khi mã nguồn mở phải trả phí.
C. Phần mềm mã nguồn mở thường có chi phí ban đầu thấp hơn hoặc miễn phí bản quyền, nhưng có thể phát sinh chi phí tùy chỉnh và hỗ trợ.
D. Chi phí ban đầu của cả hai loại phần mềm thường tương đương nhau.
28. So với phần mềm độc quyền, phần mềm mã nguồn mở thường có lợi thế hơn trong việc nào sau đây?
A. Khả năng tương thích phần cứng tốt hơn.
B. Khả năng tùy biến và điều chỉnh theo nhu cầu cụ thể của người dùng.
C. Hỗ trợ kỹ thuật chính thức và nhanh chóng từ nhà cung cấp.
D. Giao diện người dùng được thiết kế chuyên nghiệp và dễ sử dụng hơn.
29. Khái niệm `vendor lock-in` (sự phụ thuộc vào nhà cung cấp) có liên quan đến phần mềm mã nguồn mở như thế nào?
A. Phần mềm mã nguồn mở thường dẫn đến vendor lock-in mạnh mẽ hơn.
B. Phần mềm mã nguồn mở giúp giảm thiểu hoặc loại bỏ vendor lock-in do người dùng không bị ràng buộc với một nhà cung cấp cụ thể.
C. Không có mối liên hệ nào giữa vendor lock-in và phần mềm mã nguồn mở.
D. Vendor lock-in chỉ xảy ra với phần mềm mã nguồn mở miễn phí.
30. Trong lĩnh vực phát triển web, ví dụ nào sau đây là máy chủ web mã nguồn mở phổ biến?
A. Internet Information Services (IIS).
B. Apache HTTP Server.
C. Microsoft Edge.
D. Safari.