Tìm hiểu mô hình phát triển phần mềm tự do nguồn mở

Thứ năm - 22/03/2012 05:56

Cuốinăm 2011, đầu năm 2012, Quỹ Linux đã xuất bản một bộ3 tài liệu có mục đích để giới thiệu những thựctiễn tốt nhất xung quanh sự phát triển của nguồn mở.Các tài liệu đó bao gồm:

  1. Thiết lập chiến lược phần mềm nguồn mở: những cân nhắc chính và những khuyến cáo chiến thuật

Từsố này, tạp chí Tin học và Đời sống sẽ lần lượtgiới thiệu với các bạn nội dung của những tài liệuđó và các mối liên quan của chúng với nhau với mụcđích để đưa ra được cho các cá nhân và công ty phầnmềm Việt Nam nắm được những hiểu biết, cách thứccơ bản và các bước chiến thuật cụ thể để chuyểntừ mô hình phát triển phần mềm nguồn đóng sang môhình phát triển phần mềm tự do nguồn mở một cáchthành công từ những gì đã được Quỹ Linux đúc kếttrong 3 tài liệu trên.

QUITRÌNH CHUNG

Môhình phát triển phần mềm tự do nguồn mở (PMTDNM) đượcđặc trưng bằng các qui trình và giá trị làm cho nó khácbiệt với mô hình phát triển sở hữu độc quyền theotruyền thống.

Môhình phát triển phần mềm được nhiều tổ chức thựchiện thường bao gồm những giai đoạn riêng rẽ các hoạtđộng phát triển như kiểu thác nước đổ cho tới khiphát hành một phiên bản của dự án. Mô hình phát triểnnguồn mở có tiếp cận khác, ưu tiên cho qui trình pháttriển dễ thay đổi hơn được đặc trưng bằng sự giatăng trong các đội lập trình phát triển về sự cộngtác, tích hợp và kiểm thử liên tục, và sự liên canlớn hơn của người sử dụng đầu cuối trong toàn bộquá trình phát triển.

Môhình phát triển nguồn mở đang ngày càng được áp dụngnhiều hơn bên trong các tổ chức phát triển truyền thốngnhư một phương tiện sản xuất phần mềm chất lượngcao hơn, thậm chí bên trong các công ty không phát triểnsản phẩm nguồn mở. Điều này thường là do những hiệuquả gia tăng mà mô hình phát triển nguồn mở đem lạicho các đội lớn, phân tán, làm việc trong các dự ánphần mềm chủ chốt.

Chúngta sẽ xem xét mô hình phát triển nguồn mở và mô tảcác qui trình đặc trưng cho việc quản lý các yêu cầutính năng, đệ trình mã nguồn và quyết định về kiếntrúc. Chúng ta cũng sẽ đề cập tới những đặc tính cơbản của vòng đời của nguồn mở như sự rà soát lạingang hàng, trạng thái tâm lý “phát hành sớm và thườngxuyên”, và việc kiểm thử và tích hợp liên tục.

Lưuý rằng mỗi dự án nguồn mở có cách thức riêng củanó cho việc quản lý qui trình phát triển. Mô tả mô hìnhphát triển mà chúng ta sẽ đề cập tới không phải làđặc thù cho bất kỳ dự án nào, nhưng thay vào đó làmô tả một qui trình và các đặc tính có thể áp dụngcho hầu hết các dự án nguồn mở.

MÔHÌNH PHÁT TRIỂN NGUỒN MỞ

Môhình phát triển nguồn mở giả thiết rằng sự pháttriển được phân tán trong nhiều nhóm, làm việc ở cácđịa điểm khác nhau trên phạm vi toàn thế giới, trongmột cấu trúc lỏng lẻo là đàn hồi đối với nhữngngười mới tới và những người ra đi. Các cộng đồngnguồn mở thành công đã phát triển các qui trình nơi màmã nguồn có thể được đệ trình và tích hợp mộtcách không đồng bộ, giao tiếp được ghi lại tốt thànhtài liệu, và các tính năng được tích hợp nhỏ từngtí một để sớm nắm bắt được các vấn đề trong chukỳ phát triển.

Mộttrong những đặc tính cốt lõi của mô hình phát triểnnguồn mở là các cá nhân hoặc các đội đóng góp cótrách nhiệm cho sự phát triển và duy trì mã nguồn, đượcminh họa trong Hình 1. Các tính năng được đóng góp sẽđược tích hợp vào trong một thân mã nguồn duy nhất từmột hoặc nhiều người duy trì. Những người duy trì nàysẽ giúp đảm bảo cho các mã nguồn mới được đệtrình đáp ứng được toàn bộ tầm nhìn và tập hợpcác tiêu chuẩn được thiết lập cho dự án.

Vòngđời phát triển tính năng, được minh họa trong Hình 2,bắt đầu với một ý tưởng, tính năng hoặc sự cảitiến cho một dự án mới, được đề xuất cho các lậptrình viên khác của dự án. Thảo luận tiếp sau về nhucầu cho tính năng đó, bước tiếp theo là để thiết kếvà triển khai nó.

Khitính năng mới được biên dịch và chạy, nó đặc trưngđược phân tán trong cộng đồng phát triển như mộtphiên bản alpha, thậm chí dù nó có thể chứa các lỗiđược biết hoặc chưa được biết. Mục đích của sựphân phối sớm là để thu thập các ý kiến phản hồivà cho phép những người sử dụng kiểm thử và cung cấpcác đầu vào. Điều này thường được gọi là “pháthành sớm và thường xuyên”. Những người sử dụng cóthể cung cấp các ý kiến phản hồi, các báo cáo lỗi,chúng sẽ được tích hợp vào phát hành tiếp sau của sựphát triển. Chu kỳ này lặp đi lặp lại, cho tới khi cáclập trình viên cảm thấy rằng sự triển khai cài đặtlà đủ ổn định để đệ trình đưa vào trong dự ánchính.

Hình1: Dòng chảy của mã nguồn từ những người đóng góptới phiên bản dòng chính tới thị trường

Hình2: Vòng đời của tính năng trong mô hình phát triển nguồnmở

Tácgiả của mã nguồn sau đó đệ trình mã nguồn cho mộtngười duy trì dự án qua danh sách thư của dự án. Ngườiduy trì xác định liệu mã nguồn có nên được chấpnhận vào trong cây phát triển, hay trả lại để rà soátlại. Một số dự án có thể có nhiều lớp những ngườiduy trì, phụ thuộc vào sự phức tạp của mã nguồn vàkích cỡ của dự án.

Khimã nguồn được tất cả những người duy trì phù hợpký, thì sau đó nó được đưa vào trong cây nguồn chínhcủa dự án để xuất bản trong phát hành tiếp sau.

Kỳsau chúng ta sẽ làm quen kỹ hơn với vòng đời tính năngcủa nguồn mở.

TrầnLê

Bàiđược đăng trên tạp chí Tin học và Đời sống sốtháng 03/2012, trang 68-69.

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập47
  • Hôm nay9,468
  • Tháng hiện tại322,887
  • Tổng lượt truy cập18,118,652
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây