Phần mềm mã nguồn mở là gì? Những lưu ý về loại phần mền này

Mã nguồn mở thường được lưu trữ trong kho lưu trữ công cộng và được chia sẻ công khai. Bất kỳ ai cũng có thể truy cập kho lưu trữ để sử dụng mã một cách độc lập hoặc đóng góp các cải tiến về thiết kế và chức năng của dự án tổng thể.

Sau đây, xin mời Quý bạn đọc cùng theo dõi bài viết Phần mềm mã nguồn mở là gì? Những lưu ý về loại phần mềm này để cùng giải đáp các thắc mắc.

1. Phần mềm nguồn mở là gì?

Phần mềm nguồn mở (Open source software – OSS) là phần mềm được phân phối cùng với mã nguồn, do đó, luôn sẵn sàng đối với việc sử dụng, sửa đổi và chia sẻ quyền truy cập.

Mã nguồn là một phần của phần mềm mà hầu hết người dùng không bao giờ thấy. Đó là mã được các lập trình viên máy tính thiết lập để kiểm soát hoạt động của một chương trình hoặc ứng dụng. Các lập trình viên có quyền truy cập vào mã nguồn, tiến hành các thay đổi chương trình bằng cách thêm hoặc sửa chữa các phần trong đó. OSS thường bao gồm một giấy phép cho phép các lập trình viên sửa đổi phần mềm để phù hợp nhất với nhu cầu của họ và kiểm soát cách phần mềm có thể được phân phối.

2. Lịch sử của phần mềm mã nguồn mở

Ý tưởng về việc cung cấp mã nguồn có sẵn và miễn phí được đề xuất từ năm 1983 bởi Richard Stallman, một lập trình viên tại MIT. Stallman tin rằng lập trình viên nên được trao quyền truy cập vào phần mềm để sửa đổi nó theo ý muốn, mục tiêu là nhằm tìm hiểu và từng bước cải thiện phần mềm sao cho tối ưu nhất. Stallman bắt đầu phát hành code miễn phí theo giấy phép của riêng mình, được gọi là GNU Public License. Cách tiếp cận và tư tưởng của Stallman đã đặt tiền đề cho sự hình thành của Sáng kiến ​​Nguồn mở (Open Source Initiative) vào năm 1998.

3. Phần mềm mã nguồn mở hoạt động như thế nào?

Mã nguồn mở thường được lưu trữ trong kho lưu trữ công cộng và được chia sẻ công khai. Bất kỳ ai cũng có thể truy cập kho lưu trữ để sử dụng mã một cách độc lập hoặc đóng góp các cải tiến về thiết kế và chức năng của dự án tổng thể.

OSS thường đi kèm với giấy phép phân phối. Giấy phép này bao gồm các điều khoản xác định cách các nhà phát triển có thể sử dụng, nghiên cứu, sửa đổi và quan trọng nhất là phân phối phần mềm. Theo Synopsys Black Duck® KnowledgeBase, năm trong số các giấy phép phổ biến nhất là:

  • MIT License
  • GNU General Public License (GPL) 2.0 — Giấy phép này nghiêm ngặt hơn và yêu cầu các bản sao của code đã sửa đổi phải được cung cấp để sử dụng công khai
  • Apache License 2.0
  • GNU General Public License (GPL) 3.0
  • BSD License 2.0 (3 điều khoản, Mới hoặc Sửa đổi)

Khi mã nguồn được thay đổi, OSS phải thông báo những thay đổi đó, cũng như các phương pháp đã được sử dụng. Tùy thuộc vào các điều khoản cấp phép, phần mềm phát sinh từ những sửa đổi này có thể sẽ phải cung cấp miễn phí trong một số trường hợp.

Ql

4. Phần mềm mã nguồn mở không chứa lỗi?

“Is OSS bug-free?”/ “Phần mềm mã nguồn mở không hề có lỗi?” Câu trả lời là không. Với việc nhiều bên thực hiện các sửa đổi và cải tiến, phần mềm mã nguồn mở không thể tránh khỏi các lỗ hổng về chất lượng, hiệu suất và bảo mật. Tuy nhiên, sự tham gia của số lượng rất lớn các lập trình viên trên toàn thế giới cũng có nghĩa là những lỗi này sẽ được xác định và sửa chữa nhanh hơn.

Bất kể loại phần mềm nào — mã nguồn mở hay thương mại — đều sẽ tồn tại các lỗ hổng về mã. Sự khác biệt chính là ai chịu trách nhiệm sửa lỗi; đối với phần mềm thương mại, nhà cung cấp chịu trách nhiệm, trong khi đó, người tiêu dùng chịu trách nhiệm về phần mềm nguồn mở.

5. Câu hỏi thường gặp

5.1. Phương pháp Scrum là gì?

Là một khuôn khổ Agile nhẹ có thể được sử dụng bởi các nhà quản lý dự án để kiểm soát tất cả các loại dự án lặp đi lặp lại và gia tăng. Trong Scrum, chủ sở hữu sản phẩm tạo ra một sản phẩm tồn đọng cho phép họ làm việc với nhóm của mình để xác định và ưu tiên chức năng hệ thống. Product backlog là danh sách mọi thứ cần phải hoàn thành để cung cấp một hệ thống phần mềm hoạt động thành công – điều này bao gồm các bản sửa lỗi , tính năng và các yêu cầu phi chức năng. Sau khi sản phẩm tồn đọng được xác định, không có chức năng bổ sung nào có thể được thêm vào ngoại trừ nhóm tương ứng.

5.2. Phương pháp lập trình cực đoan (XP)?

Đây là một cách tiếp cận có kỷ luật tập trung vào tốc độ và phân phối liên tục. Nó thúc đẩy sự tham gia của khách hàng tăng lên, vòng lặp phản hồi nhanh chóng, lập kế hoạch và thử nghiệm liên tục và làm việc theo nhóm chặt chẽ. Phần mềm được phân phối định kỳ – thường là từ một đến ba tuần một lần. Mục tiêu là nâng cao chất lượng phần mềm và khả năng đáp ứng khi đối mặt với các yêu cầu thay đổi của khách hàng.

5.3. Phương pháp Kanban?

Kanba là phương pháp quản lý quy trình làm việc trực quan cho phép các nhóm chủ động quản lý việc tạo ra sản phẩm – nhấn mạnh việc phân phối liên tục – mà không tạo thêm căng thẳng trong vòng đời phát triển phần mềm (SDLC). Nó đã trở nên phổ biến giữa các nhóm cũng thực hành phát triển phần mềm Lean.

Trên đây là nội dung về Tìm hiểu về mô hình phát triển phần mềm lặp lại tăng thêm Tìm hiểu về mô hình phát triển phần mềm lặp lại tăng thêm mà ACC cung cấp đến bạn đọc. Trong quá trình tìm hiểu về vấn đề này, nếu có thắc mắc, vui lòng truy cập website https://accgroup.vn/ để được tư vấn, hỗ tr

Nội dung bài viết:

    Hãy để lại thông tin để được tư vấn

    comment-blank-solid Bình luận

    084.696.7979 19003330 Báo giá Chat Zalo