Foss dev-models-strategy-th10-2012

310 views

Published on

Mô hình và chiến lược phát triển của phần mềm tự do nguồn mở

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
310
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Foss dev-models-strategy-th10-2012

  1. 1. Mô hình phát triển và chiến lượcphát triển phần mềm tự do nguồn mở UBND tỉnh Bắc Giang 17-18/10/2012 NGƯỜI TRÌNH BÀY: LÊ TRUNG NGHĨA VĂN PHÒNG PHỐI HỢP PHÁT TRIỂN MÔI TRƯỜNG KHOA HỌC & CÔNG NGHỆ, BỘ KHOA HỌC & CÔNG NGHỆ Email: letrungnghia.foss@gmail.com Blogs: http://vn.myblog.yahoo.com/ltnghia http://vnfoss.blogspot.com/ Trang web CLB PMTDNM Việt Nam: http://vfossa.vn/vi/ HanoiLUG wiki: http://wiki.hanoilug.org/ Đăng ký tham gia HanoiLUG: http://lists.hanoilug.org/mailman/listinfo/hanoilug/
  2. 2. Nội dungA. Mô hình phát triển của PMTDNMB. Ngược lên dòng trên để tăng cường cho sự phát triểnC. Chiến lược phát triển PMTDNM
  3. 3. A. Mô hình phát triển PMTDNM (1) ▲ Dòng chảy của mã nguồnLưu ý: Mô hình phát triển PMTDNM là theo kiểu cái chợ, không theo kiểunhà thờ như thường thấy ở PMSHĐQ.Đặc tính cốt lõi: 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 như hình trên. Các tính năng được đóng gópsẽ được tích hợp vào trong một thân mã nguồn duy nhất từ một hoặc nhiềungười duy trì, những người đảm bảo 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.
  4. 4. A. Mô hình phát triển PMTDNM (2) Vòng đời các tính năng ▲ Dòng chảy của mã nguồn ▲Cộng đồng những người sử dụng và cộng đồng các lập trình viên cùng thamgia vào tiến trình phát triển PMTDNM: (1) Quy trình yêu cầu tính năng; (2)Thảo luận về kiến trúc và thiết kế; (3) Cộng tác trong triển khai; (4) Đệ trìnhmã nguồn; (5) Kiểm thử và tích hợp liên tục; (6) Phát hành mã nguồn.
  5. 5. A. Mô hình phát triển PMTDNM (3) ▲ Dòng chảy đặc trưng của mã nguồn từ cá nhân đóng góp tới phiên bản dòng chính.Các đặc tính của mô hình phát triển:1. Chu kỳ phát triển đan xen giữa nhánh cây phát triển và nhánh cây ổn định2. Phát hành sớm và thường xuyên: (a) Nhân Linux: 70 ngày; (b) Một số pháttán như Ubuntu và Fedora: 6 tháng.3. Rà soát ngang hàng trên phạm vi toàn cầu.
  6. 6. B. Ngược lên dòng trên để tăng cường (1) ◄ Quy trình điển hình để xác định việc ngược lên dòng trên (NLDT) đối với mã nguồn nội bộ.Lưu ý: Không phải cứ muốn đóng góp mã nguồn NLDT thế nào cũngđược, mà phải tuân thủ những qui định về giấy phép, về tiêu chuẩn anninh và về qui trình đệ trình mã nguồn của dự án dòng chính thống.
  7. 7. B. Ngược lên dòng trên để tăng cường (2) ◄ Qui trình phát triển có NLDT để giảm sự tùy biến phát triển trong nội bộ đơn vị, làm cho vòng đời phát triển ngắn hơn và thời gian đưa ra thị trường nhanh hơn.Những lợi ích của NLDT: (1) Ít mã nguồn hơn phải duy trì trong nội bộ; (2)Nhiều người đóng góp hơn cho dự án của đơn vị; (3) Chất lượng mã nguồntăng qua sự rà soát lại ngang hàng; (4) Tác động được tới đường lối của dựán; (5) Giảm chi phí để đạt được sự tuân thủ; (6) Giảm rủi ro trong chuỗi cungứng của đơn vị; (7) Tăng cường sức mạnh cho dự án dòng chính thống.
  8. 8. B. Ngược lên dòng trên để tăng cường (3) ◄ Qui trình phát triển rẽ nhánh, không NLDT làm tăng sự tùy biến phát triển trong nội bộ đơn vị, làm cho vòng đời phát triển dài hơn và thời gian đưa ra thị trường chậm hơn.Những thực tiễn tốt nhất của NLDT: (1) Nên thiết kế và triển khai mã nguồnvới NLDT trong đầu; (2) Đảm bảo sự đóng góp là có ích cho những ngườikhác; (3) Hãy luôn tham gia theo sự phát triển có NLDT; (4) Cung cấp tài liệuđi cùng mã nguồn; (5) NLDT với lý do đúng, chứ không phải bỏ mã nguồn; (6)Lắng nghe ý kiến phản hồi và hành động dựa vào đó; (7) Tuân theo cách lậptrình phù hợp của dự án; (8) Tuân thủ các qui trình được thiết lập của dự án.
  9. 9. C. Chiến lược phát triển PMTDNM (1)Mục đích:1. Giảm chi phí phát triển (PT) & vẫn giữ được người trong qui trình PT2. Người sử dụng (NSD) có thể đóng góp, chứ không chỉ nhận thụ động3. Cho phép đơn vị nghĩ khác về cách mua sắm, thi hành, kiểm thử, triển khaivà duy trì phần mềm.4. Khi tích hợp PMTDNM vào các sản phẩm của đơn vị, có 3 dạng chiến lượccho đơn vị: (1) Người tiêu dùng (NTD); (2) Người đóng góp (NĐG); (3) Ngườilãnh đạo (NLĐ).Các chiến lược cốt lõi:1. NTD: Phổ biến nhất, không cần biết ai duy trì mã nguồn, đôi khi họ đónggóp bằng báo cáo lỗi, những cải tiến nhỏ trong phạm vi nhỏ.2. NĐG: Đóng góp dựa vào mô hình của NTD, tùy biến có chọn lọc các dự ánchiến lược cần cho NĐG, cải thiện khả năng phân phối sản phẩm có chấtlượng với chi phí phát triển thấp.3. NLĐ: dựa vào mô hình của NĐG, nơi đơn vị giữ vai trò NLĐ dự án. Thườngthì NĐG mạnh mẽ trong cộng đồng đứng ra nhận lấy vai trò của NLĐ dự án.Quan trọng: Chiến lược được thiết lập tùy vào nhu cầu, tài nguyên và mongmuốn đặc thù của đơn vị. Có thể ở dạng pha trộn 3 chiến lược trên cùng 1 lúc.
  10. 10. C. Chiến lược phát triển PMTDNM (2) 1. Chiến lược NTD:● Giao tiếp chiến lược cho việc sử dụng PMNM.● Giáo dục các nhân viên về các bổn phận của giấy phép và sự tuân thủ nguồn mở, và mô hình phát triển nguồn mở.● Thiết lập các tiêu chí rõ ràng xác định PMNM nào là ứng viên để sử dụng● Thiết lập một chương trình tuân thủ nguồn mở.● Khuyến khích các lập trình viên áp dụng các công cụ phát triển nguồn mở.● Khuyến khích các nhân viên đăng ký vào các công cụ giao tiếp cộng đồng.● Khuyến khích và cấp tiền cho các nhân viên tham dự các hội nghị PMNM.● Tham gia vào các cơ quan và tổ chức công nghiệp nguồn mở quốc tế.● Thuê các lập trình viên từ các cộng đồng nguồn mở.● Tổ chức các nhóm người sử dụng nguồn mở địa phương và khuyến khích các nhân viên tham gia trong các hoạt động nguồn mở của địa phương.● Hợp tác với các thành viên của cộng đồng cả trong và ngoài nước.
  11. 11. C. Chiến lược phát triển PMTDNM (3) 2. Chiến lược NĐG:● Giáo dục nhân viên về những thực tiễn tốt nhất của phát triển cộng đồng.● Tích cực tham gia và dẫn dắt những thảo luận kỹ thuật trong danh sách thư, IRC, các diễn đàn thảo luận.● Tuân thủ phương pháp và qui trình làm việc được thiết lập của cộng đồng.● Đệ trình báo cáo lỗi và đóng góp các bản sửa lỗi đối với các lỗi hiện có.● Đóng góp mã nguồn để cải thiện hoặc mở rộng chức năng.● Đóng góp mã nguồn để thi hành những tính năng mới.● Đóng góp cho các nỗ lực làm tài liệu.● Đóng góp cho những nỗ lực kiểm thử và tích hợp (viết các mã nguồn kiểm thử, tạo các trường hợp kiểm thử).● Lắng nghe những ý kiến phản hồi về những đóng góp của bạn, và hành động theo chúng.● Thiết lập lòng tin với người duy trì dự án và những người tham gia các dự án khác qua những đóng góp và sự tham gia tích cực của bạn.
  12. 12. C. Chiến lược phát triển PMTDNM (4) 3. Chiến lược NLĐ:● Tham gia tích cực và mở ở tất cả các khía cạnh dự án: việc lên kế hoạch, phát triển, kiểm thử và quản lý phát hành, thể hiện khả năng quản lý tốt.● Đạt được một mức độ cao về sự tham gia và những đóng góp: (a) Cam kết với những người tham gia các dự án khác nhau; (b) Đóng góp giải quyết các lỗi, bổ sung & mở rộng các tính năng trong các dự án nguồn mở đang tồn tại có sử dụng những thực tiễn tốt nhất được phác thảo ở trên; (c) Có thiện ý đóng góp (khi phù hợp) mã nguồn sở hữu độc quyền từ sự phát triển nội bộ cho các dự án nguồn mở, theo một giấy phép nguồn mở phù hợp, có khả năng sử dụng được và hữu dụng cho cộng đồng;● Thừa nhận công khai công ty đã đạt được những lợi ích hữu hình qua làm việc với các cộng đồng nguồn mở khi phát triển các phần mềm sống còn.● Trao quyền cho các nhân viên tìm kiếm địa vị người duy trì trong dự án.● Đỡ đầu các sự kiện, hỗ trợ tài chính cho hạ tầng dự án, và cân nhắc thuê các lập trình viên nguồn mở được thừa nhận từ bên trong dự án.● Gia tăng sự tham gia trong các tổ chức và các quỹ nguồn mở phù hợp.● Dẫn dắt các sáng kiến thu nạp yêu cầu và kiến trúc trong các cộng đồng và các nhóm công ty để đạt được các mục tiêu thương mại.● Thiết lập một vai trò kiến trúc sư nguồn mở để chủ động dẫn dắt sử dụng những đóng góp cho PMNM.
  13. 13. Tài liệu tham khảo1. Hiểu biết về mô hình phát triển nguồn mở. Quỹ Linux, 11/2011.2. Ngược lên dòng trên. Quỹ Linux, 01/2012.3. Thiết lập chiến lược phần mềm nguồn mở. Quỹ Linux, 11/2011.4. Phát triển nhân Linux. Quỹ Linux, 01/2012.
  14. 14. Cảm ơn!Hỏi đáp

×