1. Công cụ quản lý phiên bản Git, được tạo ra bởi Linus Torvalds (người tạo ra Linux), là mã nguồn mở và được sử dụng rộng rãi trong giới phát triển phần mềm. Lợi ích chính của Git là gì?
A. Tăng tốc độ biên dịch mã nguồn.
B. Quản lý hiệu quả các thay đổi trong mã nguồn, hỗ trợ làm việc nhóm và theo dõi lịch sử dự án.
C. Tự động sửa lỗi trong mã nguồn.
D. Bảo vệ mã nguồn khỏi bị truy cập trái phép.
2. Một thách thức đối với các dự án phần mềm mã nguồn mở lớn là `governance` (quản trị). `Governance` trong ngữ cảnh này đề cập đến vấn đề gì?
A. Vấn đề bản quyền và giấy phép của mã nguồn.
B. Vấn đề quản lý cộng đồng, ra quyết định, giải quyết xung đột và định hướng phát triển dự án.
C. Vấn đề bảo mật và vá lỗi phần mềm.
D. Vấn đề tài chính và gây quỹ cho dự án.
3. 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 là gì?
A. Đảm bảo độc quyền công nghệ và tránh sự phụ thuộc vào nhà cung cấp.
B. Tiết kiệm chi phí bản quyền phần mềm và có thể tùy chỉnh theo nhu cầu cụ thể.
C. Được hỗ trợ kỹ thuật tốt hơn từ các nhà cung cấp lớn.
D. Tính ổn định và bảo mật luôn được đảm bảo tuyệt đối.
4. Phần mềm quản lý cơ sở dữ liệu MySQL, mặc dù có phiên bản mã nguồn mở, nhưng hiện nay thuộc sở hữu của công ty nào?
A. IBM.
B. Oracle Corporation.
C. Microsoft.
D. Google.
5. Giấy phép Creative Commons, mặc dù không phải là giấy phép phần mềm, nhưng thường được so sánh với giấy phép mã nguồn mở trong lĩnh vực nào?
A. Trong lĩnh vực phần cứng mã nguồn mở.
B. Trong lĩnh vực nội dung số (như văn bản, hình ảnh, âm thanh, video), chia sẻ và sử dụng lại tác phẩm sáng tạo.
C. Trong lĩnh vực tiêu chuẩn mở.
D. Trong lĩnh vực bảo mật phần mềm.
6. Trong phát triển phần mềm mã nguồn mở, khái niệm `upstream` và `downstream` thường được sử dụng để chỉ điều gì?
A. `Upstream` chỉ phiên bản phần mềm mới nhất, `downstream` chỉ phiên bản cũ hơn.
B. `Upstream` chỉ dự án gốc hoặc nhà phát triển chính, `downstream` chỉ các nhánh phát triển hoặc người dùng cuối.
C. `Upstream` chỉ mã nguồn được tải lên máy chủ, `downstream` chỉ mã nguồn được tải về máy khách.
D. `Upstream` chỉ phần mềm phía máy chủ (server-side), `downstream` chỉ phần mềm phía máy khách (client-side).
7. Ưu điểm của việc `kiểm thử công khai` (open testing) trong phát triển mã nguồn mở là gì?
A. Giảm chi phí kiểm thử do không cần thuê chuyên gia kiểm thử.
B. Thu hút sự tham gia của nhiều người dùng với các môi trường và cách sử dụng khác nhau, giúp phát hiện lỗi đa dạng và nhanh chóng hơn.
C. Đảm bảo tính bảo mật của mã nguồn trong quá trình kiểm thử.
D. Tăng tốc độ phát triển phần mềm do giảm thiểu thời gian kiểm thử.
8. 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. Mã nguồn mở công khai khiến tin tặc dễ dàng tìm ra lỗ hổng bảo mật.
B. Phần mềm mã nguồn mở thường không được kiểm tra bảo mật kỹ lưỡng.
C. Cộng đồng mã nguồn mở thường không quan tâm đến vấn đề bảo mật.
D. Phần mềm mã nguồn mở dễ bị cài cắm mã độc hơn phần mềm độc quyền.
9. Mô hình kinh doanh nào thường được các công ty sử dụng để kiếm lợi nhuận từ phần mềm mã nguồn mở?
A. Bán bản quyền phần mềm mã nguồn mở.
B. Thu phí sử dụng phần mềm mã nguồn mở.
C. Cung cấp dịch vụ hỗ trợ, tư vấn, tùy chỉnh và đào tạo liên quan đến phần mềm mã nguồn mở.
D. Giới hạn tính năng của phiên bản mã nguồn mở và bán phiên bản đầy đủ tính năng.
10. Khái niệm `forking` trong phát triển phần mềm mã nguồn mở nghĩa là gì?
A. Hợp nhất các nhánh phát triển khác nhau thành một phiên bản chính.
B. Tạo ra một nhánh phát triển mới, độc lập từ một dự án mã nguồn mở hiện có.
C. Xóa bỏ một phần mã nguồn không cần thiết để tối ưu hóa hiệu suất.
D. Thay đổi giấy phép của một dự án mã nguồn mở.
11. So sánh với phần mềm độc quyền, phần mềm mã nguồn mở thường có xu hướng thúc đẩy sự `đổi mới` (innovation) như thế nào?
A. Phần mềm mã nguồn mở ít đổi mới hơn vì dựa vào cộng đồng thay vì các công ty chuyên nghiệp.
B. Phần mềm mã nguồn mở thúc đẩy đổi mới nhanh hơn do tính minh bạch, khả năng tùy chỉnh, và sự đóng góp từ cộng đồng toàn cầu.
C. Phần mềm mã nguồn mở chỉ đổi mới trong các lĩnh vực phi thương mại.
D. Phần mềm độc quyền đổi mới nhanh hơn nhờ đầu tư lớn vào R&D.
12. Sự khác biệt chính giữa giấy phép mã nguồn mở `cho phép` (permissive) như MIT hoặc BSD và giấy phép `copyleft` như GPL là gì?
A. Giấy phép `cho phép` yêu cầu trả phí, trong khi giấy phép `copyleft` miễn phí.
B. Giấy phép `cho phép` hạn chế sử dụng cho mục đích thương mại, trong khi giấy phép `copyleft` thì không.
C. Giấy phép `cho phép` cho phép tạo ra phần mềm độc quyền từ mã nguồn mở, trong khi giấy phép `copyleft` yêu cầu các sản phẩm phái sinh cũng phải là mã nguồn mở.
D. Giấy phép `cho phép` chỉ áp dụng cho phần mềm, còn giấy phép `copyleft` áp dụng cho cả phần cứng.
13. Ngôn ngữ lập trình Python được coi là mã nguồn mở, điều này có ý nghĩa gì đối với người sử dụng và nhà phát triển?
A. Người dùng phải trả phí để sử dụng Python.
B. Người dùng và nhà phát triển được tự do sử dụng, nghiên cứu, sửa đổi và phân phối Python.
C. Chỉ có nhà phát triển chính của Python mới có quyền sửa đổi mã nguồn.
D. Python chỉ được sử dụng cho mục đích giáo dục và phi thương mại.
14. Vai trò của `cộng đồng` quan trọng như thế nào trong sự thành công của một dự án phần mềm mã nguồn mở?
A. Cộng đồng chỉ đóng vai trò thứ yếu, nhà phát triển chính mới là yếu tố quyết định.
B. Cộng đồng đóng vai trò quan trọng trong việc đóng góp mã nguồn, kiểm thử, báo cáo lỗi, hỗ trợ người dùng và quảng bá dự án.
C. Cộng đồng chủ yếu giới hạn ở việc sử dụng phần mềm, ít tham gia vào quá trình phát triển.
D. Cộng đồng thường gây cản trở sự phát triển do ý kiến trái chiều và thiếu đồng bộ.
15. Khái niệm `open standards` (tiêu chuẩn mở) có liên quan mật thiết đến phần mềm mã nguồn mở. `Tiêu chuẩn mở` là gì?
A. Tiêu chuẩn chỉ áp dụng cho phần mềm mã nguồn mở.
B. Tiêu chuẩn được công khai, miễn phí sử dụng, và thường được phát triển bởi các tổ chức phi lợi nhuận.
C. Tiêu chuẩn do một công ty độc quyền sở hữu và kiểm soát.
D. Tiêu chuẩn chỉ áp dụng cho phần cứng, không liên quan đến phần mềm.
16. Trình duyệt web Firefox là một dự án mã nguồn mở nổi tiếng, được phát triển bởi tổ chức nào?
A. Google.
B. Microsoft.
C. Mozilla Foundation.
D. Apple.
17. Loại giấy phép mã nguồn mở nào cho phép người dùng sử dụng, sửa đổi và phân phối lại phần mềm, nhưng yêu cầu các sản phẩm phái sinh cũng phải được phát hành dưới giấy phép tương tự?
A. Giấy phép BSD (Berkeley Software Distribution).
B. Giấy phép MIT (Massachusetts Institute of Technology).
C. Giấy phép GPL (GNU General Public License).
D. Giấy phép Apache License 2.0.
18. Ví dụ nào sau đây là một hệ điều hành mã nguồn mở phổ biến?
A. Microsoft Windows.
B. macOS.
C. Ubuntu Linux.
D. iOS.
19. Mô hình phát triển `chợ` (bazaar) trong mã nguồn mở, được Eric S. Raymond mô tả, đề cập đến điều gì?
A. Mô hình phát triển tập trung, có tổ chức và kế hoạch rõ ràng.
B. Mô hình phát triển phân tán, phi tập trung, dựa vào sự tham gia rộng rãi của cộng đồng.
C. Mô hình phát triển theo kiểu `thác nước` (waterfall) tuần tự.
D. Mô hình phát triển chỉ dành cho các dự án thương mại.
20. Một ví dụ về dự án mã nguồn mở thành công lớn, có ảnh hưởng sâu rộng đến cơ sở hạ tầng Internet là máy chủ web...
A. Internet Explorer.
B. Apache HTTP Server.
C. Microsoft IIS.
D. Nginx (cũng là mã nguồn mở, nhưng Apache có lịch sử lâu đời và ảnh hưởng lớn hơn trong giai đoạn đầu).
21. Khía cạnh `tự do` trong phần mềm mã nguồn mở không chỉ giới hạn ở việc `miễn phí` về giá cả, mà còn bao gồm những `tự do` nào khác theo định nghĩa của Free Software Foundation?
A. Tự do sử dụng phần mềm cho bất kỳ mục đích nào, tự do sao chép, tự do phân phối lại, tự do nghiên cứu và sửa đổi.
B. Tự do truy cập Internet, tự do ngôn luận, tự do hội họp, tự do tôn giáo.
C. Tự do lựa chọn phần cứng, tự do lựa chọn hệ điều hành, tự do lựa chọn nhà cung cấp dịch vụ.
D. Tự do phát triển phần mềm độc quyền dựa trên mã nguồn mở, tự do bán phần mềm mã nguồn mở.
22. 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 sự hỗ trợ kỹ thuật chuyên nghiệp và có thể phụ thuộc vào cộng đồng.
C. Ít tính năng và chức năng hơn so với phần mềm độc quyền.
D. Nguy cơ vi phạm bản quyền cao hơn do mã nguồn mở công khai.
23. Trong lĩnh vực `dữ liệu lớn` (big data) và `trí tuệ nhân tạo` (AI), phần mềm mã nguồn mở đóng vai trò như thế nào?
A. Phần mềm mã nguồn mở ít được sử dụng trong lĩnh vực dữ liệu lớn và AI.
B. Phần mềm mã nguồn mở là nền tảng quan trọng, cung cấp các công cụ và thư viện cốt lõi cho phân tích dữ liệu lớn và phát triển AI.
C. Phần mềm mã nguồn mở chỉ được sử dụng cho nghiên cứu, không ứng dụng trong thực tế.
D. Phần mềm độc quyền chiếm ưu thế hoàn toàn trong lĩnh vực dữ liệu lớn và AI.
24. Một số tổ chức và chính phủ khuyến khích sử dụng phần mềm mã nguồn mở vì lý do `độc lập công nghệ`. Điều này có nghĩa là gì?
A. Chỉ sử dụng phần mềm được phát triển trong nước.
B. Giảm sự phụ thuộc vào phần mềm độc quyền từ các công ty nước ngoài, tăng cường chủ quyền công nghệ.
C. Cấm nhập khẩu phần mềm từ nước ngoài.
D. Phát triển phần mềm mã nguồn đóng thay vì mã nguồn mở.
25. Giấy phép mã nguồn mở khác biệt cơ bản so với giấy phép phần mềm độc quyền ở điểm nào?
A. Giấy phép mã nguồn mở thường có thời hạn sử dụng ngắn hơn.
B. Giấy phép mã nguồn mở thường hạn chế việc sử dụng cho mục đích thương mại.
C. Giấy phép mã nguồn mở trao nhiều quyền tự do hơn cho người dùng trong việc sử dụng, sửa đổi và phân phối phần mềm.
D. Giấy phép mã nguồn mở thường đắt đỏ hơn do tính mở của nó.
26. Ứng dụng văn phòng LibreOffice là một ví dụ điển hình của loại phần mềm mã nguồn mở nào?
A. Hệ điều hành.
B. Trình duyệt web.
C. Bộ ứng dụng văn phòng.
D. Phần mềm quản lý cơ sở dữ liệu.
27. Đặc điểm cốt lõi nhất của phần mềm mã nguồn mở là gì?
A. Mã nguồn được giữ bí mật và chỉ nhà phát triển mới có quyền truy cập.
B. Người dùng phải trả phí để xem và sửa đổi mã nguồn.
C. Mã nguồn được công khai và người dùng có quyền tự do sử dụng, nghiên cứu, sửa đổi và phân phối.
D. Phần mềm chỉ được sử dụng miễn phí cho mục đích phi thương mại.
28. Một trong những thách thức khi triển khai phần mềm mã nguồn mở trong doanh nghiệp lớn là vấn đề `tích hợp` (integration). Tại sao?
A. Phần mềm mã nguồn mở thường không có tài liệu hướng dẫn đầy đủ.
B. Phần mềm mã nguồn mở có thể không tương thích tốt với các hệ thống và phần mềm độc quyền hiện có của doanh nghiệp.
C. Phần mềm mã nguồn mở thường thiếu tính năng bảo mật cần thiết cho doanh nghiệp.
D. Phần mềm mã nguồn mở chỉ phù hợp cho doanh nghiệp nhỏ, không phù hợp cho doanh nghiệp lớn.
29. Tuy nhiên, tính minh bạch của mã nguồn mở cũng có thể là một lợi thế về bảo mật, vì sao?
A. Vì mọi người đều có thể kiểm tra mã nguồn để tìm và sửa lỗi bảo mật, tăng cường khả năng phát hiện và khắc phục lỗ hổng.
B. 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.
C. Vì phần mềm mã nguồn mở luôn được cập nhật bản vá bảo mật nhanh chóng hơn.
D. Vì việc công khai mã nguồn khiến nhà phát triển cẩn trọng hơn trong việc viết mã.
30. Trong bối cảnh phần mềm mã nguồn mở, `vendor lock-in` (sự phụ thuộc vào nhà cung cấp) có thể được giảm thiểu như thế nào?
A. Bằng cách sử dụng phần mềm độc quyền từ một nhà cung cấp duy nhất.
B. Bằng cách sử dụng phần mềm mã nguồn mở, cho phép chuyển đổi nhà cung cấp dịch vụ hoặc tự quản lý phần mềm dễ dàng hơn.
C. Bằng cách ký hợp đồng dài hạn với một nhà cung cấp phần mềm.
D. Bằng cách chỉ sử dụng các dịch vụ đám mây (cloud-based) từ một nhà cung cấp.