Bộ 11 - Trắc nghiệm Phần mềm mã nguồn mở có đáp án
Thời gian còn lại: --:--
Kết quả của bạn:
Bạn đã đúng:
Bạn đã sai:
Tổng số câu:
Câu 1:Theo Định nghĩa Nguồn mở (OSD) của tổ chức OSI, tiêu chí nào sau đây là bắt buộc đối với một giấy phép phần mềm mã nguồn mở?
💡 Lời giải chi tiết:
Định nghĩa Nguồn mở của OSI yêu cầu giấy phép không được hạn chế bất kỳ bên nào trong việc bán hoặc cho đi phần mềm như một phần của bản phân phối tổng hợp. Kết luận Lý giải Cho phép phân phối lại phần mềm mà không hạn chế quyền bán hoặc tặng.
Câu 2:Trong triết lý của Free Software Foundation (FSF), 'Quyền tự do 1' được định nghĩa là gì?
💡 Lời giải chi tiết:
Theo FSF, Quyền tự do 1 cho phép người dùng nghiên cứu mã nguồn và sửa đổi nó, điều này đòi hỏi việc truy cập vào mã nguồn là điều kiện tiên quyết. Kết luận Lý giải Quyền nghiên cứu cách chương trình hoạt động và thay đổi nó theo ý muốn.
Câu 3:Thuật ngữ 'Copyleft' trong giấy phép GPL (General Public License) có ý nghĩa cốt lõi là gì?
💡 Lời giải chi tiết:
Copyleft là một cơ chế pháp lý yêu cầu bất kỳ phiên bản sửa đổi hoặc mở rộng nào của phần mềm cũng phải duy trì các quyền tự do tương tự như bản gốc. Kết luận Lý giải Yêu cầu các tác phẩm phái sinh phải được phát hành dưới cùng một giấy phép với tác phẩm gốc.
Câu 4:Giấy phép MIT được phân loại vào nhóm giấy phép nào sau đây?
💡 Lời giải chi tiết:
Giấy phép MIT là một giấy phép thoáng (permissive), cho phép người dùng làm hầu hết mọi thứ với mã nguồn, kể cả việc đóng mã nguồn trong các sản phẩm thương mại. Kết luận Lý giải Giấy phép không có tính Copyleft (Permissive).
Câu 5:Khi tính toán Tổng chi phí sở hữu (TCO) cho phần mềm mã nguồn mở, yếu tố nào thường chiếm tỷ trọng lớn nhất thay vì chi phí mua bản quyền?
💡 Lời giải chi tiết:
Dù phần mềm mã nguồn mở thường miễn phí bản quyền, nhưng chi phí thực tế nằm ở việc vận hành, tùy chỉnh và đào tạo nhân sự sử dụng. Kết luận Lý giải Chi phí triển khai, đào tạo, bảo trì và hỗ trợ kỹ thuật.
Câu 6:Định luật Linus (Linus's Law) trong phát triển mã nguồn mở khẳng định điều gì về bảo mật?
💡 Lời giải chi tiết:
Định luật Linus phát biểu rằng 'với đủ số mắt theo dõi, mọi lỗi đều trở nên nông', nhấn mạnh vai trò của cộng đồng trong việc kiểm định mã nguồn. Kết luận Lý giải Càng nhiều người xem xét mã nguồn thì các lỗi và lỗ hổng càng nhanh chóng bị phát hiện.
Câu 7:Sự khác biệt quan trọng nhất giữa giấy phép GPLv3 so với GPLv2 là gì?
💡 Lời giải chi tiết:
GPLv3 được thiết kế để ngăn chặn việc sử dụng các biện pháp kỹ thuật nhằm hạn chế quyền sửa đổi phần mềm trên thiết bị phần cứng (Tivoization) và làm rõ các quyền về bằng sáng chế. Kết luận Lý giải GPLv3 bổ sung các điều khoản chống 'Tivoization' và bảo vệ chống lại các vụ kiện bằng sáng chế.
Câu 8:Giấy phép Affero GPL (AGPL) được tạo ra nhằm mục đích giải quyết vấn đề gì?
💡 Lời giải chi tiết:
AGPL yêu cầu các nhà cung cấp dịch vụ mạng phải chia sẻ mã nguồn khi người dùng tương tác với phần mềm qua mạng, điều mà GPL thông thường không bắt buộc. Kết luận Lý giải Lỗ hổng trong việc cung cấp phần mềm dưới dạng dịch vụ mạng (ASP loophole).
Câu 9:Trong quy trình phát triển mã nguồn mở, khái niệm 'Upstream' (thượng nguồn) ám chỉ hành động nào?
💡 Lời giải chi tiết:
Gửi đóng góp 'Upstream' có nghĩa là gửi các thay đổi mã nguồn về cho những người duy trì dự án chính để tích hợp vào phiên bản gốc. Kết luận Lý giải Việc đóng góp các bản sửa lỗi hoặc tính năng mới trở lại dự án gốc.
Câu 10:Giấy phép Apache 2.0 có đặc điểm nổi bật nào giúp nó được nhiều doanh nghiệp ưa chuộng?
💡 Lời giải chi tiết:
Apache 2.0 cung cấp một cơ chế cấp phép bằng sáng chế minh bạch, giúp bảo vệ người dùng khỏi các tranh chấp pháp lý liên quan đến sở hữu trí tuệ. Kết luận Lý giải Cần quyền sử dụng bằng sáng chế đi kèm một cách rõ ràng và không thể thu hồi.
Câu 11:Hành động 'Forking' trong một dự án mã nguồn mở xảy ra khi nào?
💡 Lời giải chi tiết:
Forking xảy ra khi các nhà phát triển quyết định tách ra và phát triển một phiên bản riêng biệt từ mã nguồn hiện có, thường do sự khác biệt về tầm nhìn kỹ thuật. Kết luận Lý giải Khi một nhóm nhà phát triển lấy bản sao mã nguồn và bắt đầu một nhánh phát triển độc lập.
Câu 12:Mô hình kinh doanh 'Open Core' thường được triển khai như thế nào?
💡 Lời giải chi tiết:
Trong mô hình Open Core, các tính năng cơ bản được cung cấp miễn phí dưới dạng mã nguồn mở để xây dựng cộng đồng, trong khi các tính năng giá trị cao được bán dưới dạng độc quyền. Kết luận Lý giải Phần lõi được mở mã nguồn, nhưng các tính năng nâng cao (Enterprise) là mã nguồn đóng và phải trả phí.
Câu 13:Tại sao việc sử dụng phần mềm mã nguồn mở giúp tránh được tình trạng 'Vendor Lock-in'?
💡 Lời giải chi tiết:
Với mã nguồn mở, khách hàng không bị ràng buộc bởi các định dạng dữ liệu độc quyền hay các điều khoản hạn chế của một nhà cung cấp duy nhất. Kết luận Lý giải Người dùng có quyền tiếp cận mã nguồn và tự do lựa chọn hoặc thay đổi đơn vị cung cấp dịch vụ hỗ trợ.
Câu 14:Cơ chế 'Dual Licensing' (Giấy phép kép) thường được các công ty như MySQL sử dụng nhằm mục đích gì?
💡 Lời giải chi tiết:
Mô hình giấy phép kép cho phép công ty thu lợi nhuận từ các khách hàng doanh nghiệp không muốn tuân thủ các ràng buộc của giấy phép Copyleft. Kết luận Lý giải Cung cấp miễn phí cho cộng đồng (thường là GPL) và bán giấy phép thương mại cho doanh nghiệp muốn đóng mã.
Câu 15:Giấy phép LGPL (Lesser General Public License) khác với GPL ở điểm cơ bản nào?
💡 Lời giải chi tiết:
Giấy phép LGPL lỏng lẻo hơn GPL ở chỗ nó cho phép các ứng dụng độc quyền sử dụng thư viện mã nguồn mở mà không biến toàn bộ ứng dụng đó thành mã nguồn mở. Kết luận Lý giải LGPL cho phép các chương trình mã nguồn đóng liên kết với thư viện mà không bắt buộc phải mở mã nguồn chương trình đó.
Câu 16:Ai là người sáng lập dự án GNU và tổ chức Free Software Foundation (FSF)?
💡 Lời giải chi tiết:
Richard Stallman khởi xướng dự án GNU vào năm 1983 và thành lập FSF để thúc đẩy quyền tự do của người dùng máy tính. Kết luận Lý giải Richard Stallman.
Câu 17:Hệ điều hành Android chủ yếu sử dụng loại giấy phép nào cho các thành phần thuộc tầng 'Android Framework'?
💡 Lời giải chi tiết:
Google ưu tiên sử dụng giấy phép Apache 2.0 cho Android để các nhà sản xuất thiết bị có thể tùy chỉnh và thêm các thành phần đóng mà không bị ràng buộc bởi Copyleft của GPL. Kết luận Lý giải Giấy phép Apache 2.0.
Câu 18:Thỏa thuận CLA (Contributor License Agreement) trong các dự án mã nguồn mở có vai trò gì?
💡 Lời giải chi tiết:
CLA là một văn bản pháp lý giúp bảo vệ dự án bằng cách làm rõ quyền sở hữu trí tuệ của các đoạn mã được đóng góp bởi cộng đồng. Kết luận Lý giải Xác nhận các quyền pháp lý của người đóng góp và cho phép dự án sử dụng/phát hành mã nguồn đó.
Câu 19:Khái niệm 'InnerSource' được hiểu như thế nào trong doanh nghiệp?
💡 Lời giải chi tiết:
InnerSource giúp các tập đoàn lớn tăng cường sự cộng tác và tái sử dụng mã nguồn giữa các nhóm phát triển khác nhau bằng cách mô phỏng mô hình mã nguồn mở. Kết luận Lý giải Áp dụng các phương pháp và văn hóa phát triển mã nguồn mở vào quy trình sản xuất phần mềm nội bộ doanh nghiệp.
Câu 20:Yếu tố nào sau đây là quan trọng nhất để đảm bảo tính tương tác giữa phần mềm mã nguồn mở và các hệ thống khác?
💡 Lời giải chi tiết:
Tiêu chuẩn mở cho phép các hệ thống khác nhau giao tiếp và trao đổi dữ liệu một cách hiệu quả mà không phụ thuộc vào công nghệ độc quyền. Kết luận Lý giải Việc tuân thủ các tiêu chuẩn mở (Open Standards).
Câu 21:Hệ thống quản lý phiên bản 'Git' ban đầu được tạo ra bởi ai và phục vụ mục đích gì?
💡 Lời giải chi tiết:
Linus Torvalds đã tạo ra Git vào năm 2005 để thay thế công cụ BitKeeper trong việc quản lý quy trình phát triển khổng lồ của nhân Linux. Kết luận Lý giải Linus Torvalds, để quản lý việc phát triển nhân Linux.
Câu 22:Giấy phép BSD (Berkeley Software Distribution) có đặc trưng gì khác biệt so với GPL?
💡 Lời giải chi tiết:
Giấy phép BSD cho phép các tổ chức lấy mã nguồn mở, chỉnh sửa và tích hợp vào các sản phẩm độc quyền mà không phải chịu ràng buộc Copyleft. Kết luận Lý giải BSD là giấy phép cực kỳ thoáng, cho phép tái phân phối dưới dạng mã nguồn đóng mà không cần chia sẻ lại mã sửa đổi.
Câu 23:Ưu điểm lớn nhất của mô hình phát triển dựa trên cộng đồng (Community-driven) là gì?
💡 Lời giải chi tiết:
Mô hình cộng đồng tận dụng trí tuệ tập thể để liên tục cải tiến phần mềm nhanh hơn so với các mô hình phát triển truyền thống khép kín. Kết luận Lý giải Sự đa dạng về ý tưởng và tốc độ khắc phục lỗi nhờ sự tham gia của đông đảo nhà phát triển toàn cầu.
Câu 24:Trong ngữ cảnh phần mềm mã nguồn mở, khái niệm 'Downstream' (hạ nguồn) dùng để chỉ ai?
💡 Lời giải chi tiết:
Các dự án 'Downstream' là những người tiếp nhận mã từ dự án gốc (Upstream), có thể tùy biến thêm và phân phối lại cho người dùng khác. Kết luận Lý giải Các nhà phân phối phần mềm hoặc người dùng cuối tiêu thụ mã nguồn từ dự án gốc.
Câu 25:Việc sử dụng các bản vá (Patches) trong mã nguồn mở giúp cải thiện tính bảo mật như thế nào?
💡 Lời giải chi tiết:
Nhờ tính chất mở, các bản vá bảo mật có thể được tạo ra và triển khai trên toàn cầu chỉ trong thời gian rất ngắn sau khi sự cố được báo cáo. Kết luận Lý giải Cho phép cộng đồng nhanh chóng phân phối và áp dụng các sửa lỗi ngay khi lỗ hổng được phát hiện.