Cuối
nă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ực
tiễ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:
- 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ượt
giớ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ần
mềm Việt Nam nắm được những hiểu biết, cách thức
cơ bản và các bước chiến thuật cụ thể để chuyển
từ 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ách
thành công từ những gì đã được Quỹ Linux đúc kết
trong 3 tài liệu trên.
QUI
TRÌ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ác
biệt với mô hình phát triển sở hữu độc quyền theo
truyền thống.
Mô
hình phát triển phần mềm được nhiều tổ chức thực
hiệ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 khi
phát hành một phiên bản của dự án. Mô hình phát triển
nguồn mở có tiếp cận khác, ưu tiên cho qui trình phát
triển dễ thay đổi hơn được đặc trưng bằng sự gia
tăng trong các đội lập trình phát triển về sự cộng
tác, tích hợp và kiểm thử liên tục, và sự liên can
lớ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ụng
nhiều hơn bên trong các tổ chức phát triển truyền thống
như một phương tiện sản xuất phần mềm chất lượng
cao hơn, thậm chí bên trong các công ty không phát triển
sản phẩm nguồn mở. Điều này thường là do những hiệu
quả gia tăng mà mô hình phát triển nguồn mở đem lại
cho các đội lớn, phân tán, làm việc trong các dự án
phần mềm chủ chốt.
Chúng
ta 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ầu
tính năng, đệ trình mã nguồn và quyết định về kiến
trú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ại
ngang hàng, trạng thái tâm lý “phát hành sớm và thường
xuyê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ủa
nó cho việc quản lý qui trình phát triển. Mô tả mô hình
phá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ụng
cho 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át
triể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, trong
một cấu trúc lỏng lẻo là đàn hồi đối với những
người mới tới và những người ra đi. Các cộng đồng
nguồ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ột
cách không đồng bộ, giao tiếp được ghi lại tốt thành
tài liệu, và các tính năng được tích hợp nhỏ từng
tí một để sớm nắm bắt được các vấn đề trong chu
kỳ phát triển.
Một
trong những đặc tính cốt lõi của mô hình phát triển
nguồ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, được
minh 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ày
sẽ 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ợp
cá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ải
tiến cho một dự án mới, được đề xuất cho các lập
trình viên khác của dự án. Thảo luận tiếp sau về nhu
cầu cho tính năng đó, bước tiếp theo là để thiết kế
và triển khai nó.
Khi
tí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ột
phiê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ồi
và cho phép những người sử dụng kiểm thử và cung cấp
các đầu vào. Điều này thường được gọi là “phát
hà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ác
lập trình viên cảm thấy rằng sự triển khai cài đặt
là đủ ổn định để đệ trình đưa vào trong dự án
chính.
Hình
1: Dòng chảy của mã nguồn từ những người đóng góp
tới phiên bản dòng chính tới thị trường
Hình
2: Vòng đời của tính năng trong mô hình phát triển nguồn
mở
Tác
giả của mã nguồn sau đó đệ trình mã nguồn cho một
người duy trì dự án qua danh sách thư của dự án. Người
duy trì xác định liệu mã nguồn có nên được chấp
nhận vào trong cây phát triển, hay trả lại để rà soát
lại. Một số dự án có thể có nhiều lớp những người
duy trì, phụ thuộc vào sự phức tạp của mã nguồn và
kích cỡ của dự án.
Khi
mã nguồn được tất cả những người duy trì phù hợp
ký, thì sau đó nó được đưa vào trong cây nguồn chính
củ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ăng
của nguồn mở.
Trần
Lê
Bài
được đăng trên tạp chí Tin học và Đời sống số
tháng 03/2012, trang 68-69.
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.