SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Mô hình phát triển và chiến lược
phá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/
Nội dung
A. Mô hình phát triển của PMTDNM

B. Ngược lên dòng trên để tăng cường cho sự phát triển

C. Chiến lược phát triển PMTDNM
A. Mô hình phát triển PMTDNM (1)




                                 ▲ Dòng chảy của mã nguồn

Lưu ý: Mô hình phát triển PMTDNM là theo kiểu cái chợ, không theo kiểu
nhà 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ó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 đả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.
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 tham
gia 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ình
mã nguồn; (5) Kiểm thử và tích hợp liên tục; (6) Phát hành mã nguồn.
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 định
2. Phát hành sớm và thường xuyên: (a) Nhân Linux: 70 ngày; (b) Một số phát
tán như Ubuntu và Fedora: 6 tháng.
3. Rà soát ngang hàng trên phạm vi toàn cầu.
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 an
ninh và về qui trình đệ trình mã nguồn của dự án dòng chính thống.
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ồn
tă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.
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ồn
với NLDT trong đầu; (2) Đảm bảo sự đóng góp là có ích cho những người
khá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ập
trì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.
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 PT
2. Người sử dụng (NSD) có thể đóng góp, chứ không chỉ nhận thụ động
3. Cho phép đơn vị nghĩ khác về cách mua sắm, thi hành, kiểm thử, triển khai
và 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ược
cho đơn vị: (1) Người tiêu dùng (NTD); (2) Người đóng góp (NĐG); (3) Người
lã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ọ đóng
gó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ự án
chiế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ất
lượ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ường
thì 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à mong
muố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.
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.
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.
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.
Tài liệu tham khảo
1. 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.
Cảm ơn!

Hỏi đáp

Contenu connexe

En vedette

Info sec foss-migration-may-2014-haproinfo
Info sec foss-migration-may-2014-haproinfoInfo sec foss-migration-may-2014-haproinfo
Info sec foss-migration-may-2014-haproinfonghia le trung
 
Buiding foss-community-oct-2014
Buiding foss-community-oct-2014Buiding foss-community-oct-2014
Buiding foss-community-oct-2014nghia le trung
 
šAuklių ir šatraminių kaimų
šAuklių ir šatraminių kaimųšAuklių ir šatraminių kaimų
šAuklių ir šatraminių kaimųJūratė Žiobienė
 
Lifelong Learning Programme - EACEA - Key Activity 2 - Info Day
Lifelong Learning Programme - EACEA - Key Activity 2 - Info DayLifelong Learning Programme - EACEA - Key Activity 2 - Info Day
Lifelong Learning Programme - EACEA - Key Activity 2 - Info DayREFLESS Project
 
Presentación prueba
Presentación pruebaPresentación prueba
Presentación pruebaquiher
 
REFLESS project partners - University of Kragujevac
REFLESS project partners - University of KragujevacREFLESS project partners - University of Kragujevac
REFLESS project partners - University of KragujevacREFLESS Project
 
Open road presentation-18062014
Open road presentation-18062014Open road presentation-18062014
Open road presentation-18062014nghia le trung
 
Our target audience
Our target audienceOur target audience
Our target audienceT014703
 
Refless da te ceo svet razume
Refless da te ceo svet razumeRefless da te ceo svet razume
Refless da te ceo svet razumeREFLESS Project
 
REFLESS Project - Languages at Soton - stages and structures
REFLESS Project - Languages at Soton - stages and structuresREFLESS Project - Languages at Soton - stages and structures
REFLESS Project - Languages at Soton - stages and structuresREFLESS Project
 
REFLESS project partners: Chamber of Commerce Nis
REFLESS project partners: Chamber of Commerce NisREFLESS project partners: Chamber of Commerce Nis
REFLESS project partners: Chamber of Commerce NisREFLESS Project
 

En vedette (18)

Info sec foss-migration-may-2014-haproinfo
Info sec foss-migration-may-2014-haproinfoInfo sec foss-migration-may-2014-haproinfo
Info sec foss-migration-may-2014-haproinfo
 
Info sec oct-2014
Info sec oct-2014Info sec oct-2014
Info sec oct-2014
 
Buiding foss-community-oct-2014
Buiding foss-community-oct-2014Buiding foss-community-oct-2014
Buiding foss-community-oct-2014
 
šAuklių ir šatraminių kaimų
šAuklių ir šatraminių kaimųšAuklių ir šatraminių kaimų
šAuklių ir šatraminių kaimų
 
Lifelong Learning Programme - EACEA - Key Activity 2 - Info Day
Lifelong Learning Programme - EACEA - Key Activity 2 - Info DayLifelong Learning Programme - EACEA - Key Activity 2 - Info Day
Lifelong Learning Programme - EACEA - Key Activity 2 - Info Day
 
Presentación prueba
Presentación pruebaPresentación prueba
Presentación prueba
 
REFLESS project partners - University of Kragujevac
REFLESS project partners - University of KragujevacREFLESS project partners - University of Kragujevac
REFLESS project partners - University of Kragujevac
 
Open road presentation-18062014
Open road presentation-18062014Open road presentation-18062014
Open road presentation-18062014
 
Oer basics-mar.2016
Oer basics-mar.2016Oer basics-mar.2016
Oer basics-mar.2016
 
Our target audience
Our target audienceOur target audience
Our target audience
 
Refless da te ceo svet razume
Refless da te ceo svet razumeRefless da te ceo svet razume
Refless da te ceo svet razume
 
REFLESS Project - Languages at Soton - stages and structures
REFLESS Project - Languages at Soton - stages and structuresREFLESS Project - Languages at Soton - stages and structures
REFLESS Project - Languages at Soton - stages and structures
 
MCIT srpski
MCIT srpskiMCIT srpski
MCIT srpski
 
Oer basics
Oer basicsOer basics
Oer basics
 
Di
DiDi
Di
 
REFLESS project partners: Chamber of Commerce Nis
REFLESS project partners: Chamber of Commerce NisREFLESS project partners: Chamber of Commerce Nis
REFLESS project partners: Chamber of Commerce Nis
 
Grammarunit5
Grammarunit5Grammarunit5
Grammarunit5
 
Tags met to be
Tags met to beTags met to be
Tags met to be
 

Similaire à Foss dev-models-strategy-th10-2012

Foss for-public-administration-th102012
Foss for-public-administration-th102012Foss for-public-administration-th102012
Foss for-public-administration-th102012nghia le trung
 
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...Working in Japan
 
PP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfPP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfHngVit831022
 
Foss proj-implement-sep-2016
Foss proj-implement-sep-2016Foss proj-implement-sep-2016
Foss proj-implement-sep-2016nghia le trung
 
CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM
CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM
CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM nataliej4
 
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...Vu Hung Nguyen
 
Phan Tich Httt Bang Uml
Phan Tich Httt Bang UmlPhan Tich Httt Bang Uml
Phan Tich Httt Bang Umlhbgfd
 
phan tich thiet ke he thong
phan tich thiet ke he thongphan tich thiet ke he thong
phan tich thiet ke he thongvantinhkhuc
 
Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)Minh Tri Lam
 
Ngược lên dòng trên
Ngược lên dòng trênNgược lên dòng trên
Ngược lên dòng trênTruong Tuan
 
Giao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tinGiao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tinNguyen Patrick
 
Foss dev-sustainability-model
Foss dev-sustainability-modelFoss dev-sustainability-model
Foss dev-sustainability-modelnghia le trung
 
Quy trình hoạt động dịch vụ khách hàng
Quy trình hoạt động dịch vụ khách hàng Quy trình hoạt động dịch vụ khách hàng
Quy trình hoạt động dịch vụ khách hàng Clarence Phua
 
DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO”
DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO” DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO”
DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO” nataliej4
 
tài liệu mẫu giáo mầm non
tài liệu mẫu giáo mầm nontài liệu mẫu giáo mầm non
tài liệu mẫu giáo mầm nongoitoilasuri
 
Dong gop trong foss
Dong gop trong fossDong gop trong foss
Dong gop trong fossTien Nguyen
 

Similaire à Foss dev-models-strategy-th10-2012 (20)

Foss security-present
Foss security-presentFoss security-present
Foss security-present
 
Foss for-public-administration-th102012
Foss for-public-administration-th102012Foss for-public-administration-th102012
Foss for-public-administration-th102012
 
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
 
PP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfPP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdf
 
Foss proj-implement-sep-2016
Foss proj-implement-sep-2016Foss proj-implement-sep-2016
Foss proj-implement-sep-2016
 
Nhom_14_tuan12.pptx
Nhom_14_tuan12.pptxNhom_14_tuan12.pptx
Nhom_14_tuan12.pptx
 
CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM
CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM
CƠ CẤU CỦA TIẾN TRÌNH QUẢN LÝ DỰ ÁN PHẦN MỀM
 
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
 
Phan Tich Httt Bang Uml
Phan Tich Httt Bang UmlPhan Tich Httt Bang Uml
Phan Tich Httt Bang Uml
 
phan tich thiet ke he thong
phan tich thiet ke he thongphan tich thiet ke he thong
phan tich thiet ke he thong
 
Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)
 
Ngược lên dòng trên
Ngược lên dòng trênNgược lên dòng trên
Ngược lên dòng trên
 
Giao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tinGiao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tin
 
Ứng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo Agile
Ứng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo AgileỨng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo Agile
Ứng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo Agile
 
Foss dev-sustainability-model
Foss dev-sustainability-modelFoss dev-sustainability-model
Foss dev-sustainability-model
 
Quy trình hoạt động dịch vụ khách hàng
Quy trình hoạt động dịch vụ khách hàng Quy trình hoạt động dịch vụ khách hàng
Quy trình hoạt động dịch vụ khách hàng
 
Bài giảng lập và quản lý dự án đầu tư
Bài giảng lập và quản lý dự án đầu tưBài giảng lập và quản lý dự án đầu tư
Bài giảng lập và quản lý dự án đầu tư
 
DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO”
DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO” DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO”
DỰ ÁN “NÂNG CAO NĂNG LỰC CÁC TỔ CHỨC PHI LỢI NHUẬN VIỆT NAM-VNPO”
 
tài liệu mẫu giáo mầm non
tài liệu mẫu giáo mầm nontài liệu mẫu giáo mầm non
tài liệu mẫu giáo mầm non
 
Dong gop trong foss
Dong gop trong fossDong gop trong foss
Dong gop trong foss
 

Foss dev-models-strategy-th10-2012

  • 1. Mô hình phát triển và chiến lược phá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. Nội dung A. Mô hình phát triển của PMTDNM B. Ngược lên dòng trên để tăng cường cho sự phát triển C. Chiến lược phát triển PMTDNM
  • 3. A. Mô hình phát triển PMTDNM (1) ▲ Dòng chảy của mã nguồn Lưu ý: Mô hình phát triển PMTDNM là theo kiểu cái chợ, không theo kiểu nhà 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ó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 đả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. 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 tham gia 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ình mã nguồn; (5) Kiểm thử và tích hợp liên tục; (6) Phát hành mã nguồn.
  • 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 định 2. Phát hành sớm và thường xuyên: (a) Nhân Linux: 70 ngày; (b) Một số phát tá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. 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 an ninh và về qui trình đệ trình mã nguồn của dự án dòng chính thống.
  • 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ồn tă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. 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ồn với NLDT trong đầu; (2) Đảm bảo sự đóng góp là có ích cho những người khá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ập trì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. 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 PT 2. Người sử dụng (NSD) có thể đóng góp, chứ không chỉ nhận thụ động 3. Cho phép đơn vị nghĩ khác về cách mua sắm, thi hành, kiểm thử, triển khai và 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ược cho đơn vị: (1) Người tiêu dùng (NTD); (2) Người đóng góp (NĐG); (3) Người lã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ọ đóng gó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ự án chiế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ất lượ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ường thì 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à mong muố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. 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. 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. 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. Tài liệu tham khảo 1. 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.