Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Phần Mềm Mã Nguồn Mở - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Điều gì là cốt lõi nhất phân biệt phần mềm mã nguồn mở với phần mềm độc quyền?
- A. Phần mềm mã nguồn mở luôn miễn phí, trong khi phần mềm độc quyền luôn phải trả phí.
- B. Phần mềm mã nguồn mở cho phép người dùng xem, sửa đổi và phân phối mã nguồn, còn phần mềm độc quyền thì không.
- C. Phần mềm mã nguồn mở chỉ dành cho mục đích phi thương mại, còn phần mềm độc quyền thì không.
- D. Phần mềm mã nguồn mở được phát triển bởi cộng đồng, còn phần mềm độc quyền được phát triển bởi công ty.
Câu 2: Ưu điểm nào sau đây 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ở trong một tổ chức?
- A. Giảm chi phí bản quyền phần mềm.
- B. Tăng tính linh hoạt và khả năng tùy biến theo nhu cầu.
- C. Được hỗ trợ kỹ thuật độc quyền và nhanh chóng từ nhà cung cấp duy nhất.
- D. Cộng đồng người dùng và nhà phát triển lớn, hỗ trợ lẫn nhau.
Câu 3: Giấy phép GPL (GNU General Public License) có đặc điểm nổi bật nào sau đây?
- A. Cho phép sử dụng mã nguồn mở trong phần mềm độc quyền mà không cần công bố mã nguồn.
- B. Là giấy phép phần mềm tự do ít hạn chế nhất, tương tự như giấy phép MIT hoặc BSD.
- C. Chỉ áp dụng cho các dự án phần mềm phi lợi nhuận và giáo dục.
- D. Yêu cầu mọi phần mềm phái sinh hoặc sửa đổi từ phần mềm gốc cũng phải được phát hành dưới giấy phép GPL.
Câu 4: Tình huống nào sau đây thể hiện rõ nhất lợi ích của "tính minh bạch" trong phần mềm mã nguồn mở?
- A. Một công ty sử dụng phần mềm mã nguồn mở vì nó có giao diện người dùng đẹp và dễ sử dụng hơn.
- B. Các chuyên gia bảo mật có thể kiểm tra mã nguồn của phần mềm để phát hiện và vá các lỗ hổng bảo mật.
- C. Người dùng có thể dễ dàng tải và cài đặt phần mềm mã nguồn mở từ Internet.
- D. Phần mềm mã nguồn mở thường có nhiều tính năng hơn so với phần mềm độc quyền.
Câu 5: Giả sử một công ty phát triển một phần mềm thương mại dựa trên một thư viện mã nguồn mở được cấp phép theo giấy phép MIT. Điều kiện nào sau đây công ty CẦN tuân thủ?
- A. Ghi nhận nguồn gốc của thư viện MIT trong tài liệu phần mềm của họ.
- B. Phải phát hành toàn bộ mã nguồn phần mềm thương mại của họ dưới giấy phép MIT.
- C. Xin phép tác giả gốc của thư viện MIT trước khi sử dụng.
- D. Trả một khoản phí bản quyền cho tổ chức MIT.
Câu 6: Mô hình phát triển "chợ" (bazaar) trong phần mềm mã nguồn mở khác biệt như thế nào so với mô hình "nhà thờ lớn" (cathedral) thường thấy ở phần mềm độc quyền?
- A. Mô hình chợ tập trung vào kế hoạch dài hạn và phát hành phiên bản lớn định kỳ, còn nhà thờ lớn thì phát hành thường xuyên các bản cập nhật nhỏ.
- B. Mô hình chợ có cấu trúc quản lý phân cấp và kiểm soát chặt chẽ, còn nhà thờ lớn thì phi tập trung và tự do hơn.
- C. Mô hình chợ khuyến khích sự tham gia rộng rãi của cộng đồng và phát triển phân tán, còn nhà thờ lớn thì tập trung vào nhóm phát triển nhỏ, cốt lõi.
- D. Mô hình chợ chỉ phù hợp với các dự án nhỏ, còn nhà thờ lớn phù hợp với các dự án phần mềm phức tạp.
Câu 7: Tại sao cộng đồng lại đóng vai trò quan trọng trong sự thành công của các dự án phần mềm mã nguồn mở?
- A. Cộng đồng giúp giảm chi phí marketing cho phần mềm.
- B. Cộng đồng đóng góp vào việc phát triển, kiểm thử, hỗ trợ và cải tiến phần mềm liên tục.
- C. Cộng đồng đảm bảo phần mềm luôn được dịch sang nhiều ngôn ngữ.
- D. Cộng đồng giúp phần mềm tuân thủ các tiêu chuẩn pháp lý quốc tế.
Câu 8: Điều gì có thể là một thách thức khi sử dụng phần mềm mã nguồn mở cho một doanh nghiệp lớn?
- A. Chi phí bản quyền phần mềm quá cao.
- B. Khó khăn trong việc tùy biến phần mềm theo nhu cầu riêng.
- C. Có thể thiếu hỗ trợ kỹ thuật chuyên nghiệp và tập trung từ một nhà cung cấp duy nhất.
- D. Nguy cơ bị phụ thuộc vào một nhà cung cấp phần mềm độc quyền.
Câu 9: Chọn phát biểu đúng về giấy phép "copyleft" trong phần mềm mã nguồn mở.
- A. Đảm bảo rằng các phiên bản phái sinh của phần mềm cũng phải được phân phối dưới giấy phép tương tự.
- B. Cho phép sử dụng mã nguồn mở trong phần mềm độc quyền mà không cần bất kỳ ràng buộc nào.
- C. Chỉ áp dụng cho phần mềm được phát triển bởi các tổ chức phi lợi nhuận.
- D. Ngăn chặn hoàn toàn việc thương mại hóa phần mềm mã nguồn mở.
Câu 10: So sánh giấy phép BSD và giấy phép GPL, điểm khác biệt chính giữa chúng là gì?
- A. Giấy phép BSD là giấy phép copyleft, còn GPL thì không.
- B. Giấy phép BSD cho phép sử dụng mã nguồn trong phần mềm độc quyền, còn GPL thì có tính "lan truyền" (viral) hơn.
- C. Giấy phép BSD yêu cầu công bố mã nguồn khi phân phối, còn GPL thì không.
- D. Giấy phép BSD chỉ áp dụng cho hệ điều hành Berkeley, còn GPL thì áp dụng rộng rãi hơn.
Câu 11: Trong ngữ cảnh phần mềm mã nguồn mở, thuật ngữ "forking" (rẽ nhánh) có nghĩa là gì?
- A. Quá trình hợp nhất các đoạn mã khác nhau vào một dự án phần mềm.
- B. Việc chia nhỏ một dự án phần mềm lớn thành các module nhỏ hơn.
- C. Việc kiểm tra và đánh giá chất lượng mã nguồn bởi cộng đồng.
- D. Việc tạo ra một dự án phần mềm mới bắt nguồn từ mã nguồn của một dự án hiện có, thường do bất đồng về hướng phát triển.
Câu 12: Một nhà phát triển muốn đóng góp mã nguồn cho một dự án mã nguồn mở lớn. Quy trình phổ biến nhất họ nên thực hiện là gì?
- A. Gửi trực tiếp mã nguồn qua email cho người quản lý dự án.
- B. Tự ý sửa đổi mã nguồn chính của dự án và tải lên.
- C. Tạo một nhánh (branch) riêng, thực hiện thay đổi và gửi yêu cầu hợp nhất (pull request).
- D. Công bố mã nguồn sửa đổi của mình trên trang web cá nhân.
Câu 13: Điều gì KHÔNG phải là một ví dụ phổ biến về phần mềm mã nguồn mở?
- A. Hệ điều hành Linux.
- B. Microsoft Office.
- C. Trình duyệt web Firefox.
- D. Cơ sở dữ liệu MySQL.
Câu 14: Tại sao một số công ty công nghệ lớn lại đóng góp đáng kể vào các dự án phần mềm mã nguồn mở?
- A. Chỉ để thể hiện trách nhiệm xã hội của doanh nghiệp.
- B. Để độc quyền kiểm soát hướng phát triển của phần mềm.
- C. Để cạnh tranh trực tiếp với các dự án phần mềm độc quyền khác.
- D. Để tận dụng sức mạnh cộng đồng, chia sẻ chi phí phát triển và thúc đẩy hệ sinh thái công nghệ chung.
Câu 15: Trong bối cảnh bảo mật phần mềm, "bảo mật nhờ sự mơ hồ" (security through obscurity) đối lập với "tính minh bạch" của mã nguồn mở như thế nào?
- A. "Bảo mật nhờ sự mơ hồ" dựa vào việc giấu kín thông tin, còn mã nguồn mở tin rằng tính minh bạch giúp phát hiện và sửa lỗi bảo mật hiệu quả hơn.
- B. "Bảo mật nhờ sự mơ hồ" hiệu quả hơn mã nguồn mở vì tin tặc khó tiếp cận mã nguồn.
- C. Cả hai phương pháp đều không liên quan đến nhau và có thể sử dụng đồng thời.
- D. Mã nguồn mở thực chất là một hình thức của "bảo mật nhờ sự mơ hồ" vì mã nguồn quá phức tạp để hiểu.
Câu 16: Một tổ chức phi lợi nhuận muốn sử dụng phần mềm quản lý quan hệ khách hàng (CRM). Lựa chọn phần mềm mã nguồn mở CRM có thể mang lại lợi ích gì đặc biệt cho họ?
- A. Đảm bảo phần mềm luôn có giao diện đồ họa đẹp mắt và hiện đại nhất.
- B. Được cam kết hỗ trợ kỹ thuật 24/7 từ nhà cung cấp.
- C. Tiết kiệm chi phí bản quyền, có thể tùy chỉnh theo nhu cầu đặc thù của tổ chức và tận dụng cộng đồng hỗ trợ.
- D. Đảm bảo tuân thủ mọi quy định pháp lý về bảo mật dữ liệu.
Câu 17: Trong các mô hình kinh doanh liên quan đến phần mềm mã nguồn mở, mô hình "mã nguồn mở như một dịch vụ" (Open Source as a Service - OSaaS) hoạt động như thế nào?
- A. Cung cấp phần mềm mã nguồn mở miễn phí hoàn toàn, không có bất kỳ dịch vụ hỗ trợ nào.
- B. Cung cấp dịch vụ lưu trữ, quản lý và vận hành phần mềm mã nguồn mở cho khách hàng, thu phí dựa trên dịch vụ.
- C. Bán giấy phép sử dụng phần mềm mã nguồn mở cho các doanh nghiệp lớn.
- D. Phát triển phần mềm mã nguồn mở theo yêu cầu riêng của từng khách hàng.
Câu 18: Khi lựa chọn giấy phép mã nguồn mở cho dự án của mình, một nhà phát triển nên cân nhắc yếu tố nào quan trọng nhất nếu họ muốn khuyến khích cộng đồng đóng góp nhưng vẫn muốn có quyền kiểm soát nhất định đối với dự án?
- A. Giấy phép GPL, vì tính chất copyleft mạnh mẽ sẽ thu hút nhiều nhà phát triển.
- B. Giấy phép độc quyền, để đảm bảo quyền kiểm soát tối đa.
- C. Giấy phép AGPL, vì nó đảm bảo tính mở ngay cả khi phần mềm được sử dụng qua mạng.
- D. Giấy phép Apache hoặc BSD, vì chúng cho phép sử dụng linh hoạt hơn trong cả dự án mã nguồn mở và độc quyền, khuyến khích cộng đồng tham gia nhưng vẫn giữ quyền kiểm soát ở mức độ nhất định.
Câu 19: Điều gì là một rủi ro tiềm ẩn khi phụ thuộc quá nhiều vào phần mềm mã nguồn mở không được hỗ trợ thương mại?
- A. Chi phí ẩn phát sinh từ việc phải trả phí bản quyền trong tương lai.
- B. Khó khăn trong việc nhận được hỗ trợ kỹ thuật kịp thời và chuyên nghiệp khi gặp sự cố nghiêm trọng.
- C. Nguy cơ bị kiện vi phạm bản quyền phần mềm.
- D. Phần mềm có thể bị ngừng phát triển đột ngột do thiếu nguồn lực.
Câu 20: So sánh phần mềm mã nguồn mở và phần mềm freeware, điểm khác biệt mấu chốt giữa chúng là gì?
- A. Phần mềm mã nguồn mở luôn miễn phí, còn freeware thì không.
- B. Phần mềm freeware cho phép sửa đổi mã nguồn, còn mã nguồn mở thì không.
- C. Phần mềm mã nguồn mở tập trung vào quyền tự do tiếp cận và sửa đổi mã nguồn, còn freeware chỉ đơn giản là phần mềm miễn phí (có thể không mở mã nguồn).
- D. Phần mềm mã nguồn mở được phát triển bởi cộng đồng, còn freeware được phát triển bởi các công ty thương mại.
Câu 21: Trong ngữ cảnh quản lý dự án phần mềm mã nguồn mở, "governance" (quản trị) đề cập đến điều gì?
- A. Các quy tắc, chính sách và cơ cấu tổ chức để điều hành và quản lý dự án, bao gồm cả việc ra quyết định và giải quyết xung đột.
- B. Công cụ và quy trình để quản lý mã nguồn và theo dõi thay đổi.
- C. Chiến lược marketing và quảng bá dự án phần mềm.
- D. Các biện pháp bảo mật để bảo vệ dự án khỏi tấn công mạng.
Câu 22: Một dự án phần mềm mã nguồn mở sử dụng giấy phép AGPL (GNU Affero General Public License). Điểm khác biệt quan trọng của AGPL so với GPL là gì?
- A. AGPL là giấy phép tự do hơn GPL và ít ràng buộc hơn.
- B. GPL yêu cầu công bố mã nguồn khi phân phối, còn AGPL thì không.
- C. AGPL mở rộng yêu cầu copyleft sang trường hợp phần mềm được sử dụng như một dịch vụ qua mạng, không chỉ khi phân phối bản sao.
- D. AGPL chỉ áp dụng cho các ứng dụng web, còn GPL áp dụng cho mọi loại phần mềm.
Câu 23: Trong mô hình kinh doanh "open core" (lõi mở), các công ty phần mềm mã nguồn mở thường kiếm tiền bằng cách nào?
- A. Bán giấy phép sử dụng phiên bản mã nguồn mở.
- B. Cung cấp phiên bản "lõi" mã nguồn mở miễn phí và bán các tính năng, module hoặc dịch vụ bổ sung độc quyền.
- C. Thu phí dựa trên số lượng người dùng sử dụng phần mềm mã nguồn mở.
- D. Yêu cầu người dùng đóng góp tài chính cho dự án mã nguồn mở.
Câu 24: Đ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. Phân phối tự do.
- B. Mã nguồn phải có sẵn.
- C. Cho phép tạo ra các tác phẩm phái sinh.
- D. Phải được phát triển bởi một tổ chức phi lợi nhuận.
Câu 25: Trong một dự án phần mềm mã nguồn mở, thuật ngữ "upstream" và "downstream" thường được sử dụng để chỉ điều gì?
- A. Các giai đoạn phát triển phần mềm (upstream là giai đoạn đầu, downstream là giai đoạn cuối).
- B. Các phiên bản phần mềm (upstream là phiên bản cũ, downstream là phiên bản mới nhất).
- C. "Upstream" chỉ dự án gốc hoặc chính thức, "downstream" chỉ các dự án phái sinh hoặc phân phối lại.
- D. Các thành phần phần mềm (upstream là thành phần cốt lõi, downstream là thành phần phụ trợ).
Câu 26: Khi đánh giá rủi ro bảo mật của việc sử dụng phần mềm mã nguồn mở, một yếu tố quan trọng cần xem xét là gì?
- A. Giấy phép mã nguồn mở được sử dụng.
- B. Mức độ hoạt động và phản hồi của cộng đồng phát triển trong việc vá lỗi bảo mật.
- C. Số lượng dòng mã trong phần mềm.
- D. Ngôn ngữ lập trình được sử dụng để viết phần mềm.
Câu 27: Một doanh nghiệp muốn chuyển đổi hạ tầng công nghệ thông tin sang sử dụng phần mềm mã nguồn mở. Bước đầu tiên quan trọng nhất họ nên thực hiện là gì?
- A. Đào tạo toàn bộ nhân viên về sử dụng phần mềm mã nguồn mở.
- B. Ngừng sử dụng toàn bộ phần mềm độc quyền ngay lập tức.
- C. Đánh giá kỹ lưỡng nhu cầu, khả năng tương thích và các giải pháp mã nguồn mở phù hợp với doanh nghiệp.
- D. Thành lập một đội ngũ phát triển phần mềm mã nguồn mở riêng.
Câu 28: Trong cộng đồng phần mềm mã nguồn mở, "issue tracker" (trình theo dõi vấn đề) được sử dụng để làm gì?
- A. Quản lý và phân phối mã nguồn phần mềm.
- B. Theo dõi hiệu suất và mức độ sử dụng phần mềm.
- C. Tổ chức các cuộc thảo luận và diễn đàn trực tuyến.
- D. Báo cáo, theo dõi và quản lý lỗi, yêu cầu tính năng và các vấn đề liên quan đến dự án.
Câu 29: Khi so sánh chi phí dài hạn giữa phần mềm mã nguồn mở và phần mềm độc quyền, điều gì cần được xem xét ngoài chi phí bản quyền ban đầu?
- A. Chỉ cần so sánh giá bản quyền ban đầu là đủ.
- B. Chi phí hỗ trợ kỹ thuật, chi phí tùy chỉnh, chi phí đào tạo, và chi phí cơ hội (nếu có) của cả hai loại phần mềm.
- C. Phần mềm mã nguồn mở luôn rẻ hơn về tổng chi phí.
- D. Phần mềm độc quyền luôn đắt hơn về tổng chi phí.
Câu 30: Trong tương lai, xu hướng phát triển của phần mềm mã nguồn mở có thể sẽ tập trung vào những lĩnh vực nào?
- A. Trí tuệ nhân tạo, điện toán đám mây, Internet of Things (IoT) và blockchain, nơi sự linh hoạt, minh bạch và cộng đồng đóng vai trò quan trọng.
- B. Chỉ tập trung vào các ứng dụng văn phòng và quản lý doanh nghiệp truyền thống.
- C. Giảm sự phát triển do cạnh tranh từ các nền tảng độc quyền lớn.
- D. Chỉ phát triển trong lĩnh vực giáo dục và phi lợi nhuận.