otd lessons-learned-and-best-practices-for-military-software-vi

77
Phát triển Công nghệ Mở Những bài học học được và những thực tiễn tốt nhất cho các phần mềm quân sự Được Trợ lý Bộ trưởng Quốc phòng (Các mạng Tích hợp Thông tin) NII/DoD, Giám đốc Thông tin (CIO) và Thứ trưởng Bộ Quốc phòng về Mua sắm, Công nghệ và Hậu cần (AT&L) bảo trợ D ch sang ti ng Vi t ế : Lê Trung Nghĩa; [email protected] D ch xong : 31/05/2011 B n ti ng Anh ế : http://www.oss-institute.org/OTD2011/OTD-lessons-learned-military-FinalV1.pdf Open Technology Development (OTD) Lessons Learned And Best Practices For Military Software Sponsored by the Assistant Secretary of Defence (Networks Information Integration) NII/DoD Chief Information Officer (CIO) and the Under Secretary of Defence for Aquisition, Technology and Logistics (AT&L)

Upload: hung-nguyen-vu

Post on 24-Dec-2014

521 views

Category:

Documents


9 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Otd lessons-learned-and-best-practices-for-military-software-vi

Phát triển Công nghệ Mở

Những bài học học được và những thực tiễn tốt nhất cho

các phần mềm quân sự

Được Trợ lý Bộ trưởng Quốc phòng (Các mạng Tích hợp Thông tin)

NII/DoD, Giám đốc Thông tin (CIO) và Thứ trưởng Bộ Quốc phòng

về Mua sắm, Công nghệ và Hậu cần (AT&L) bảo trợ

D ch sang ti ng Vi tị ế ệ : Lê Trung Nghĩa; [email protected]

D ch xongị : 31/05/2011

B n ti ng Anhả ế : http://www.oss-institute.org/OTD2011/OTD-lessons-learned-military-FinalV1.pdf

Open Technology Development (OTD)

Lessons Learned And Best Practices For

Military Software

Sponsored by the Assistant Secretary of Defence (Networks Information Integration)

NII/DoD Chief Information Officer (CIO)

and the Under Secretary of Defence for Aquisition, Technology and Logistics (AT&L)

Page 2: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Phát tri n Công ngh M (OTD):ể ệ ở

Các bài h c h c đ c và các th c ti n t t nh t cho các ph n m m quân sọ ọ ượ ự ễ ố ấ ầ ề ự16/05/2011

Đ c Tr lý B tr ng Qu c phòng (Các m ng Tích h p Thông tin) NII/DoD, Giám đ c Thôngượ ợ ộ ưở ố ạ ợ ố tin (CIO) và Th tr ng B Qu c phòng v Mua s m, Công ngh và H u c n (AT&L) b o tr .ứ ưở ộ ố ề ắ ệ ậ ầ ả ợ

Tài li u này đ c tung ra theo gi y phép ệ ượ ấ Creative Commons Attribution ShareAlike 3.0 (CCBY-SA). B n đ c t do đ chia s (đ sao chép, phân ph i và truy n tác ph m) và đ tr n (đ s a tácạ ượ ự ể ẻ ể ố ề ẩ ể ộ ể ử ph m cho phù h p), theo đi u ki n th m quy n đ c trao (b n ph i trao th m quy n tác ph m nàyẩ ợ ề ệ ẩ ề ượ ạ ả ẩ ề ẩ theo cách th c đ c tác gi ho c ng i c p phép ch đ nh (nh ng không theo b t kỳ cách nào màứ ượ ả ặ ườ ấ ỉ ị ư ấ g i ý r ng h ch ng th c cho b n ho c vi c s d ng c a b n đ i v i tác ph m)). Đ có thêm thôngợ ằ ọ ứ ự ạ ặ ệ ử ụ ủ ạ ố ớ ẩ ể tin, hãy xem http://creativecommons.org/licenses/by/3.0/.

Chính ph M có các quy n không h n ch đ i v i tài li u này theo DFARS 252.227-7013.ủ ỹ ề ạ ế ố ớ ệ

Các ph n c a tài li u này ban đ u đ c xu t b n trong Thông tin K thu t Ph n m m (Softwareầ ủ ệ ầ ượ ấ ả ỹ ậ ầ ề Tech News), t p 14, s 1, tháng 01/2011. Xem See https://softwaretechnews.thedacs.com/ đ cóậ ố ể thêm thông tin.

Phiên b n – 1.0ảD ch sang ti ng Vi tị ế ệ : Lê Trung Nghĩa, [email protected]; D ch xongị : 31/05/2011

B n ti ng Anhả ế : http://www.oss-institute.org/OTD2011/OTD-lessons-learned-military-FinalV1.pdf

Open Technology Development (OTD):

Lessons Learned & Best Practices for Military Software

2011-05-16

Sponsored by the Assistant Secretary of Defense (Networks & Information

Integration) (NII) / DoD Chief Information Officer (CIO) and the

Under Secretary of Defense for Acquisition, Technology, and Logistics (AT&L)

This document is released under the Creative Commons Attribution ShareAlike 3.0 (CCBY-SA) License. You are free to share (to copy, distribute and transmit the work) and to remix (to adapt the work), under the condition of attribution (you must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work)). For more information, see http://creativecommons.org/licenses/by/3.0/ .

The U.S. government has unlimited rights to this document per DFARS 252.227-7013.

Portions of this document were originally published in the Software Tech News, Vol.14, No.1, January 2011. See https://softwaretechnews.thedacs.com/ for more information.

Version - 1.0

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 2/77

Page 3: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Thừa nhậnS phát tri n c a tài li u này đã đ c Dan Risacher, Tr lý B tr ng Qu c phòng (Các m ng Tíchự ể ủ ệ ượ ợ ộ ưở ố ạ h p Thông tin) NII/DoD, Giám đ c Thông tin (CIO) và Fritz Schulz, Th tr ng B Qu c phòng vợ ố ứ ưở ộ ố ề Mua s m, Công ngh và H u c n (AT&L), Ban Lãnh đ o Lĩnh v c ho t đ ng Nhanh, Nhóm Nghiênắ ệ ậ ầ ạ ự ạ ộ c u Chéo AT&L và Heather Burke c a Trung tâm các H th ng SPAWAR Đ i Tây d ng (SSCứ ủ ệ ố ạ ươ LANT) b o tr .ả ợ

Tác gi c a tài li u này là John Scott, David A. Wheeler, Mark Lucas, và J.C. Herz.ả ủ ệ

Các tác gi mong mu n c m n các nhóm và cá nhân sau vì s biên so n, cung c p thông tin đ uả ố ả ơ ự ạ ấ ầ vào, tr giúp và ch d n: John Weathersby, Kane McLean, Gunnar Hellekson, Josh Davis, Debợ ỉ ẫ Bryant, Scott Goodwin, nhóm làm vi c MIL-OSS ệ (http://mil-oss.org & http://groups.google.com/group/mil-oss) và nhi u ng i khác.ề ườ

Ng i đ trình: ________________________________________________ườ ệ

Tên: John Scott, Ngày H p đ ngợ ồ

Ch c danh: Sr. K s H th ng & Lãnh đ o các Công ngh M , RadiantBlue Technologies, Inc.ứ ỹ ư ệ ố ạ ệ ở

Ng i phê chu n: ________________________________________________ườ ẩ

Tên: Fritz Schultz, Chính ph M ngàyủ ỹ

Ch c danh: Đi u hành Giám sát, OASD Research & Engineering, Rapid Field Directorateứ ề

Ng i phê chu n: ________________________________________________ườ ẩ

Tên: Dan Risacher, Chính ph M ngày ủ ỹ

Ch c danh: Giám đ c Liên k t, Văn phòng Giám đ c Thông tin (CIO) c a B Qu c phòng, Tíchứ ố ế ố ủ ộ ố h p & các D ch v Doanh nghi pợ ị ụ ệ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 3/77

Page 4: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Mục lụcCh ng 1. Gi i thi uươ ớ ệ ............................................................................................................................6

1.1 Ph n m m là m t tài nguyên có th thay m i đ c c a quân sầ ề ộ ể ớ ượ ủ ự...............................................61.2 Phát tri n Công ngh M (OTD) là gìể ệ ở .......................................................................................91.3 Các ti p c n phát tri n ph n m m dùng ngay đ c OTS (Off-the-shelf), bao g m c OTS c aế ậ ể ầ ề ượ ồ ả ủ Chính ph M (OGOTS) và PMNM.ủ ở ............................................................................................101.4 Nh ng đi u ki n tiên quy t ch ch t đ i v i OTDữ ề ệ ế ủ ố ố ớ ..................................................................11

1.4.1 Các quy n trí tuề ệ..............................................................................................................111.4.2 Tính đ n gi nơ ả ...................................................................................................................13

Ch ng 2. Đi u hành các d án OTDươ ề ự ................................................................................................142.1 Thi t l p m t ch ng trình OTDế ậ ộ ươ .............................................................................................14

2.1.1 B c 1: Xác đ nh các l a ch n s d ng l iướ ị ự ọ ử ụ ạ ......................................................................142.1.2 B c 2: Xác đ nh d án đ thi t l pướ ị ự ể ế ậ .................................................................................152.1.3 B c 3: Ch n và áp d ng m t gi y phép chungướ ọ ụ ộ ấ ..............................................................162.1.4 B c 4: Thi t l p s đi u hànhướ ế ậ ự ề ........................................................................................16

2.1.4.1 Tính có th r nhánhể ẽ .................................................................................................162.1.4.2 Các mô hình đi u hànhề .............................................................................................17

2.1.5 B c 5: Thi t l p s c ng tácướ ế ậ ự ộ ...........................................................................................182.1.6 B c 6: T o ra đ ng l i k thu t c a d ánướ ạ ườ ố ỹ ậ ủ ự ...................................................................182.1.7 B c 7: Công bướ ố..............................................................................................................192.1.8 Ti p t c rà soát l i các b c t 1-7ế ụ ạ ướ ừ ..................................................................................19

2.2 H t ng k thu t cho s c ng tácạ ầ ỹ ậ ự ộ .............................................................................................192.2.1 Các ch c năng m u ch tứ ấ ố ..................................................................................................202.2.2 Truy c p, công khai, bí m t và ki m soát xu t kh uậ ậ ể ấ ẩ ........................................................212.2.3 Hosting.............................................................................................................................22

2.3 Giao ti p truy n thôngế ề .............................................................................................................232.3.1 Hãy là ng i tham giaườ ......................................................................................................232.3.2 Tránh các th o lu t riêng tả ậ ư.............................................................................................242.3.3 S d ng các c ch truy n thông hi u quử ụ ơ ế ề ệ ả......................................................................242.3.4 Th c t rà soát mã ngu n d th yự ế ồ ễ ấ .....................................................................................252.3.5 S khi m nhã là không nên ự ế .............................................................................................252.3.6 Tính t i nh ng ng i đ c h iớ ữ ườ ộ ạ ...........................................................................................252.3.7 Hãy nh n th c đ c v các vai tròậ ứ ượ ề ...................................................................................25

2.4 Qu n lý k thu t/Các tiêu chí k thu tả ỹ ậ ỹ ậ ....................................................................................262.4.1 Các m c tiêuụ .....................................................................................................................262.4.2 S d ng l i và c ng tác trong các thành ph n OTDử ụ ạ ộ ầ .........................................................272.4.3 Không r nhành PMNM ch vì s d ng c a Chính phẽ ỉ ử ụ ủ ủ...................................................272.4.2 Các tiêu chu n mẩ ở............................................................................................................282.4.5 Qu n lý các đóng gópả ......................................................................................................28

2.5 Đ a ra liên t cư ụ ..........................................................................................................................292.5.1 Qu n lý các quy n trí tuả ề ệ.................................................................................................29

Ch ng 3. L p trình OTD: Các chi n thu t, công c và th t cươ ậ ế ậ ụ ủ ụ ........................................................313.1 Kh i t o và/ho c chuy n sang OTDở ạ ặ ể ........................................................................................31

3.1.1 Phân tích các l a ch n thay th (AoA)ự ọ ế ............................................................................323.1.2 Yêu c u thông tin (RFI)ầ ...................................................................................................33

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 4/77

Page 5: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

3.2 Yêu c u đ xu t (RFP)ầ ề ấ .............................................................................................................343.2.1 Tuyên b v các m c đích (SOO) & ý đ nhố ề ụ ị .....................................................................343.2.2 Các quy n trí tuề ệ..............................................................................................................353.2.3 Các đ nh d ng d li u, các tiêu chu n & các giao di nị ạ ữ ệ ẩ ệ ...................................................353.2.4. Các công ngh OTSệ ........................................................................................................363.2.5 Các th c ti n c a OTDự ễ ủ .....................................................................................................363.2.6 Các phân ph iố ...................................................................................................................37

3.3 L a ch n ngu n: Đánh giá các đ xu tự ọ ồ ề ấ ....................................................................................373.3.1 Đánh giá cách mà đ xu t t t đáp ng RFPề ấ ố ứ .....................................................................383.3.2 Các tiêu chí ch p nh n/phê chu n đ i v i các phân ph iấ ậ ẩ ố ớ ố ................................................383.3.3 Các c m b y ph i tránhạ ẫ ả ....................................................................................................39

Ch ng 4. Phát tri n & Phân ph i liên t cươ ể ố ụ .........................................................................................404.1 Các chu kỳ phát tri n nhanhể ....................................................................................................404.2 Ki m th , ch ng th c và làm cho tin t ngể ử ứ ự ưở .............................................................................404.3 Chuy n sang các ho t đ ng & duy trìể ạ ộ ......................................................................................414.4 Kh năng tìm ki mả ế ..................................................................................................................414.5 Các bài h c h c đ c.ọ ọ ượ ..............................................................................................................424.6 Danh sách ch n các thành công c a OTDọ ủ ...............................................................................42

Ph l c A: Chính sách và ch d n c a chính ph M v tính mụ ụ ỉ ẫ ủ ủ ỹ ề ở.......................................................44A.1 Các tiêu chu n và các giao di n m (bao g m các đ nh d ng d li u m )ẩ ệ ở ồ ị ạ ữ ệ ở .............................45

A.1.1 Chính ph Mủ ỹ.................................................................................................................46A.1.1.1 Các tiêu chu n đ ng thu n t nguy nẩ ồ ậ ự ệ .....................................................................46A.1.1.2 G n th (Bi u 70)ắ ẻ ể ....................................................................................................48

A.1.2 B Qu c phòngộ ố ...............................................................................................................48A.2 PMNM....................................................................................................................................50

A.2.1 G n nh t t c PMNM là th ng m i và th ng m i dùng đ c ngay (COTS)ầ ư ấ ả ươ ạ ươ ạ ượ ............51A.2.2 PMNM không b c m vì các ki m soát thông tin trong Freeware, Shareware và cácị ấ ể đ m b oả ả ....................................................................................................................................52

A.3 Văn hóa c ng tác/phân tán và các công c h tr tr c tuy nộ ụ ỗ ợ ự ế ..................................................53A.4 Tính lanh l c a công ngh (Các h th ng m và ki n trúc m ) ẹ ủ ệ ệ ố ở ế ở ...........................................54

Ph l c B: Các yêu c u pháp lý cho PMNM đ a ra cho công chúng c a chính ph ho c các nhà th uụ ụ ầ ư ủ ủ ặ ầ............................................................................................................................................................55Ph l c C: Nh ng đi u c b n v PMNMụ ụ ữ ề ơ ả ề .........................................................................................66

C.1 Đ nh nghĩa PMNMị ..................................................................................................................66C.2 Lu t v các quy n trí tuậ ề ề ệ.........................................................................................................68

C.2.1 B n quy n & Gi y phépả ề ấ ..................................................................................................68C.2.2 Các b ng sáng chằ ế...........................................................................................................68C.2.3 Th ng hi uươ ệ .....................................................................................................................69

C.3 Các d ng và các t h p gi y phép c a PMNMạ ổ ợ ấ ủ .......................................................................69Ph l c D: Ch n m t gi y phép PMNM nh th nàoụ ụ ọ ộ ấ ư ế .........................................................................71

D.1 Các tiêu chí c p phép ch ch tấ ủ ố ...............................................................................................71D.2 Qui trình ch n gi y phép đ n gi nọ ấ ơ ả .........................................................................................72

Các tham chi uế ...................................................................................................................................75B ng chú gi iả ả .....................................................................................................................................77

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 5/77

Page 6: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Chương 1. Giới thiệuM c đích c a tài li u này là đ giúp cho cá nhân và các nhà th u c a chính ph M tri n khai phátụ ủ ệ ể ầ ủ ủ ỹ ể tri n công ngh m (OTD) cho các ph n m m bên trong các d án c a chính ph , đ c bi t trongể ệ ở ầ ề ự ủ ủ ặ ệ qu c phòng. ố

OTD là m t ti p c n đ i v i s phát tri n ph n m m/h th ng trong đó nh ng ng i phát tri n trongộ ế ậ ố ớ ự ể ầ ề ệ ố ữ ườ ể các t ch c khác nhau v quân s , liên bang, th ng m i và có kh năng là công chúng có th c ngổ ứ ề ự ươ ạ ả ể ộ tác phát tri n và duy trì ph n m m ho c m t h th ng theo m t cách th c phi t p trung. OTD phể ầ ề ặ ộ ệ ố ộ ứ ậ ụ thu c vào các tiêu chu n và các giao di n m , các ph n m m ngu n m (PMNM) và các thi t kộ ẩ ệ ở ầ ề ồ ở ế ế m , các công c tr c tuy n c ng tác và phân tán, và s lanh l v công ngh . [OTD2006].ở ụ ự ế ộ ự ẹ ề ệ

Vào tháng 04/2006, Th tr ng B Qu c phòng v các H th ng Tiên ti n và các Khái ni mứ ưở ộ ố ề ệ ố ế ệ (AS&C) đã xu t b n L trình Phát tri n Công ngh M [OTD2006]. K ho ch L trình OTD đã t pấ ả ộ ể ệ ở ế ạ ộ ậ trung vào các b c và các khuy n cáo đ tri n khai các th c ti n này bên trong B Qu c phòng.ướ ế ể ể ự ễ ộ ố

Tài li u này đ c chia thành 4 ch ng. Ch ng đ u ng n g n gi i thích ng c nh đ i v i OTD vàệ ượ ươ ươ ầ ắ ọ ả ữ ả ố ớ vì sao nó quan tr ng đ i v i quân đ i M . Ch ng 2 đ a ra nh ng b c c th cho vi c thi t l p,ọ ố ớ ộ ỹ ươ ư ữ ướ ụ ể ệ ế ậ qu n lý và phân ph i các d án OTD bên trong chính ph . Ch ng 3 xác đ nh các th t c ch ngả ố ự ủ ươ ị ủ ụ ươ trình cho OTD, bao g m các phân tích nh ng l a ch n thay th , qui trình Yêu c u Thông tin/Yêuồ ữ ự ọ ế ầ c u Đ xu t (RFI/RFP), đánh giá các đ xu t, ch n ngu n, ngôn ng làm h p đ ng, và các tiêu chíầ ề ấ ề ấ ọ ồ ữ ợ ồ ch p nh n/phê chu n cho vi c phân ph i. Ch ng 4 làm vi c v i qu n lý vòng đ i: s chuy n ti p,ấ ậ ẩ ệ ố ươ ệ ớ ả ờ ự ể ế các ho t đ ng và b o trì, và khuy n khích m t c ng đ ng nh ng ng i phát tri n cho s phát tri nạ ộ ả ế ộ ộ ồ ữ ườ ể ự ể hi n đang di n ra.ệ ễ

1.1 Phần mềm là một tài nguyên có thể thay mới được của quân sự

“N c M không th rút lui ra đ ng sau m t đ ng Maginot c a các t ng l a ho c n uướ ỹ ể ằ ộ ườ ủ ườ ử ặ ế không nó s g p r i ro b xéo qua. Chi n tranh không gian m ng gi ng nh là chi n tranhẽ ặ ủ ị ế ạ ố ư ế dùng m o, trong đó t c đ và s linh ho t là quan tr ng nh t”.ẹ ố ộ ự ạ ọ ấ

― William J. Lynn III. [Lynn2010]

Ph n m m đã tr thành trung tâm đ i v i cách mà m t chi n binh th c hi n các nhi m v . Vì s tinầ ề ở ố ớ ộ ế ự ệ ệ ụ ự c y vào ph n m m s là m t s c m nh, B Qu c phòng (DoD - Department of Defense) ph i tuânậ ầ ề ẽ ộ ứ ạ ộ ố ả theo m t chi n l c tích c c đ qu n lý h s ph n m m c a mình và thúc đ y m t văn hóa n i bộ ế ượ ự ể ả ồ ơ ầ ề ủ ẩ ộ ộ ộ đ i v i các giao di n, module hóa và s d ng l i m [Scott2010]. Đ c bi t, DoD ph i có ph n m mố ớ ệ ử ụ ạ ở ặ ệ ả ầ ề mà d dàng có th áp d ng đ c cho vi c thay đ i các nhu c u nhi m v và có th đ c ti n hóa vàễ ể ụ ượ ệ ổ ầ ệ ụ ể ượ ế đ c phân ph i nhanh chóng chi phí th p đ đáp ng đ c các yêu c u nhi m v m t cách đúngượ ố ở ấ ể ứ ượ ầ ệ ụ ộ lúc. S ti n hóa v công ngh đi sau m t s ti n hóa song song trong các ph ng pháp lu n muaự ế ề ệ ộ ự ế ươ ậ s m và thái đ c a các t p đoàn đ t o đi u ki n cho s m ra, s d ng l i, và s a đ i các ph nắ ộ ủ ậ ể ạ ề ệ ự ở ử ụ ạ ử ổ ầ m m xuyên kh p DoD và Chính ph M .ề ắ ủ ỹ

Ph n m m là k t c u xúc tác cho vi c lên k ho ch, các vũ khí và các h th ng h u c n hi n đ iầ ề ế ấ ệ ế ạ ệ ố ậ ầ ệ ạ ho t đ ng. Nó có th là tài nguyên quân s có kh năng thay m i đ c m t cách vô t n. Các khạ ộ ể ự ả ớ ượ ộ ậ ả năng ti n hóa khi ph n m m m i đ c t o ra m t l n n a ho c xây d ng d a trên ph n m m hi nế ầ ề ớ ượ ạ ộ ầ ữ ặ ự ự ầ ề ệ đang t n t i. T nh ng c m bi n m t đ t t i các v tinh, ph n m m là kh p m i n i; nó là s thồ ạ ừ ữ ả ế ặ ấ ớ ệ ầ ề ở ắ ọ ơ ự ể hi n cu i cùng c a tri th c quân s đ c truy n vào mã ngu n và đ c tri n khai trên chi n đ a.ệ ố ủ ứ ự ượ ề ồ ượ ể ế ị

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 6/77

Page 7: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Chúng ta c n m t cách th c phát tri n b t k ngày tháng, tri n khai và c p nh t các h th ng ph nầ ộ ứ ể ấ ể ể ậ ậ ệ ố ầ m m c ng đ l n mà s đáp ng đ c nh p đ và các yêu c u nhi m v b t k thay đ i th nào c aề ườ ộ ớ ẽ ứ ượ ị ộ ầ ệ ụ ấ ể ổ ế ủ các tác chi n quân s .ế ự

Hãy t ng t ng n u ch nhà s n xu t c a m t rãnh xo n (trong súng) đ c phép làm s ch, s a l i,ưở ượ ế ỉ ả ấ ủ ộ ắ ượ ạ ử ỗ s a đ i ho c nâng c p rãnh xo n đó. ử ổ ặ ấ ắ Quân đ i th ng nh n ra b n thân mình trong tình hu ng nàyộ ườ ậ ả ố v i ng i đóng thu , nhà th u phát tri n ph n m m: ớ ườ ế ầ ể ầ ề m t nhà th u v i m t s đ c quy n v tri th cộ ầ ớ ộ ự ộ ề ề ứ c a m t h th ng ph n m m quân s và ki m soát mã ngu n ph n m m. Đi u này ch h p lý đ i v iủ ộ ệ ố ầ ề ự ể ồ ầ ề ề ỉ ợ ố ớ nhà th u đ c quy n, nh ng t o ra s thi u kh năng và tính không hi u qu đ i v i chính ph , gi mầ ộ ề ư ạ ự ế ả ệ ả ố ớ ủ ả các c h i cho c s công nghi p, h n ch nghiêm tr ng s c nh tranh đ i v i nh ng c p nh t ph nơ ộ ơ ở ệ ạ ế ọ ự ạ ố ớ ữ ậ ậ ầ m m, làm r ng các tài nguyên có th đ c s d ng đ có hi u qu t t h n và lãng phí ti n màề ỗ ể ượ ử ụ ể ệ ả ố ơ ề nh ng ng i đóng thu cung c p.ữ ườ ế ấ

Đ gi i quy t đ c v n đ này, m t ch đ s h u trí tu ph n m m hi n đ i m r ng mà c sể ả ế ượ ấ ề ộ ế ộ ở ữ ệ ầ ề ệ ạ ở ộ ơ ở công nghi p qu c phòng c n ph i xác đ nh đ xúc tác cho s truy c p m t cách r ng rãi đ i v i n nệ ố ầ ả ị ể ự ậ ộ ộ ố ớ ề công nghi p đ b o v tri th c, bao g m c mã ngu n ph n m m, tài li u, các thi t k ph n c ng vàệ ể ả ệ ứ ồ ả ồ ầ ề ệ ế ế ầ ứ các giao di n. K t qu s làm gia tăng s c nh tranh và m t chi phí thu n th p đ i v i s đ i m iệ ế ả ẽ ự ạ ộ ầ ấ ố ớ ự ổ ớ sáng t o. Th i gian trôi đi, quân đ i có th ti n hóa các ki n trúc ph n m m chung và các n n t ngạ ờ ộ ể ế ế ầ ề ề ả c b n r ng l n c a n n công nghi p đ làm gia tăng kh năng thích nghi, tính mau l và, quanơ ả ộ ớ ủ ề ệ ể ả ẹ tr ng nh t, kh năng đáp ng đ c v i nh ng m i đe d a m i, bi n đ ng m t cách nhanh chóng.ọ ấ ả ứ ượ ớ ữ ố ọ ớ ế ộ ộ

Nh ng l i ích chính c a OTD là:ữ ợ ủ

• Tính mau l /Tính m m d o gia tăng: Vì chính ph có s truy c p và các quy n không h nẹ ề ẻ ủ ự ậ ề ạ ch đ i v i mã ngu n đ c phát tri n b ng ti n c a ng i đóng thu , nên mã ngu n có thế ố ớ ồ ượ ể ằ ề ủ ườ ế ồ ể đ c th c hi n m t cách có th nh n bi t đ c và có th truy c p đ c đ i v i nh ng ng iượ ự ệ ộ ể ậ ế ượ ể ậ ượ ố ớ ữ ườ qu n lý, các nhân viên dân s và các nhà th u ch ng trình t ng t nh nhau, làm gia tăngả ự ầ ươ ươ ự ư ti m năng đáp ng đ c nhu c u ho c yêu c u m i đ i v i c s mã ngu n đang t n t i màề ứ ượ ầ ặ ầ ớ ố ớ ơ ở ồ ồ ạ nó cung c p m t ph n l n c a gi i pháp có th đ c nh p vào ho c đ c c i ti n đ đáp ngấ ộ ầ ớ ủ ả ể ượ ậ ặ ượ ả ế ể ứ m t nhi m v m i. Cũng th , các thành ph n đ c chính ph c p ti n đang t n t i tr c đóộ ệ ụ ớ ế ầ ượ ủ ấ ề ồ ạ ướ t các ch ng trình khác nhau có th đ c l p ráp mà không có các chi phí và nh ng sừ ươ ể ượ ắ ữ ự ch m tr không c n thi t g r i cho các quy n s h u trí tu đ xác đ nh cái gì là đ c phépậ ễ ầ ế ỡ ố ề ở ữ ệ ể ị ượ và không đ c phép. Thay vì ph i b t đ u t không có gì đ phát tri n ho c c i ti n m t khượ ả ắ ầ ừ ể ể ặ ả ế ộ ả năng, chính ph có th s d ng l i nh ng gì chính ph đã tr ti n và làm vi c và thi t k tủ ể ử ụ ạ ữ ủ ả ề ệ ế ế ừ m t c s r ng l n các l p trình viên và các nhà th u mà h quen v i mã ngu n và thànhộ ơ ở ộ ớ ậ ầ ọ ớ ồ ph n và có th nhanh chóng l p ráp, tr n và s a đ i các h th ng và các thành ph n đang cóầ ể ắ ộ ử ổ ệ ố ầ s n v i mã ngu n khác đang t n t i.ẵ ớ ồ ồ ạ

• Đ a ra nhanh h n: Vì các l p trình viên ch c n t p trung vào nh ng thay đ i, và s tích h pư ơ ậ ỉ ầ ậ ữ ổ ự ợ c a các kh năng ph n m m hi n đang có thay vì ph i phát tri n l i toàn b các h th ng, hủ ả ầ ề ệ ả ể ạ ộ ệ ố ọ có th gi m đ c đáng k th i gian đ a ra các kh năng m i. Th m chí khi m t moduleể ả ượ ể ờ ư ả ớ ậ ộ ho c thành ph n đ c phát tri n t không có gì đ thay th m t thành ph n đã l i th i, thìặ ầ ượ ể ừ ể ế ộ ầ ỗ ờ nh ng l i ích phát tri n l i nh v y t các giao di n và tiêu chu n m đã đ c ch ng minhữ ợ ể ạ ư ậ ừ ệ ẩ ở ượ ứ trong các h th ng mà mà module đó t ng tác đ c v i chúng. Vi c xúc tác đ sinh ra cácệ ố ươ ượ ớ ệ ể mã ngu n có s h u t ti n c a nh ng ng i đóng thu đã tr , thì th i gian đ phát tri n vàồ ở ữ ừ ề ủ ữ ườ ế ả ờ ể ể tri n khai có th gi m đáng k .ể ể ả ể

• Đ i m i sáng t o gia tăng: V i s truy c p t i mã ngu n đ i v i các kh năng hi n đang t nổ ớ ạ ớ ự ậ ớ ồ ố ớ ả ệ ồ t i, các l p trình viên và các nhà th u có th t p trung vào s đ i m i sáng t o và các yêuạ ậ ầ ể ậ ự ổ ớ ạ c u m i mà chúng còn ch a đáp ng đ c b ng các kh năng c a mã ngu n đang t n t i.ầ ớ ư ứ ượ ằ ả ủ ồ ồ ạ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 7/77

Page 8: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Tính lanh l này là đ c bi t quan tr ng vì m t s thâm h t đ c đ a ra v s l ng các côngẹ ặ ệ ọ ộ ự ụ ượ ư ề ố ượ dân M v i các h c v v khoa h c máy tính và k thu t có th s là rõ ràng đ làm vi cỹ ớ ọ ị ề ọ ỹ ậ ể ẽ ể ệ trong các d án quân s trong các th p niên ti p theo [Vi n Hàn lâm Khoa h c Qu c giaự ự ậ ế ệ ọ ố 2008]. Khi m t t l l n h n các h c v k thu t ph n m m đ c các qu c gia n c ngoàiộ ỷ ệ ớ ơ ọ ị ỹ ậ ầ ề ượ ố ướ n m gi , và các ch ng trình c a M là h p d n b i s đ i m i sáng t o và công vi c cóắ ữ ươ ủ ỹ ấ ẫ ở ự ổ ớ ạ ệ sinh l i trong khu v c t nhân, thì quân đ i s đ i m t v i s thi u h t dài h n các k sợ ự ư ộ ẽ ố ặ ớ ự ế ụ ạ ỹ ư ph n m m đ làm vi c trong các h th ng đ c ch ng c a quân đ i. B Qu c phòng vì thầ ề ể ệ ệ ố ặ ủ ủ ộ ộ ố ế ph i t p trung vào thách th c dài h n đ i v i vi c thu th p các m c đ i m i sáng t o caoả ậ ứ ạ ố ớ ệ ậ ứ ổ ớ ạ h n ngoài kho tài năng và k năng con ng i b h n ch h n. S là quan tr ng đ thúc đ yơ ỹ ườ ị ạ ế ơ ẽ ọ ể ẩ s đ u t c a con ng i b ng vi c đ các k s t p trung vào 10% mã ngu n c i thi n m tự ầ ư ủ ườ ằ ệ ể ỹ ư ậ ồ ả ệ ộ cách tích c c m t h th ng mà cũng không c n ph i đòi h i ph i t o l i 90% kh năng đã cóự ộ ệ ố ầ ả ỏ ả ạ ạ ả s n r i.ẵ ồ

• Gi m thi u r i ro: vi c t o ra các kh năng m i t không có gì là r i ro h n so v i vi c sả ể ủ ệ ạ ả ớ ừ ủ ơ ớ ệ ử d ng l i các kh năng đang t n t i mà chúng đã đ c ch ng minh và đ c hi u t t r i. B ngụ ạ ả ồ ạ ượ ứ ượ ể ố ồ ằ vi c s d ng l i các kh năng d ng mã ngu n, các giao di n và các h th ng do chính phệ ử ụ ạ ả ở ạ ồ ệ ệ ố ủ s h u, các l p trình viên có th b ra nhi u th i gian và tài nguyên h n trong các ph n r iở ữ ậ ể ỏ ề ờ ơ ầ ủ ro nh t c a tri n khai.ấ ủ ể

• B o hi m và an ninh thông tin: M t trong nh ng giá tr l n nh t c a phát tri n ngu n m làả ể ộ ữ ị ớ ấ ủ ể ồ ở vi c xúc tác cho s truy c p c a c ng đ ng r ng l n h n t i ngu n ph n m m. Theo cáchệ ự ậ ủ ộ ồ ộ ớ ơ ớ ồ ầ ề này các l i s c n và vì th th y d dàng h n. S truy c p r ng rãi h n t i mã ngu n ph nỗ ẽ ạ ế ấ ễ ơ ự ậ ộ ơ ớ ồ ầ m m cũng là chìa khóa cho vi c hình thành và duy trì m t dáng v an ninh ph n m m tề ệ ộ ẻ ầ ề ừ vi c có kh năng rà soát l i mã ngu n ph n m m cho t i vi c xem nh ng gì th c s hi nệ ả ạ ồ ầ ề ớ ệ ữ ự ự ệ di n bên trong ph n m m đó.ệ ầ ề

• Chi phí th p h n: Chi phí đ u tiên s gi m đ c có l i cho OTD là ti n thu tô t s đ cấ ơ ầ ẽ ả ượ ợ ề ừ ự ộ quy n mà chính ph tr cho các nhà th u đ h đã xây d ng m t b c t ng có tính lo i trề ủ ả ầ ể ọ ự ộ ứ ườ ạ ừ xung quanh các kh năng mà h đ c tr ti n t chính Chính ph đ phát tri n. H có th đãả ọ ượ ả ề ừ ủ ể ể ọ ể phát tri n mã ngu n m t cách n i b (nghiên c u và phát tri n n i b – IRAD – Internalể ồ ộ ộ ộ ứ ể ộ ộ Research And Development) mà nó là có giá tr , nh ng trong m t h th ng OTD mà mãị ư ộ ệ ố ngu n đã đ c module hóa sao cho chính ph có th th c hi n đ c m t quy t đ nh h p lýồ ượ ủ ể ự ệ ượ ộ ế ị ợ v vi c li u h có mu n c p phép l i cho mã ngu n đ i v i m t d án m i hay tr ti n đề ệ ệ ọ ố ấ ạ ồ ố ớ ộ ự ớ ả ề ể phát tri n m t s thay th . Toàn b giá tr đ u t c a chính ph đã không b làm r ng b iể ộ ự ế ộ ị ầ ư ủ ủ ị ỗ ở vi c tr n l n IRAD vào m t h th ng do chính ph đã đ u t nh m t ph ng ti n đ m b oệ ộ ẫ ộ ệ ố ủ ầ ư ư ộ ươ ệ ả ả cho s khóa trói vào m t nhà cung c p c th . V i các quy n và s truy c p không h n chự ộ ấ ụ ể ớ ề ự ậ ạ ế t i mã ngu n do chính ph c p ti n, chính ph có th v ra trong m t kho r ng l n h nớ ồ ủ ấ ề ủ ể ẽ ộ ộ ớ ơ nh ng đ xu t c nh tranh đ i v i nh ng c p nh t ph n m m và các kh năng m i mà chúngữ ề ấ ạ ố ớ ữ ậ ậ ầ ề ả ớ thúc đ y các h th ng hi n hành. S h n ch thu tô t s đ c quy n, k t h p v i s c nhẩ ệ ố ệ ự ạ ế ừ ự ộ ề ế ợ ớ ự ạ tranh l n h n, s làm gi m chi phí và c i thi n ch t l ng c a k t qu phân ph i, vì b t kỳớ ơ ẽ ả ả ệ ấ ượ ủ ế ả ố ấ nhà th u nào làm vi c trong m t h th ng đ u bi t h có th b thay th b ng m t đ i thầ ệ ộ ệ ố ề ế ọ ể ị ế ằ ộ ố ủ c nh tranh có s truy c p đ y đ t i mã ngu n và tài li u.ạ ự ậ ầ ủ ớ ồ ệ

Nh B tr ng Qu c phòng Robert Gates đã nói “Gi ng d u phun [ti n] đã và đang t t và s tr ngư ộ ưở ố ế ầ ề ắ ẽ ở ạ thái t t trong m t giai đo n th i gian”. DoD c n m t h sinh thái phát tri n ph n m m có hi u quắ ộ ạ ờ ầ ộ ệ ể ầ ề ệ ả h n – đ i m i sáng t o v i chi phí th p h n. OTD v t ép s lãng phí tài chính ra kh i s cân b ngơ ổ ớ ạ ớ ấ ơ ắ ự ỏ ự ằ b ng vi c gi m s khóa trói và gia tăng s c nh tranh.ằ ệ ả ự ự ạ

B ng vi c tri n khai OTD, DoD có th giúp làm cho mã ngu n ph n m m thành m t tài nguyên cóằ ệ ể ể ồ ầ ề ộ th thay m i đ c c a quân s m t cách vô h n.ể ớ ượ ủ ự ộ ạ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 8/77

Page 9: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

1.2 Phát triển Công nghệ Mở (OTD) là gì

“Trong m t th gi i th c v i các tài nguyên và k năng h n ch , các cá nhân và nhóm hìnhộ ế ớ ự ớ ỹ ạ ế thành, tan rã và c i biên tình th c ng tác ho c c nh tranh c a h trong m t cu c v t l nả ế ộ ặ ạ ủ ọ ộ ộ ậ ộ liên t c đ lo i b ho c v t qua đ c nh ng tr ng i c a môi tr ng xã h i và v t lý.ụ ể ạ ỏ ặ ượ ượ ữ ở ạ ủ ườ ộ ậ S lanh l v công ngh nên là m t th c đo”.ự ẹ ề ệ ộ ướ

― Col John Boyd (USAF) [Boyd1976]

Nh đ c nêu trên, OTD là m t ti p c n đ i v i s phát tri n ph n m m/h th ng trong đó nh ngư ượ ở ộ ế ậ ố ớ ự ể ầ ề ệ ố ữ l p trình viên (bên ngoài chính ph và quân đ i) phát tri n và duy trì m t cách c ng tác ph n m mậ ủ ộ ể ộ ộ ầ ề ho c h th ng theo m t cách th c phi t p trung. OTD ph thu c vào các tiêu chu n và giao di nặ ệ ố ộ ứ ậ ụ ộ ẩ ệ m , ph n m m ngu n m và các thi t k m , các công c tr c tuy n c ng tác và phân tán, và sở ầ ề ồ ở ế ế ở ụ ự ế ộ ự lanh l v công ngh . [OTD2006]ẹ ề ệ

Nh ng th c ti n này đ c ch ng minh và đ c s d ng trong th gi i th ng m i. Các tiêu chu nữ ự ễ ượ ứ ượ ử ụ ế ớ ươ ạ ẩ và các giao di n m cho phép các h th ng và các d ch v ti n hóa trong m t th tr ng bi n đ ng.ệ ở ệ ố ị ụ ế ộ ị ườ ế ộ Vi c s d ng, c i ti n, và phát tri n ph n m m ngu n m (PMNM) làm gi m t i m c t i thi u thi tệ ử ụ ả ế ể ầ ề ồ ở ả ớ ứ ố ể ế k k thu t ph n m m d th a và xúc tác cho s phát tri n lanh l c a các h th nế ỹ ậ ầ ề ư ừ ự ể ẹ ủ ệ ố g. Các công cụ tr c tuy n c ng tác và phân tán bây gi đ c s d ng m t cách r ng rãi trong phát tri n ph n m m.ự ế ộ ờ ượ ử ụ ộ ộ ể ầ ề Khu v c t nhân cũng th ng đ u tranh đ tránh b khóa trói vào m t nhà cung c p ho c công nghự ư ườ ấ ể ị ộ ấ ặ ệ duy nh t và thay vào đó c g ng gi các l a ch n công ngh c a mình là m (nghĩa là, b ng vi cấ ố ắ ữ ự ọ ệ ủ ở ằ ệ g n vào các tiêu chu n m ). Các nghiên c u tr c đây đã ghi thành tài li u r ng PMNM hi n đ cắ ẩ ở ứ ướ ệ ằ ệ ượ s d ng trong nhi u ng d ng s ng còn c a DoD và bây gi là m t ph n không th tách r i đ cử ụ ề ứ ụ ố ủ ờ ộ ầ ể ờ ượ c a h t ng quân s [MITRE2003] [OTD2006].ủ ạ ầ ự

Các ph ng pháp lu n c a OTD d a vào kh năng c a m t c ng đ ng ph n m m có quan tâm truyươ ậ ủ ự ả ủ ộ ộ ồ ầ ề c p vào mã ngu n ph n m m ho c các giao di n ng d ng xuyên kh p doanh nghi p. S truy c pậ ồ ầ ề ặ ệ ứ ụ ắ ệ ự ậ t i mã ngu n, các tài li u thi t k và t i các nhà l p trình khác và nh ng ng i s d ng đ u cu iớ ồ ệ ế ế ớ ậ ữ ườ ử ụ ầ ố xúc tác cho s phát tri n phi t p trung các kh năng mà chúng thúc đ y cho các tài s n ph n m mự ể ậ ả ẩ ả ầ ề hi n đang t n t i. Các ph ng pháp lu n OTD đã và đang đ c s d ng trong phát tri n ngu n m ,ệ ồ ạ ươ ậ ượ ử ụ ể ồ ở các ki n trúc c a các tiêu chu n m , và th h g n đây nh t các công ngh c ng tác d a trên web.ế ủ ẩ ở ế ệ ầ ấ ệ ộ ự Mô hình phát tri n PMNM là thành công vì các c ng đ ng l i ích tham gia vào là c nh ng l pể ộ ồ ợ ả ữ ậ trình viên và nh ng ng i s d ng.ữ ườ ử ụ

OTD đ a vào nh ng sáng ki n ngu n m nh ng không b h n ch đ i v i s phát tri n và các chư ữ ế ồ ở ư ị ạ ế ố ớ ự ể ế đ c p phép c a PMNM, mà chúng làm cho s phân ph i l i mã ngu n có hi u l c. Đi u quanộ ấ ủ ự ố ạ ồ ệ ự ề tr ng, trong ng c nh c a báo cáo này và t o ra nh ng th o lu n v chính sách, đ phân bi t gi aọ ữ ả ủ ạ ữ ả ậ ề ể ệ ữ PMNM và OTD, khi mà OTD có th đ a vào mã ngu n mà s phân ph i c a nó có th b h n chể ư ồ ự ố ủ ể ị ạ ế đ i v i DoD, và qu th c ch có th truy c p đ c trong các m ng bí m t. S thúc đ y OTD bênố ớ ả ự ỉ ể ậ ượ ạ ậ ự ẩ trong DoD không vi ph m tình tr ng pháp lý c a ph n m m đ c phát tri n b ng ti n c a khu v cạ ạ ủ ầ ề ượ ể ằ ề ủ ự t nhân b i các nhà cung c p th ng m i.ư ở ấ ươ ạ

Nói chung, đi u quan tr ng ph i đ n gi n hóa s d ng, s a đ i, và phân ph i. N u mà l y m t đ iề ọ ả ơ ả ử ụ ử ổ ố ế ấ ộ ộ các lu t s đ xác đ nh li u có các quy n phù h p đ s a đ i hay không cho m t ch ng trình, thì sậ ư ể ị ệ ề ợ ể ử ổ ộ ươ ẽ không làm đ c.ượ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 9/77

Page 10: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

1.3 Các tiếp cận phát triển phần mềm dùng ngay được OTS (Off-the-shelf), bao gồm cả OTS của Chính phủ Mở (OGOTS) và PMNM.

M t chi n l c OTD cho phép các t ch c phát tri n và duy trì ph n m m theo m t cách th c c ngộ ế ượ ổ ứ ể ầ ề ộ ứ ộ tác. Đ t i đa hóa s c ng tác, ph n m m nên đ c phát tri n đ s d ng các thành ph n OTS vàể ố ự ộ ầ ề ượ ể ể ử ụ ầ b n thân nó tr thành OTS m t m c đ th c ti n t i đa.ả ở ở ộ ứ ộ ự ễ ố

Ph n m m OTS đ n gi n là ph n m m mà nó đ c làm s n r i và s n sàng đ s d ng. S h p lýầ ề ơ ả ầ ề ượ ẵ ồ ẵ ể ử ụ ự ợ cho vi c phát tri n ph n m m OTS là đ t o ra ph n m m mà nó có th đ c s d ng cho nhi uệ ể ầ ề ể ạ ầ ề ể ượ ử ụ ề m c đích, thay vì s d ng ph n m m đ c xây d ng tùy bi n cho m t m c đích và s d ng đ nụ ử ụ ầ ề ượ ự ế ộ ụ ử ụ ơ nh t. Ph n m m OTS có ti m năng ti t ki m đ c th i gian, ti t ki m ti n, làm gia tăng ch t l ng,ấ ầ ề ề ế ệ ượ ờ ế ệ ề ấ ượ và làm gia tăng s đ i m i sáng t o thông qua vi c g p các tài nguyên. Th m chí khi m t h th ngự ổ ớ ạ ệ ộ ậ ộ ệ ố c a khách hàng là c n thi t, thì vi c xây d ng nó t nhi u thành ph n OTS s có nhi u u đi m.ủ ầ ế ệ ự ừ ề ầ ẽ ề ư ể

Có nhi u cách th c khác nhau mà ph n m m OTS có th đ c duy trì. M t s OTS có th đ c giề ứ ầ ề ể ượ ộ ố ể ượ ữ và đ c duy trì bên trong chính ph M (nghĩa là, vì nó là bí m t ho c đ c ki m soát xu t kh u);ượ ủ ỹ ậ ặ ượ ể ấ ẩ nh nh ng ph n m m OTS đ c chính ph ch đ nh (GOTS). Các đi u kho n OTS mà là các đi uư ữ ầ ề ượ ủ ỉ ị ề ả ề kho n th ng m i (nh , đ đ c bán, đ c c p phép, ho c đ c đ a ra công khai đ s d ng khôngả ươ ạ ư ể ượ ượ ấ ặ ượ ư ể ử ụ trong chính ph ) là các OTS th ng m i. L u ý là theo lu t và qui đ nh, ph n m m đ c c p phépủ ươ ạ ư ậ ị ầ ề ượ ấ cho công chúng và đ c s d ng cho ít nh t m t m c đích không ph i c a chính ph là ph n m mượ ử ụ ấ ộ ụ ả ủ ủ ầ ề th ng m i, th m chí n u nó đ c chính ph duy trì. Hình 1 miêu t các d ng ti p c n duy trì OTSươ ạ ậ ế ượ ủ ả ạ ế ậ khác nhau này.

Hình 1. Các chi n l c duy trì OTSế ượ

Có 2 d ng ph n m m OTS th ng m i: PMNM và ph n m m s h u đ c quy n. Trong c 2 tr ngạ ầ ề ươ ạ ầ ề ở ữ ộ ề ả ườ h p chúng đ u có th đ c m t ng i duy trì duy nh t ho c m t c ng đ ng duy trì. Trong s duy trìợ ề ể ượ ộ ườ ấ ặ ộ ộ ồ ự c a c ng đ ng s th ng có m t t ch c duy nh t xác đ nh li u các đ xu t có nên đ c ch p nh nủ ộ ồ ẽ ườ ộ ổ ứ ấ ị ệ ề ấ ượ ấ ậ hay không, nh ng m u ch t đây là công vi c này có xu h ng đ c phân trong s nh ng ng i cóư ấ ố ở ệ ướ ượ ố ữ ườ

nh h ng. ả ưở

Ngày nay, nh ng n i có ph n m m GOTS, thì nó có xu h ng s đ c m t ng i duy trì duy nh tở ữ ơ ầ ề ướ ẽ ượ ộ ườ ấ phát tri n và duy trì. Đi u này có xu th làm gi m tính có th áp d ng đ c c a GOTS. Nhi uể ề ế ả ể ụ ượ ủ ề ch ng trình c a chính ph có th s d ng m t cách ti m tàng m t thành ph n GOTS n u nh ngươ ủ ủ ể ử ụ ộ ề ộ ầ ế ữ thay đ i ch c ch n nào đó đã đ c th c hi n, nh ng không th th c hi n đ c nh ng thay đ i đ iổ ắ ắ ượ ự ệ ư ể ự ệ ượ ữ ổ ố v i thành ph n GOTS này m t cách tr c ti p, và th m chí n u chúng đã đ c th c hi n, thì sớ ầ ộ ự ế ậ ế ượ ự ệ ẽ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 10/77

Page 11: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

không có c u trúc nào v i nó cho nh ng thay đ i có th đ c tr n ng c tr l i vào s n ph mấ ớ ữ ổ ể ượ ộ ượ ở ạ ả ẩ GOTS chính đ t t c cùng s d ng. Ng c l i, h u h t các d án PMNM đ c c ng đ ng duy trì,ể ấ ả ử ụ ượ ạ ầ ế ự ượ ộ ồ n i mà các t ch c khác nhau làm vi c m t cách tích c c cùng nhau đ phát tri n ph n m m h u íchơ ổ ứ ệ ộ ự ể ể ầ ề ữ cho t t c h . D án PMNM m t ng i duy nh t duy trì có t n t i, nh ng chúng là ít ph bi n h n.ấ ả ọ ự ộ ườ ấ ồ ạ ư ổ ế ơ

M t d án GOTS m (OGOTS) là m t d án GOTS s d ng các ti p c n phát tri n c ng tác c aộ ự ở ộ ự ử ụ ế ậ ể ộ ủ nhi u t ch c đ phát tri n và duy trì ph n m m, theo cách t ng t đ i v i PMNM. M t d án nhề ổ ứ ể ể ầ ề ươ ự ố ớ ộ ự ư v y bên trong DoD đôi lúc b gi i h n nh là “ph n m m ngu n c ng đ ng DoD” ho c “PMNMậ ị ớ ạ ư ầ ề ồ ộ ồ ặ c a Chính ph ” (GOSS). M t m c tiêu c a tài li u này là đ làm gia tăng s l ng các d án GOTSủ ủ ộ ụ ủ ệ ể ố ượ ự mà chúng là các d án OGOTS. M t d án có th tr thành OGOTS thay vì PMNM vì các nhà lãnhự ộ ự ể ở đ o c a nó mu n s đ i m i sáng t o, t c đ phát tri n, và chi phí th p có th t i t s đ ng phátạ ủ ố ự ổ ớ ạ ố ộ ể ấ ể ớ ừ ự ồ tri n c a nhi u bên tham gia: ể ủ ề

1. Chính ph thi u các quy n v trí tu đ làm cho nó m h n (nh , chính ph có th có cácủ ế ề ề ệ ể ở ơ ư ủ ể quy n theo m c đích c a chính ph GPR (ề ụ ủ ủ government-purpose rights) và không có các quy n không h n ch ), và/ho c ề ạ ế ặ

2. Chính ph mong mu n duy trì m t u th an ninh qu c gia b ng vi c không làm cho ph nủ ố ộ ư ế ố ằ ệ ầ m m đó s n sàng đ i v i các k đ ch ti m tàng (đ c bi t nh ng ph n m m nh v y s là bíề ẵ ố ớ ẻ ị ề ặ ệ ữ ầ ề ư ậ ẽ m t và/ho c xu t kh u b ki m soát).ậ ặ ấ ẩ ị ể

B sung thêm, các d án GOTS nên xác đ nh khi nào chúng nên tr thành COTS (nh , khi các dổ ự ị ở ư ự án PMNM do c ng đ ng h tr ). Đ c bi t, các d án GOTS nên xem xét nghiêm túc vi c chuy nộ ồ ỗ ợ ặ ệ ự ệ ể sang duy trì nh PMNM sau khi m t h th ng đã đ c tri n khai. Có m t lo t nh ng lý do vì saoư ộ ệ ố ượ ể ộ ạ ữ chính ph nên gi các ph n m m ch c ch n nào đó trong n i b , nh , vì s s h u duy nh t đ i v iủ ữ ầ ề ắ ắ ộ ộ ư ự ở ữ ấ ố ớ ph n m m trao cho chính ph M m t u th khác bi t đ i v i các k đ ch c a mình. Tuy nhiên, uầ ề ủ ỹ ộ ư ế ệ ố ớ ẻ ị ủ ư th v công ngh th ng là trôi n i. Th ng có m t đi u kho n đ c phát tri n th ng m i s n sàngế ề ệ ườ ổ ườ ộ ề ả ượ ể ươ ạ ẵ cho công chúng mà nó b t đ u đ th c thi các ch c năng t ng t . Khi nó chín mu i, các c quanắ ầ ể ự ứ ươ ự ồ ơ khác b t đ u s d ng gi i pháp không ph i GOTS này, làm cho gi i pháp GOTS có ti m năng trắ ầ ử ụ ả ả ả ề ở thành l i th i. Nh ng tr ng h p nh v y th ng đ t ra nh ng quy t đ nh khó khăn, khi mà chínhỗ ờ ữ ườ ợ ư ậ ườ ặ ữ ế ị ph ph i xác đ nh li u có tr chi phí không đ i x ng r t n ng đ chuy n hay không, hay n u s ti pủ ả ị ệ ả ố ứ ấ ặ ể ể ế ẽ ế t c “nh th ng” v i các h th ng GOTS bây gi đã l i th i c a mình (v i các chi phí hàng nămụ ư ườ ớ ệ ố ờ ỗ ờ ủ ớ cao và nh ng h n ch có th gây r i ro cho cu c s ng và các nhi m v ). Đi u này có nghĩa là có r iữ ạ ế ể ủ ộ ố ệ ụ ề ủ ro đáng k đ i v i chính ph n u chính ph c gi riêng ph n m m GOTS đó bên trong chính phể ố ớ ủ ế ủ ố ữ ầ ề ủ quá lâu.

OTD liên quan t i s phát tri n c a c ng đ ng trong s nh ng ng i s d ng c a chính ph , và vìớ ự ể ủ ộ ồ ố ữ ườ ử ụ ủ ủ th bao g m c PMNM và OGOTS.ế ồ ả

1.4 Những điều kiện tiên quyết chủ chốt đối với OTD

1.4.1 Các quyền trí tuệ

Theo đ nh nghĩa, m t d án OTD đ c xây d ng trong s c ng tác. S c ng tác nh v y ch có thị ộ ự ượ ự ự ộ ự ộ ư ậ ỉ ể khi mà m t khung pháp lý cho phép nó (bao g m các quy n trí tu c n thi t) và khi các c s c aộ ồ ề ệ ầ ế ơ ở ủ khung này có th hi u đ c đ i v i nh ng ng i th ng.ể ể ượ ố ớ ữ ườ ườ

Khái ni m “các quy n trí tu ” có nghĩa là m t t p h p các quy n đ i v i m t tác ph m trí tu đ cệ ề ệ ộ ậ ợ ề ố ớ ộ ẩ ệ ượ gi b i hàng lo t các cá nhân thông qua các lu t, qui đ nh, gi y phép, h p đ ng, ... phù h p. Cácữ ở ạ ậ ị ấ ợ ồ ợ lu t phù h p bao g m b n quy n, b ng sáng ch , và lu t v th ng hi u. Lu t b n quy n là đ c bi tậ ợ ồ ả ề ằ ế ậ ề ươ ệ ậ ả ề ặ ệ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 11/77

Page 12: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

quan tr ng; nh ng ng i gi b n quy n tác ph m, ho c có các quy n ch ch t mà m t ng i giọ ữ ườ ữ ả ề ẩ ặ ề ủ ố ộ ườ ữ các quy n có, có th đ t ra các đi u ki n khi nào thì tác ph m đó có th đ c s d ng, đ c s a đ i,ề ể ặ ề ệ ẩ ể ượ ử ụ ượ ử ổ ho c đ c phân ph i l i. Vì nh ng m c đích c a tài li u này, t t c các lu t và qui đ nh đ ng ch mặ ượ ố ạ ữ ụ ủ ệ ấ ả ậ ị ụ ạ t i cách mà các tác ph m có th đ c chia s và đ c s d ng s nh h ng t i các quy n trí tu ;ớ ẩ ể ượ ẻ ượ ử ụ ẽ ả ưở ớ ề ệ bao g m c các lu t và các qui đ nh đ i v i s bí m t và ki m soát xu t kh u.ồ ả ậ ị ố ớ ự ậ ể ấ ẩ

V n đ chính trong b t kỳ d án OTD nào là đ th c hi n các quy n trí tu sao cho ph n m m cóấ ề ấ ự ể ự ệ ề ệ ầ ề th đ c s d ng, đ c xem xét, đ c s a đ i, và đ c phân ph i l i trong c ng đ ng. ể ượ ử ụ ượ ượ ử ổ ượ ố ạ ộ ồ

Khi đ c th c hi n đúng, vi c đòi h i các quy n trí tu c n thi t cho m t ti p c n OTD s khôngượ ự ệ ệ ỏ ề ệ ầ ế ộ ế ậ ẽ xung đ t v i chính sách c a DoD. Qui đ nh Mua s m Liên bang (FAR) c a DoD B sung (DFARS)ộ ớ ủ ị ắ ủ ổ 227.7203 có th b hi u l m nh vi c đ u th u m t ti p c n OTD, nh ng khi đ c xem xét k thì nóể ị ể ầ ư ệ ấ ầ ộ ế ậ ư ượ ỹ hoàn toàn không c m OTD. DFARS 227.7203-1(c) (đ c rà soát l i vào ngày 20/01/2011) nói r ngấ ượ ạ ằ “Nh ng ng i chào hàng s không b yêu c u, ho c nh m t đi u ki n có trách nhi m đ i v i s nàiữ ườ ẽ ị ầ ặ ư ộ ề ệ ệ ố ớ ự xin ho c nh m t đi u ki n đ trao th ng, s bán ho c n u khác t b b t kỳ quy n nào cho Chínhặ ư ộ ề ệ ể ưở ẽ ặ ế ừ ỏ ấ ề ph trong ph n m m máy tính đ c phát tri n ch b ng chi phí c a t nhân ngo i tr các ph n m mủ ầ ề ượ ể ỉ ằ ủ ư ạ ừ ầ ề đ c xác đ nh t i 227.7203-5(a)(3) t i (6)”. T ng t , DFARS 227.7203-1(d) nói r ng “Nh ngượ ị ạ ớ ươ ự ằ ữ ng i chào hàng và các nhà th u s không b c m ho c không đ c khuy n khích đ i v i vi c cungườ ầ ẽ ị ấ ặ ượ ế ố ớ ệ c p ho c chào đ cung c p ph n m m máy tính đ c phát tri n ch b ng chi phí c a t nhân ch vìấ ặ ể ấ ầ ề ượ ể ỉ ằ ủ ư ỉ các quy n c a Chính ph đ s d ng, s a đ i, đ a ra, tái s n xu t, th c thi, hi n th , ho c m ph nề ủ ủ ể ử ụ ử ổ ư ả ấ ự ể ị ặ ở ầ m m ra có th b h n ch ”. Tuy nhiên, l u ý r ng nh ng chính sách này ch áp d ng cho ph n m mề ể ị ạ ế ư ằ ữ ỉ ụ ầ ề đ c phát tri n ch b ng chi phí c a t nhân. Chính ph có th yêu c u r ng chính ph nh n cácượ ể ỉ ằ ủ ư ủ ể ầ ằ ủ ậ quy n đ i v i ph n m m mà ng i đóng thu đã tr đ phát tri n (m t ph n ho c toàn ph n), vàề ố ớ ầ ề ườ ế ả ể ể ộ ầ ặ ầ ph n m m nh v y là s t p trung c a tài li u này.ầ ề ư ậ ự ậ ủ ệ

Vi c có đ c các quy n trí tu r ng rãi (cũng nh b n thân các s n ph m trí tu ) h n ch đ c m tệ ượ ề ệ ộ ư ả ả ẩ ệ ạ ế ượ ộ rào c n chính đ i v i s c nh tranh, m t rào c n mà GAO và nh ng c quan khác đã l u ý nhi uả ố ớ ự ạ ộ ả ữ ơ ư ề năm và đang đ c tích c c gi i quy t:ượ ự ả ế

• Báo cáo c a Văn phòng Ki m toán Liên bang GAO (Government Accountability Office)ủ ể GAO-06-839 tháng 07/2006 [GAO 2006] đã nói r ng “S thi u h t các quy n c a d li u kằ ự ế ụ ề ủ ữ ệ ỹ thu t đã h n ch tính m m d o c a các d ch v đ ti n hành các thay đ i đ i v i các kậ ạ ế ề ẻ ủ ị ụ ể ế ổ ố ớ ế ho ch b n v ng có m c đích đ đ t đ c s ti t ki m chi phí và đáp ng đ c nh ng yêuạ ề ữ ụ ể ạ ượ ự ế ệ ứ ượ ữ c u pháp lý v các kh năng duy trì kho ch a... Tr phi DoD đánh giá và đ m b o cácầ ề ả ứ ừ ả ả quy n c a mình đ s d ng các d li u k thu t t s m trong quá trình mua s m các hề ủ ể ử ụ ữ ệ ỹ ậ ừ ớ ắ ệ th ng vũ khí khi DoD có tác d ng đòn b y l n nh t đ th ng th o, thì DoD có th s đ iố ụ ẩ ớ ấ ể ươ ả ể ẽ ố m t sau này v i nh ng thách th c trong vi c làm cho b n v ng các h th ng vũ khí su tặ ớ ữ ứ ệ ề ữ ệ ố ố vòng đ i c a chúng”.ờ ủ

• Báo cáo c a GAO GAO-10-833 tháng 07/2010 [GAO2010] th y r ng đ i v i “các d ch vủ ấ ằ ố ớ ị ụ h tr các h th ng vũ khí c a DoD, thì thi u s truy c p c a chính ph t i các d li u kỗ ợ ệ ố ủ ế ự ậ ủ ủ ớ ữ ệ ỹ thu t s h u đ c quy n và s tin c y lâu nhi u th p k vào các nhà th u c th vì h n ch vậ ở ữ ộ ề ự ậ ề ậ ỷ ầ ụ ể ạ ế ề s tinh thông - ho c th m chí lo i b luôn kh năng - c nh tranh”. Đây là m t v n đự ặ ậ ạ ỏ ả ạ ộ ấ ề nghiêm tr ng, vì s c nh tranh “là m t công c s ng còn đ đ t đ c s hoàn v n đ u t t tọ ự ạ ộ ụ ố ể ạ ượ ự ố ầ ư ố nh t c a chính ph ”. G n 60% trong s 47 h p đ ng phi c nh tranh c a DoD đ c GAOấ ủ ủ ầ ố ợ ồ ạ ủ ượ xem xét, thì b này v c b n đã b m c k t v i m t nhà th u c th vì nó đã thi u các dộ ề ơ ả ị ắ ẹ ớ ộ ầ ụ ể ế ữ li u k thu t đ ng sau các hàng hóa và d ch v mà nó đã t ng mua.ệ ỹ ậ ằ ị ụ ừ

• Ashton B. Carter vào năm 2010 [Carter 2010] đã l u ý các v n đ có liên quan t i s c như ấ ề ớ ự ạ tranh. Đi m đ u tiên c a ông v vi c cung c p nh ng s thúc đ y là đ “Tránh nh ng vể ầ ủ ề ệ ấ ữ ự ẩ ể ữ ụ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 12/77

Page 13: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

mua đ c đ nh h ng và nh ng v t thay th khác vì s c nh tranh th c s . S d ng các góiượ ị ướ ữ ậ ế ự ạ ự ự ử ụ d li u k thu t và các ki n trúc h th ng m đ h tr m t môi tr ng c nh tranh liên t c”.ữ ệ ỹ ậ ế ệ ố ở ể ỗ ợ ộ ườ ạ ụ

• B n ghi c a David M. Van Buren năm 2011 [Buren 2011] là s tri n khai c a Không L cả ủ ự ể ủ ự đ i v i đ ng h ng c a USD (AT&L) cho m t chi n l c c nh tranh dày 1 trang. B n ghiố ớ ườ ướ ủ ộ ế ượ ạ ả c a Không L c này đòi h i r ng m i ch ng trình c a Không L c mô t cách mà nó s “cóủ ự ỏ ằ ọ ươ ủ ự ả ẽ đ c các d li u k thu t, tài li u ph n m m máy tính, và các quy n s h u trí tu có liênượ ữ ệ ỹ ậ ệ ầ ề ề ở ữ ệ quan c n thi t cho vi c v n hành, duy trì, b n v ng lâu dài, nâng c p, và c nh tranh trongầ ế ệ ậ ề ữ ấ ạ t ng lai” và m t t ng k t v phân tích các tr ng h p nghi p v n u nó không có đ cươ ộ ổ ế ề ườ ợ ệ ụ ế ượ chúng.

M t d án OTD đòi h i các quy n trí tu c th nào đó; vi c đòi h i các quy n nh v y là luôn luônộ ự ỏ ề ệ ụ ể ệ ỏ ề ư ậ v i chính sách và đ ng l i c a DoD.ớ ườ ố ủ

1.4.2 Tính đơn giản

S c ng tác b g ng g o b i tính ph c t p không c n thi t. Ph n đ u liên t c đ đ n gi n hóa dự ộ ị ượ ạ ở ứ ạ ầ ế ấ ấ ụ ể ơ ả ự án. Đ c bi t, đ m b o r ng các v n đ v quy n trí tu là đ n gi n và rõ ràng (nh , thông qua cácặ ệ ả ả ằ ấ ề ề ề ệ ơ ả ư gi y phép rõ ràng và ph bi n), mà t li u là d dàng có s n cho t t c nh ng ai có kh năng truyấ ổ ế ư ệ ễ ẵ ấ ả ữ ả c p nó, và r ng nh ng thi t k k thu t là các module rõ ràng.ậ ằ ữ ế ế ỹ ậ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 13/77

Page 14: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Chương 2. Điều hành các dự án OTDCh ng này đ a ra khung c b n cho vi c đi u hành m t d án OTD. Ti u ph n đ u tiên mô tươ ư ơ ả ệ ề ộ ự ể ầ ầ ả cách thi t l p m t ch ng trình OTD m t khi m t đ xu t d án đã đ c ch p thu n. Các ti u ph nế ậ ộ ươ ộ ộ ề ấ ự ượ ấ ậ ể ầ ti p sau th o lu n vi c thi t l p m t h t ng k thu t cho s c ng tác, các v n đ truy n thông, cácế ả ậ ệ ế ậ ộ ạ ầ ỹ ậ ự ộ ấ ề ề tiêu chí qu n lý/k thu t, và s phân ph i liên t c. Trong DoD chúng ph i phù h p theo các quiả ỹ ậ ự ố ụ ả ợ trình mua s m c a DoD; cách mà đi u này có th x y ra đ c th o lu n trong ch ng 3. ắ ủ ề ể ả ượ ả ậ ươ

2.1 Thiết lập một chương trình OTD

M t khi m t đ xu t d án đã đ c ch p nh n, thì m t ch ng trình OTD có th đ c thi t l p có sộ ộ ề ấ ự ượ ấ ậ ộ ươ ể ượ ế ậ ử d ng các b c đ c phác th o bên d i. Nhi u thông tin h n v cách làm đi u này t vi n c nhụ ướ ượ ả ở ướ ề ơ ề ề ừ ễ ả c a m t d án PMNM có th th y trong ch ng 2 c a [Fogel2009].ủ ộ ự ể ấ ươ ủ

2.1.1 Bước 1: Xác định các lựa chọn sử dụng lại

Đ u tiên, tìm ki m các d án PMNM đang t n t i mà chúng có ch c năng phù h p. M t tìm ki mầ ế ự ồ ạ ứ ợ ộ ế web đ n gi n các chu i “open source software” (“ph n m m ngu n m ”) c ng v i m t kh năngơ ả ỗ ầ ề ồ ở ộ ớ ộ ả mong mu n s th ng bi n thành th gì đó g n v i nh ng gì b n c n. Cũng xem xét l i các site cácố ẽ ườ ế ứ ầ ớ ữ ạ ầ ạ kho PMNM nh http://www.sourceforge.net, http://www.freshmeat.net, http://www.github.com,ư http://directory.fsf.org và http://code.google.com. Th m chí n u không có gì s n sàng đ s d ngậ ế ẵ ể ử ụ m t cách tr c ti p, thì có th có nh ng ph n nh mà có th là nh ng ý t ng đ c tích h p ho cộ ự ế ể ữ ầ ỏ ể ữ ưở ượ ợ ặ h u d ng.ữ ụ

Áp d ng ki u c h i ch nghĩa đ i v i PMNM là quan tr ng vì s đ i m i sáng t o v công nghụ ể ơ ộ ủ ố ớ ọ ự ổ ớ ạ ề ệ tr c h t đang x y ra trên Internet không có gì là bí m t, không ph i là trong môi tr ng quân đ i.ướ ế ả ậ ả ườ ộ H u h t các ph n nh đ i v i b t kỳ d án đ a ra nào cũng s n sàng đó, và có vô s các PMNMầ ế ầ ỏ ố ớ ấ ự ư ẵ ở ố có th nhanh chóng đ a ra tr c đ c các nhu c u c a các d án chính ph . S đánh giá, l a ch n,ể ư ướ ượ ầ ủ ự ủ ự ự ọ và tham gia c n th n trong các d án bên ngoài này là cách hi u qu nh t đ ti n hóa các kh năngẩ ậ ự ệ ả ấ ể ế ả qua vòng đ i c a m t ch ng trình c a chính ph . Các ph n m m GOTS đang t n t i có th nhanhờ ủ ộ ươ ủ ủ ầ ề ồ ạ ể chóng tr thành l i th i m t khi có m t d án COTS nhà n c (bao g m c m t d án PMNM) v iở ỗ ờ ộ ộ ự ướ ồ ả ộ ự ớ m c tiêu y nh v y.ụ ư ậ

B n cũng nên xem xét các l a ch n ph n m m GOTS đang t n t i. Không có ch duy nh t nào đạ ự ọ ầ ề ồ ạ ỗ ấ ể tìm các ph n m m nh v y, nh ng s d ng các máy tìm ki m ph bi n có th là đáng giá, cũng nhầ ề ư ậ ư ử ụ ế ổ ế ể ư vi c tìm ki m trong Intellipedia và DTIC.ệ ế

N u b n có ph n m m đã đ c phát tri n tr c đó r i nh m t ph n c a m t h p đ ng c a chínhế ạ ầ ề ượ ể ướ ồ ư ộ ầ ủ ộ ợ ồ ủ ph , thì hãy xác đ nh li u b n có các quy n trí tu đ đ đ a ra ho c chuy n ph n m m đó thànhủ ị ệ ạ ề ệ ủ ể ư ặ ể ầ ề nh m t d án ODT đ c không. Đ i v i s phát tri n và duy trì nh m t d án OTD, thì ph nư ộ ự ượ ố ớ ự ể ư ộ ự ầ m m đó (nh Hình 1.1) c n ph i đ c tung ra nh m t OGOTS ho c u tiên h n nh m t d ánề ư ầ ả ượ ư ộ ặ ư ơ ư ộ ự PMNM công khai đ c c ng đ ng duy trì. Ph l c B làm sáng t s h p pháp c a vi c đ a raượ ộ ồ ụ ụ ỏ ự ợ ủ ệ ư GOTS nh là PMNM, ph thu c vào các nhà ch c trách đ c vi n t i trong h p đ ng ban đ u. ư ụ ộ ứ ượ ệ ớ ợ ồ ầ

Nhi u ch ng trình c a chính ph có công ngh hi n hành mà ban đ u đ c c p v n t chính ph .ề ươ ủ ủ ệ ệ ầ ượ ấ ố ừ ủ N u các quy n trí tu đ i v i các công ngh đó là không phù h p ho c không th xác đ nh đ c, thìế ề ệ ố ớ ệ ợ ặ ể ị ượ chính ph nên xem xét th ng th o v i các nhà tích h p/các nhà cung c p phù h p đ đ a ra mãủ ươ ả ớ ợ ấ ợ ể ư ngu n theo các quy n d li u ít h n ch h n đ i v i m t d án OGOTS ho c PMNM. M t cách dồ ề ữ ệ ạ ế ơ ố ớ ộ ự ặ ộ ễ dàng đ làm đi u này là c p v n m t cách đ n gi n cho quá trình chuy n đ i đ i v i (các) nhà th u.ể ề ấ ố ộ ơ ả ể ổ ố ớ ầ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 14/77

Page 15: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

2.1.2 Bước 2: Xác định dự án để thiết lập

Đ a ra các l a ch n s d ng l i, xác đ nh nh ng d án m i nào là c n thi t và nh ng d án đang t nư ự ọ ử ụ ạ ị ữ ự ớ ầ ế ữ ự ồ t i nào c n ph i đ c chuy n d ch sang OTD. Trong m t s tr ng h p, “d án” m i có th là m tạ ầ ả ượ ể ị ộ ố ườ ợ ự ớ ể ộ d án đ m r ng m t s d án đang t n t i và đ s m r ng đó đ c tích h p vào trong d án banự ể ở ộ ộ ố ự ồ ạ ể ự ở ộ ượ ợ ự đ u. nh ng n i có th , hãy tách d án đó thành vài d án nh h n v i các giao di n rõ ràng.ầ Ở ữ ơ ể ự ự ỏ ơ ớ ệ Nh ng d án nh h n này có th đ c phân chia theo m t lo t các tiêu chí, bao g m có th vi c sữ ự ỏ ơ ể ượ ộ ạ ồ ể ệ ử d ng l i (đ t i đa hóa s l ng nh ng ng i tham gia trong ít nh t m t vài d án) và s c n thi tụ ạ ể ố ố ượ ữ ườ ấ ộ ự ự ầ ế ph i h n ch s truy c p (các module bí m t ho c đ c ki m soát xu t kh u có th c n đ c táchả ạ ế ự ậ ậ ặ ượ ể ấ ẩ ể ầ ượ bi t kh i các thành ph n khác, nghĩa là, b ng vi c t o ra m t “khung” không bí m t trong đó “cácệ ỏ ầ ằ ệ ạ ộ ậ trình cài c m” đ c ki m soát có th đ c đ t ra).ắ ượ ể ể ượ ặ

Đ t tên cho t ng d án sao cho không d b nh m l n v i các d án khác. Nó nên là có th nêu tênặ ừ ự ễ ị ầ ẫ ớ ự ể đ c và d tìm trên m t máy tìm ki m web (lý t ng thì, nó có th ch là k t qu t m t s tìmượ ễ ộ ế ưở ể ỉ ế ả ừ ộ ự ki m; ch c ch n tránh các tên không th tìm đ c nh “the” ho c “why”). ế ắ ắ ể ượ ư ặ

M i d án (bao g m b t kỳ d án hi n đang t n t i nào chuy n đ i sang OTD) c n m t tuyên b vỗ ự ồ ấ ự ệ ồ ạ ể ổ ầ ộ ố ề d đ nh mà nó tham chi u t i tri t lý duy trì ph n m m OTD. Nh đ c khuy n cáo trongự ị ế ớ ế ầ ề ư ượ ế [Fogel2009] “tuyên b nhi m v nên c th , gi i h n, và trên t t c , ng n g n”. Tuyên b nhi m vố ệ ụ ụ ể ớ ạ ấ ả ắ ọ ố ệ ụ nên làm rõ m c tiêu đ s d ng các nguyên t c phát tri n m (nh tránh s khóa trói vào m t nhàụ ể ử ụ ắ ể ở ư ự ộ cung c p duy nh t) và nh ng gì mà các s n ph m k t qu nên làm. Đây là m t ví d v m t ph nấ ấ ữ ả ẩ ế ả ộ ụ ề ộ ầ m m t t, t http://www.openoffice.org: ề ố ừ

Đ t o ra, nh m t c ng đ ng, b ph n m m văn phòng qu c t hàng đ u s ch y trên t tể ạ ư ộ ộ ồ ộ ầ ề ố ế ầ ẽ ạ ấ c các n n t ng và đ a ra s truy c p t i t t c ch c năng và d li u thông qua các giaoả ề ả ư ự ậ ớ ấ ả ứ ữ ệ di n l p trình ng d ng API d a trên các thành ph n m và đ nh d ng t p d a trên XML. ệ ậ ứ ụ ự ầ ở ị ạ ệ ự

Trong m t d án c a DoD, tuyên b v tri t lý duy trì ph n m m có th tham chi u t i DFARSộ ự ủ ố ề ế ầ ề ể ế ớ 227.7203-2 (“Mua s m ph n m m máy tính và tài li u ph n m m máy tính phi th ng m i”), và đ cắ ầ ề ệ ầ ề ươ ạ ặ bi t văn b n t i DFARS 227.7203-2(b)(1) (đ m và g ch chân đ c b sung vào): ệ ả ạ ậ ạ ượ ổ

Nh ng ng i qu n lý d li u ho c các nhân viên c a các yêu c u khác có tránh nhi m xácữ ườ ả ữ ệ ặ ủ ầ ệ đ nh các nhu c u t i thi u c a Chính ph . ị ầ ố ể ủ ủ B sung thêm vào v i s th c thi, tính t ngổ ớ ự ự ươ thích, ho c các xem xét k thu t khác c a ph n m m nh mong đ i, ặ ỹ ậ ủ ầ ề ư ợ c n có nh ng xácầ ữ đ nh nên xem xétị nh ng y u t nh nhi u site ho c các yêu c u s d ng đ c chia s , li uữ ế ố ư ề ặ ầ ử ụ ượ ẻ ệ tri t lý duy trì ph n m m c a Chính ph có đòi h i quy n đ s a đ i ho c các bên th 3ế ầ ề ủ ủ ỏ ề ể ử ổ ặ ứ s a đ i ph n m mử ổ ầ ề hay không, và b t kỳ yêu c u tài li u ph n m m máy tính đ c bi t nào.ấ ầ ệ ầ ề ặ ệ

Hãy xác đ nh, đ i v i t ng d án, li u nó có ph i b h n ch ch có s truy c p c a DoD ho c chínhị ố ớ ừ ự ệ ả ị ạ ế ỉ ự ậ ủ ặ ph nói chung nh m t d án OGOTS hay không. M c đ nh, các d án nên tr thành COTS OSSủ ư ộ ự ặ ị ự ở (COTS PMNM) thay vì OGOTS. Trong m t s tr ng h p (nh , vì tính bí m t ho c ki m soát xu tộ ố ườ ợ ư ậ ặ ể ấ kh u) m t d án ph i b h n ch đ i v i s truy c p mà DoD ho c chính ph M qui đ nh. Các dẩ ộ ự ả ị ạ ế ố ớ ự ậ ặ ủ ỹ ị ự án GOTS th hi n m t r i ro cao h n so v i các d án COTS, vì theo đ nh nghĩa s có ít h n nh ngể ệ ộ ủ ơ ớ ự ị ẽ ơ ữ ng i đóng góp ti m năng (gi m s c nh tranh và gia tăng chi phí m t cách ti m tàng), và các nhàườ ề ả ự ạ ộ ề th u (khác so v i nh ng ng i n m gi b n quy n c a chúng) s không đ c khích l đ i v i vi cầ ớ ữ ườ ắ ữ ả ề ủ ẽ ượ ệ ố ớ ệ s d ng các d án GOTS vì chúng không th s d ng l i nh ng thành ph n ho c tri th c v chúngử ụ ự ể ử ụ ạ ữ ầ ặ ứ ề theo các cách th c khác có th s ng sót đ c m t cách th ng m i. Trong nhi u tr ng h p có khứ ể ố ượ ộ ươ ạ ề ườ ợ ả năng chia d án thành 2 d án, m t là PMNM (nh m t “khung công vi c”) và m t là OGOTS (nhự ự ộ ư ộ ệ ộ ư m t “trình cài c m” vào khung công vi c). Ph ng pháp này đã đ c s d ng thành công trong lĩnhộ ắ ệ ươ ượ ử ụ v c nh và b n đ khi mà Văn phòng Trinh sát Qu c gia đã đ đ u cho s phát tri n c a khungự ả ả ồ ố ỡ ầ ự ể ủ công vi c Hình nh và B n đ Ngu n M OSSIM (Open Source Imagery and Mapping). Khungệ ả ả ồ ồ ở

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 15/77

Page 16: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

công vi c này đ c các l p trình viên khu v c t nhân phân tán và duy trì m t cách r ng rãi, trongệ ượ ậ ự ư ộ ộ khi các trình cài c m bí m t đ c phát tri n trong các m ng an ninh c a DoD và đ c h n ch đ iắ ậ ượ ể ạ ủ ượ ạ ế ố v i các môi tr ng đó.ớ ườ

2.1.3 Bước 3: Chọn và áp dụng một giấy phép chung

M i d án ph i có m t gi y phép rõ ràng và đ n gi n xúc tác cho s c ng tác h p pháp. M t gi yỗ ự ả ộ ấ ơ ả ự ộ ợ ộ ấ phép đ a ra các quy n và trách nhi m c a các l p trình viên và nh ng ng i s d ng ph n m m. ư ề ệ ủ ậ ữ ườ ử ụ ầ ề

N u d án là m t d án PMNM, ph i ch c ch n ch n m t gi y phép đã có t tr c và n i ti ng,ế ự ộ ự ả ắ ắ ọ ộ ấ ừ ướ ổ ế m t gi y phép đã đ c xác th c m t cách r ng rãi nh là PMNM. Nó nên là t ng thích v i GPL,ộ ấ ượ ự ộ ộ ư ươ ớ vì GPL là gi y phép PMNM ph bi n nh t. N u ph n m m đã có tr c đó r i, thì th ng là khônấ ổ ế ấ ế ầ ề ướ ồ ườ ngoan đ đ a vào gi y phép tr c đó c a nó nh m t trong các l a ch n. Xem Ph l c D đ cóể ư ấ ướ ủ ư ộ ự ọ ụ ụ ể thêm thông tin v cách ch n m t gi y phép PMNM. ề ọ ộ ấ

2.1.4 Bước 4: Thiết lập sự điều hành

Các d án s d ng OTD c n ph i đ c đi u hành. Quá trình đi u hành đ i v i m i d án c n ph iự ử ụ ầ ả ượ ề ề ố ớ ỗ ự ầ ả khuy n khích s phát tri n c ng tác, nh ng nó cũng ph i cho phép t ch i các đóng góp nh ngế ự ể ộ ư ả ừ ố ở ữ n i đ c đ m b o. Quá trình đi u hành OTD ph i xúc tác cho nhi u t ch c làm vi c v i nhau đơ ượ ả ả ề ả ề ổ ứ ệ ớ ể c i thi n t ng thành ph n đang tr i qua s phát tri n đ c chia s (bao g m các ph n m m, cácả ệ ừ ầ ả ự ể ượ ẻ ồ ầ ề ki m th , và tài li u c a nó), thay vì phát tri n l i các thành ph n đ c l p riêng r v i ch c năngể ử ệ ủ ể ạ ầ ộ ậ ẽ ớ ứ t ng t . Tr c khi th o lu n v các mô hình đi u hành khác nhau, đi u quan tr ng đ l u ý là ươ ự ướ ả ậ ề ề ề ọ ể ư tính có th r nhánhể ẽ là c n thi t, nh đ c mô t ti p sau.ầ ế ư ượ ả ế

2.1.4.1 Tính có thể rẽ nhánh

M t ộ r nhánhẽ là m t d án c nh tranh đ c thi t l p có s d ng m t b n sao c a m t ph n m mộ ự ạ ượ ế ậ ử ụ ộ ả ủ ộ ầ ề c a d án đang t n t i.ủ ự ồ ạ

Là c n thi t s ng còn r ng m t d án OTD ầ ế ố ằ ộ ự có th r nhánh đ cể ẽ ượ . Đó là, nó ph i có kh năng t o raả ả ạ đ c m t d án c nh tranh có th s ng đ c có s d ng m t b n sao c a mã ngu n ph n m m c aượ ộ ự ạ ể ố ượ ử ụ ộ ả ủ ồ ầ ề ủ d án đang t n t i. Vi c t o ra m t r nhánh là t ng t m t l i g i đ i v i m t s “ự ồ ạ ệ ạ ộ ẽ ươ ự ộ ờ ọ ố ớ ộ ự b phi u b t tínỏ ế ấ nhi mệ ” trong qu c h i. Ng i t o ra r nhánh v c b n yêu c u các l p trình viên và nh ng ng iố ộ ườ ạ ẽ ề ơ ả ầ ậ ữ ườ s d ng d ng h tr d án ban đ u, và thay vào đó h tr d án m i đ c r nhánh (vi c h tr c 2ử ụ ừ ỗ ợ ự ầ ỗ ợ ự ớ ượ ẽ ệ ỗ ợ ả d án th ng là phi th c t qua th i gian). ự ườ ự ế ờ

Các r nhánh cũng có th x y ra vì c ng đ ng đang t n t i không lên k ho ch đ a vào m t ph nẽ ể ả ộ ồ ồ ạ ế ạ ư ộ ầ t p h p các tính năng c a c ng đ ng đ c cho là quan tr ng, các lý do có th là: h tr cho m t hậ ợ ủ ộ ồ ượ ọ ể ỗ ợ ộ ệ đi u hành ho c ph n m m trung gian khác ho c đ a vào m t ngôn ng l p trình m i. B t k là lý doề ặ ầ ề ặ ư ộ ữ ậ ớ ấ ể nào, m i n l c nên đ c th c hi n đ gi cho các d án r nhánh b ng cách nào đó đ c đi u ph iỗ ỗ ự ượ ự ệ ể ữ ự ẽ ằ ượ ề ố m t cách t t nh t có th . ộ ố ấ ể

Tính có th r nhánh đ c là m t ph n c n thi t c a s đi u hành OTD. Ngay khi m t d án rể ẽ ượ ộ ầ ầ ế ủ ự ề ộ ự ẽ nhánh, thì lãnh đ o d án s đ u tranh đ có trách nhi m đ i v i nh ng ng i s d ng và các l pạ ự ẽ ấ ể ệ ố ớ ữ ườ ử ụ ậ trình viên. Đi u này là vì n u các quy t đ nh c a lãnh đ o là đ c bi t xu t s c, thì m t d án rề ế ế ị ủ ạ ặ ệ ấ ắ ộ ự ẽ nhánh có th đ c b t đ u theo s qu n lý có trách nhi m h n. Tính có th r nhánh đ c m t cáchể ượ ắ ầ ự ả ệ ơ ể ẽ ượ ộ d dàng th c s làm gi m r i ro c a m t r nhánh, vì lãnh đ o s b ép ph i nghe theo nh ng ng iễ ự ự ả ủ ủ ộ ẽ ạ ẽ ị ả ữ ườ s d ng và các l p trình viên (vì n u h không nghe, thì m t r nhánh có th s ng đ c s n i lên).ử ụ ậ ế ọ ộ ẽ ể ố ượ ẽ ổ H n n a, tính có th r nhánh đ c m t cách d dàng làm gia tăng s h p lý c a các đóng góp; tínhơ ữ ể ẽ ượ ộ ễ ự ợ ủ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 16/77

Page 17: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

có th r nhánh m t cách d dàng đ a ra s b o v đáng k đ i v i nh ng ng i đóng góp có th , vìể ẽ ộ ễ ư ự ả ệ ể ố ớ ữ ườ ể n u h sau này không đ ng ý v i s đi u hành c a d án, thì h có th t o ra m t r nhánh.ế ọ ồ ớ ự ề ủ ự ọ ể ạ ộ ẽ

Nói nh v y, tránh t o ra các r nhánh b t kỳ đâu có th . H u h t nh ng ý đ nh r nhánh đ u th tư ậ ạ ẽ ở ấ ể ầ ế ữ ị ẽ ề ấ b i, vì tình hu ng ph i là đ c bi t t i t đ i v i nhi u l p trình viên và ng i s d ng đ dò tìm đ iạ ố ả ặ ệ ồ ệ ố ớ ề ậ ườ ử ụ ể ố v i r nhánh m i. Ai đó đ nh t o m t r nhánh và không thi t l p đ c r nhánh đó nh m t d ánớ ẽ ớ ị ạ ộ ẽ ế ậ ượ ẽ ư ộ ự có th s ng đ c thì s th ng k t thúc vi c duy trì d án c a riêng h chi phí kh ng l . Côngể ố ượ ẽ ườ ế ệ ự ủ ọ ở ổ ồ vi c thông th ng trong c 2 d án th ng đ d ng m t kho ng th i gian, khi nh ng th o lu n t pệ ườ ả ự ườ ể ừ ộ ả ờ ữ ả ậ ậ trung vào vi c li u s r nhánh có đ c ch ng minh hay không.ệ ệ ự ẽ ượ ứ

Đ có thêm thông tin v vi c r nhánh, xem [Forgel2009] các ch ng 4 và 8.ể ề ệ ẽ ươ

2.1.4.2 Các mô hình điều hành

Các d án c n m t s quá trình đi u hành. Hai ti p c n chung là: ự ầ ộ ố ề ế ậ

• Ng i đ c tài r ng l ng BD (Benevolent dictator). Trong tr ng h p này, có m t ng iườ ộ ộ ượ ườ ợ ộ ườ ch u trách nhi m v các quy t đ nh cu i cùng. BD có th y quy n các quy t đ nh choị ệ ề ế ị ố ể ủ ề ế ị nh ng ng i khác (trong khi gi l i m t quy n ph quy t), nh ng cu i cùng, m t ng i duyữ ườ ữ ạ ộ ề ủ ế ư ố ộ ườ nh t có trách nhi m. Đi u này đ c bi t ph bi n trong các d án nh h n n i mà m t ng iấ ệ ề ặ ệ ổ ế ự ỏ ơ ơ ộ ườ (th ng là ng i kh i x ng) hi u đ c d án t t nh t, nh ng th m chí nó đ c m t s dườ ườ ở ướ ể ượ ự ố ấ ư ậ ượ ộ ố ự án PMNM l n s d ng (nh nhân Linux). ớ ử ụ ư

• Nhóm ra quy t đ nh. Trong tr ng h p này, m t nhóm ra quy t đ nh cu i cùng. Đi u này cóế ị ườ ợ ộ ế ị ố ề th thông qua m t đa s đ n gi n, ho c thông qua m t s c ch khác. M t s d án choể ộ ố ơ ả ặ ộ ố ơ ế ộ ố ự phép các thành viên c a nhóm cũng đ a ra m t ph quy t. Th ng thì nhóm này không ph iủ ư ộ ủ ế ườ ả là t p h p c a t t c nh ng ng i đóng góp, mà là m t s t p h p con, và nhóm này ph iậ ợ ủ ấ ả ữ ườ ộ ố ậ ợ ả đ ng ý đ i v i vi c đ a thêm vào m t thành viên m i. M t quá trình chung đ ti n hành làồ ố ớ ệ ư ộ ớ ộ ể ế t Qu Ph n m m Apache. Trong h th ng này thì m t “+1” có nghĩa là ch p nh n, m t “-1”ừ ỹ ầ ề ệ ố ộ ấ ậ ộ có nghĩa là ph n đ i, và m c đ nh m t đ xu t có th ch thông qua đ c n u nó nh n đ cả ố ặ ị ộ ề ấ ể ỉ ượ ế ậ ượ t ng s ít nh t +3 mà không có ph quy t nào. Trong m t s tr ng h p Apache cho phépổ ố ấ ủ ế ộ ố ườ ợ “s đ ng thu n l i bi ng” (còn g i là “im l ng t c là đ ng ý”, trong đó m t đ xu t đ cự ồ ậ ườ ế ọ ặ ứ ồ ộ ề ấ ượ ch p thu n tr phi ai đó ph quy t (ph n đ i) trong m t kho ng th i gian. Trong b t kỳ quáấ ậ ừ ủ ế ả ố ộ ả ờ ấ trình nào nh v y s có m t s r i ro r ng các ph quy t s b l m d ng quá m c; tính t iư ậ ẽ ộ ự ủ ằ ủ ế ẽ ị ạ ụ ứ ớ đi u này, Apache yêu c u t t c các ph quy t đ a ra m t s ch ng minh n u không thìề ầ ấ ả ủ ế ư ộ ự ứ ế chúng là không h p l [Apache2010]. Nhi u chuyên gia vi n lý r ng vi c bi u quy t nên làợ ệ ề ệ ằ ệ ể ế m t ph ng sách cu i cùng (nh [Collins2007] và [Fogel2009], và r ng b n nên c g ng cóộ ươ ố ư ằ ạ ố ắ đ c m t s đ ng thu n s b mà không có m t phi u chính th c nào b t kỳ đâu có th .ượ ộ ự ồ ậ ơ ộ ộ ế ứ ở ấ ể

M t v n đ chính là s l ng ng i th c s hi u đ c các chi ti t k thu t c a d án. N u m tộ ấ ề ố ượ ườ ự ự ể ượ ế ỹ ậ ủ ự ế ộ ng i hi u rõ nó t t h n nh ng ng i khác (đi u th ng đúng lúc b t đ u c a d án), thì mô hìnhườ ể ố ơ ữ ườ ề ườ ở ắ ầ ủ ự BD nên đ c khuy n cáo. N u nhi u ng i hi u d án t t nh nhau, mà th ng là tr ng h p đ iượ ế ế ề ườ ể ự ố ư ườ ườ ợ ố v i các d án l n, thì quá trình ra quy t đ nh c a nhóm nên đ c khuy n cáo.ớ ự ớ ế ị ủ ượ ế

B t ch p mô hình đi u hành, (nh ng) ng i ra quy t đ nh ph i tránh th c hi n m t quy t đ nh gi aấ ấ ề ữ ườ ế ị ả ự ệ ộ ế ị ữ các l a ch n thay th quá s m. N u có m t s không đ ng ý, thì có th là m t ti p c n th a hi pự ọ ế ớ ế ộ ự ồ ể ộ ế ậ ỏ ệ ho c l a ch n thay th mà có th là t t h n so v i các l a ch n rõ ngay t c thì. Vì th , nh ng ng iặ ự ọ ế ể ố ơ ớ ự ọ ứ ế ữ ườ ra quy t đ nh nên c g ng đ các bên th y đ c nh ng th a hi p và nh ng l a ch n thay th đó. Tuyế ị ố ắ ể ấ ượ ữ ỏ ệ ữ ự ọ ế nhiên, n u m t s th a hi p h p lý không th tìm ki m đ c và m t quy t đ nh ph i đ c đ a ra,ế ộ ự ỏ ệ ợ ể ế ượ ộ ế ị ả ượ ư thì (nh ng) ng i ra quy t đ nh nên đ a ra quy t đ nh sau khi nghe t t c các bên. Quy t đ nh đóữ ườ ế ị ư ế ị ấ ả ế ị nên đ c công b m t cách rõ ràng, cùng v i s h p lý. (Nh ng) ng i ra quy t đ nh cũng ph i cóượ ố ộ ớ ự ợ ữ ườ ế ị ả

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 17/77

Page 18: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

thi n chí thay đ i m t quy t đ nh khi thông tin m i, các l a ch n m i, ho c m t thay đ i theo hoànệ ổ ộ ế ị ớ ự ọ ớ ặ ộ ổ c nh quan tr ng đ c đ a ra.ả ọ ượ ư

D án nên đ c qu n lý và c u trúc đ luôn ti n hóa và có c h i. Vi c g n vào các tiêu chu n vàự ượ ả ấ ể ế ơ ộ ệ ắ ẩ giao di n m s đ a ra đ c tính m m d o đ i v i ch ng trình đ nhanh chóng thích nghi các gi iệ ở ẽ ư ượ ề ẻ ố ớ ươ ể ả pháp m i khi chúng xu t hi n. ớ ấ ệ

Nh đ c l u ý trong ph n 2.1.4.1, m t đi u ch ch t đ i v i b t kỳ ti p c n đi u hành nào là vi cư ượ ư ầ ộ ề ủ ố ố ớ ấ ế ậ ề ệ d án ph i có kh năng r nhánh. B t kỳ mô hình đi u hành nào cu i cùng cũng có th th t b i n uự ả ả ẽ ấ ề ố ể ấ ạ ế nh ng ng i ra quy t đ nh không có nhu c u tr l i cho nh ng ng i khác. N u d án là có th rữ ườ ế ị ầ ả ờ ữ ườ ế ự ể ẽ nhánh đ c, thì r i lãnh đ o (b t ch p mô hình đi u hành) cu i cùng cũng ph i tôn tr ng nh ng nhuượ ồ ạ ấ ấ ề ố ả ọ ữ c u c a ng i s d ng và các l p trình viên. ầ ủ ườ ử ụ ậ

Nhi u thông tin h n có th th y trong [Fogel2009] ch ng 4 và [Bacon2010] ch ng 8.ề ơ ể ấ ươ ươ

2.1.5 Bước 5: Thiết lập sự cộng tác

Vi c thi t l p s c ng tác không y h t nh vi c t o ra m t chi n l c truy n thông m t chi u. C ngệ ế ậ ự ộ ệ ư ệ ạ ộ ế ượ ề ộ ề ộ tác liên quan t i s trao đ i các ý t ng m t cách d dàng gi a nhi u đ i t ng (bao g m gi i côngớ ự ổ ưở ộ ễ ữ ề ố ượ ồ ớ nghi p, gi i hàn lâm và các văn phòng và phòng thí nghi m c a các c quan chính ph khác) đ s nệ ớ ệ ủ ơ ủ ể ả xu t ra m t k t qu t t h n mà b t kỳ m t trong s các đ i t ng trên có th đ t đ c m t cáchấ ộ ế ả ố ơ ấ ộ ố ố ượ ể ạ ượ ộ riêng r . Ph n 2.2 th o lu n xa h n cách đ thi t l p h t ng k thu t c n thi t đ xúc tác cho sẽ ầ ả ậ ơ ể ế ậ ạ ầ ỹ ậ ầ ế ể ự c ng tác; ph n 2.3 th o lu n khía c nh xã h i c a s giao ti p. ộ ầ ả ậ ạ ộ ủ ự ế

Khi m ra m t d án ngu n đóng có t tr c, s là nh y c m v thái đ đ i v i s thay đ i. Hãyở ộ ự ồ ừ ướ ẽ ạ ả ề ộ ố ớ ự ổ ch c ch n r ng t t c các l p trình viên hi n đang t n t i hi u đ c r ng m t s thay đ i l n đangắ ắ ằ ấ ả ậ ệ ồ ạ ể ượ ằ ộ ự ổ ớ t i. Hãy gi i thích, hãy nói cho h r ng s b t ti n ban đ u là hoàn toàn bình th ng, và cam đoanớ ả ọ ằ ự ấ ệ ầ ườ v i h r ng m i vi c s là t t h n. Hãy tính t i nh ng nh m l n trong nh ng th o lu n riêng gi aớ ọ ằ ọ ệ ẽ ố ơ ớ ữ ầ ẫ ữ ả ậ ữ các l p trình viên lâu năm, và khuy n khích s chuy n đ i c a h sang các nhóm th o lu n c ngậ ế ự ể ổ ủ ọ ả ậ ộ đ ng nh các danh sách th [Fogel2009].ồ ư ư

Vì m t s ng i s v t l n v i tính m c a m t d án OTD, đi u quan tr ng ph i nh n m nh t iộ ố ườ ẽ ậ ộ ớ ở ủ ộ ự ề ọ ả ấ ạ ớ nhu c u v tính m . Hãy đ a ra ch d n nh nh ng ch d n qu n tr hi n hành và b t bu c v tínhầ ề ở ư ỉ ẫ ư ữ ỉ ẫ ả ị ệ ắ ộ ề minh b ch, và trong b n ghi nh năm 2009 c a DoD v PMNM b t bu c r ng ph n m m ph i đ cạ ả ớ ủ ề ắ ộ ằ ầ ề ả ượ đ i x nh các d li u và đ c chia s m t cách phù h p. Trích t b n ghi nh năm 2009:ố ử ư ữ ệ ượ ẻ ộ ợ ừ ả ớ

f. Mã ngu n c a ph n m m và các tài li u thi t k có liên quan là “các d li u” nh theo Chồ ủ ầ ề ệ ế ế ữ ệ ư ỉ th c a DoD s 8320.02 (reference (h)), và vì th s đ c chia s kh p DoD m t cách r ngị ủ ố ế ẽ ượ ẻ ắ ộ ộ rãi nh t có th đ h tr cho các nhu c u nhi m v .ấ ể ể ỗ ợ ầ ệ ụ

Có nh ng cu c th o lu n ph i đ c gi đóng đ i v i công chúng, nh l a ch n ngu n các công tyữ ộ ả ậ ả ượ ữ ố ớ ư ự ọ ồ và các d li u s h u đ c quy n c a các công ty. Nh ng m i d đ nh nên đ c th c hi n đ m raữ ệ ở ữ ộ ề ủ ư ỗ ự ị ượ ự ệ ể ở quá trình phát tri n ph n m m càng nhi u càng t t. Đ đ n gi n hóa s đi u hành, ph ng phápể ầ ề ề ố ể ơ ả ự ề ươ đ c u tiên cũng nên đòi h i các nhà th u và các nhà tích h p ph n m m t ch c các d án c a hượ ư ỏ ầ ợ ầ ề ổ ứ ự ủ ọ sao cho chúng s ti p t c là minh b ch và m cho chính ph cho s ki m tra đ c t xa.ẽ ế ụ ạ ở ủ ự ể ượ ừ

2.1.6 Bước 6: Tạo ra đường lối kỹ thuật của dự án

Đ i v i t ng d án, hãy xác đ nh các v n đ k thu t ch ch t, nh nh ng thành ph n ch ch t nàoố ớ ừ ự ị ấ ề ỹ ậ ủ ố ư ữ ầ ủ ố s đ c s d ng l i, nh ng thành ph n nào mà h th ng ph i t ng tác v i chúng, cách mà nó sẽ ượ ử ụ ạ ữ ầ ệ ố ả ươ ớ ẽ đ c tri n khai (nh ngôn ng tri n khai đ s d ng là gì), trên nh ng n n t ng nào nó ph i làmượ ể ư ữ ể ể ử ụ ữ ề ả ả

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 18/77

Page 19: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

vi c đ c, và các ch d n c b n cho các l p trình viên. M i d án nên nh n m nh t i tính có thệ ượ ỉ ẫ ơ ả ậ ỗ ự ấ ạ ớ ể module hóa đ c. M t h th ng theo module là m t h th ng đ c xây d ng t các d án t ng tácượ ộ ệ ố ộ ệ ố ượ ự ừ ự ươ nh h n mà chúng có th đ c phát tri n song song và đ c thay th m t các đ c l p riêng r màỏ ơ ể ượ ể ượ ế ộ ộ ậ ẽ không nh h ng t i các thành ph n khác. ả ưở ớ ầ

Tính có th module hóa đ c là m u ch t và làm đ n gi n hóa vi c s d ng l i s h u trí tu (IP)ể ượ ấ ố ơ ả ệ ử ụ ạ ở ữ ệ c a công ngh và ph n m m, làm gi m nh và tách b ch các v n đ bí m t và ki m soát xu t kh u,ủ ệ ầ ề ả ẹ ạ ấ ề ậ ể ấ ẩ làm đ n gi n hóa s qu n lý, tăng t c đ cho s tri n khai, làm gi m chi phí duy trì, và làm tăngơ ả ự ả ố ộ ự ể ả tính lanh l . M t tham chi u quân s v tính có th module hóa có th th y đây:ẹ ộ ế ự ề ể ể ấ ở http://www.acq.osd.mil/osjtf/docsmemo.html. Các b ng sáng ch v thi t k và các b ng sáng chằ ế ề ế ế ằ ế v ki n trúc n i ti ng có th đ c s d ng đ chia các v n đ thành các thành ph n nh h nề ế ổ ế ể ượ ử ụ ể ấ ề ầ ỏ ơ [Martin2000].

Ph n 2.4 th o lu n xa h n v qu n lý k thu t và các tiêu chí k thu t.ầ ả ậ ơ ề ả ỹ ậ ỹ ậ

2.1.7 Bước 7: Công bố

Khi m t d án đ c thành l p và đ c trình bày (dù ch a tuy t v i), ho c m t s ki n đáng k nhộ ự ượ ậ ượ ư ệ ờ ặ ộ ự ệ ể ư tung ra m t cách chính th c x y ra, hãy nói cho nh ng ng i khác xem ai có th s mu n bi t.ộ ứ ả ữ ườ ể ẽ ố ế

N u b n bi t các danh sách th n i mà m t tuyên b v d án c a b n có th là ch đ quan tâm, thìế ạ ế ư ơ ộ ố ề ự ủ ạ ể ủ ề hãy đ a lên đó, nh ng hãy c n th n đ làm m t bài vi t chính xác cho m i di n đàn, và đ h ngư ư ẩ ậ ể ộ ế ỗ ễ ể ướ m i ng i vào các di n đàn riêng c a d án c a b n cho nh ng th o lu n sau đó. N u có các d ánọ ườ ễ ủ ự ủ ạ ữ ả ậ ế ự có liên quan (nh nh ng d án có th s d ng nó ho c va ch m v i nó), thì ph i ch c ch n cung c pư ữ ự ể ử ụ ặ ạ ớ ả ắ ắ ấ cho h thông tin, và m i h đ a lên các đ ng liên k t web t i website c a d án c a b n. Nhi uọ ờ ọ ư ườ ế ớ ủ ự ủ ạ ề ng i phát tri n các trang web v i các danh sách ho c nh ng rà soát l i c a các d ng ph n m mườ ể ớ ặ ữ ạ ủ ạ ầ ề nh v y; hãy cung c p thông tin cho h sao cho h có th c i thi n đ c các trang web c a h . Hãyư ậ ấ ọ ọ ể ả ệ ượ ủ ọ đ a lên m t c p nh t trên Intellipedia và Dư ộ ậ ậ oD Techipedia (Đi u này là đ c bi t quan tr ng cho cácề ặ ệ ọ d án OGOTS, vì có th là khó đ tìm th y chúng n u chúng không đ c bi t công khai). N u đâyự ể ể ấ ế ượ ế ế là m t d án PMNM công khai, thì hãy đ a ra nh ng công b nh v y lên http://freshmeat.net/.ộ ự ư ữ ố ư ậ

2.1.8 Tiếp tục rà soát lại các bước từ 1-7

Các b c 1-6 nên là s kh i đ u c a m t quá trình liên t c n i mà các d án luôn đ c luân chuy nướ ự ở ầ ủ ộ ụ ơ ự ượ ể thông qua tìm ki m các thành ph n m i, phát tri n c ng đ ng, làm chín mu i các công ngh và tìmế ầ ớ ể ộ ồ ồ ệ ki m đ m r ng ph m vi v kích th c, s nâng cao và s chín mu i c a c ng đ ng. Qua th i gianế ể ở ộ ạ ề ướ ự ự ồ ủ ộ ồ ờ c ng đ ng s phát tri n, vì th vi c đ a vào nh ng ng i và ý t ng m i và d n d t t i m t s giaộ ồ ẽ ể ế ệ ư ữ ườ ưở ớ ẫ ắ ớ ộ ự tăng trong kh năng và s c nh tranh cho các h p đ ng c a chính ph . ả ự ạ ợ ồ ủ ủ

2.2 Hạ tầng kỹ thuật cho sự cộng tác

Vì s c ng tác gi a nh ng ng i tham gia phân tán m t cách r ng rãi là chìa khóa cho OTD, nênự ộ ữ ữ ườ ộ ộ các d án ph i thi t l p đ c m t site c a d án v i h t ng k thu t c n thi t cho s c ng tác. Siteự ả ế ậ ượ ộ ủ ự ớ ạ ầ ỹ ậ ầ ế ự ộ c a d án ph i xúc tác cho s phát tri n ph n m m, các b ki m th , và tài li u (bao g m c ng iủ ự ả ự ể ầ ề ộ ể ử ệ ồ ả ườ s d ng, cài đ t, qu n tr , và tài li u thi t k ) đ c chia s , dù các chi ti t v cách mà nh ng th nàyử ụ ặ ả ị ệ ế ế ượ ẻ ế ề ữ ứ x y ra th ng khác nhau gi a các d án. Các ch d n h u ích cho vi c thi t l p h t ng k thu t cóả ườ ữ ự ỉ ẫ ữ ệ ế ậ ạ ầ ỹ ậ th th y trong [Fogel2009] ch ng 3; sau đây là m t ít nh ng đi m m u ch t. Trong ngôn ng h pể ấ ươ ộ ữ ể ấ ố ữ ợ đ ng c a DoD thì h t ng k thu t này là t p h p c a “các kho d li u” (xem DFARS 227.7108),ồ ủ ạ ầ ỹ ậ ậ ợ ủ ữ ệ nh ng s c n thi t cho vi c c ng tác có nghĩa là nh ng kho này ph i tri n khai các yêu c u b sungư ự ầ ế ệ ộ ữ ả ể ầ ổ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 19/77

Page 20: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

không ph i luôn đ c các h p đ ng b t bu c.ả ượ ợ ồ ắ ộ

Ph i có kh năng cho t t c nh ng ng i đóng góp và nh ng ng i s d ng ti m năng s d ngả ả ấ ả ữ ườ ữ ườ ử ụ ề ử ụ đ c các công c m t cách d dàng. Ví d , n u nh ng h n ch v an ninh làm quá khó cho m iượ ụ ộ ễ ụ ế ữ ạ ế ề ọ ng i đ tham gia, thì h s không tham gia. Các d án nên u tiên s d ng các công c c ng tácườ ể ọ ẽ ự ư ử ụ ụ ộ đ c s d ng m t cách r ng rãi c a PMNM mà chúng làm vi c t t đ c v i b t kỳ trình duy t webượ ử ụ ộ ộ ủ ệ ố ượ ớ ấ ệ nào tuân th các chu n. Các công c không thông d ng t o ra m t rào c n không c n thi t đ thamủ ẩ ụ ụ ạ ộ ả ầ ế ể gia vào, vì chúng đòi h i nh ng ng i s d ng ph i h c cách s d ng các công c m i thay vì vi cỏ ữ ườ ử ụ ả ọ ử ụ ụ ớ ệ đóng góp m t cách đ n gi n. (Th m chí n u nh ng ng i s d ng đã h c đ c cách s d ng m tộ ơ ả ậ ế ữ ườ ử ụ ọ ượ ử ụ ộ công c , thì nh ng ng i s d ng s có thi n chí nhi u h n n u công c đ c s d ng m t cáchụ ữ ườ ử ụ ẽ ệ ề ơ ế ụ ượ ử ụ ộ r ng rãi vì th i gian h c c a h đ c gi m d n). Các công c PMNM nên đ c u tiên m t cáchộ ờ ọ ủ ọ ượ ả ầ ụ ượ ư ộ m nh m ; chúng có th đ c thi t l p c u hình cho nh ng nhu c u đ c bi t, có xu h ng s làạ ẽ ể ượ ế ậ ấ ữ ầ ặ ệ ướ ẽ không đ t giá đ tri n khai, và có xu h ng s đ c bi t t t cho s c ng tác d ng OTD vì chúngắ ể ể ướ ẽ ặ ệ ố ự ộ ạ th ng đ c s d ng cho m c đích đó. T i đa hóa s truy c p thông qua các trình duy t web tuânườ ượ ử ụ ụ ố ự ậ ệ th các tiêu chu n s là gia tăng kh năng cho nh ng ng i khác đ t ng tác v i s n ph m, nh ,ủ ẩ ẽ ả ữ ườ ể ươ ớ ả ẩ ư h có th t ng tác t chi n tr ng.ọ ể ươ ừ ế ườ

Các nhà th u ph i mong đ i r ng h t ng k thu t này có nghĩa r ng chính ph và các nhà th uầ ả ợ ằ ạ ầ ỹ ậ ằ ủ ầ khác s luôn có s truy c p ngay l p t c t i s ti n b . S minh b ch này là m c đ nh t thi t k .ẽ ự ậ ậ ứ ớ ự ế ộ ự ạ ặ ị ừ ế ế

2.2.1 Các chức năng mấu chốt

Site trung tâm c a d án ph i h tr s c ng tác đ i v i nh ng c i ti n đang di n ra và nên cungủ ự ả ỗ ợ ự ộ ố ớ ữ ả ế ễ c p các ch c năng sau: ấ ứ

• C a chính (website)ử . Site trung tâm c a d án ph i đ a ra đ c đi m kh i đ u duy nh t choủ ự ả ư ượ ể ở ầ ấ nh ng ai có quan tâm v d án, xúc tác m i ng i h c v d án và tìm th y t t c các thôngữ ề ự ọ ườ ọ ề ự ấ ấ ả tin có liên quan (đ c bi t, cách đ có đ c nó và/ho c tr thành m t ph n c a c ng đ ngặ ệ ể ượ ặ ở ộ ầ ủ ộ ồ phát tri n nó). Th ng là m t website v i m t URL c đ nh đ n gi n.ể ườ ộ ớ ộ ố ị ơ ả

• Theo dõi l i và tính năngỗ . Site trung tâm c a d án ph i đ a ra m t c ch cho nh ng ng iủ ự ả ư ộ ơ ế ữ ườ s d ng đ đ a lên các báo cáo l i và các yêu c u v tính năng, và đ i v i các l p trình viênủ ụ ể ư ỗ ầ ề ố ớ ậ đ xác đ nh cách (ho c n u có) đ gi i quy t chúng. Đi u này th ng đ c tri n khai thôngể ị ặ ế ể ả ế ề ườ ượ ể qua các công c đ c thù nh Bugzilla, Trac, ho c Redmine, nh ng các công c khác (nhụ ặ ư ặ ư ụ ư wikis) cũng có th đ c s d ng. Có th c n ph i có m t qui trình đ c bi t cho vi c báo cáoể ượ ử ụ ể ầ ả ộ ặ ệ ệ nh ng ch b t n th ng v an ninh đ ngăn ch n s đ l ra chúng tr c khi vi c s aữ ỗ ị ổ ươ ề ể ặ ự ể ộ ướ ệ ử chúng là s n sàng. ẵ

• Qu n lý C u hình Ph n m m (SCM)ả ấ ầ ề . Site trung tâm c a d án ph i đ a ra m t c ch choủ ự ả ư ộ ơ ế vi c theo dõi nh ng thay đ i, bao g m ít nh t ph n m m và th ng c các b ki m th vàệ ữ ổ ồ ấ ầ ề ườ ả ộ ể ử m t s tài li u. Nó nên ít nh t là đ a ra m t ph ng pháp cho vi c xem xét và theo dõiộ ố ệ ấ ư ộ ươ ệ “nhánh phát tri n chính” và m i phiên b n chính. SCM ph i làm cho có kh năng đ th yể ỗ ả ả ả ể ấ đ c ai đã ti n hành v i t ng thay đ i, khi nào, và s thay đ i đó là gì. Không s d ng CVSượ ế ớ ừ ổ ự ổ ử ụ trong các d án m i; CVS t ng là ph bi n trong quá kh nh ng đã đ c thay th b ng cácự ớ ừ ổ ế ứ ư ượ ế ằ công c t t h n. Có 2 d ng h th ng SCM chính, SCM t p trung (nh Subversion hayụ ố ơ ạ ệ ố ậ ư SVN) và SCM phân tán (nh git và mercurial). Nh đ c th o lu n bên d i, trong m tư ư ượ ả ậ ướ ộ môi tr ng quân s thì các h th ng SCM phân tán (nh git) có nh ng u đi m đáng k vàườ ự ệ ố ư ữ ư ể ể nên là SCM đ c u tiên cho các d án OTD.ượ ư ự

• T ng tác c ng đ ng (danh sách th , wiki, và/ho c IRC)ươ ộ ồ ư ặ . Site trung tâm c a d án ph i đ aủ ự ả ư

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 20/77

Page 21: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

ra m t c ch cho nh ng ng i s d ng và các l p trình viên đ th o lu n các v n đ . Sộ ơ ế ữ ườ ử ụ ậ ể ả ậ ấ ề ự t ng tác c ng đ ng th ng đ c tri n khai thông qua các danh sách th (nh Mailman),ươ ộ ồ ườ ượ ể ư ư wikis, ho c các h th ng chat nh Internet Relay Chat (IRC). Nhi u d án s d ng các danhặ ệ ố ư ề ự ử ụ sách th cho các th o lu n đ s d ng sau này, và trao cho m i ng i th i gian đ t o ra cácư ả ậ ể ử ụ ọ ườ ờ ể ạ câu tr l i c n tr ng. Trong ng c nh quân s thì các danh sách th và wikis có xu h ng sả ờ ẩ ọ ữ ả ự ư ướ ẽ là d dàng s d ng h n, vì c 2 chúng đ u đã đ c tri n khai m t cách r ng rãi r i trong cácễ ử ụ ơ ả ề ượ ể ộ ộ ồ máy tính quân s . N u s d ng các h th ng chat, thì hãy ch c ch n ph i đ t đ c các th oự ế ử ụ ệ ố ắ ắ ả ạ ượ ả lu n theo cách là nh ng ng i tham gia sau này có th tìm th y chúng, n u không các th oậ ữ ườ ể ấ ế ả lu n quan tr ng s b m t. H n n a, hãy ch c ch n r ng h th ng chat h tr cho b t kỳ yêuậ ọ ẽ ị ấ ơ ữ ắ ắ ằ ệ ố ỗ ợ ấ c u an ninh c n thi t nào (nh xác th c và b o m t).ầ ầ ế ư ự ả ậ

• T i v các phiên b nả ề ả . Site trung tâm c a d án ph i đ a ra đ c m t c ch cho vi c t i vủ ự ả ư ượ ộ ơ ế ệ ả ề các phiên b n chính; n u chúng là l n, thì vi c có các site soi g ng (mirroring) có th làả ế ớ ệ ươ ể c n thi t.ầ ế

Wikis (nh MediaWiki, MoinMoin, PmWiki, và PhpWiki) là các ch ng trình m m d o và có thư ươ ề ẻ ể đ c s d ng đ làm th a mãn m t vài trong s các ch c năng này.ượ ử ụ ể ỏ ộ ố ứ

2.2.2 Truy cập, công khai, bí mật và kiểm soát xuất khẩu

nh ng n i có th , hãy xác đ nh các thành ph n nào có th đ c đ a ra cho công chúng nh làỞ ữ ơ ể ị ầ ể ượ ư ư PMNM ngay t tr c, và thi t l p d án bên ngoài trong công chúng ngay t đ u. Đi u này s h nừ ướ ế ậ ự ừ ầ ề ẽ ạ ch nhi u v n đ , khi đi u này làm cho d dàng đ i v i nh ng ng i khác đ tìm ki m và đóng gópế ề ấ ề ề ễ ố ớ ữ ườ ể ế cho d án, và làm gia tăng m nh s l ng nh ng ng i đóng góp ti m năng. Đi u này cũng xúc tácự ạ ố ượ ữ ườ ề ề cho vi c s d ng các d ch v hosting th ng m i s n có (xem ph n 2.2.3). Không có yêu c u phápệ ử ụ ị ụ ươ ạ ẵ ầ ầ lý nào ch cho t i khi d án là “hoàn t t v tính năng” tr c khi phiên b n này x y ra, và n u đi uờ ớ ự ấ ề ướ ả ả ế ề đó cũng s là công khai n t, thì càng s m đ a nó ra công khai bao nhiêu thì càng t t b y nhiêu.ẽ ố ớ ư ố ấ

M t s thành ph n là bí m t, và vì th s phát tri n c a chúng ch có th di n ra trong các h th ngộ ố ầ ậ ế ự ể ủ ỉ ể ễ ệ ố đ c y quy n cho vi c x lý bí m t. T ng t , m t s thành ph n s là d i s ki m soát xu tượ ủ ề ệ ử ậ ươ ự ộ ố ầ ẽ ướ ự ể ấ kh u theo ITAR ho c EAR. nh ng n i có th , hãy chia các thành ph n d a trên tính nh y c mẩ ặ Ở ữ ơ ể ầ ự ạ ả c a chúng đ h n ch nh ng gì là bí m t và ki m soát xu t kh u ph i đ c b o v . Trong nh ngủ ể ạ ế ữ ậ ể ấ ẩ ả ượ ả ệ ữ tr ng h p này, vi c thi t l p m t d án OGOTS cho phép s c ng tác gi a nh ng ng i có th mườ ợ ệ ế ậ ộ ự ự ộ ữ ữ ườ ẩ quy n đ c truy c p t i d án. Nh ng d án nh v y ph i làm vi c m t cách đ c bi t khó đ đ mề ượ ậ ớ ự ữ ự ư ậ ả ệ ộ ặ ệ ể ả b o r ng nh ng ng i s d ng và nh ng ng i đóng góp ti m năng bi t v s hi n di n c a chúng.ả ằ ữ ườ ử ụ ữ ườ ề ế ề ự ệ ệ ủ

Trong nhi u tr ng h p s phát tri n ph n m m s có đ c mong đ i s là s n sàng cho công chúngề ườ ợ ự ể ầ ề ẽ ượ ợ ẽ ẵ nh là PMNM, nh ng ph i th c hi n tr c h t s rà soát v bí m t và/ho c ki m soát xu t kh u.ư ư ả ự ệ ướ ế ự ề ậ ặ ể ấ ẩ Đi u này có th là m t rào c n đáng k cho s c ng tác, nh ng trong nhi u tr ng h p nó là b cề ể ộ ả ể ự ộ ư ề ườ ợ ướ c n thi t. Hãy xem xét vi c thi t l p m t d án OGOTS n i b đ “d ng” nh ng thay đ i đ c đầ ế ệ ế ậ ộ ự ộ ộ ể ự ữ ổ ượ ề xu t này cho t i khi chúng có th đ c tung ra nh m t d án PMNM. Vi c dàn d ng là đ c bi tấ ớ ể ượ ư ộ ự ệ ự ặ ệ quan tr ng n u nó đ c xác đ nh r ng m t s thay đ i là c n thi t cho s d ng c a chính ph vàọ ế ượ ị ằ ộ ố ổ ầ ế ử ụ ủ ủ không th đ c tung ra cho công chúng. Nh ng đ xu t nh v y, lý t ng mà nói, nên đ c thi t l pể ượ ữ ề ấ ư ậ ưở ượ ế ậ nh “nh ng nhánh“ riêng r sao cho th m chí n u m t s thay đ i đ c cho là s không th đ cư ữ ẽ ậ ế ộ ố ổ ượ ẽ ể ượ tung ra, thì nh ng thay đ i khác v n còn có th tung ra đ c m t cách đ c l p. ữ ổ ẫ ể ượ ộ ộ ậ

Các d án nên xem xét m t cách nghiêm túc vi c s d ng m t SCM phân tán (nh “git”) n i mà cóự ộ ệ ử ụ ộ ư ơ th s có các v n đ v ki m soát xu t kh u ho c các m c đ khác nhau v bí m t. Các h th ngể ẽ ấ ề ề ể ấ ẩ ặ ứ ộ ề ậ ệ ố SCM phân tán làm cho d dàng h n nhi u đ t o ra các nhánh riêng r bên ngoài và sau này cungễ ơ ề ể ạ ẽ c p chúng cho nh ng ng i khác cho vi c tr n n u s phê chu n đ c trao.ấ ữ ườ ệ ộ ế ự ẩ ượ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 21/77

Page 22: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

2.2.3 Hosting

M i d án ph i xác đ nh li u nó s d a vào m t s d ch v hosting c ng tác đang t n t i đ đ a raỗ ự ả ị ệ ẽ ự ộ ố ị ụ ộ ồ ạ ể ư ch c năng đ c thi t l p c u hình s n t tr c, hay li u nó s thi t l p h th ng riêng c a mình, cóứ ượ ế ậ ấ ẵ ừ ướ ệ ẽ ế ậ ệ ố ủ đ c các công c c n thi t, và t t ch c (host) d án. B t k quy t đ nh nào v hosting, thì b nượ ụ ầ ế ự ổ ứ ự ấ ể ế ị ề ạ cũng ph i có kh năng c nh tranh và thay đ i xem ai làm vi c h tr hosting. Không đ c b khóaả ả ạ ổ ệ ỗ ợ ượ ị trói vào ch m t nhà cung c p duy nh t. N u không có kh năng đ d dàng xu t ra t t c mãỉ ộ ấ ấ ế ả ể ễ ấ ấ ả ngu n, tài li u và các t li u th o lu n t m t d ch v hosting và nh p các thông tin đó vào m t môiồ ệ ư ệ ả ậ ừ ộ ị ụ ậ ộ tr ng hosting khác, thì d án OTD c a b n b d ch v hosting s h u đ c quy n b t làm con tinườ ự ủ ạ ị ị ụ ở ữ ộ ề ắ m t cách có hi u qu (m t s m a mai đáng ti c r ng nó có th làm xói mòn tính h p pháp c a b nộ ệ ả ộ ự ỉ ế ằ ể ợ ủ ả thân d án). M t tiêu chí ch ch t cho s đánh giá d ch v hosting là ph i xác đ nh s khó khăn nhự ộ ủ ố ự ị ụ ả ị ẽ ư th nào khi sao chép các d li u (nghĩa là, các báo cáo l i, mã ngu n, ...) đâu đó khác n a sao choế ữ ệ ỗ ồ ở ữ n u d ch v hosting là không phù h p, thì d án có th d dàng chuy n đi.ế ị ụ ợ ự ể ễ ể

H u h t các d án l n h n ho c PMNM đ c s d ng r ng rãi (nh nhân Linux) thi t l p h t ngầ ế ự ớ ơ ặ ượ ử ụ ộ ư ế ậ ạ ầ c ng tác c a riêng h có s d ng các công c PMNM hi n đang có thay vì s d ng m t d ch vộ ủ ọ ử ụ ụ ệ ử ụ ộ ị ụ hosting (dù h có th s d ng m t d ch v hosting nh SourceForge đ phân ph i các phiên b nọ ể ử ụ ộ ị ụ ư ể ố ả cu i cùng). Ngó qua l n đ u, thì vi c s d ng m t d ch v hosting c ng tác đang t n t i có th xemố ầ ầ ệ ử ụ ộ ị ụ ộ ồ ạ ể gi ng nh là l a ch n đ n gi n nh t và d dàng nh t, nh ng các d ch v hosting không ph i luôn làố ư ự ọ ơ ả ấ ễ ấ ư ị ụ ả cách t t nh t đ đi. M t d ch v hosting th ng đ c thi t l p đ cung c p các d ch v chung, màố ấ ể ộ ị ụ ườ ượ ế ậ ể ấ ị ụ chúng có th không phù h p đ c t t cho m t d án c th . Các d cán nh th ng đ c ph c vể ợ ượ ố ộ ự ụ ể ự ỏ ườ ượ ụ ụ t t b ng vi c s d ng d ch v hosting c ng tác đang t n t i, khi mà chúng không th minh gi i đ cố ằ ệ ử ụ ị ụ ộ ồ ạ ể ả ượ các tài nguyên đ c u hình m t cách đ c bi t cho h t ng c a chúng. Nh ng các d án c trung bìnhể ấ ộ ặ ệ ạ ầ ủ ư ự ỡ và l n th ng h ng l i t tính có th thi t l p đ c c u hình gia tăng c a h t ng c ng tác c aớ ườ ưở ợ ừ ể ế ậ ượ ấ ủ ạ ầ ộ ủ riêng chúng, đ c bi t n u đó là PMNM. ặ ệ ế

Lý t ng mà nói, n u m t d án s là s n sàng công khai nh PMNM, thì nó nên đ c thi t l p nhưở ế ộ ự ẽ ẵ ư ượ ế ậ ư m t d án công khai tr c khi thi t k đ c t o ra. Nh ng b t ch p vi c khi nào thì d án s đ cộ ự ướ ế ế ượ ạ ư ấ ấ ệ ự ẽ ượ đ a ra công khai, đi u quan tr ng ph i đánh giá đ c s thích h p c a các d ch v hosting th ngư ề ọ ả ượ ự ợ ủ ị ụ ươ m i có s n. Nh ng d ch v hosting nh v y bao g m SourceForge (http://www.sourceforge.net),ạ ẵ ữ ị ụ ư ậ ồ github (http://www.github.com), gitorious (http://gitorious.org), và Google Code (http://code.google.com/). GSA đã th c hi n các đi u kho n d ch v và th a thu n v i SourceForge;ự ệ ề ả ị ụ ỏ ậ ớ đ có thêm thông tin, hãy xem: https://apps.gov/cloud/advantage/cloud/sa_details.do?ểBV_UseBVCookie=Yes&clid=160&catId=66. Wikipedia có m t trang so sánh các d ch v nh v yộ ị ụ ư ậ t i http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities.ạ

N u d án s là OGOTS, thì nó ph i thi t l p đ c h t ng c ng tác theo m t cách th c cho phépế ự ẽ ả ế ậ ượ ạ ầ ộ ộ ứ chính ph và các nhà th u ph đ c phép c a chính ph ( b t kỳ l p nào) truy c p đ c đ y đ t iủ ầ ụ ượ ủ ủ ở ấ ớ ậ ượ ầ ủ ớ nó. M t d ch v hosting c ng tác chung là Forge.mil c a DISA (http://www.forge.mil/). Forge.milộ ị ụ ộ ủ có th là h u d ng cho các d án OGOTS, nh ng không có yêu c u ph i s d ng Forge.mil. Phể ữ ụ ự ư ầ ả ử ụ ụ thu c vào các nhu c u d án c a b n, có th có m t l a ch n t t ho c t i. M t u đi m c aộ ầ ự ủ ạ ể ộ ự ọ ố ặ ồ ộ ư ể ủ Forge.mil là vi c nh ng nhu c u nh s đ c th c hi n đ b t đ u s d ng nó. Nh ng Forge.milệ ữ ầ ỏ ẽ ượ ự ệ ể ắ ầ ử ụ ư cũng có m t s khuy t đi m. Nó th ng có th m t th i gian đ i v i nh ng ng i tham gia ti mộ ố ế ể ườ ể ấ ờ ố ớ ữ ườ ề năng đ có đ c s truy c p, đ c bi t n u h không làm vi c tr c ti p cho m t khách hàng c aể ượ ự ậ ặ ệ ế ọ ệ ự ế ộ ủ DoD, vì m t th CAC ho c ch ng th c ECA đ c yêu c u cho s truy c p (truy c p ph i do chínhộ ẻ ặ ứ ự ượ ầ ự ậ ậ ả ph đ đ u). Đi u này có th là m t v n đ đ c bi t cho nh ng thành viên c a c ng đ ng tình báoủ ỡ ầ ề ể ộ ấ ề ặ ệ ữ ủ ộ ồ mà h không đ c DoD y nhi m. Forge.mil thi u m t s d ch v ; đ c bi t, s thi u h tr m nhọ ượ ủ ệ ế ộ ố ị ụ ặ ệ ự ế ỗ ợ ạ c a nó đ i v i git ho c b t kỳ h th ng ki m soát phiên b n phân tán nào khác làm cho nó khôngủ ố ớ ặ ấ ệ ố ể ả phù h p đ i v i nhi u d án c a chính ph liên bang. Cu i cùng, nh v i các d ch v hosting c ngợ ố ớ ề ự ủ ủ ố ư ớ ị ụ ộ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 22/77

Page 23: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

tác th ng m i khác, nó đ a ra các d ch v chung có th không đ c ch nh s a đ đáp ng đ cươ ạ ư ị ụ ể ượ ỉ ử ể ứ ượ nh ng nhu c u c a m t d án đ c bi t.ữ ầ ủ ộ ự ặ ệ

Nhi u d án OGOTS có th xác đ nh r ng, ch gi ng nh nhi u d án PMNM công khai, chúng cóề ự ể ị ằ ỉ ố ư ề ự th đ c ph c v t t h n b ng vi c thi t l p host c a riêng chúng. Trong tr ng h p này, có thể ượ ụ ụ ố ơ ằ ệ ế ậ ủ ườ ợ ể th y r ng m t d ch v nh “SoftwareForge” c a Forge.mil là m t cách h u d ng đ ấ ằ ộ ị ụ ư ủ ộ ữ ụ ể phân ph iố các phiên b n cu i cùng, th m chí n u không s d ng nó cho s c ng tác khi phát tri n (t ng t đ iả ố ậ ế ử ụ ự ộ ể ươ ự ố v i cách mà nhi u d án PMNM đ a ra các phiên b n thông qua SourceForge, th m chí n u chúngớ ề ự ư ả ậ ế không s d ng các d ch v c ng tác c a mình).ử ụ ị ụ ộ ủ

Chính ph không c n ph i host các site OTD có s d ng các m ng ho c trang thi t b c a chínhủ ầ ả ử ụ ạ ặ ế ị ủ ph . Chính ph có th t o ra m t RFP cho m t nhà th u ch y m t site hosting mà site này có thủ ủ ể ạ ộ ộ ầ ạ ộ ể đ c truy n cho chính ph ho c nhà th u khác. Các site c ng đ ng cũng có th đ c các nghi pượ ề ủ ặ ầ ộ ồ ể ượ ệ đoàn nghiên c u và phát tri n đ c chính ph liên bang c p ti n (FFRDC) đ duy trì. M u ch t làứ ể ượ ủ ấ ề ể ấ ố đ i v i chính ph ph i thi t l p s mong đ i v tính minh b ch và s c ng tác xung quanh côngố ớ ủ ả ế ậ ự ợ ề ạ ự ộ ngh mà nh ng ng i đóng thu c p ti n.ệ ữ ườ ế ấ ề

2.3 Giao tiếp truyền thông

Giao ti p truy n thông hi u qu là chìa khóa cho s thành công v i b t kỳ d án hay ch ng trìnhế ề ệ ả ự ớ ấ ự ươ nào. Nh ng ng i c m đ u c n giao ti p truy n thông t t và các k năng có đ ng c đ đ m b oữ ườ ầ ầ ầ ế ề ố ỹ ộ ơ ể ả ả r ng nh ng l p trình viên và nh ng ng i s d ng nh n đ c thông tin mà h c n. H cũng c n khằ ữ ậ ữ ườ ử ụ ậ ượ ọ ầ ọ ầ ả năng nhanh chóng đánh giá các c h i và ph n h i t các l p trình viên và ng i s d ng đ u cu i.ơ ộ ả ồ ừ ậ ườ ử ụ ầ ố Cu i cùng, h c n ph i xúc tác cho t t c tham gia, bao g m c các l p trình viên và nh ng ng iố ọ ầ ả ấ ả ồ ả ậ ữ ườ s d ng, đ c ng tác.ử ụ ể ộ

Đi u này là đ c bi t hi n nhiên trong các d án PMNM thành công n i mà nh ng ng i s d ng vàề ặ ệ ể ự ơ ữ ườ ử ụ hàng lo t các m c đ nh ng ng i l p trình th ng xuyên giao ti p thông qua các danh sách th ,ạ ứ ộ ữ ườ ậ ườ ế ư các phòng chat, và các h th ng theo dõi l i. Hãy xác đ nh các d án PMNM thành công và xem xétệ ố ỗ ị ự vi c áp d ng các th c ti n c a chúng. Nhi u thông tin h n có th th y trong [Fogel2009] ch ng 6ệ ụ ự ễ ủ ề ơ ể ấ ươ và 8, và trong [Bacon2010] ch ng 3.ươ

2.3.1 Hãy là người tham gia

Nói chung, s c ng tác nên đ c khuy n khích, và s l ng nh ng ng i tham gia tích c c nên làự ộ ượ ế ố ượ ữ ườ ự t i đa.ố

Hãy tích h p nh ng ng i s d ng và các l p trình viên ngay t đ u, đ ng phát tri n trong s cô l pợ ữ ườ ử ụ ậ ừ ầ ừ ể ự ậ và ch có s tham gia c a nh ng ng i s d ng vào lúc cu i cùng. Các công ngh m thành công sỉ ự ủ ữ ườ ử ụ ố ệ ở ẽ cùng ti n hóa gi a nh ng ng i s d ng và các l p trình viên c a chúng, v i các bình lu n và ý ki nế ữ ữ ườ ử ụ ậ ủ ớ ậ ế ph n h i đ c tính t i trong m i giai đo n c a s phát tri n. M t ng i qu n lý k thu t OTD nênả ồ ượ ớ ỗ ạ ủ ự ể ộ ườ ả ỹ ậ ti n hành nh ng n l c đ c bi t đ tuy n m nh ng ng i s d ng đ u cu i vào site trung tâm c aế ữ ỗ ự ặ ệ ể ể ộ ữ ườ ử ụ ầ ố ủ d án nh nh ng thành viên c a c ng đ ng d án - đ c bi t nh ng ng i s d ng đ u cu i có kự ư ữ ủ ộ ồ ự ặ ệ ữ ườ ử ụ ầ ố ỹ thu t mà h có th đ a ra đ c ý ki n ph n h i có tính xây d ng v cách mà d án giúp ho c xungậ ọ ể ư ượ ế ả ồ ự ề ự ặ đ t v i các ti n trình công vi c đang t n t i. Trong m t s tr ng h p, nh ng ng i s d ng đ uộ ớ ế ệ ồ ạ ộ ố ườ ợ ữ ườ ử ụ ầ cu i có hi u bi t k thu t s hoàn t t ti n hành nh ng đóng góp k thu t ph m vi nh (ho c l n)ố ể ế ỹ ậ ẽ ấ ế ữ ỹ ậ ạ ỏ ặ ớ cho d án, t vi c theo dõi l i t i phát tri n các module. S đ u t v th i gian và suy nghĩ c aự ừ ệ ỗ ớ ể ự ầ ư ề ờ ủ nh ng ng i s d ng đ u cu i s t o ra m t nh p c u cho c ng đ ng nh ng ng i s d ng t o đi uữ ườ ử ụ ầ ố ẽ ạ ộ ị ầ ộ ồ ữ ườ ử ụ ạ ề ki n cho s chuy n d ch, và làm cho d dàng h n đ v t qua và ch đ nh công vi c ti p t c màệ ự ể ị ễ ơ ể ượ ỉ ị ệ ế ụ khách hàng s ôm l y. Ng i qu n lý v k thu t nên th ng xuyên đ u tranh đ xây d ng và duyẽ ấ ườ ả ề ỹ ậ ườ ấ ể ự

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 23/77

Page 24: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

trì m t m i quan h làm vi c g n gũi gi a các l p trình viên và nh ng ng i s d ng đ u cu i. ộ ố ệ ệ ầ ữ ậ ữ ườ ử ụ ầ ố

Khuy n khích nh ng ng i m i t i. nh ng n i mà nh ng bình lu n c a h ch a ch t đ y tìnhế ữ ườ ớ ớ Ở ữ ơ ữ ậ ủ ọ ứ ấ ầ c m, hãy c g ng xác đ nh v n đ k thu t hay th t c đ ng sau ý ki n ph n h i sao cho nó có thả ố ắ ị ấ ề ỹ ậ ủ ụ ằ ế ả ồ ể đ c hành đ ng (nh bi n nó thành m t báo cáo l i th c s ). Hãy c g ng trao cho nh ng ng iượ ộ ư ế ộ ỗ ự ự ố ắ ữ ườ khác (đ c bi t là nh ng ng i m i đ n) l i ích c a s ng v c.ặ ệ ữ ườ ớ ế ợ ủ ự ờ ự

2.3.2 Tránh các thảo luật riêng tư

Tr phi b c m theo lu t, hãy làm cho t t c nh ng th o lu n d n t i m t quy t đ nh có s d ng cácừ ị ấ ậ ấ ả ữ ả ậ ẫ ớ ộ ế ị ử ụ di n đàn nh các danh sách th mà chúng (a) đ c ghi l i đ xem xét sau này và (b) s n sàng choễ ư ư ượ ạ ể ẵ t t c nh ng ng i tham gia ti m năng (nh các l p trình viên và nh ng ng i s d ng). Nhi u dấ ả ữ ườ ề ư ậ ữ ườ ử ụ ề ự án có m t lu t l r ng t t c các quy t đ nh ph i đ c th c hi n trong m t danh sách th , ch khôngộ ậ ệ ằ ấ ả ế ị ả ượ ự ệ ộ ư ứ ph i là m t đ i m t, đ đ m b o r ng m i ng i mà mu n thì có th tham gia vào trong quá trìnhả ặ ố ặ ể ả ả ằ ỗ ườ ố ể này, và đ đ m b o r ng các quy t đ nh và nhân t c b n đ c ghi l i đ s d ng sau này. ể ả ả ằ ế ị ố ơ ả ượ ạ ể ử ụ

Đ i v i các d án PMNM thì nh ng th o lu n này nên là công khai th c s . Các d án OGOTSố ớ ự ữ ả ậ ự ự ự th ng đòi h i m t s d ng c a quá trình đăng nh p tr c khi cho phép nh ng ng i khác xemườ ỏ ộ ố ạ ủ ậ ướ ữ ườ thông tin c a d án nh các th o lu n. Tuy nhiên, m t khi ai đó đã đ c cho phép xem các d li uủ ự ư ả ậ ộ ượ ữ ệ c a d án, thì h th ng nên có kh năng xem t t c các th o lu n c a d án. T ng t , m t khi aiủ ự ọ ườ ả ấ ả ả ậ ủ ự ươ ự ộ đó đã tr thành m t ph n c a d án, thì h nên có kh năng th y đ c và tham gia đ c vào trongở ộ ầ ủ ự ọ ả ấ ượ ượ t t c các th o lu n c a d án. ấ ả ả ậ ủ ự

Nhi u ng i sáng l p b gi c ph i dàn x p các v n đ khó thông qua giao ti p truy n thông riêng.ề ườ ậ ị ụ ả ế ấ ề ế ề Vâng các th o lu n công khai h n luôn h u h t đáng a chu ng h n v lâu dài. N u các quy t đ nhả ậ ơ ầ ế ư ộ ơ ề ế ế ị quan tr ng đ c th c hi n m t cách riêng t , thì s h tr c a c ng đ ng cho d án s y u. H nọ ượ ự ệ ộ ư ự ỗ ợ ủ ộ ồ ự ẽ ế ơ n a, các c h i đ nh n đ c ý ki n ph n h i khác, và đ gi i thích cho nh ng ng i khác vì saoữ ơ ộ ể ậ ượ ế ả ồ ể ả ữ ườ quy t đ nh đã đ c th c hi n, s b m t. ế ị ượ ự ệ ẽ ị ấ

Nói m t cách nghiêm kh c, đây là t t c các ph n c a ng i tham gia (xem ph n 2.3.1), nh ng vi cộ ắ ấ ả ầ ủ ườ ầ ư ệ có sai sót trong các th o lu n riêng t th ng là l i l m đ c bi t ph bi n.ả ậ ư ườ ỗ ầ ặ ệ ổ ế

2.3.3 Sử dụng các cơ chế truyền thông hiệu quả

Hãy đ m b o r ng website c a d án đ c c p nh t phù h p sao cho nh ng ng i s d ng và cácả ả ằ ủ ự ượ ậ ậ ợ ữ ườ ử ụ l p trình viên ti m năng có th nhanh chóng h c đ c nh ng gì h c n bi t. Vì các qui đ nh đ cậ ề ể ọ ượ ữ ọ ầ ế ị ượ thi t l p và các câu h i th ng đ c h i s đ c tr l i, nên hãy đ m b o r ng nh ng qui đ nh vàế ậ ỏ ườ ượ ỏ ẽ ượ ả ờ ả ả ằ ữ ị nh ng câu tr l i đó đ c vi t ra và đ c đ a lên m t ch d dàng truy c p đ c sao cho nh ngữ ả ờ ượ ế ượ ư ở ộ ỗ ễ ậ ượ ữ ng i khác có th nhanh chóng h c đ c các thông tin đó. ườ ể ọ ượ

Hãy đ m b o r ng m i đ xu t thay đ i đ a vào m t gi i thích (ng n g n) c a nh ng gì thay đ i đóả ả ằ ỗ ề ấ ổ ư ộ ả ắ ọ ủ ữ ổ làm. B ng cách đó, m i ng i có th hi u nh ng gì d ki n ph i làm, và n u thay đ i đó đ c ch pằ ọ ườ ể ể ữ ự ế ả ế ổ ượ ấ nh n, thì thông tin đó có th sau đó đ c cung c p cho nh ng ng i s d ng sao cho h bi t nh ngậ ể ượ ấ ữ ườ ử ụ ọ ế ữ gì đ c thay đ i và vì sao. Khi m t đ xu t (nh , m t s đóng góp) b t ch i, hãy đ m b o r ng cóượ ổ ộ ề ấ ư ộ ự ị ừ ố ả ả ằ m t s gi i thích rõ ràng vi c vì sao nó đã b t ch i, sao cho ng i đóng góp có th thay đ i nóộ ự ả ệ ị ừ ố ườ ể ổ trong th gì đó có th áp d ng đ c và/ho c sao cho nh ng ng i khác s không phí th i gian c aứ ể ụ ượ ặ ữ ườ ẽ ờ ủ h làm l i th y h t.ọ ạ ứ ệ

T i đa hóa vi c s d ng các ph ng pháp truy n thông mà chúng đ c ghi l i và có s n cho nh ngố ệ ử ụ ươ ề ượ ạ ẵ ữ ng i khác sau đó (nh các danh sách th ). Hãy yêu c u m i ng i tìm ki m các v n đ đã đ cườ ư ư ầ ọ ườ ế ấ ề ượ gi i quy t tr c đó b ng vi c đ a lên m t ch đ . N u h đ a ra các ch đ đã đ c th o lu n tr cả ế ướ ằ ệ ư ộ ủ ề ế ọ ư ủ ề ượ ả ậ ướ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 24/77

Page 25: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

đó r i, thì hãy ch cho h t i th o lu n tr c đó đó. B ng cách này, th i gian c a m i ng i sồ ỉ ọ ớ ả ậ ướ ằ ờ ủ ọ ườ ẽ không b phí ph m vì nh ng v n đ đã cũ và đã đ c gi i quy t tr c đó r i.ị ạ ữ ấ ề ượ ả ế ướ ồ

2.3.4 Thực tế rà soát mã nguồn dễ thấy

S rà soát và bình lu n d th y v mã ngu n. S rà soát đi m ngang hàng này liên quan t i ch tự ậ ễ ấ ề ồ ự ể ớ ấ l ng c m t cách tr c ti p (thông qua các bình lu n) và gián ti p (b ng vi c c nh báo cho nh ngượ ả ộ ự ế ậ ế ằ ệ ả ữ ng i khác r ng h ph i làm t t công vi c vì nh ng ng i khác s ki m tra các đ xu t c a h ).ườ ằ ọ ả ố ệ ữ ườ ẽ ể ề ấ ủ ọ Nh v i b t kỳ th o lu n nào khác, rà soát l i mã ngu n nên tránh các th o lu n riêng t . ư ớ ấ ả ậ ạ ồ ả ậ ư

2.3.5 Sự khiếm nhã là không nên

Đ ng cho phép hành vi khi m nhã và lăng m s nh c. Ví d , khi ai đó đ a lên m t bình lu n kừ ế ạ ỉ ụ ụ ư ộ ậ ỹ thu t đ c tr n v i m t cu c t n công qu ng cáo cá nhân, hãy gi i quy t tr c h t cu c t n côngậ ượ ộ ớ ộ ộ ấ ả ả ế ướ ế ộ ấ qu ng cáo cá nhân (làm rõ r ng nó là không đ c ch p nh n) và sau đó gi i quy t v n đ k thu t.ả ằ ượ ấ ậ ả ế ấ ề ỹ ậ Trong nh ng tr ng h p c c đoan nh ng ng i này có th c n b lo i b kh i d án, nh ng trongữ ườ ợ ự ữ ườ ể ầ ị ạ ỏ ỏ ự ư h u h t các tr ng h p, nh ng ng i nh c nh không th ng xuyên s d ng s b t nhã đó. ầ ế ườ ợ ữ ườ ắ ở ườ ẽ ừ ự ấ

2.3.6 Tính tới những người độc hại

M t v n đ lãnh đ o ph i gi i quy t là “nh ng ng i đ c h i”. Nh ng ng i này không nh t thi tộ ấ ề ạ ả ả ế ữ ườ ộ ạ ữ ườ ấ ế ph i là nh ng ng i b t nhã, mà đ n gi n là nh ng ng i mà ngăn ch n thay vì xúc tác cho s ti nả ữ ườ ấ ơ ả ữ ườ ặ ự ế b . Ví d , ch nghĩa c u toàn có th là m t v n đ , vì s c u toàn có th là k thù c a cái t t. Ch tộ ụ ủ ầ ể ộ ấ ề ự ầ ể ẻ ủ ố ấ l ng cao là r t quan tr ng, nh ng n u đ u tranh cho s c u toàn làm cho không có s ti n b , thìượ ấ ọ ư ế ấ ự ầ ự ế ộ không ch p nh n đ c. M t s ng i kích đ ng đ i v i d án ph i thay đ i theo các h ng c b nấ ậ ượ ộ ố ườ ộ ố ớ ự ả ổ ướ ơ ả không n m trong nhi m v ; Hãy nh c nh nh ng ng i này v nhi m v c a d án, và gi cho m iằ ệ ụ ắ ở ữ ườ ề ệ ụ ủ ự ữ ọ ng i t p trung vào nhi m v đó. M t s ng i thù đ ch mong đ i đ làm cho nh ng ng i khácườ ậ ệ ụ ộ ố ườ ị ợ ể ữ ườ cáu gi n m t cách có ch ý; hãy b qua ho c lo i b h kh i d án sao cho d án có th ti p t cậ ộ ủ ỏ ặ ạ ỏ ọ ỏ ự ự ể ế ụ đ c. N u ai đó ti p t c làm tiêu hao s chú ý và t p trung, thì lãnh đ o nên xác đ nh xem li uượ ế ế ụ ự ậ ạ ị ệ ng i đó có nên b lo i b d a vào vi c li u có hay không vi c ng i đó có th cu i cùng có làm l iườ ị ạ ỏ ự ệ ệ ệ ườ ể ố ợ đ c cho d án, và li u ng i đó có đang làm tê li t d án ngay lúc này hay không. Lãnh đ o nênượ ự ệ ườ ệ ự ạ khuy n khích tính l ch s , s tôn tr ng, s tin c y, và tình ng i trong s nh ng ng i tham gia đế ị ự ự ọ ự ậ ườ ố ữ ườ ể t i đa hóa tính hi u qu [Collins2007].ố ệ ả

2.3.7 Hãy nhận thức được về các vai trò

S phát tri n c b n có chia s th ng liên quan t i nh ng ng i có các vai trò sau: ự ể ơ ả ẻ ườ ớ ữ ườ

• Các l p trình viên. Nh ng ng i này phát tri n ph n m m và các t li u liên quan (nh ki mậ ữ ườ ể ầ ề ư ệ ư ể th ) nh m t lo t các thay đ i nh đ c đ xu t (“các b n vá”), m i th đ nh đ đ cử ư ộ ạ ổ ỏ ượ ề ấ ả ỗ ứ ủ ỏ ể ượ nh ng ng i khác rà soát l i. H cũng rà soát l i nh ng thay đ i đ c đ xu t. ữ ườ ạ ọ ạ ữ ổ ượ ề ấ

• Các l p trình viên/các lãnh đ o đ c tin c y. Nh ng ng i này hành đ ng nh là nh ngậ ạ ượ ậ ữ ườ ộ ư ữ ng i rà soát l i cu i cùng c a nh ng thay đ i đ c đ xu t, đ xác đ nh nh ng thay đ i nàoườ ạ ố ủ ữ ổ ượ ề ấ ể ị ữ ổ đ a vào “nhánh phát tri n chính” c a ph n m m và khi các phiên b n chính th ng đ c th cư ể ủ ầ ề ả ố ượ ự hi n. Nh ng ng i này nên đ c tin c y đ tr thành “nh ng ng i môi gi i trung th c” vàệ ữ ườ ượ ậ ể ở ữ ườ ớ ự không ch u n m t t ch c c th nào, và ph i đ c tin c y s là hi u bi t đ nhi u v kị ơ ộ ổ ứ ụ ể ả ượ ậ ẽ ể ế ủ ề ề ỹ thu t đ hành đ ng nh nh ng ng i rà soát l i m i thay đ i đ c đ xu t. ậ ể ộ ư ữ ườ ạ ỗ ổ ượ ề ấ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 25/77

Page 26: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

• Nh ng ng i s d ng. Nh ng ng i này s d ng kh năng k thu t k t qu , và có s l aữ ườ ử ụ ữ ườ ử ụ ả ỹ ậ ế ả ự ự ch n đ đ a lên các báo cáo l i ho c các yêu c u v tính năng. M t s có th xác đ nh r ngọ ể ư ỗ ặ ầ ề ộ ố ể ị ằ h mu n thay đ i ph n m m, tr thành các l p trình viên. ọ ố ổ ầ ề ở ậ

• Nh ng nhà phân ph i. Nh ng ng i này giúp nh ng ng i s d ng tri n khai thành ph nữ ố ữ ườ ữ ườ ử ụ ể ầ này v i các thành ph n khác. H có th gói l i bình lu n, th ng v i các bình lu n khác, vàớ ầ ọ ể ạ ậ ườ ớ ậ có th đ a ra nh ng d ch v b sung (nh hu n luy n, cài đ t và h tr ).ể ư ữ ị ụ ổ ư ấ ệ ặ ỗ ợ

2.4 Quản lý kỹ thuật/Các tiêu chí kỹ thuật

Lãnh đ o k thu t nên làm vi c đ đ m b o r ng các k t qu c a d án có ch t l ng cao.ạ ỹ ậ ệ ể ả ả ằ ế ả ủ ự ấ ượ

2.4.1 Các mục tiêu

Lãnh đ o k thu t nên đ u tranh cho nh ng đi u sau trong các thành ph n đang đ c phát tri nạ ỹ ậ ấ ữ ề ầ ượ ể trong m t d án OTD: ộ ự

1. Tính m m d oề ẻ . M t thành ph n có th đ c s d ng trong m t lo t các cách th c có xuộ ầ ể ượ ử ụ ộ ạ ứ h ng s có nhi u h n nh ng ng i s d ng ti m năng, m t s trong s h có th giúp choướ ẽ ề ơ ữ ườ ử ụ ề ộ ố ố ọ ể d án (nh , thông qua các báo cáo l i và th i gian phát tri n).ự ư ỗ ờ ể

2. Tính kh chuy nả ể . M t thành ph n có th đ c s d ng trên nhi u h n các n n t ng có xuộ ầ ể ượ ử ụ ề ơ ề ả h ng s có nhi u ng i s d ng ti m năng h n.ướ ẽ ề ườ ử ụ ề ơ

3. Tính có kh năng module hóaả . M t thành ph n là m t module (nh , v i các thành ph n conộ ầ ộ ư ớ ầ đ c xác đ nh m t cách rõ ràng và có th h tr cho m t ki n trúc “cài c m”) là m m d oượ ị ộ ể ỗ ợ ộ ế ắ ề ẻ h n, cũng nh d dàng h n đ rà soát làm đúng l i.ơ ư ễ ơ ể ạ

4. S d ng các tiêu chu n mử ụ ẩ ở. nh ng n i có th , tránh ph thu c vào các giao di n mà bỞ ữ ơ ể ụ ộ ệ ị m t nhà cung c p duy nh t ki m soát.ộ ấ ấ ể

5. S d ng l i và c ng tác v i các d án OTD hi n đang t n t iử ụ ạ ộ ớ ự ệ ồ ạ . M t d án nên t p trung vàoộ ự ậ vi c xây d ng ph n m m m i, không tri n khai l i các d án OTD đã và đang t n t i. Đi uệ ự ầ ề ớ ể ạ ự ồ ạ ề này đ c th o lu n xa h n bên d i. ượ ả ậ ơ ướ

6. Tránh nh ng ph thu c không ph i là OTDữ ụ ộ ả . Ph thu c ch vào các n n t ng, th vi n, vàụ ộ ỉ ề ả ư ệ các công c phát tri n OTD đ c s d ng m t cách r ng rãi. N u m t thành ph n ph thu cụ ể ượ ử ụ ộ ộ ế ộ ầ ụ ộ vào m t thành ph n không ph i là OTD, và thành ph n đó sau này c n ph i đ c thay đ i,ộ ầ ả ầ ầ ả ượ ổ thì có th là khó khăn đ có đ c s h tr đ i v i các th vi n và các công c phát tri nể ể ượ ự ỗ ợ ố ớ ư ệ ụ ể không bình th ng. Là t t n u m t thành ph n có th đ c s d ng trong m t n n t ngườ ố ế ộ ầ ể ượ ử ụ ộ ề ả không ph i là OTD (c i thi n tính kh chuy n c a nó), mi n là nó không ph thu c vào n nả ả ệ ả ể ủ ễ ụ ộ ề t ng đó. N u m t thành ph n s h u đ c quy n ph i b ph thu c, thì hãy cô l p nó thôngả ế ộ ầ ở ữ ộ ề ả ị ụ ộ ậ qua các trình cài c m ho c m t giao di n đ c m t tiêu chu n m xác đ nh.ắ ặ ộ ệ ượ ộ ẩ ở ị

7. Tính chính xác. Ph n đ u cho tính đ n gi n trong mã ngu n, mã ngu n càng đ n gi n thìấ ấ ơ ả ồ ồ ơ ả càng d đúng. Yêu c u r ng m t b ki m th h i qui t đ ng đ c đ a vào trong s phátễ ầ ằ ộ ộ ể ử ồ ự ộ ượ ư ự tri n, sao cho khi nh ng thay đ i đ c th c hi n thì nhi u l i s đ c dò tìm ra ngay l p t c.ể ữ ổ ượ ự ệ ề ỗ ẽ ượ ậ ứ

nh ng n i mà có các ti p c n c a l a ch n thay th , m t phân tích đ n gi n các l a ch nỞ ữ ơ ế ậ ủ ự ọ ế ộ ơ ả ự ọ thay th nên đ c ti n hành, và đ c th o lu n trong d án sao cho các v n đ chính ho cế ượ ế ượ ả ậ ự ấ ề ặ các l a ch n thay th s không b b qua.ự ọ ế ẽ ị ỏ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 26/77

Page 27: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

2.4.2 Sử dụng lại và cộng tác trong các thành phần OTD

M t đ c tính phân bi t đ c c a qu n lý k thu t OTD (ngoài s phát tri n c a c ng đ ng) là s ápộ ặ ệ ượ ủ ả ỹ ậ ự ể ủ ộ ồ ự d ng c h i ch nghĩa đ i v i các công ngh m đ c nh ng ng i khác phát tri n. ụ ơ ộ ủ ố ớ ệ ở ượ ữ ườ ể

Các lãnh đ o c a các d án OTD ph i làm vi c đ khuy n khích s d ng l i các thành ph n OTDạ ủ ự ả ệ ể ế ử ụ ạ ầ hi n đang t n t i, bao g m s c ng tác trong phát tri n c a h khi c n thi t. Đôi khi khó khăn đ ápệ ồ ạ ồ ự ộ ể ủ ọ ầ ế ể d ng các thành ph n đ c phát tri n t “nh ng ng i bên ngoài”. Tuy nhiên, nh ng ng i lãnh đ oụ ầ ượ ể ừ ữ ườ ữ ườ ạ nên tăng c ng áp d ng các d án OTD đ c nuôi d ng t t nh t, bao g m c s s a đ i có hi uườ ụ ự ượ ưỡ ố ấ ồ ả ự ử ổ ệ qu các d án đã t n t i tr c đó. Th i gian c a d án nên đ c t p trung vào vi c phát tri n cácả ự ồ ạ ướ ờ ủ ự ượ ậ ệ ể ph n m m m i thay vì vi c phát tri n các ph n m m mà đã t n t i r i. ầ ề ớ ệ ể ầ ề ồ ạ ồ

Khi xem xét s d ng các thành ph n OTD đang t n t i, hãy đánh giá chúng tr c. [Wheeler2010e]ử ụ ầ ồ ạ ướ đ a ra m t ti p c n cho vi c đánh giá các d án OTD, bao g m c cách đ có thông tin cho nh ngư ộ ế ậ ệ ự ồ ả ể ữ đánh giá nh v y.ư ậ

2.4.3 Không rẽ nhành PMNM chỉ vì sử dụng của Chính phủ

M t sai l m ph bi n mà các công ty và các d án c a chính ph th c hi n khi b t đ u áp d ng cácộ ầ ổ ế ự ủ ủ ự ệ ắ ầ ụ ti p c n OTD là b t đ u b ng vi c t o ra m t r nhánh b ng vi c l y m t nh ch p nhanh c a mãế ậ ắ ầ ằ ệ ạ ộ ẽ ằ ệ ấ ộ ả ụ ủ ngu n và s a đ i nó cho nh ng nhu c u c a riêng h , tách bi t kh i c ng đ ng xung quanh mãồ ử ổ ữ ầ ủ ọ ệ ỏ ộ ồ ngu n đó. ồ

Đây là m t sai l m vì các d án OTD thành công th ng là ti n hóa và c i ti n liên t c. Vi c t o raộ ầ ự ườ ế ả ế ụ ệ ạ m t r nhánh s cô l p t t c nh ng ng i s d ng c a r nhánh đó đ i v i d án OTD chính, baoộ ẽ ẽ ậ ấ ả ữ ườ ử ụ ủ ẽ ố ớ ự g m c các c i ti n mà d án chính làm ra. Vi c làm t i l i các thành ph n OTD là m t cách th cồ ả ả ế ự ệ ươ ạ ầ ộ ứ r t có hi u qu c a vi c ti n hóa n n t ng c s cho d án. Đi u quan tr ng là ph i gi l i đ c sấ ệ ả ủ ệ ế ề ả ơ ở ự ề ọ ả ữ ạ ượ ự đ ng b hóa v i nh ng phiên b n chính th c m i nh t c a các d án đ c ch n vì tính tin c y đ cồ ộ ớ ữ ả ứ ớ ấ ủ ự ượ ọ ậ ượ c a h th ng, s phù h p c a công ngh , và có đ c l i ích t i đa c a m t ti p c n OTD.ủ ệ ố ự ợ ủ ệ ượ ợ ố ủ ộ ế ậ

Trong m t s tr ng h p, không có nhu c u s a đ i b n thân thành ph n đó. Giao di n l p trìnhộ ố ườ ợ ầ ử ổ ả ầ ệ ậ ng d ng (API) c a thành ph n đó ho c h th ng các trình cài c m có th cung c p tính m m d oứ ụ ủ ầ ặ ệ ố ắ ể ấ ề ẻ

c n thi t mà hoàn toàn không thay đ i thành ph n đó.ầ ế ổ ầ

N u m t thành ph n ph i đ c thay đ i, thì nh ng ch s a và nh ng c i ti n ch ch t đ i v i n nế ộ ầ ả ượ ổ ữ ỗ ử ữ ả ế ủ ố ố ớ ề t ng c b n nên đ c phát tri n trong s t v n v i d án ban đ u và sau đó đ c đ trình tr ng cả ơ ả ượ ể ự ư ấ ớ ự ầ ượ ệ ở ượ l i t i d án g c ban đ u. Các giao di n và ch c năng đ c nh t c a chính ph nên đ c tách bi tạ ớ ự ố ầ ệ ứ ộ ấ ủ ủ ượ ệ thông qua các c ch c a các trình cài c m ho c v i các giao di n l p trình ng d ng (APIs) m cơ ế ủ ắ ặ ớ ệ ậ ứ ụ ở ứ đ cao h n. Vi c n m l y ti p c n này cho phép d án c a chính ph nâng c p m t cách không đauộ ơ ệ ắ ấ ế ậ ự ủ ủ ấ ộ đ n khi nh ng phiên b n m i đ c làm ra t d án bên ngoài. H u h t các thành ph n h u d ngớ ữ ả ớ ượ ừ ự ầ ế ầ ữ ụ ti p t c đ c c i ti n, nên kh năng th c hi n các c p nh t theo chu kỳ ph i đ c xây d ng trongế ụ ượ ả ế ả ự ệ ậ ậ ả ượ ự quá trình phát tri n và duy trì.ể

Trong m t s tr ng h p, m t d án ph i th c hi n nh ng s a đ i đáng k cho m t thành ph nộ ố ườ ợ ộ ự ả ự ệ ữ ử ổ ể ộ ầ OTD mà nó s ph thu c vào. Tr c h t hãy ch c ch n đây chính là v n đ ; đôi khi không ph i th .ẽ ụ ộ ướ ế ắ ắ ấ ề ả ế Nh ng n u đây đúng là v n đ , thì hãy th o lu n v i d án có thành ph n mà nh ng thay đ i c nư ế ấ ề ả ậ ớ ự ầ ữ ổ ầ ph i đ c th c hi n, và tìm ki m các cách th c đ đ xu t nh ng thay đ i đó t ng tí m t cho d ánả ượ ự ệ ế ứ ể ề ấ ữ ổ ừ ộ ự th ng ngu n (upstream). Đi u này s làm gia tăng s h p lý khi các thay đ i s đ c d án c aượ ồ ề ẽ ự ợ ổ ẽ ượ ự ủ thành ph n đó ch p nh n. T t nh t n u có m t h p đ ng khuy n khích nh ng thay đ i đó đ i v iầ ấ ậ ố ấ ế ộ ợ ồ ế ữ ổ ố ớ các d án bên ngoài đ c ch p nh n ng c tr l i vào trong các d án đó, đ khuy n khích nhà th uự ượ ấ ậ ượ ở ạ ự ể ế ầ làm vi c v i các d án bên ngoài đó.ệ ớ ự

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 27/77

Page 28: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Trong t t c các tr ng h p, hãy t p trung s phát tri n vào nh ng yêu c u mà chúng th c s là đ cấ ả ườ ợ ậ ự ể ữ ầ ự ự ộ nh t vô nh .ấ ị

L u ý r ng đi u này không là m t mâu thu n v i ph n 2.1.4.1, mà đã nh n m nh t i tính có th rư ằ ề ộ ẫ ớ ầ ấ ạ ớ ể ẽ nhánh đ c. Đi u quan tr ng là m t d án là có th r nhánh đ c đ khuy n khích các lãnh đ o dượ ề ọ ộ ự ể ẽ ượ ể ế ạ ự án qu n lý d án m t cách phù h p. Nh ng vì qui trình c a vi c r nhánh gây tr ng i m t cáchả ự ộ ợ ư ủ ệ ẽ ở ạ ộ tr m tr ng v i s d ng l i, nên t t c các bên nên c g ng tránh th c s t o ra m t r nhánh, và nênầ ọ ớ ử ụ ạ ấ ả ố ắ ự ự ạ ộ ẽ thay vào đó tìm ki m m t cách th c đ làm vi c cùng nhau.ế ộ ứ ể ệ

2.4.2 Các tiêu chuẩn mở

Hãy s d ng các tiêu chu n m . Vì các m c đích c a tài li u này, m t “tiêu chu n m ” là m t đ cử ụ ẩ ở ụ ủ ệ ộ ẩ ở ộ ặ t ít nh t đáp ng đ c đ nh nghĩa c a Liên minh châu Âu nh đ c áp d ng trong Khung T ngả ấ ứ ượ ị ủ ư ượ ụ ươ h p châu Âu: ợ

• Tiêu chu n đ c áp d ng và s đ c m t t ch c phi l i nhu n duy trì, và s phát tri n hi nẩ ượ ụ ẽ ượ ộ ổ ứ ợ ậ ự ể ệ hành c a nó di n ra trên c s c a m t th t c ra quy t đ nh m s n sàng cho t t c các bênủ ễ ơ ở ủ ộ ủ ụ ế ị ở ẵ ấ ả có quan tâm (quy t đ nh đ ng thu n ho c theo s đông...).ế ị ồ ậ ặ ố

• Tiêu chu n đã đ c xu t b n và tài li u đ c t c a tiêu chu n là s n sàng ho c m t cách tẩ ượ ấ ả ệ ặ ả ủ ẩ ẵ ặ ộ ự do ho c v i m t phí t ng tr ng. T t c m i ng i ph i đ c phép sao chép, phân ph i vàặ ớ ộ ượ ư ấ ả ọ ườ ả ượ ố s d ng nó mà không m t phí ho c v i m t phí t ng tr ng. ử ụ ấ ặ ớ ộ ượ ư

• S h u trí tu - nghĩa là, các b ng sáng ch có th là có - đ i v i (các ph n) tiêu chu n vàở ữ ệ ằ ế ể ố ớ ầ ẩ đ c làm cho s n sàng không th h y b đ c trên c s không có chi phí b n quy n.ượ ẵ ể ủ ỏ ượ ơ ở ả ề

• Không có b t kỳ ràng bu c nào trong vi c s d ng l i tiêu chu n đó.ấ ộ ệ ử ụ ạ ẩ

Đôi khi nh ng m r ng là c n thi t, nh ng chúng ch nên đ c s d ng v i s xem xét khi nó có thữ ở ộ ầ ế ư ỉ ượ ử ụ ớ ự ể d dàng tr thành b khóa trói m t cách không c ý vào m t m r ng s h u đ c quy n. B khóa tróiễ ở ị ộ ố ộ ở ộ ở ữ ộ ề ị vào m t m r ng s h u đ c quy n có th là m t v n đ , đ c bi t n u nó ch đ c tri n khai b ngộ ở ộ ở ữ ộ ề ể ộ ấ ề ặ ệ ế ỉ ượ ể ằ m t ch ng trình s h u đ c quy n (khi mà đi u này h n ch s c nh tranh m t cách có hi u qu ,ộ ươ ở ữ ộ ề ề ạ ế ự ạ ộ ệ ả làm gia tăng chi phí v lâu dài). ề

Hãy xem xét vi c yêu c u các ki m th (nh m t ph n c a h p đ ng) v i m t tri n khai l a ch nệ ầ ể ử ư ộ ầ ủ ợ ồ ớ ộ ể ự ọ thay th c a m t tiêu chu n đ làm gia tăng tính h p lý c a vi c gi đ c bên trong tiêu chu n. ế ủ ộ ẩ ể ợ ủ ệ ữ ượ ẩ

nh ng n i thích h p, hãy t o ho c làm vi c đ m r ng các tiêu chu n m . Ở ữ ơ ợ ạ ặ ệ ể ở ộ ẩ ở

Đăng ký các Tiêu chu n Công ngh thông tin c a B Qu c phòng DISR (DoD IT Standardsẩ ệ ủ ộ ố Registry) là m t kho tr c tuy n các tiêu chu n công ngh thông tin, và có th s d ng đ c m t s .ộ ự ế ẩ ệ ể ử ụ ượ ộ ố Nó là có s n trên https://disronline.disa.mil/ nh ng truy c p vào c n có m t th CAC. L u ý làẵ ư ậ ầ ộ ẻ ư không ph i t t c các tiêu chu n đ c li t kê trong DISR đ u là các tiêu chu n m . ả ấ ả ẩ ượ ệ ề ẩ ở

2.4.5 Quản lý các đóng góp

Nh ng ng i lãnh đ o d án nên rà soát l i nh ng đóng góp ho c đ m b o r ng chúng đ c rà soátữ ườ ạ ự ạ ữ ặ ả ả ằ ượ l i. Quá trình đóng góp nên đ m b o r ng nh ng ng i đóng góp đáp ng đ c nh ng yêu c u kạ ả ả ằ ữ ườ ứ ượ ữ ầ ỹ thu t (nh , nó biên d ch và đ a ra giá tr ) cũng nh b t kỳ yêu c u pháp lý nào (nh , nh ng ng iậ ư ị ư ị ư ấ ầ ư ữ ườ đóng góp có m t quy n đ đ xu t yêu c u pháp lý). N u d án đòi h i nh ng ch đ nh quy n, thìộ ề ể ề ấ ầ ế ự ỏ ữ ỉ ị ề hãy ch c ch n nh ng ch đ nh đó cũng là có. ắ ắ ữ ỉ ị

Nh ng đóng góp l n đ u th ng b t ch i, vì nh ng ng i đóng góp th ng không nh n th c đ cữ ầ ầ ườ ị ừ ố ữ ườ ườ ậ ứ ượ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 28/77

Page 29: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

các chi ti t v d án. nh ng n i th c t , hãy gi i thích chi ti t vì sao m t s đóng góp b t ch iế ề ự Ở ữ ơ ự ế ả ế ộ ự ị ừ ố (t p trung vào s đóng góp và không vào ng i đóng góp), và giúp ng i đóng góp hi u đ c cáchậ ự ườ ườ ể ượ ti n hành nh ng thay đ i c n thi t đ s n xu t ra m t s đóng góp có th đ c ch p nh n.ế ữ ổ ầ ế ể ả ấ ộ ự ể ượ ấ ậ

2.5 Đưa ra liên tục

S phát tri n nên là m t s ti n hóa liên t c thông qua nh ng thay đ i nh đ c theo dõi m t cáchự ể ộ ự ế ụ ữ ổ ỏ ượ ộ t ng ng. B ng cách đó, nh ng ng i khác có th rà soát l i m t cách có hi u qu nh ng thay đ iươ ứ ằ ữ ườ ể ạ ộ ệ ả ữ ổ đó. Nh ng thay đ i đó nên không ngăn c n m t h th ng kh i vi c xây d ng và qu n lý. Trong m tữ ổ ả ộ ệ ố ỏ ệ ự ả ộ s tr ng h p, m t thay đ i s không có đ c hi u ng ng i s d ng nhìn th y đ c, nh , nó cóố ườ ợ ộ ổ ẽ ượ ệ ứ ườ ử ụ ấ ượ ư th là m t s thay đ i v ki n trúc đ chu n b cho ch c năng trong t ng lai. Nh ng xây d ng hàngể ộ ự ổ ề ế ể ẩ ị ứ ươ ữ ự ngày đ c tuân theo b ng các ki m th h i qui t đ ng đ c khuy n cáo m t cách cao đ ; chúngượ ằ ể ử ồ ự ộ ượ ế ộ ộ làm cho các v n đ rõ ràng ngay l p t c.ấ ề ậ ứ

Theo nhi u cách phiên b n chính th c (và s đ a ra) c a m t s n ph m OTD không ph i là m t sề ả ứ ự ư ủ ộ ả ẩ ả ộ ự ki n vì đ i v i s phát tri n, ki m th , và ph n h i ý ki n liên t c trong t t c nh ng ng i thamệ ố ớ ự ể ể ử ả ồ ế ụ ấ ả ữ ườ gia. H n n a, nh ng ng i s d ng th ng c n ph i bi t r ng m t phiên b n đ c bi t là “s n sàngơ ữ ữ ườ ử ụ ườ ầ ả ế ằ ộ ả ặ ệ ẵ đ s d ng”, và th ng vi c ki m th đ c bi t đ c th c hi n mà không th th c hi n đ c trongể ử ụ ườ ệ ể ử ặ ệ ượ ự ệ ể ự ệ ượ t ng s rà soát l i (nh , ki m th các tr ng) tr c m t phiên b n. Nh ng phiên b n chính th ngừ ự ạ ư ể ử ườ ướ ộ ả ữ ả ố nh v y là m t l n t t lành cho nh ng nhà th u l p trên và chính ph đ đ m b o r ng: ư ậ ộ ầ ố ữ ầ ớ ủ ể ả ả ằ

1. H th c s nh n đ c mã ngu n cho t t c ph n m m mà h có quy n.ọ ự ự ậ ượ ồ ấ ả ầ ề ọ ề

2. Mã ngu n và tài li u có nh ng ghi nh n các quy n chính xác. N u chính ph nh n đ c cácồ ệ ữ ậ ề ế ủ ậ ượ quy n không h n ch , thì nó nên nói th .ề ạ ế ế

3. Ph n m m nên đ c xây d ng m t cách t đ ng có s d ng m t l nh ng n duy nh t (nh ,ầ ề ượ ự ộ ự ộ ử ụ ộ ệ ắ ấ ư “make”).

4. Ph n m m nên tuân theo các tiêu chu n và các ch d n cài đ t cho n n t ng c a nó. Đ i v iầ ề ẩ ỉ ẫ ặ ề ả ủ ố ớ Unix và Linux, xem [Wheeler2009].

5. B ki m th h i qui nên đ c đ a vào.ộ ể ử ồ ượ ư

Trong m t phân ph i chính th c, hãy công b s t n t i ho c phiên b n m i m t cách r ng rãi saoộ ố ứ ố ự ồ ạ ặ ả ớ ộ ộ cho nh ng ng i s d ng ti m năng có th bi t đ c v nó. N u s t n t i c a nó có th đ c bi tữ ườ ử ụ ề ể ế ượ ề ế ự ồ ạ ủ ể ượ ế đ i v i công chúng, hãy đ m b o r ng công b đó có th đ c th y b ng các máy tìm ki m phố ớ ả ả ằ ố ể ượ ấ ằ ế ổ bi n nh Google. Hãy c p nh t (các) trang Intellipedia c a d án n u đây là OGOTS. N u đây làế ư ậ ậ ủ ự ế ế m t d án c a DoD, hãy cung c p m t b n sao mã ngu n c a nó và t li u có liên quan cho DTICộ ự ủ ấ ộ ả ồ ủ ư ệ đ gi m thi u r i ro m t d li u.ể ả ể ủ ấ ữ ệ

Xem [Fogel2009] ch ng 7 đ có thêm thông tin.ươ ể

2.5.1 Quản lý các quyền trí tuệ

Hãy đ m b o r ng m i đóng góp đ u có các quy n trí tu c n thi t (bao g m c “các quy n c a dả ả ằ ỗ ề ề ệ ầ ế ồ ả ề ủ ữ li u”) mà chúng xúc tác cho các l p trình viên và nh ng ng i s d ng d án đ ti p t c s d ng,ệ ậ ữ ườ ử ụ ự ể ế ụ ử ụ s a đ i, và phân ph i l i chúng m t cách phù h p. Đ c bi t, hãy ki m tra nh ng ghi nh n v b nử ổ ố ạ ộ ợ ặ ệ ể ữ ậ ề ả quy n trong các đóng góp, và tìm ki m vi c chèn thêm vào các ph thu c m i trong các công c vàề ế ệ ụ ộ ớ ụ thành ph n s h u đ c quy n. Nh ng ghi nh n không đúng th ng b sao chép sang t li u khác, vìầ ở ữ ộ ề ữ ậ ườ ị ư ệ th vi c ghi nh n không đúng có th “lan truy n” sang các d án khác.ế ệ ậ ể ề ự

M t d án PMNM ph i t ch i b t kỳ s đóng góp nào không đáp ng đ c (các) gi y phép đ cộ ự ả ừ ố ấ ự ứ ượ ấ ượ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 29/77

Page 30: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

ch n c a d án PMNM đó. T ng t , m t d án OGOTS nên t ch i nh ng đóng góp v i chọ ủ ự ươ ự ộ ự ừ ố ữ ớ ỉ “nh ng quy n h n ch ” nh đ c xác đ nh trong DFARS 252.227-7014(a)(14) vì nh ng đóng gópữ ề ạ ế ư ượ ị ữ đó không cung c p cho chính ph và các nhà th u v i các quy n đ y đ đ s d ng l i ph n m mấ ủ ầ ớ ề ầ ủ ể ử ụ ạ ầ ề trong nh ng hoàn c nh tùy ý c a chính ph .ữ ả ủ ủ

Các d án OGOTS th ng là nên ch p nh n b t kỳ đóng góp nào v i nh ng quy n không h n chự ườ ấ ậ ấ ớ ữ ề ạ ế c a chính ph . M t d án OGOTS có th ch n ch p nh n nh ng đóng góp v i các quy n theo m củ ủ ộ ự ể ọ ấ ậ ữ ớ ề ụ đích c a chính ph GPR (Government Purpose Rights), đ c bi t n u có m t th i gian h t h n rõủ ủ ặ ệ ế ộ ờ ế ạ ràng mà sau đó đóng góp s tr l i các quy n không gi i h n c a chính ph . Nh ng đóng góp nhẽ ở ạ ề ớ ạ ủ ủ ữ ư v y ch có th đ c t do s d ng đ i v i các m c đích c a chính ph , nh ng vì các d án OGOTSậ ỉ ể ượ ự ử ụ ố ớ ụ ủ ủ ư ự ch s n sàng đ i v i nh ng ng i s d ng trong chính ph , nên đi u này không ph i là m t s thayỉ ẵ ố ớ ữ ườ ử ụ ủ ề ả ộ ự đ i th c t . Vi c ch p nh n nh ng đóng góp GPR nên đ c ch p nh n m t cách đ c bi t t chínhổ ự ế ệ ấ ậ ữ ượ ấ ậ ộ ặ ệ ừ ph , vì vi c ch p nh n nh ng đóng góp nh v y s h n ch đ c nh ng gì mà chính ph có th làmủ ệ ấ ậ ữ ư ậ ẽ ạ ế ượ ữ ủ ể v i các k t qu c a d án. H p đ ng đ c bi t đ c s d ng đ t o ra s qu n lý ph n m m GPR,ớ ế ả ủ ự ợ ồ ặ ệ ượ ử ụ ể ạ ự ả ầ ề nh ng trong nhi u tr ng h p ph n m m GPR là GPR cho 5 năm sau ch ký c a h p đ ng ho cư ề ườ ợ ầ ề ữ ủ ợ ồ ặ ch ký s a đ i h p đ ng theo DFARS 252.227-7014(b)(2)(ii); Sau th i gian đó thì đóng góp trữ ử ổ ợ ồ ờ ở thành các quy n không h n ch c a chính ph . M i đóng góp nên đ c đánh d u rõ ràng nh làề ạ ế ủ ủ ỗ ượ ấ ư GPR và đ a vào ngày tháng khi đóng góp đó s thay đ i thành các quy n không h n ch , sao choư ẽ ổ ề ạ ế nó s là d dàng cho chính ph đ xác đ nh khi nào chính ph s có các quy n không h n ch thayẽ ễ ủ ể ị ủ ẽ ề ạ ế vì GPR. Các d án OGOTS mà ch p nh n nh ng đóng góp GPR ph i đ m b o r ng t t c nh ngự ấ ậ ữ ả ả ả ằ ấ ả ữ ng i nh n s nh n th c đ c và đã đ ng ý đ i v i nh ng h n ch phù h p v i GPR tr c khi hườ ậ ẽ ậ ứ ượ ồ ố ớ ữ ạ ế ợ ớ ướ ọ nh n đ c s truy c p t i t li u GPR.ậ ượ ự ậ ớ ư ệ

Đ có thêm thông tin v các quy n trí tu v PMNM, hãy xem [Fogel2009] ch ng 9 (“Các gi yể ề ề ệ ề ươ ấ phép, B n quy n và B ng sáng chả ề ằ ế”).

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 30/77

Page 31: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Chương 3. Lập trình OTD: Các chiến thuật, công cụ và thủ tục

C h i t t nh t cho m t ch ng trình quân s đ tr thành (và gi là) m là khi các qui đ nh c aơ ộ ố ấ ộ ươ ự ể ở ữ ở ị ủ “con đ ng m ” đ c đ t ra m t cách rõ ràng và súc tích s m cho các nhà th u và quan tr ng nh tườ ở ượ ặ ộ ớ ầ ọ ấ là cho các cán b văn phòng ch ng trình. Ch ng này s gi i thích cách đ thi t l p nh ng quiộ ươ ươ ẽ ả ể ế ậ ữ đ nh này trong m t v mua s m. Xem ch th c a DoD 5000.02 (Ho t đ ng c a H th ng Mua s mị ộ ụ ắ ỉ ị ủ ạ ộ ủ ệ ố ắ Qu c phòng) v nh ng thông tin c b n trong qui trình mua s m c a DoD.ố ề ữ ơ ả ắ ủ

3.1 Khởi tạo và/hoặc chuyển sang OTD

Đi u s ng còn đ đ a n n công nghi p (và các bên tham gia khác có quan tâm) vào s m nh t cóề ố ể ư ề ệ ớ ấ th , ví d , b ng vi c t ch c các Ngày Công nghi p, đi cùng v i m t yêu c u v qui trình thông tinể ụ ằ ệ ổ ứ ệ ớ ộ ầ ề (RFI) N u có th , c t o ra m t c ng web m làm vi c v i nh ng ý t ng và gi i pháp đ c đ xu tế ể ố ạ ộ ổ ở ệ ớ ữ ưở ả ượ ề ấ cho vi c phát tri n kh năng mong mu n. M c tiêu là t p h p càng nhi u ý t ng có th càng t t đệ ể ả ố ụ ậ ợ ề ưở ể ố ể đ a ra quy t đ nh có thông tin t t nh t cho chính ph . Nh ng ng i qu n lý ch ng trình cũng cóư ế ị ố ấ ủ ữ ườ ả ươ th tham d các h i ngh c ng đ ng và t ch c các phiên đ a ra nh ng phiên th o lu n v i m cể ự ộ ị ộ ồ ổ ứ ư ữ ả ậ ớ ụ đích thu th p các ý t ng. T t c t li u đ c t o ra trong các phiên đó nên đ c xu t b n m t cáchậ ưở ấ ả ư ệ ượ ạ ượ ấ ả ộ m cho t t c các nhà th u ti m năng đ xem và s d ng (mi n là t t c các nhà th u đ c thôngở ấ ả ầ ề ể ử ụ ễ ấ ả ầ ượ báo, thì nhi u v n đ pháp lý s bi n m t). N u đ c qu n lý phù h p, thì c ng đ ng t o ra lúc banề ấ ề ẽ ế ấ ế ượ ả ợ ộ ồ ạ đ u c a d án có th tăng tr ng và ti n hóa các kh năng công ngh c a h th ng thông qua sầ ủ ự ể ưở ế ả ệ ủ ệ ố ự chuy n d ch và h n th . Site c ng tác cu i cùng cũng có th l n thành m t site chia s các d li uể ị ơ ế ộ ố ể ớ ộ ẻ ữ ệ k thu t chính th ng n i mà các thi t k , các đ c t , các đ nh d ng d li u, các th t c ki m th c aỹ ậ ố ơ ế ế ặ ả ị ạ ữ ệ ủ ụ ể ử ủ d án, … có th đ c t ch c.ự ể ượ ổ ứ

Các ph n con sau trình bày chi ti t h n v qui trình mua s m đ c bi t c a chính ph , nh là Phânầ ế ơ ề ắ ặ ệ ủ ủ ư tích các l a ch n thay th AoA (Analysis of Alternatives), Yêu c u thông tin RFI (Requests forự ọ ế ầ Information) t gi i công nghi p và Yêu c u đ xu t RFP (Request for Proposal).ừ ớ ệ ầ ề ấ

Các đi m chính ph i ghi nh :ể ả ớ

• Rà soát l i các quy n trí tu có liên quan t i d án; đ m b o r ng chúng xúc tác cho s phátạ ề ệ ớ ự ả ả ằ ự tri n và phiên b n c ng đ ng. ể ả ộ ồ

• u tiên h n cho các ti p c n do c ng đ ng phát tri n (các ti p c n OGOTS ho c PMNM)Ư ơ ế ậ ộ ồ ể ế ậ ặ cho vi c phát tri n ph n m m m i. ệ ể ầ ề ớ

• Quy t đ nh khi nào/cách nào đ phát tri n PMNM, và khi nào và cách nào đ chuy n d ch.ế ị ể ể ể ể ị

• Khi nói chuy n v i các lu t s , hãy h i “làm th nào tôi có th đ t đ c m c tiêu X?”,ệ ớ ậ ư ỏ ế ể ạ ượ ụ không bao gi h i “li u tôi có th làm X?”. Các lu t s có th đ n gi n tr l i “không” choờ ỏ ệ ể ậ ư ể ơ ả ả ờ câu h i sau, mà không giúp b n đ t đ c các m c đích l n h n b ng pháp lý.ỏ ạ ạ ượ ụ ớ ơ ằ

• V n t i các c ng đ ng r ng l n h n và các di n đàn tr c tuy n, nh , ươ ớ ộ ồ ộ ớ ơ ễ ự ế ư Intelink và nhóm MIL-OSS.

• Hãy xác đ nh các yêu c u v an ninh và các qui trình theo yêu c u, nh , Ch ng ch & yị ầ ề ầ ư ứ ỉ Ủ nhi m, FIPS, và các tiêu chí chung (Common Criteria). ệ

• Rà soát l i ki m soát xu t kh u (EAR, ITAR) và các nhu c u cho các d án bí m t. Hãy sạ ể ấ ẩ ầ ự ậ ử d ng các công c PMNM đang t n t i đ gi cho d án đ c m . ụ ụ ồ ạ ể ữ ự ượ ở

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 31/77

Page 32: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

• S d ng/s a đ i/t o ra các tiêu chu n m , theo tr t t đó. Hãy ki m tra tính h p l r ng cácử ụ ử ổ ạ ẩ ở ậ ự ể ợ ệ ằ tiêu chu n đ c s d ng là m ; m t ki m th đ n gi n v tính m là xác đ nh li u tiêuẩ ượ ử ụ ở ộ ể ử ơ ả ề ở ị ệ chu n đó có đ c các ph n m m ngu n m tri n khai hay không. ẩ ượ ầ ề ồ ở ể

3.1.1 Phân tích các lựa chọn thay thế (AoA)

Các phiên b n s m c a AoA có th th ng đ c phát tri n theo m t cách th c m . ả ớ ủ ể ườ ượ ể ộ ứ ở Ngoài vi c đ uệ ầ t m t cách đ n gi n m t đ i nghiên c u, các nhà qu n lý ch ng trình nên n l c xu t b n cácư ộ ơ ả ộ ộ ứ ả ươ ỗ ự ấ ả phát hi n m trên web (ho c n u nh y c m thì trên Intelink) và đ thu hút m t cách tích c c các ýệ ở ặ ế ạ ả ể ộ ự ki n và các ý t ng t bên ngoài t nh ng ng i th ng không có liên quan v i quân s ho c chínhế ưở ừ ừ ữ ườ ườ ớ ự ặ ph liên bang, khi th ng có s tinh thông nhi u h n t bên ngoài h n là bên trong.ủ ườ ự ề ơ ừ ơ

Các tham chi u chính th c cho AoA có th th y : https://dap.dau.mil/policy/Pages/overview.aspxế ứ ể ấ ở ho c https://acquisition.navy.mil/content/view/full/3486. M t tham chi u th c t t t cho AoA cũngặ ộ ế ự ế ố có th th y trong “Phân tích các l a ch n thay th (AoA) S tay ch d n th c t cho các phân tíchể ấ ự ọ ế ổ ỉ ẫ ự ế các l a ch n thay th ” (“Analysis of Alternatives (AoA) Handbook A Practical Guide to Analyses ofự ọ ế Alternatives”) (Tháng 07/2008).

AoA nên xác đ nh các tiêu chu n hi n đang t n t i có th đ c s d ng cũng nh các lĩnh v c n iị ẩ ệ ồ ạ ể ượ ử ụ ư ự ơ mà các tiêu chu n m i có th c n đ c t o ra. B t kỳ các tiêu chu n m i nào cũng ph i đ c xu tẩ ớ ể ầ ượ ạ ấ ẩ ớ ả ượ ấ b n nh các tiêu chu n m không đ c gây tr ng i b i các quy n trí tu . S d ng phù h p cácả ư ẩ ở ượ ở ạ ở ề ệ ử ụ ợ giao di n l p trình ng d ng (APIs) cũng nên đ c rà soát l i và các khuy n cáo đ c th c hi n.ệ ậ ứ ụ ượ ạ ế ượ ự ệ Các API ph i đ c chính ph ho c m t c quan tiêu chu n đ c l p s h u và ki m soát vì chúng làả ượ ủ ặ ộ ơ ẩ ộ ậ ở ữ ể nh ng đi m ti m tàng cho s khóa trói.ữ ể ề ự

PMNM đang t n t i th ng b b qua khi phát tri n AoA. Đi u này là ng c v i lu t và chính sách,ồ ạ ườ ị ỏ ể ề ượ ớ ậ mà chúng đòi h i s nghiên c u th tr ng các kho n th ng m i (bao g m c các PMNM s n cóỏ ự ứ ị ườ ả ươ ạ ồ ả ẵ m t cách công khai). M t văn phòng ch ng trình ph i tìm ra các l a ch n thay th là PMNM đ sộ ộ ươ ả ự ọ ế ể ử d ng, và n u phù h p, thí đi m v i các công c đó. Các đ a đi m đ ki m tra đ i v i các công cụ ế ợ ể ớ ụ ị ể ể ể ố ớ ụ PMNM bao g m: http://www.github.com, http://www.freshmeat.com, http://www.sourceforge.net,ồ và tìm ki m m t cách đ n gi n trên web v i c m t “open source software” (“ph n m m ngu nế ộ ơ ả ớ ụ ừ ầ ề ồ m ”) c ng v i kh năng mà b n đang c g ng phát tri n. ở ộ ớ ả ạ ố ắ ể

Các câu h i ví d c a AoA:ỏ ụ ủ

1. Các m c đích, m c tiêu và các yêu c u c a hụ ụ ầ ủ ệ th ng là gì?ố

2. Có các kh năng COTS và GOTS phù h pả ợ hi n đang t n t i hay không, bao g m cệ ồ ạ ồ ả PMNM và OGOTS?

3. Có các ch ng trình quân s khác xây d ngươ ự ự ho c phát tri n các kh năng t ng t không?ặ ể ả ươ ự B n có th k t h p v i chúng (nh , đ chia sạ ể ế ợ ớ ư ể ẻ công ngh ) đ c không?ệ ượ

4. Có các ch ng trình khác c a chính ph xâyươ ủ ủ d ng ho c phát tri n các kh năng t ng t hayự ặ ể ả ươ ự không?

5. Có các ch ng trình c a đ i tác qu c tươ ủ ố ố ế (NATO, …) xây d ng ho c phát tri n các khự ặ ể ả năng 'gi ng nh th ' hay không?ố ư ế

6. Có các c ng đ ng khác hi n đang t n t i màộ ồ ệ ồ ạ ch ng trình c a b n có th tham gia cùngươ ủ ạ ể (IEEE, NIST, ASME, NDIA, …) hay không?

7. N u ch ng trình c a b n c n ph i xây d ngế ươ ủ ạ ầ ả ự m t gi i pháp tùy bi n (nh GOTS) thì b n cóộ ả ế ư ạ th và nên đ a nó ra nh PMNM đ c không?ể ư ư ượ

8. Các tiêu chu n nào nên/có th đ c s d ng?ẩ ể ượ ử ụ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 32/77

Page 33: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

3.1.2 Yêu cầu thông tin (RFI)

Sau m t s kh i đ u AoA đ c phát tri n, b c ti p sau là xu t b n m t cách chính th c m t yêuộ ự ở ầ ượ ể ướ ế ấ ả ộ ứ ộ c u thông tin (RFI), mà nó là m t c h i t t đ u tiên đ cam k t m t cách chính th c v i gi i côngầ ộ ơ ộ ố ầ ể ế ộ ứ ớ ớ nghi p. Quá trình t o m t RFI đ c đ a ra trong lo t DoD 5000.ệ ạ ộ ượ ư ạ

RFI nên có m t mô t chi ti t v các kh năng nào chính ph mong mu n. M t s v n đ và các câuộ ả ế ề ả ủ ố ộ ố ấ ề h i chung s đ c h i trong RFI có th có: ỏ ẽ ượ ỏ ể

1. Các quy n trí tuề ệ

a) Chính ph mong mu n các quy n d li u không h n ch cho t t c các mã ngu n ph nủ ố ề ữ ệ ạ ế ấ ả ồ ầ m m đ c phát tri n b ng ti n c a ng i đóng thu , sao cho chính ph có th đ a raề ượ ể ằ ề ủ ườ ế ủ ể ư các ph n m m đó nh là các PMNM đ tri n khai m t tri t lý duy trì ph n m m theo sầ ề ư ể ể ộ ế ầ ề ự phát tri n c ng đ ng PMNM (theo DFARS 227.7203-2(b)(1)).ể ộ ồ

b) Chính ph có th ch d n cho nhà th u đ a mã ngu n ra nh là PMNM. Hãy mô tủ ể ỉ ẫ ầ ư ồ ư ả cách mà đi u này có th x y ra và gi y phép PMNM nào có th là t t nh t. ề ể ả ấ ể ố ấ

2. Các đ nh d ng d li u, các tiêu chu n & các giao di nị ạ ữ ệ ẩ ệ

a) Chính ph s ch s d ng các đ nh d ng d li u, các tiêu chu n & các giao di n màủ ẽ ỉ ử ụ ị ạ ữ ệ ẩ ệ chúng là m và có kh năng truy c p đ c m t cách m .ở ả ậ ượ ộ ở

b) Nh ng đ nh d ng d li u, nh ng tiêu chu n & nh ng giao di n nào s đ c đ xu tữ ị ạ ữ ệ ữ ẩ ữ ệ ẽ ượ ề ấ đ s d ng? Đ i v i m t tiêu chu n d li u đ c đ a ra, li u có m t tri n khai PMNMể ử ụ ố ớ ộ ẩ ữ ệ ượ ư ệ ộ ể nào c a tiêu chu n đó hay không?ủ ẩ

c) nh ng n i mà các tiêu chu n m không có s n, hãy th o lu n v các tiêu chu n sỞ ữ ơ ẩ ở ẵ ả ậ ề ẩ ở h u đ c quy n mà chúng đang t n t i, cách mà các tiêu chu n m m i có th đ c t oữ ộ ề ồ ạ ẩ ở ớ ể ượ ạ ra, và nhóm nào có th chi ph i chúng (nh IETF, W3C, OASIS, …).ể ố ư

3. Các công ngh OTSệ

a) Theo lu t và chính sách c a chính ph , thì COST (bao g m c PMNM) là ch p nh nậ ủ ủ ồ ả ấ ậ đ c đ s d ng trong ch ng trình này. ượ ể ử ụ ươ

b) Xin hãy xác đ nh các công ngh có th đ c s d ng: ị ệ ể ượ ử ụ c) Thích nghi: Các công ngh nào là s n sàng đ s d ng mà không đ c s a đ i?ệ ẵ ể ử ụ ượ ử ổ d) S a đ i: Các kh năng hi n có nào có th đ c tinh ch nh và/ho c s a đ i?ử ổ ả ệ ể ượ ỉ ặ ử ổ e) T o: Các công ngh nào có th c n ph i đ c t o ra?ạ ệ ể ầ ả ượ ạ

4. Các th c ti n c a OTDự ễ ủ

a) Chính ph mu n cam k t v i m t khán thính phòng c a các l p trình viên và ng i sủ ố ế ớ ộ ủ ậ ườ ử d ng r ng l n h n cho kh năng này; xin mô t cách mà đi u này có th x y ra.ụ ộ ớ ơ ả ả ề ể ả

b) N u có các ph n ho c t t c kh năng là ki m soát xu t kh u và/ho c bí m t, hãy gi iế ầ ặ ấ ả ả ể ấ ẩ ặ ậ ả thích cách mà m t nhà th u/nhà tích h p có th t o ra và chi ph i mã ngu n và cam k tộ ầ ợ ể ạ ố ồ ế m t cách có hi u qu v i m t c ng đ ng.ộ ệ ả ớ ộ ộ ồ

5. Các tham chi uế

a) N u có kh năng thì AoA cũng có th đ c xu t b n đ giúp c ng đ ng hi u đ c cácế ả ể ượ ấ ả ể ộ ồ ể ượ gi i pháp ti m năng đã đ c khai thác r i và quan tr ng h n là nh ng gi i pháp nào đãả ề ượ ồ ọ ơ ữ ả không đ c ki m tra.ượ ể

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 33/77

Page 34: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

b) M t lo t các tham chi u m đ c nh c trong ch d n này cũng có th đ c đ a vào.ộ ạ ế ở ượ ắ ỉ ẫ ể ượ ư

RFI nên yêu c u nh ng ví d c th v các tiêu chu n m đ c xác đ nh và đ c đ xu t tr c đóầ ữ ụ ụ ể ề ẩ ở ượ ị ượ ề ấ ướ đ s d ng. Đ i v i ph n m m đ c đ xu t mà không t n t i và s c n ph i đ c c p v n cho nhàể ử ụ ố ớ ầ ề ượ ề ấ ồ ạ ẽ ầ ả ượ ấ ố th u thì ph i chi ti t cách mà nó s đ c đ a ra và cách mà nhà th u s phát tri n m t c ng đ ngầ ả ế ẽ ượ ư ầ ẽ ể ộ ộ ồ xung quanh kh năng c a ph n m m đó.ả ủ ầ ề

3.2 Yêu cầu đề xuất (RFP)

Sau s kh i đ u AoA và RFI s hoàn thành, văn phòng ch ng trình nên có m t ý t ng t ng đ iự ở ầ ẽ ươ ộ ưở ươ ố v ng ch c v nh ng công ngh nào là s n sàng, s c nh tranh nào đang t n t i, và đ ng h ngữ ắ ề ữ ệ ẵ ự ạ ồ ạ ườ ướ công ngh nào ch ng trình có th mong mu n đi. M t quy t đ nh m u ch t mà chính ph có thệ ươ ể ố ộ ế ị ấ ố ủ ể th c hi n là quy t đ nh li u s là m thì có là yêu c u và th c đo chính cho s th c thi hay không.ự ệ ế ị ệ ẽ ở ầ ướ ự ự N u s minh b ch c a công ngh trong mã ngu n ph n m m là m t th c đo và tham s chính màế ự ạ ủ ệ ồ ầ ề ộ ướ ố chính ph c n đ th a mãn nhi m v c a mình thì nó nên tuyên b nh th trong RFP.ủ ầ ể ỏ ệ ụ ủ ố ư ế

Các ph n con sau đây chi ti t hóa các m c đích c a RFP giúp đ m b o tính m trong m t kh năngầ ế ụ ủ ả ả ở ộ ả quân s .ự

3.2.1 Tuyên bố về các mục đích (SOO) & ý định

M t tuyên b rõ ràng v ý đ nh và các m c đích c a ch ng trình là c n thi t đ thi t l p ng c nhộ ố ề ị ụ ủ ươ ầ ế ể ế ậ ữ ả c a nh ng gì là m s có nghĩa cho m t d án. Nh đ c th o lu n tr c đó, là m có m t s khíaủ ữ ở ẽ ộ ự ư ượ ả ậ ướ ở ộ ố c nh khác bi t, t các tiêu chu n m t i PMNM t i phát tri n m . Lãnh đ o c a t ng ch ng trìnhạ ệ ừ ẩ ở ớ ớ ể ở ạ ủ ừ ươ s c n ph i t quy t đ nh đâu trong s liên t c này h có th đ ng và mu n k t thúc dài h n h n.ẽ ầ ả ự ế ị ở ự ụ ọ ể ứ ố ế ạ ơ

SOO nên th c hi n các tuyên b v OTD, nh vi c xác đ nh OTD, l u ý r ng đây là “tri t lý duy trìự ệ ố ề ư ệ ị ư ằ ế ph n m m” có d ng ý (DFARS cho phép ch đ nh tri t lý duy trì ph n m m nh là minh ch ng choầ ề ụ ỉ ị ế ầ ề ư ứ các d ng ho t đ ng này), và yêu c u nh ng ng i chào hàng gi i thích cách h s tri n khai OTD.ạ ạ ộ ầ ữ ườ ả ọ ẽ ể

Ví d : ụ

Chính ph đ nh s d ng m t tri t lý duy trì ph n m m theo OTD (xem DFARS 227.7203-2(b)(1)) đủ ị ử ụ ộ ế ầ ề ể gia tăng tính lanh l , gia tăng s c nh tranh, làm gi m chi phí, và tăng t c đ tri n khai. OTD làẹ ự ạ ả ố ộ ể m t ti p c n cho s phát tri n ph n m m/h th ng trong đó các l p trình viên (nh ng ng i khôngộ ế ậ ự ể ầ ề ệ ố ậ ữ ườ nh t thi t ph i n m trong cùng m t t ch c) phát tri n và duy trì m t cách c ng tác ph n m mấ ế ả ằ ộ ổ ứ ể ộ ộ ầ ề ho c m t h th ng theo m t cách th c phân tán. OTD ph thu c vào các tiêu chu n m và cácặ ộ ệ ố ộ ứ ụ ộ ẩ ở giao di n m , PMNM và thi t k m , các công c tr c tuy n c ng tác và phân tán, và s lanh lệ ở ế ế ở ụ ự ế ộ ự ẹ c a công ngh . Ng i chào hàng s mô t cách mà h s tri n khai OTD, bao g m c cách mà hủ ệ ườ ẽ ả ọ ẽ ể ồ ả ọ d đ nh phát tri n, ti n hóa, và/ho c đóng góp cho m t c ng đ ng phát tri n t nhi u t ch c.ự ị ể ế ặ ộ ộ ồ ể ừ ề ổ ứ Ng i chào hàng s th o lu n các k ho ch c a h cho vi c s d ng, tri n khai, và phát tri n cácườ ẽ ả ậ ế ạ ủ ọ ệ ử ụ ể ể tiêu chu n m , các giao di n m , PMNM và các thi t k m , và các công c tr c tuy n c ng tác vàẩ ở ệ ở ế ế ở ụ ự ế ộ phân tán.

Ph n m m/h th ng nên ti p t c ti n hóa nh m t kh năng m chung đ c phát tri n và đ cầ ề ệ ố ế ụ ế ư ộ ả ở ượ ể ượ gi i quân s , và nh ng n i phù h p, gi i công nghi p c p nh t chung. Qua th i gian thì khớ ự ở ữ ơ ợ ớ ệ ậ ậ ờ ả năng này s tr thành r h n đ s h u, v n hành và nâng c p thông qua s c nh tranh gia tăng,ẽ ở ẻ ơ ể ở ữ ậ ấ ự ạ s k t bám ch t ch vào các tiêu chu n m , s th ng m i hóa c a các công ngh , s d ngự ế ặ ẽ ẩ ở ự ươ ạ ủ ệ ử ụ PMNM gia tăng và vi c thi hành các quy n không h n ch theo các m c đích c a chính ph . Cũngệ ề ạ ế ụ ủ ủ s là m m d o đ xúc tác kh năng đ m r ng ph m vi m t cách nhanh chóng nh m đáp ngẽ ề ẻ ể ả ể ở ộ ạ ộ ằ ứ đ c v i nh ng m i đe d a m i, đang ti n hóa trong t ng lai.ượ ớ ữ ố ọ ớ ế ươ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 34/77

Page 35: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

3.2.2 Các quyền trí tuệ

Hãy đ m b o r ng chính ph có đ c các quy n c n thi t đ tri n khai OTD. ả ả ằ ủ ượ ề ầ ế ể ể

Văn b n ví d : ả ụ

Chính ph s s d ng OTD nh là tri t lý duy trì ph n m m c a mình (xem DFARS 227.7203-2 (b)ủ ẽ ử ụ ư ế ầ ề ủ(1)). Đi u này có nghĩa r ng ph n m m không đ c phát tri n đ c nh t v i chi phí c a t nhân sề ằ ầ ề ượ ể ộ ấ ớ ủ ư ẽ đ c duy trì thông qua s c ng tác gi a nhi u t ch c, ho c đ c nh t bên trong chính ph ho cượ ự ộ ữ ề ổ ứ ặ ộ ấ ủ ặ v i khu v c th ng m i, theo ý mu n c a chính ph . Vì th , chính ph ph i có các quy n khôngớ ự ươ ạ ố ủ ủ ế ủ ả ề h n ch đ i v i t t c các ph n m m máy tính (bao g m c mã ngu n, các tài li u thi t k chínhạ ế ố ớ ấ ả ầ ề ồ ả ồ ệ ế ế th c và không chính th c) và các d li u k thu t (bao g m c các sách ch d n cho ng i sứ ứ ữ ệ ỹ ậ ồ ả ỉ ẫ ườ ử d ng) đ c phát tri n theo h p đ ng này tr phi chính ph đ a ra s cho phép c th b ng vănụ ượ ể ợ ồ ừ ủ ư ự ụ ể ằ b n đ làm khác đi. Ph n m m đ c phân ph i ph i đ a ra đ c các quy n không h n ch ho cả ể ầ ề ượ ố ả ư ượ ề ạ ế ặ đ a ra m t gi y phép PMNM tr phi chính ph đ a ra s cho phép c th b ng văn b n đ làmư ộ ấ ừ ủ ư ự ụ ể ằ ả ể khác đi. H n n a, chính ph mong mu n r ng nhà th u s đ a ra b t kỳ mã ngu n ph n m mơ ữ ủ ố ằ ầ ẽ ư ấ ồ ầ ề đ c phát tri n nào theo m t gi y phép PMNM tr phi chính ph phân lo i ph n m m ho c chượ ể ộ ấ ừ ủ ạ ầ ề ặ ỉ đ nh khác đi vì l i ích c a an ninh qu c gia.ị ợ ủ ố

3.2.3 Các định dạng dữ liệu, các tiêu chuẩn & các giao diện

Ph l c A đ a ra các ch d n cho m t s trong s nhi u ch th và chính sách c a chính ph M cóụ ụ ư ỉ ẫ ộ ố ố ề ỉ ị ủ ủ ỹ liên quan t i các đ nh d ng d li u, các tiêu chu n, và các giao di n m .ớ ị ạ ữ ệ ẩ ệ ở

Văn b n ví d : ả ụ

Theo các ch th và chính sách c a chính ph M thì ch ng trình này s u tiên và s d ng cácỉ ị ủ ủ ỹ ươ ẽ ư ử ụ đ nh d ng d li u, các tiêu chu n và các giao di n có th đ c truy c p m t cách m . N u b t kỳị ạ ữ ệ ẩ ệ ể ượ ậ ộ ở ế ấ th gì trong s này không s n sàng thì nhà th u nên chi ti t hóa cách có th áp d ng và/ho c s aứ ố ẵ ầ ế ể ụ ặ ử đ i các tiêu chu n hi n đang t n t i ho c cách s t o ra m i nh ng th đó và đ a chúng ra theoổ ẩ ệ ồ ạ ặ ẽ ạ ớ ữ ứ ư m t cách th c đ m b o r ng chúng là t do và không b gây tr ng i. Đ c bi t: ộ ứ ả ả ằ ự ị ở ạ ặ ệ

1. Các đ nh d ng d li u, các tiêu chu n và các giao di n sau s đ c s d ng: <LI T KÊị ạ ữ ệ ẩ ệ ẽ ượ ử ụ Ệ NH NG TH PHÙ H P CHO D ÁN, VÀ MÔ T CÁCH MÀ CHÚNG PH I Đ CỮ Ứ Ợ Ự Ả Ả ƯỢ S D NG>.Ử Ụ

2. Ph n m m/h th ng k t qu ph i là theo các module. Ng i chào hàng ph i xác đ nh cácầ ề ệ ố ế ả ả ườ ả ị module ch ch t và cách mà các module đó s t ng tác.ủ ố ẽ ươ

3. Nhà th u s s d ng và/ho c m r ng các tiêu chu n m không b gây tr ng i trong quáầ ẽ ử ụ ặ ở ộ ẩ ở ị ở ạ trình di n ti n c a ch ng trình này. N u chúng đ c m r ng, thì chúng s đ c ghiễ ế ủ ươ ế ượ ở ộ ẽ ượ thành tài li u d ng (và v i các quy n c n thi t) sao cho nh ng m r ng đó có th đ cệ ở ạ ớ ề ầ ế ữ ở ộ ể ượ đ trình cho m t c quan tiêu chu n phù h p. ệ ộ ơ ẩ ợ

4. N u các tiêu chu n m cho các giao di n ch ch t bên ngoài không t n t i, thì nhà th u sế ẩ ở ệ ủ ố ồ ạ ầ ẽ t o ra và xu t b n các tiêu chu n m không b gây tr ng i có th truy c p đ c. Đâu làạ ấ ả ẩ ở ị ở ạ ể ậ ượ nh ng tiêu chu n mà nhà th u đ xu t đ t o ra, đâu là các ph m vi c a chúng và cách màữ ẩ ầ ề ấ ể ạ ạ ủ chúng s đ c t o ra?ẽ ượ ạ

5. Các đ nh d ng d li u, các tiêu chu n và các giao di n nào khác s đ c đ xu t s d ng?ị ạ ữ ệ ẩ ệ ẽ ượ ề ấ ử ụ Trong t ng tr ng h p, có m t tri n khai PMNM nào x lý ho c tri n khai nó hay không?ừ ườ ợ ộ ể ử ặ ể

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 35/77

Page 36: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

3.2.4. Các công nghệ OTS

Văn b n ví d :ả ụ

Theo lu t và chính sách c a chính ph , s d ng COTS th ng m i, bao g m c PMNM, đ c uậ ủ ủ ử ụ ươ ạ ồ ả ượ ư tiên, và s d ng l i là b t bu c đ i v i vi c phát tri n (l i). Các nhà th u nên đánh giá các côngử ụ ạ ắ ộ ố ớ ệ ể ạ ầ ngh đ s d ng theo tr t t sau: ệ ể ử ụ ậ ự

1. Áp d ng các công ngh hi n đang t n t i. Đi u này bao g m COTS (bao g m c PMNM) vàụ ệ ệ ồ ạ ề ồ ồ ả GOTS (bao g m OGOTS)ồ

2. S a đ i: Nh ng công ngh đang t n t i nào có th đ c tinh ch nh và/ho c đ c s a đ i?ử ổ ữ ệ ồ ạ ể ượ ỉ ặ ượ ử ổ3. T o ra: Nh ng công ngh nào có th c n ph i đ c t o ra?ạ ữ ệ ể ầ ả ượ ạ4. Ng i chào hàng s li t kê nh ng s n ph m GOTS nào s đ c s d ng và xem xét khườ ẽ ệ ữ ả ẩ ẽ ượ ử ụ ả

năng cho vi c chuy n đ i và đ a nó ra cho s phát tri n c ng tác, nh là PMNM ho cệ ể ổ ư ự ể ộ ư ặ OGOTS.

3.2.5 Các thực tiễn của OTD

Văn b n ví d : ả ụ

Ng i chào hàng nên s d ng các th c ti n c a s phát tri n công ngh m : ườ ử ụ ự ễ ủ ự ể ệ ở 1. Chính ph mong mu n cam k t v i m t khán thính phòng r ng l n h n c a các l p trìnhủ ố ế ớ ộ ộ ớ ơ ủ ậ

viên và nh ng ng i s d ng cho kh năng này. Hãy mô t cách mà đi u này có th x y raữ ườ ử ụ ả ả ề ể ả đ c.ượ

2. N u các ph n ho c t t c kh năng là ki m soát xu t kh u và/ho c bí m t, thì hãy gi i thíchế ầ ặ ấ ả ả ể ấ ẩ ặ ậ ả cách mà m t nhà th u/nhà tích h p có th t o ra và qu n lý mã ngu n và cam k t m t cáchộ ầ ợ ể ạ ả ồ ế ộ có hi u qu v i m t c ng đ ng (nh , khung công vi c v i các trình cài c m, h th ng qu nệ ả ớ ộ ộ ồ ư ệ ớ ắ ệ ố ả lý c u hình phân tán, ...).ấ

3. Các phiên b n mã ngu n ph i tuân th các tiêu chu n c a c ng đ ng PMNM. Chúng ph iả ồ ả ủ ẩ ủ ộ ồ ả là d dàng và theo m t cách th c t đ ng đ c biên d ch/xây d ng, ki m th , và ch y cóễ ộ ứ ự ộ ượ ị ự ể ử ạ s d ng các công c và th vi n s n có đ c s d ng r ng rãi. Nó ph i có kh năng đử ụ ụ ư ệ ẵ ượ ử ụ ộ ả ả ể c p nh t m t cách riêng r và nhanh chóng các th vi n và các ph thu c khác (thay vìậ ậ ộ ẽ ư ệ ụ ộ vi c chúng đ c nhúng và khó đ c p nh t).ệ ượ ể ậ ậ

4. Văn phòng và/ho c nhà th u c a ch ng trình nên tri n khai, nh các kho d li u (DFARSặ ầ ủ ươ ể ư ữ ệ 227.7108), các site c ng tác n i mà t t c các mã ngu n ph n m m, thông tin thi t kộ ở ơ ấ ả ồ ầ ề ế ế không chính th c (nh , các th đi n t , wikis, các nh t ký chat), các trình theo dõi l i, cácứ ư ư ệ ử ậ ỗ tài li u thi t k chính th c, và mã có th ch y đ c s có th truy c p đ c đ i v i chínhệ ế ế ứ ể ạ ượ ẽ ể ậ ượ ố ớ ph và/ho c b t kỳ ai mà chính ph th y phù h p đ trao quy n truy c p. Ng i th c hi nủ ặ ấ ủ ấ ợ ể ề ậ ườ ự ệ nên chi ti t: ế a) Môi tr ng phát tri n tích h p IDE (Integrated Development Environment) nào đ cườ ể ợ ượ

s d ng. ử ụ b) Các c ng đ ng tham gia và/ho c t o ra.ộ ồ ặ ạ c) Các v n đ ti m tàng v ki m soát xu t kh u (ITAR/EAR) và bí m t v i phiên b n mãấ ề ề ề ể ấ ẩ ậ ớ ả

ngu n và d li u c a ph n m m.ồ ữ ệ ủ ầ ề d) Gi i thích cách mà chính ph và các nhân viên khác s đ c cung c p s truy c pả ủ ẽ ượ ấ ự ậ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 36/77

Page 37: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

m ng t xa m t cách liên t c t i di n ti n c a công vi c hi n hành (ch không ph i làạ ừ ộ ụ ớ ễ ế ủ ệ ệ ứ ả các k t qu cu i cùng).ế ả ố

5. Cách th c và n i mà ng i th c hi n có k ho ch chuy n các công ngh và các ch ngứ ơ ườ ự ệ ế ạ ể ệ ươ trình ph n m m này sau m t giai đo n th c hi n?ầ ề ộ ạ ự ệ

6. Ng i chào hàng nên xác đ nh vài trong s các ví d phù h p nh t g n đây trong đó h đãườ ị ố ụ ợ ấ ầ ọ s d ng các th c ti n OTD đ duy trì ph n m m, ch ra cách mà các kinh nghi m và cácử ụ ự ễ ể ầ ề ỉ ệ thành công c a mình th hi n đ c r ng s có kh năng tri n khai OTD trong d án này.ủ ể ệ ượ ằ ẽ ả ể ự

3.2.6 Các phân phối

Văn b n ví d : ả ụ

1. Các quy n trí tuề ệ a) Chính ph ph i nh n đ c các quy n không h n ch đ i v i các d li u cho t t c mãủ ả ậ ượ ề ạ ế ố ớ ữ ệ ấ ả

ngu n ph n m m đ c phát tri n b ng ti n c a nh ng ng i đóng thu tr phi ng iồ ầ ề ượ ể ằ ề ủ ữ ườ ế ừ ườ chào hàng đã nh n đ c s cho phép b ng văn b n.ậ ượ ự ằ ả

b) Chính ph ph i nh n đ c các gi y phép PMNM ho c các quy n không h n ch cho t tủ ả ậ ượ ấ ặ ề ạ ế ấ c các phân ph i tr phi ng i chào hàng đã nh n đ c s cho phép b ng văn b n.ả ố ừ ườ ậ ượ ự ằ ả

nh ng n i mà ph n m m đ c c p phép c a PMNM thì: Ở ữ ơ ầ ề ượ ấ ủ

• T t c các gi y phép PMNM ph i t ng thích đ c theo pháp lý theo cách màấ ả ấ ả ươ ượ chúng đ c s d ng.ượ ử ụ

• T t c các gi y phép ph i đ c OSI ch ng th c nh là các gi y phép PMNM vàấ ả ấ ả ượ ứ ự ư ấ FSF ch ng th c nh là các gi y phép ph n m m t do.ứ ự ư ấ ầ ề ự

2. Các đ nh d ng d li u, các tiêu chu n & các giao di nị ạ ữ ệ ẩ ệ a) M t trình bày v s tuân th v i các tiêu chu n m chính đ c yêu c u. nh ng n iộ ề ự ủ ớ ẩ ở ượ ầ Ở ữ ơ

có th , đi u này s đ c th hi n b ng vi c thay th t ng thành ph n mà nó tri n khaiể ề ẽ ượ ể ệ ằ ệ ế ừ ầ ể m t tiêu chu n m v i m t tri n khai đ c l p cũng tri n khai tiêu chu n m đó. Ví d ,ộ ẩ ở ớ ộ ể ộ ậ ể ẩ ở ụ n u m t ng d ng web đ c xây d ng trên các tiêu chu n m nh HTTP, HTML, vàế ộ ứ ụ ượ ự ẩ ở ư CSS, thì nó ph i đ c th hi n v i các trình duy t web thông d ng có th thay th đ cả ượ ể ệ ớ ệ ụ ể ế ượ mà chúng tri n khai các tiêu chu n này.ể ẩ

b) Ki m tra tính h p l mà các đ nh d ng d li u, các tiêu chu n & các giao di n này sể ợ ệ ị ạ ữ ệ ẩ ệ ẽ không b gây tr ng i (nh , các b ng sáng ch ch a đ ng phí b n quy n) và có thị ở ạ ư ằ ế ứ ự ả ề ể truy c p đ c m t cách m .ậ ượ ộ ở

c) N u các tiêu chu n m i đã đ c t o ra, hãy ki m tra tính h p l r ng chúng đangế ẩ ớ ượ ạ ể ợ ệ ằ đ c m t c quan đ c l p duy trì.ượ ộ ơ ộ ậ

3. Ki m tra tính h p l r ng các kho d li u đang xúc tác cho s phát tri n c a c ng đ ng.ể ợ ệ ằ ữ ệ ự ể ủ ộ ồ Ki m tra tính h p l r ng b t kỳ thông tin m t ho c ki m soát xu t kh u nào cũng đ cể ợ ệ ằ ấ ậ ặ ể ấ ẩ ượ đánh d u và b o v m t cách phù h p.ấ ả ệ ộ ợ

3.3 Lựa chọn nguồn: Đánh giá các đề xuất

Lo t DoD 5000 là r t rõ ràng v cách mà nh ng n l c đ xu t s đ c qu n lý và tính đi m; ph nạ ấ ề ữ ỗ ự ề ấ ẽ ượ ả ể ầ này ch đ a ra các khuy n cáo.ỉ ư ế

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 37/77

Page 38: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

3.3.1 Đánh giá cách mà đề xuất tốt đáp ứng RFP

Đánh giá nên xem xét và tính đi m đ xu t đã đáp ng t t th nào cho RFP, bao g m c các lĩnhể ề ấ ứ ố ế ồ ả v c đ c li t kê trên: ự ượ ệ ở

1. Nó có đáp ng đ c t t c các m c đích hay không?ứ ượ ấ ả ụ

2. Các quy n trí tuề ệ

3. Các đ nh d ng d li u, các tiêu chu n & các giao di nị ạ ữ ệ ẩ ệ

4. Các công ngh OTSệ

5. Các th c ti n OTSự ễ

Khi ti n hành l a ch n ngu n thì m u ch t đ phát tri n các tiêu chí mà chúng không m h và dế ự ọ ồ ấ ố ể ể ơ ồ ễ dàng đ tính đi m. Ví d : ể ể ụ

1. Nhà th u đã li t kê nh ng tiêu chu n nào mà h có k ho ch s d ng, và chúng có phù h pầ ệ ữ ẩ ọ ế ạ ử ụ ợ không?

2. Chi n l c c ng đ ng k thu t g n k t và có th làm vi c đ c là gì?ế ượ ộ ồ ỹ ậ ắ ế ể ệ ượ

3. Các quy n trí tu , các đ nh d ng/giao di n, và các thành ph n OTS cho các k t qu côngề ệ ị ạ ệ ầ ế ả vi c có đ c mô t rõ ràng hay không?ệ ượ ả

3.3.2 Các tiêu chí chấp nhận/phê chuẩn đối với các phân phối

Th m chí khi chính ph và m t nhà th u đ t đ c m t th a thu n đ a vào các quy n không h nậ ủ ộ ầ ạ ượ ộ ỏ ậ ư ề ạ ch , thì ki n trúc theo module, các tiêu chu n và giao di n m , và m t chi n l c c ng đ ng, thìế ế ẩ ệ ở ộ ế ượ ộ ồ v n có kh năng đánh m t nh ng l i ích c a OTD n u các phân ph i theo h p đ ng b sót nh ngẫ ả ấ ữ ợ ủ ế ố ợ ồ ỏ ữ đi m nh . N u m t nhà th u tri n khai ph n m m nh là các nh phân trong m t h th ng quân s ,ể ỏ ế ộ ầ ể ầ ề ư ị ộ ệ ố ự thì chính ph không th ki m tra đ c tính h p l r ng t t c các mã ngu n mà chính ph đã tr ti nủ ể ể ượ ợ ệ ằ ấ ả ồ ủ ả ề th c s đ c biên d ch trong phân ph i cu i cùng. Các khách hàng c a chính ph nên áp d ng m tự ự ượ ị ố ố ủ ủ ụ ộ ti p c n “tin c y nh ng ph i ki m tra” đ i v i vi c biên d ch các ph n m m do chính ph c p v nế ậ ậ ư ả ể ố ớ ệ ị ầ ề ủ ấ ố b ng vi c kiên đ nh r ng t t c mã ngu n s đ c phân ph i và biên d ch trong h th ng đi n toánằ ệ ị ằ ấ ả ồ ẽ ượ ố ị ệ ố ệ n i mà nó có nghĩa đ ch y. Vi c biên d ch ph n m m trong m t h th ng đích nên là m t đi u ki nơ ể ạ ệ ị ầ ề ộ ệ ố ộ ề ệ ch p nh n theo h p đ ng đ i v i phân ph i đó. Cũng v y, phân ph i c a m t b n sao đ c l u trấ ậ ợ ồ ố ớ ố ậ ố ủ ộ ả ượ ư ữ c a t t c các tài li u thi t k chính th c và không chính th c nên là m t đi u ki n c a s ch p nh nủ ấ ả ệ ế ế ứ ứ ộ ề ệ ủ ự ấ ậ theo h p đ ng c a phân ph i đó. Nh ng y u t này bao g m: ợ ồ ủ ố ữ ế ố ồ

1. Các gi n đ và tài li u ki n trúc và h th ng.ả ồ ệ ế ệ ố

2. T t c các th vi n ph n m m c n thi t.ấ ả ư ệ ầ ề ầ ế

3. Tài li u v ngôn ng , môi tr ng phát tri n, và các phiên b n c a trình biên d ch đ c sệ ề ữ ườ ể ả ủ ị ượ ử d ng.ụ

4. Các th o lu n trên các di n đàn và danh sách th và các nh t ký chat.ả ậ ễ ư ậ

5. Các báo cáo theo dõi l i.ỗ

6. Các nh t ký ki m soát phiên b n.ậ ể ả

T t c các y u t OTD trong đ xu t c a d án nên đ c đánh s nh các nhi m v riêng r trongấ ả ế ố ề ấ ủ ự ượ ố ư ệ ụ ẽ h p đ ng, và tài li u đ c t o ra và có liên quan t i các y u t đó ph i đ c phân ph i tr c khi hợ ồ ệ ượ ạ ớ ế ố ả ượ ố ướ ệ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 38/77

Page 39: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

th ng đ c cho là đ c phê chu n và đ c ch p nh n đ i v i các m c đích h p đ ng và thanh toán.ố ượ ượ ẩ ượ ấ ậ ố ớ ụ ợ ồ

3.3.3 Các cạm bẫy phải tránh

Chú ý đ i v i nh ng c m b y sau: ố ớ ữ ạ ẫ

1. Ph n m m l n l n vi c chính ph c p v n v i ph n m m t nhân c p v n (đ c bi t n u nóầ ề ẫ ộ ệ ủ ấ ố ớ ầ ề ư ấ ố ặ ệ ế đ c c p b ng sáng ch ), vì th mà chính ph không nh n đ c các quy n không h n ch .ượ ấ ằ ế ế ủ ậ ượ ề ạ ế

2. K t h p các thành ph n s h u đ c quy n (đ c bi t không ph i là OTS) mà chúng b m cế ợ ầ ở ữ ộ ề ặ ệ ả ị ắ vào các phí c p phép, đ c bi t n u h th ng đó đ c thi t k đ b o v các thành ph n đó.ấ ặ ệ ế ệ ố ượ ế ế ể ả ệ ầ

3. Ph n m m l n l n v i ki m soát xu t kh u và bí m t v i các ph n m m khác. Các l p trìnhầ ề ẫ ộ ớ ể ấ ẩ ậ ớ ầ ề ậ viên nên thay vào đó b ng vi c t o ra m t ki n trúc “cài c m” ( nh ng n i có kh năng) màằ ệ ạ ộ ế ắ ở ữ ơ ả nó cho phép s d ng và chia s ph n m m không b h n ch b ng các ki m soát xu t kh uử ụ ẻ ầ ề ị ạ ế ằ ể ấ ẩ ho c bí m t.ặ ậ

4. Th t b i trong vi c đ a vào các y u t c n thi t đ biên d ch mã ngu n trong h th ng đíchấ ạ ệ ư ế ố ầ ế ể ị ồ ệ ố (vì lý do yêu c u các phân ph i ph i đ c đ a ra nh mã ngu n và đ c biên d ch trên hầ ố ả ượ ư ư ồ ượ ị ệ th ng đích).ố

5. Thi u vi c lên k ho ch qu n lý c ng đ ng và duy trì mã ngu n c a d án nh m t y u tế ệ ế ạ ả ộ ồ ồ ủ ự ư ộ ế ố cho vi c v n hành và duy trì O&M (Operation & Maintenance). S duy trì và qu n lý c aệ ậ ự ả ủ m t c ng đ ng xung quanh m t thành ph n ph n m m c th có th đ a ra nh ng l i ích toộ ộ ồ ộ ầ ầ ề ụ ể ể ư ữ ợ l n (nh nh ng c i ti n trong an ninh và tính t ng h p khi các công ngh ti n hóa bênớ ư ữ ả ế ươ ợ ệ ế trong và bên ngoài chính ph ) chi phí th p nh t. Nh ng có ai đó, m t l p trình viên caoủ ở ấ ấ ư ộ ậ c p s là u tiên h n, c n chuyên tâm toàn b th i gian vào nhi m v này, và đi u đó ch cấ ẽ ư ơ ầ ộ ờ ệ ụ ề ắ s x y ra n u ng i qu n lý c ng đ ng đ c đ n bù cho công vi c này. Là h p pháp đ i v iẽ ả ế ườ ả ộ ồ ượ ề ệ ợ ố ớ m t nhà cung c p đ ph n đ i đ i v i m t nhi m v k t thúc m c a vi c qu n lý m t c ngộ ấ ể ả ố ố ớ ộ ệ ụ ế ở ủ ệ ả ộ ộ đ ng ngu n m nhi u l p trình viên ho c m t c ng đ ng các l p trình viên c a GOTS nhồ ồ ở ề ậ ặ ộ ộ ồ ậ ủ ư m t ho t đ ng tình nguy n, th m chí dù đi u đó có th là m t l i ích dài h n cho công vi cộ ạ ộ ệ ậ ề ể ộ ợ ạ ệ kinh doanh c a h . Cũng v y, là ngây th và l c quan đ i v i chính ph đ gi thi t r ng sủ ọ ậ ơ ạ ố ớ ủ ể ả ế ằ ự qu n lý thông minh và s duy trì và c p nh t đ c liên t c đ i v i m t d án OTD, đ c bi tả ự ậ ậ ượ ụ ố ớ ộ ự ặ ệ m t d án GOTS (so v i PMNM công khai), s x y ra m t cách màu nhi m mà không cóộ ự ớ ẽ ả ộ ệ các tài nguyên chuyên dành cho nhi m v đó. Nh ng ng i qu n lý ch ng trình nên xácệ ụ ữ ườ ả ươ đ nh các tài nguyên đ tri n khai th m chí m t ph n nh t ng đ ng toàn b th i gian đị ể ể ậ ộ ầ ỏ ươ ươ ộ ờ ể duy trì các c ng đ ng OTD sau khi các d án đ c phân ph i. N u ti n cho ch ng trìnhộ ồ ự ượ ố ế ề ươ không th có s n cho O&M (so v i s phát tri n) nh m t v n đ v chính sách, thì nh ngể ẵ ớ ự ể ư ộ ấ ề ề ữ ng i qu n lý ch ng trình nên ch c ch n r ng s qu n lý c ng đ ng OTD đ c xây d ngườ ả ươ ắ ắ ằ ự ả ộ ồ ượ ự trên k ho ch chuy n d ch và r ng chi phí (nh th i gian c ng v i chi phí duy trì h t ngế ạ ể ị ằ ư ờ ộ ớ ạ ầ c ng tác c a c ng đ ng) đ c xây d ng trong ngân sách O&M đ i v i kh năng đ c tri nộ ủ ộ ồ ượ ự ố ớ ả ượ ể khai. Hãy s d ng h t ng c ng tác PMNM, so v i các d ch v đ c qu n lý m t cách sử ụ ạ ầ ộ ớ ị ụ ượ ả ộ ở h u đ c quy n, có th gi m các chi phí O&M đ i v i các d án OTD trong các ho t đ ng vàữ ộ ề ể ả ố ớ ự ạ ộ pha duy trì, đ m b o r ng ti n c a O&M s đ c s d ng đ gi l i th i gian và s chú ýả ả ằ ề ủ ẽ ượ ử ụ ể ữ ạ ờ ự c a m t l p trình viên cao c p ho c ng i qu n lý c ng đ ng mà anh này gi cho d ánủ ộ ậ ấ ặ ườ ả ộ ồ ữ ự đ c n p năng l ng.ượ ạ ượ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 39/77

Page 40: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Chương 4. Phát triển & Phân phối liên tụcM t khi m t kh năng quân s đ c đ a lên và ch y, thì d án còn ch a k t thúc. Trên th c t , nóộ ộ ả ự ượ ư ạ ự ư ế ự ế ch b t đ u. Các ho t đ ng và pha duy trì c a ph n m m đ c đ c tr ng b i nh ng thay đ i liên ti pỉ ắ ầ ạ ộ ủ ầ ề ượ ặ ư ở ữ ổ ế trong kho mã ngu n, đ i v i b t kỳ s l ng lý do nào nh : nh ng thay đ i ph n c ng, s a các l iồ ố ớ ấ ố ượ ư ữ ổ ầ ứ ử ỗ ph n m m, các c p nh t và thay đ i, các thay đ i v h t ng công ngh thông tin, đ r ng băngầ ề ậ ậ ổ ổ ề ạ ầ ệ ộ ộ thông và các c p nh t theo các nhu c u chi n đ u. Các nhà th u và nhân viên c a chính ph cũng sậ ậ ầ ế ấ ầ ủ ủ ẽ thay đ i.ổ

Cu i cùng, n u các b c bên d i đ c tuân theo, thì ch ng trình s trong m t tình tr ng t t đố ế ướ ướ ượ ươ ẽ ở ộ ạ ố ể nhanh chóng nâng c p kh năng c a ph n m m đ gi đ c c p nh t v i thay đ i công ngh và cácấ ả ủ ầ ề ể ữ ượ ậ ậ ớ ổ ệ m i đe d a m i.ố ọ ớ

4.1 Các chu kỳ phát triển nhanh

V m t l ch s , các d án ph n m m c a chính ph theo các rà soát l i các yêu c u dài lâu đ cề ặ ị ử ự ầ ề ủ ủ ạ ầ ượ tuân theo v i nh ng suy nh c c a các tác v , các l ch trình, ki m th và đánh giá, và phân ph iớ ữ ượ ủ ụ ị ể ử ố chính th c đ u theo ki u thác n c đ . Là không bình th ng đ i v i các vòng đ i đ t o ra nh ngứ ề ể ướ ổ ườ ố ớ ờ ể ạ ữ vòng đ i phân ph i t i thi u theo m t năm ho c lâu h n - v i tính m m d o nh bé cho vi c ápờ ố ố ể ộ ặ ơ ớ ề ẻ ỏ ệ d ng ch c năng ho c công ngh m i bên trong chu kỳ đó. ụ ứ ặ ệ ớ

Đ i ngh ch l i m t cách sâu s c, h u h t các d án PMNM là trong m t tình tr ng luôn luôn ti nố ị ạ ộ ắ ầ ế ự ộ ạ ế hóa v i các chu kỳ ki m th và xây d ng r t ng n. Nh ng th c ti n đ c nuôi n ng t t nh t sớ ể ử ự ấ ắ ữ ự ễ ượ ấ ố ấ ẽ nhanh chóng đ c áp d ng xuyên kh p các d án ngu n m đ c thi t l p. Trong nhi u tr ng h p,ượ ụ ắ ự ồ ở ượ ế ậ ề ườ ợ đi u này đã thi t l p nên các tiêu chu n de facto cho các d án phát tri n ph n m m. ề ế ậ ẩ ự ể ầ ề

Đi u đi n hình đ i v i các d án ngu n m là đánh d u các phiên b n c a chúng b ng các con sề ể ố ớ ự ồ ở ấ ả ủ ằ ố ch n - nh 1.8.2. T n su t c a nh ng xây d ng và các phiên b n chính th c là khác nhau đ i v iẵ ư ầ ấ ủ ữ ự ả ứ ố ớ t ng d án - nh ng đ c lên k ho ch m t cách thông th ng trên c s theo quý, n a năm, ho cừ ự ư ượ ế ạ ộ ườ ơ ở ử ặ m t năm. Theo qui c, nh ng phiên b n phát tri n - đôi khi đ c đ t tên là nh ng phiên b nộ ướ ữ ả ể ượ ặ ữ ả không n đ nh, s đ c tung ra gi a ch ng cho c ng đ ng ki m th và bình lu n. Nh ng phiênổ ị ẽ ượ ở ữ ừ ộ ồ ể ử ậ ữ b n phát tri n, nh là nh ng phiên b n không chính th c, th ng có các con s phiên b n là l -ả ể ư ữ ả ứ ườ ố ả ẻ nh 1.7.0. Đ i v i các ch ng trình c a chính ph , th ng s có ý nghĩa đ đ a ra các phiên b nư ố ớ ươ ủ ủ ườ ẽ ể ư ả chính th c.ứ

4.2 Kiểm thử, chứng thực và làm cho tin tưởng

Ph n m m OTD ph i đáp ng y h t các tiêu chu n cho s ch ng th c và làm cho tin t ng C&Aầ ề ả ứ ệ ẩ ự ứ ự ưở (Certification & Accreditation) nh ph n m m đóng ho c s h u đ c quy n. u đi m c a OTD làư ầ ề ặ ở ữ ộ ề Ư ể ủ các thành ph n có th đã đ c ch ng th c t tr c ho c đ c k t h p vào các h th ng đ c ch ngầ ể ượ ứ ự ừ ướ ặ ượ ế ợ ệ ố ượ ứ th c và đ c làm cho tin t ng r i. Đ c bi t trong các ki n trúc h ng d ch v , thành ph n ho cự ượ ưở ồ ặ ệ ế ướ ị ụ ầ ặ ch ng th c d ch v ph n m m đã có tr c đó r i làm gi m thi u kích c c a kho mã ngu n m i màứ ự ị ụ ầ ề ướ ồ ả ể ỡ ủ ồ ớ nó s đ c ch ng th c và làm cho tin t ng đ c. ẽ ượ ứ ự ưở ượ

H u h t các d án ngu n m bây gi h tr đ n v ki m th và nh ng ph n xây d ng đ c t đ ngầ ế ự ồ ở ờ ỗ ợ ơ ị ể ử ữ ầ ự ượ ự ộ hóa vào ban đêm v i vi c ki m th đ c tích h p. Các v n đ vì th đ c phát hi n và đ c s aớ ệ ể ử ượ ợ ấ ề ế ượ ệ ượ ử ch a nhanh chóng. S phát tri n và tri n khai các gi i pháp ph n m m đ c gia t c b ng dòng ti nữ ự ể ể ả ầ ề ượ ố ằ ế trình ki m th , xây d ng, và đóng gói theo đ n v đ c tích h p. Nó s tr nên ngày m t quan tr ngể ử ự ơ ị ượ ợ ẽ ở ộ ọ đ ch ng th c cho các qui trình phát tri n, ki m th , và phân ph i so v i nh ng phiên b n ph nể ứ ự ể ể ử ố ớ ữ ả ầ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 40/77

Page 41: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

m m c th . Qu n lý ch ng trình nên đ c khuy n khích đ tham gia m t cách tích c c v i cácề ụ ể ả ươ ượ ế ể ộ ự ớ nhóm ngu n m bên ngoài b ng vi c phát tri n và thúc đ y đ n v ki m th .ồ ở ằ ệ ể ẩ ơ ị ể ử

Thách th c đ i v i m t ng i qu n lý ch ng trình mà kh năng c a ph n m m c a anh ta là liênứ ố ớ ộ ườ ả ươ ả ủ ầ ề ủ t c đ c ti n b b i m t c ng đ ng là: cách nào và khi nào b n xác đ nh đ c m t phiên b n c thụ ượ ế ộ ở ộ ộ ồ ạ ị ượ ộ ả ụ ể v kh năng nh là m t phiên b n chính th c cho các m c đích C&A, và t n su t c a các phiên b nề ả ư ộ ả ứ ụ ầ ấ ủ ả đó là th nào. Là s ng còn đ duy trì nh n th c c a c nh ng nhu c u c a nh ng ng i s d ng đ uế ố ể ậ ứ ủ ả ữ ầ ủ ữ ườ ử ụ ầ cu i (nh nh ng ng i s d ng kh c kho i mu n ho c c n phiên b n m i nh t c a ph n m m nhố ư ữ ườ ử ụ ắ ả ố ặ ầ ả ớ ấ ủ ầ ề ư th nào) và nh ng s ki n đáng k phía phát tri n (nh m t ch b t n th ng đã đ c xác đ nh vàế ữ ự ệ ể ở ể ư ộ ỗ ị ổ ươ ượ ị đ c gi i quy t).ượ ả ế

Cũng v y, là quan tr ng đ xây d ng và duy trì m t m i quan h v i b t kỳ ai xác th c và làm choậ ọ ể ự ộ ố ệ ớ ấ ự h th ng tin t ng đ c, sao cho h bi t tr c đ c nh ng thay đ i c a phiên b n ti p sau là l nệ ố ưở ượ ọ ế ướ ượ ữ ổ ủ ả ế ớ hay nh th nào. Đ c khuy n cáo cao đ đ tuy n m các chuyên gia ch ng th c và làm cho tinỏ ế ượ ế ộ ể ể ộ ứ ự t ng và “nh ng cánh tay cũ” c a C&A vào c ng đ ng các l p trình viên đ đ a ra ý ki n ph n h iưở ữ ủ ộ ồ ậ ể ư ế ả ồ v nh ng thay đ i và s a l i đ c đ xu t. C quan ch c trách C&A đ i v i m t h th ng OTD nênề ữ ổ ử ỗ ượ ề ấ ơ ứ ố ớ ộ ệ ố có t m nhìn đ y đ trong h t ng c ng tác, ho c nh m t ng i th m tra b đ ng ho c nh m tầ ầ ủ ạ ầ ộ ặ ư ộ ườ ẩ ị ộ ặ ư ộ ng i tham gia tích c c trong quá trình C&A, khi xác đ nh các v n đ và các tiêu chí C&A c n thi tườ ự ị ấ ề ầ ế ph i đ c gi i quy t.ả ượ ả ế

4.3 Chuyển sang các hoạt động & duy trì

Đi m vào chung đ i v i các công ngh PMNM là thông qua các phòng thí nghi m, các d án, vàể ố ớ ệ ệ ự các v t m u đ u. Th ng thì, các qui trình qu n lý c u hình và ch ng th c c a các d án này ít ch tậ ẫ ầ ườ ả ấ ứ ự ủ ự ặ ch h n so v i các h th ng ho t đ ng có tính s ng còn. S chuy n các kh năng và gi i pháp nàyẽ ơ ớ ệ ố ạ ộ ố ự ể ả ả sang các ho t đ ng luôn là m t thách th c - cho c các công ngh m và s h u đ c quy n. Thôngạ ộ ộ ứ ả ệ ở ở ữ ộ ề thái ra thì đ b t đ u lên k ho ch chuy n ngay t đ u c a b t kỳ d án nào. Tài li u d i dào vể ắ ầ ế ạ ể ừ ầ ủ ấ ự ệ ồ ề ch c năng, các ch d n qu n tr , và qu n lý c u hình, qui trình ki m th và ki m tra tính đúng đ n,ứ ỉ ẫ ả ị ả ấ ể ử ể ắ cũng nh tài li u qu n lý đi u hành d án, s giúp làm tr n tru con đ ng h ng t i nh ng ho tư ệ ả ề ự ẽ ơ ườ ướ ớ ữ ạ đ ng. H u h t các d án th t b i vì thi u h t k ho ch chuy n d ch chính th c. G n đây, chính phộ ầ ế ự ấ ạ ế ụ ế ạ ể ị ứ ầ ủ đã b t đ u chính th c xác đ nh nh ng ng i qu n lý chuy n đ i s m trong qui trình.ắ ầ ứ ị ữ ườ ả ể ổ ớ

Chính ph có nh ng th t c t t cho nh ng yêu c u, rà soát l i, và h tr nhà th u v các công nghủ ữ ủ ụ ố ữ ầ ạ ỗ ợ ầ ề ệ mà chính ph mua s m. Các nhà tích h p, các chuyên gia theo chuyên ngành, và các nhà th u h trủ ắ ợ ầ ỗ ợ các công ngh m có th đ n gi n đ c nghĩ v các nhà cung c p COTS. Các d án th ng s c nệ ở ể ơ ả ượ ề ấ ự ườ ẽ ầ c p v n và ti n cho các ho t đ ng và h tr duy trì và các d ch v chuyên nghi p cho duy trì m tấ ố ề ạ ộ ỗ ợ ị ụ ệ ộ kh năng c a ph n m m OTD và c ng đ ng c a nó.ả ủ ầ ề ộ ồ ủ

4.4 Khả năng tìm kiếm

B n tìm ki m m i th th nào? Ngày nay n u ch ng trình ph n m m và/ho c d án c a b n làạ ế ọ ứ ế ế ươ ầ ề ặ ự ủ ạ “không th tìm đ c” thì nó là không t n t i.ể ượ ồ ạ

Tính có th tìm đ c đ c xác đ nh nh là d dàng trong đó th gì đó trên World Wide Web có thể ượ ượ ị ư ễ ứ ể tìm th y, nh , d dàng có th tìm đ c và tìm ra đ c. [Morville2005].ấ ư ễ ể ượ ượ

Đi u này đi v i các ch ng trình c a chính ph . Vì nhi u lý do, chính ph và quân đ i có m t sề ớ ươ ủ ủ ề ủ ộ ộ ự thuê m n đ chi cho các tài nguyên và th i gian khan hi m ho c cho vi c xây d ng l i ho c tái t oướ ể ờ ế ặ ệ ự ạ ặ ạ l i các m u c a t t c các công ngh hi n đang t n t i.ạ ẩ ủ ấ ả ệ ệ ồ ạ

Các ch ng trình quân s cũng có th t p trung nhi u vào vi c đáp ng các yêu c u c a chúng làmươ ự ể ậ ề ệ ứ ầ ủ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 41/77

Page 42: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

cho nh ng ng i khác nh n th c đ c v d án không đ c xác đ nh đ c bi t nh m t khách hàngữ ườ ậ ứ ượ ề ự ượ ị ặ ệ ư ộ b b r i. Trong th c t khi m i n l c nên đ c th c hi n s là có s tham gia vào và làm choị ỏ ơ ự ế ỗ ỗ ự ượ ự ệ ẽ ự nh ng ng i khác nh n th c đ c v các kh năng đang đ c phát tri n.ữ ườ ậ ứ ượ ề ả ượ ể

Đây là m t b c r t th c d ng vì nó có th d n t i ti n c a b sung thêm đang đ c đ a vàoộ ướ ấ ự ụ ể ẫ ớ ề ủ ổ ượ ư ch ng trình và có th làm gia tăng kích c s l ng nh ng ng i s d ng đ c văn phòng ch ngươ ể ỡ ố ượ ữ ườ ử ụ ượ ươ trình quân s ph c v .ự ụ ụ

M t ít các qui đ nh đ n gi n đ làm cho m t d án quân s “có th tìm th y đ c”:ộ ị ơ ả ể ộ ự ự ể ấ ượ

1. Worl Wide Web: T o m t website li t kê kh năng đang đ c phát tri n. Website này có thạ ộ ệ ả ượ ể ể đ c m t nhà th u ho c văn phòng ch ng trình t o ra.ượ ộ ầ ặ ươ ạ

2. S d ng Trung tâm Thông tin K thu t Qu c phòng (http://www.dtic.mil/dtic/) đ công bử ụ ỹ ậ ố ể ố công vi c.ệ

3. Đ a ra các thông cáo báo chí chính th c.ư ứ

4. Các ph ng ti n xã h i: n u ch ng trình d ki n s s d ng các công c m ng xã h i lâuươ ệ ộ ế ươ ự ế ẽ ử ụ ụ ạ ộ dài.

5. Intelink: t o ra m t trang trong d ch v Intellipedia c a các c ng đ ng trí th c.ạ ộ ị ụ ủ ộ ồ ứ

6. Tham gia, phát bi u và hi n di n trong các h i ngh quân s và phi quân s .ể ệ ệ ộ ị ự ự

4.5 Các bài học học được.

Đi m ch ch t khác v v n đ m là đ i v i các bài h c h c đ c đ c ghi chép t t thành các tàiể ủ ố ề ấ ề ở ố ớ ọ ọ ượ ượ ố li u sao cho nh ng ng i khác có th làm theo s thành công và quan tr ng h n đ tránh đ cệ ữ ườ ể ự ọ ơ ể ượ nh ng c m b y ph bi n. Thành th c mà nói, m và trung th c v nh ng gì đ c làm và đã khôngữ ạ ẫ ổ ế ự ở ự ề ữ ượ làm là m t hòn đá t ng c a các ho t đ ng quân s , chúng ta c n đ m b o r ng chúng ta có m c độ ả ủ ạ ộ ự ầ ả ả ằ ứ ộ y h t đ i v i s tin c y và s trung th c trong phát tri n và mua s m ph n m m.ệ ố ớ ự ậ ự ự ể ắ ầ ề

Cũng là nói v nh ng thành công, vi c xu t b n các bài h c h c đ c trong các t p chí th ng m iề ữ ệ ấ ả ọ ọ ượ ạ ươ ạ công nghi p và các k y u c a các h i th o.ệ ỷ ế ủ ộ ả

4.6 Danh sách chọn các thành công của OTD

Sau đây là m t danh sách ch n đ c g i ý cho các d án phát tri n OTD:ộ ọ ượ ợ ự ể

• C ng đ ng tr c, công ngh sau. Th ng thì quân s s t p trung vào vi c t o ra các gi iộ ồ ướ ệ ườ ự ẽ ậ ệ ạ ả pháp công ngh khi các bên đóng góp s không ti n hành ho c không t n t i. Nhà công nghệ ẽ ế ặ ồ ạ ệ ph i đ c ki m soát và không đ c cho phép đ xây d ng và/ho c tri n khai ph n m m choả ượ ể ượ ể ự ặ ể ầ ề t i khi m t c ng đ ng và c s nh ng ng i s d ng đ c xác đ nh.ớ ộ ộ ồ ơ ở ữ ườ ử ụ ượ ị

• M c đ nh là m , đóng ch là khi c n thi t.ặ ị ở ỉ ầ ế

• Ch ng trình c a b n không ph i là đ c bi t. Vâng, quân s có nh ng nhu c u và các khươ ủ ạ ả ặ ệ ự ữ ầ ả năng chi n đ u đ c bi t, nh ng (đ c bi t là trong công ngh thông tin) thì chúng tôi khôngế ấ ặ ệ ư ặ ệ ệ th . Hãy tìm ki m các d án công ngh thông tin đang t n t i và các n n công nghi p và sế ế ự ệ ồ ạ ề ệ ử d ng các gi i pháp c a h .ụ ả ủ ọ

• Hãy thi t l p các qui đ nh đ n gi n v cách chia s và cách truy c p GOTS. Vi c t o ra m tế ậ ị ơ ả ề ẻ ậ ệ ạ ộ c c u chia s mã ngu n ph n m m làm vi c đ c là vì u th c a chính ph là quan tr ng.ơ ấ ẻ ồ ầ ề ệ ượ ư ế ủ ủ ọ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 42/77

Page 43: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

• Các quy n trí tu . Vi c s d ng các gi y phép PMNM đ n gi n hóa to l n s qu n lý cácề ệ ệ ử ụ ấ ơ ả ớ ự ả quy n đ i v i chính ph .ề ố ớ ủ

• Hãy th ng th o và yêu c u các quy n không h n ch trong ph n m m và mã ngu n. Chínhươ ả ầ ề ạ ế ầ ề ồ ph có ý đ nh các quy n là c b n còn c ch gi y phép què qu t nên đ c tránh.ủ ị ề ơ ả ơ ế ấ ặ ượ

• Không t o ra các gi y phép m i cho ph n m m, hãy s d ng các gi y phép hi n đang t n t iạ ấ ớ ầ ề ử ụ ấ ệ ồ ạ - chúng đ c hi u trong n n công nghi p th ng m i và đã đ c các lu t s c a các t pượ ể ề ệ ươ ạ ượ ậ ư ủ ậ đoàn phê chu n.ẩ

• Hãy h n ch m nh m s pha tr n l n l n các ph n m m chính ph c p ti n v i các ph nạ ế ạ ẽ ự ộ ẫ ộ ầ ề ủ ấ ề ớ ầ m m t nhân c p ti n (đ c bi t n u nó đ c trao các b ng sáng ch ). N u s pha tr n l n l nề ư ấ ề ặ ệ ế ượ ằ ế ế ự ộ ẫ ộ đ c yêu c u thì hãy phát tri n theo m t cách th c theo các module và hãy yêu c u cácượ ầ ể ộ ứ ầ quy n không h n ch .ề ạ ế

• Các ph n m m có ki m soát xu t kh u và bí m t pha tr n l n l n v i các ph n m m khác.ầ ề ể ấ ẩ ậ ộ ẫ ộ ớ ầ ề Các l p trình viên nên thay vào đó hãy sáng ch ra m t ki n trúc “cài c m” ( nh ng n i cóậ ế ộ ế ắ ở ữ ơ th ) cho phép s d ng và chia s ph n m m không b h n ch vì nh ng ki m soát xu t kh uể ử ụ ẻ ầ ề ị ạ ế ữ ể ấ ẩ ho c bí m t.ặ ậ

• Hãy h n ch vi c k t h p các thành ph n s h u đ c quy n (đ c bi t không ph i OTS) màạ ế ệ ế ợ ầ ở ữ ộ ề ặ ệ ả chúng m c vào chi phí c p phép, đ c bi t n u h th ng đ c thi t k ph thu c vào cácắ ấ ặ ệ ế ệ ố ượ ế ế ụ ộ thành ph n đó.ầ

• Lên k ho ch và c p v n cho s qu n lý c ng đ ng c a d án và duy trì mã ngu n nh m tế ạ ấ ố ự ả ộ ồ ủ ự ồ ư ộ y u t chuy n O&M.ế ố ể

• Ti p t c và khuy n khích nh ng tranh lu n và th o lu n m nh m v ph n m m trong nh ngế ụ ế ữ ậ ả ậ ạ ẽ ề ầ ề ữ ng i s d ng, và trong các l p trình viên.ườ ử ụ ậ

• Đ ng quên vi t tài li u. Đi u này bao g m c tài li u cho ng i s d ng, cài đ t, qu n tr ,ừ ế ệ ề ồ ả ệ ườ ử ụ ặ ả ị và thi t k . Nó cũng bao g m các sách ch d n v cách đ cài đ t và duy trì ph n m m theoế ế ồ ỉ ẫ ề ể ặ ầ ề cách đ a ra đ c an ninh.ư ượ

• Qu n lý c u hình: Thông tin đ c duy trì v nh ng gì mà nh ng công c /nh ng đánh giá tả ấ ượ ề ữ ữ ụ ữ ừ bên ngoài đã đ c ch y, v phiên b n nào c a ph n m m, và các k t qu đã có là gì.ượ ạ ề ả ủ ầ ề ế ả

• Hãy qu n lý d án nh là m t ph ng h i: nh ng ng i s d ng đôi khi s tr thành các l pả ự ư ộ ườ ộ ữ ườ ử ụ ẽ ở ậ trình viên, ít nh t là đ i v i nh ng khi m khuy t nh .ấ ố ớ ữ ế ế ỏ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 43/77

Page 44: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Phụ lục A: Chính sách và chỉ dẫn của chính phủ Mỹ về tính mở

Ph l c này trình bày ch d n và các chính sách thích h p c a Chính ph M có liên quan t i OTD.ụ ụ ỉ ẫ ợ ủ ủ ỹ ớ

OTD là m t ti p c n cho s phát tri n ph n m m/h th ng và duy trì ph n m m ho c m t h th ngộ ế ậ ự ể ầ ề ệ ố ầ ề ặ ộ ệ ố theo m t cách th c phi t p trung. OTD là m t cách th c đ làm gi m thi u chi phí gia tăng c a cácộ ứ ậ ộ ứ ể ả ể ủ h th ng ph n m m và tăng t c đ đ a ra các kh năng m i. OTD cũng làm gia tăng các c h i choệ ố ầ ề ố ộ ư ả ớ ơ ộ s c nh tranh và đ i m i sáng t o, xúc tác m t cách nhanh chóng cho các h th ng th c đ a và cóự ạ ổ ớ ạ ộ ệ ố ự ị th nâng c p đ c trong khi t i u hóa s d ng l i các tài s n ph n m m. K ho ch v l trình OTDể ấ ượ ố ư ử ụ ạ ả ầ ề ế ạ ề ộ 2006 [OTD 2006] nói r ng OTD k t h p:ằ ế ợ

1. Các tiêu chu n và các giao di n m (bao g m c các đ nh d ng tài li u m ).ẩ ệ ở ồ ả ị ạ ệ ở

2. PMNM và các thi t k m .ế ế ở

3. Văn hóa c ng tác/phân tán và các công c h tr tr c tuy n.ộ ụ ỗ ợ ự ế

4. Tính lanh l c a công ngh (bao g m các h th ng m /ki n trúc m ).ẹ ủ ệ ồ ệ ố ở ế ở

Các qui trình mua s m và phát tri n ph n m m nên s d ng, m r ng, và t o ra t ng trong s nh ngắ ể ầ ề ử ụ ở ộ ạ ừ ố ữ y u t ch ch t này đ đ t đ c s phát tri n các công ngh m : ế ố ủ ố ể ạ ượ ự ể ệ ở

M u ch t c a OTDấ ố ủ Y u tế ố M r ng s d ngở ộ ử ụ T o ạ

1. Các tiêu chu n m vàẩ ở các giao di n m (baoệ ở g m các đ nh d ng m ).ồ ị ạ ở

u tiên s d ng các tiêuƯ ử ụ chu n/ giao di n/ đ nhẩ ệ ị d ng d li u m h n sạ ữ ệ ở ơ ở h u đ c quy n; ki m thữ ộ ề ể ử đ đ m b o có các tri nể ả ả ể khai là các l a ch n thayự ọ th có th s d ng đ c.ế ể ử ụ ượ

Đ a lên nh ng thay đ iư ữ ổ đ c đ xu t đ m raượ ề ấ ể ở cho nh ng ng i duy trìữ ườ các tiêu chu n nh ngẩ ở ữ n i mà các tiêu chu nơ ẩ không đáp ng đ c cácứ ượ yêu c u.ầ

Kh i t o các đ c t choở ạ ặ ả tiêu chu n m i nh ngẩ ớ ở ữ n i phù h p. Ví d , giúpơ ợ ụ phát tri n m t đ c t cóể ộ ặ ả th đ c s d ng nh m tể ượ ử ụ ư ộ “tài li u c b n”.ệ ơ ả

2. PMNM và các thi t kế ế mở

S d ng PMNM đang cóử ụ s n.ẵ

S a đ i PMNM (nh , s aử ổ ư ử các l i ho c b sung cácỗ ặ ổ ch c năng) mà không rứ ẽ nhánh kho mã ngu n.ồ

Kh i t o các d ánở ạ ự PMNM m i. ớ

3. Văn hóa c ng tác/ phânộ ph i và các công c hố ụ ỗ tr tr c tuy n.ợ ự ế

Tham gia s d ng cácử ụ công c có s n v qu n lýụ ẵ ề ả d án c ng tác c a c ngự ộ ủ ộ đ ng.ồ

Ch nh s a các d án c ngỉ ử ự ộ tác và các công c / hụ ạ t ng qu n lý d án hi nầ ả ự ệ đang t n t i (nh , đ i v iồ ạ ư ố ớ s phát tri n ph n m m bíự ể ầ ề m t).ậ

Thi t l p các d án và cácế ậ ự công c /h t ng qu n lýụ ạ ầ ả d án c ng tác m i liênự ộ ớ các t ch c, nh ng tránhổ ứ ư trùng l p. Đi u này có thặ ề ể là OGOTS ho c PMNM.ặ

4. Tính lanh l v côngẹ ề ngh (các h th ngệ ệ ố m /ki n trúc m ).ở ế ở

u tiên s d ng các s nƯ ử ụ ả ph m và d ch v mà làẩ ị ụ theo các module và lanh l v công ngh . Tránhệ ề ệ các s n ph m và d ch vả ẩ ị ụ nguyên kh i ho c b khóaố ặ ị trói vào ch m t n n t ng.ỉ ộ ề ả

C i thi n tính có thả ệ ể module hóa đ c, h trượ ỗ ợ n n t ng, và tính có thề ả ể thi t l p c u hình đ cế ậ ấ ượ c a các s n ph m và d chủ ả ẩ ị v đang s d ng.ụ ử ụ

T o ra các s n ph m,ạ ả ẩ d ch v , ho c h t ng mà:ị ụ ặ ạ ầ (1) h tr ho c c i thi nỗ ợ ặ ả ệ s lanh l v công nghự ẹ ề ệ và (2) có tính module hóa nhi u h n.ề ơ

Các tiêu chu n và giao di n m (bao g m các đ nh d ng d li u m ) là m t c ch m u ch t đẩ ệ ở ồ ị ạ ữ ệ ở ộ ơ ế ấ ố ể

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 44/77

Page 45: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

tránh b khóa trói vào nhà cung c p và xúc tác cho s c ng tác. Chúng xúc tác cho s c ng tác vìị ấ ự ộ ự ộ các l p trình viên m i phía c a giao di n là t do đ ti n hành nh ng thay đ i mi n là chúng tuânậ ở ọ ủ ệ ự ể ế ữ ổ ễ th v i các tiêu chu n phù h p. ủ ớ ẩ ợ

PMNM có th đ c s d ng y nh nó đang có, đ c s a đ i ho c đ c t o ra. Dù v y, nh ng mể ượ ử ụ ư ượ ử ổ ặ ượ ạ ậ ữ ở r ng c a các thành ph n PMNM có s n m t cách công khai nên là m c đ nh đ i v i phiên b n côngộ ủ ầ ẵ ộ ặ ị ố ớ ả khai, đ tránh m c k t vào các chi phí l n và đánh m t s đ i m i sáng t o vì s duy trì theo ki uể ắ ẹ ớ ấ ự ổ ớ ạ ự ể đ ng ng khói. Vi c t o ra m t d án riêng r b ng vi c b t đ u t m t d án đang t n t i đ c g iườ ố ệ ạ ộ ự ẽ ằ ệ ắ ầ ừ ộ ự ồ ạ ượ ọ là “r nhánh”. B t kỳ ai b t đ u m t r nhánh cũng s tr thành có trách nhi m đ i v i m t gánhẽ ấ ắ ầ ộ ẽ ẽ ở ệ ố ớ ộ n ng O&M riêng r , vì phiên b n r nhánh không t ng thích v i phiên b n công khai đ c c ngặ ẽ ả ẽ ươ ớ ả ượ ộ đ ng phát tri n hi n hành h tr .ồ ể ệ ỗ ợ

Văn hóa c ng tác/phân tán v i các công c h tr tr c tuy n xúc tác cho s c ng tác nhi u t ch c.ộ ớ ụ ỗ ợ ự ế ự ộ ề ổ ứ Khá là d dàng đ thi t l p m t d án c ng tác m i: trong nhi u tr ng h p chúng nên là nh ng dễ ể ế ậ ộ ự ộ ớ ề ườ ợ ữ ự án PMNM đ t i đa hóa s c ng tác (đi u này làm gi m chi phí O&M v lâu dài). Tuy nhiên, m tể ố ự ộ ề ả ề ộ s thành ph n ph i không đ c đ a ra cho công chúng (th ng nh ng thành ph n này có th là bíố ầ ả ượ ư ườ ữ ầ ể m t và/ho c tuân theo các ki m soát xu t kh u), ho c chính ph có th không có các quy n d li uậ ặ ể ấ ẩ ặ ủ ể ề ữ ệ c n thi t. Trong tr ng h p sau cùng, chính ph nên ít nh t đ u tranh đ có các quy n theo m cầ ế ườ ợ ủ ấ ấ ể ề ụ đích c a chính ph GPR (Government Purpose Rights) sao cho s c ng tác và s d ng r ng rãi đóủ ủ ự ộ ử ụ ộ trong chính ph có th x y ra đ c.ủ ể ả ượ

S lanh l v công ngh là quan tr ng, và đi u này đ c xúc tác m nh m b i tính có th chia thànhự ệ ề ệ ọ ề ượ ạ ẽ ở ể module t i t m t ti p c n c a các h th ng m / ki n trúc m . Trong m t ti p c n h th ng m /ki nớ ừ ộ ế ậ ủ ệ ố ở ế ở ộ ế ậ ệ ố ở ế trúc m , các h th ng đ c b xu ng thành các thành ph n theo module, và các tiêu chu n và giaoở ệ ố ượ ẻ ố ầ ẩ di n m s đ c s d ng đ k t n i các thành ph n này. Nh ng giao di n c a nhi u thành ph n sệ ở ẽ ượ ử ụ ể ế ố ầ ữ ệ ủ ề ầ ẽ có th không đ c xác đ nh m t cách duy nh t b ng các tiêu chu n m , nh ng nh ng n i có cácể ượ ị ộ ấ ằ ẩ ở ư ở ữ ơ tiêu chu n m thì chúng nên đ c s d ng, và nh ng n i không có tiêu chu n m phù h p, thìẩ ở ượ ử ụ ở ữ ơ ẩ ở ợ giao di n nên đ c ghi thành tài li u và ph i có các quy n phù h p đ đ m b o r ng nh ng thànhệ ượ ệ ả ề ợ ể ả ả ằ ữ ph n khác có th thay th thành ph n đó mà không có h n ch nào (nh , v i thanh toán chi phí b nầ ể ế ầ ạ ế ư ớ ả quy n). ề

Các ph n sau đây đi sâu vào t ng lĩnh v c và xác đ nh m t s trong các chính sách c a chính phầ ừ ự ị ộ ố ủ ủ v chúng. ề

A.1 Các tiêu chuẩn và các giao diện mở (bao gồm các định dạng dữ liệu mở)

Chính ph liên bang và DoD đã nh n th c đ c giá tr c a các tiêu chu n d li u m không s h uủ ậ ứ ượ ị ủ ẩ ữ ệ ở ở ữ đ c quy n và đã thi t l p các chính sách và qui đ nh m t cách t ng ng. Ph n này đ a ra m t sộ ề ế ậ ị ộ ươ ứ ầ ư ộ ố chính sách hi n hành c a chính ph và DoD xung quanh các tiêu chu n công ngh thông tinệ ủ ủ ẩ ệ (CNTT), và các v n đ có liên quan t i chúng.ấ ề ớ

Tuy nhiên, m t ít l u ý chung là nh sau: ộ ư ư

1. Hãy nh r ng các tiêu chu n đ a vào c các giao di n và các đ nh d ng d li u; đ ng quênớ ằ ẩ ư ả ệ ị ạ ữ ệ ừ nhu c u v các tiêu chu n đ nh d ng d li u. Là d dàng đ i v i chính ph đ k t thúc trongầ ề ẩ ị ạ ữ ệ ễ ố ớ ủ ể ế m t hoàn c nh n i mà chính ph có các d li u, nh ng chính ph b khóa trói m t cách cóộ ả ơ ủ ữ ệ ư ủ ị ộ hi u qu vào m t nhà cung c p c th , vì các d li u b khóa trói trong m t ng d ng s h uệ ả ộ ấ ụ ể ữ ệ ị ộ ứ ụ ở ữ đ c quy n c th mà ng d ng đó là c n thi t đ xem, đ s d ng ho c đ c p nh t các dộ ề ụ ể ứ ụ ầ ế ể ể ử ụ ặ ể ậ ậ ữ li u đó.ệ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 45/77

Page 46: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

2. Hãy nh n th c đ c các v n đ v b ng sáng ch trong các tiêu chu n. B t kỳ tiêu chu nậ ứ ượ ấ ề ề ằ ế ẩ ấ ẩ nào đ c s d ng trong m t d án c a chính ph liên bang và DoD nên đ c đánh giá đượ ử ụ ộ ự ủ ủ ượ ể đ m b o r ng các tiêu chu n mà nó s d ng không b gây tr ng i t m t vi n c nh c a cácả ả ằ ẩ ử ụ ị ở ạ ừ ộ ễ ả ủ quy n trí tu (nh , chúng là s n sàng cho b t kỳ ai s d ng ho c tri n khai l i, mà không cóề ệ ư ẵ ấ ử ụ ặ ể ạ nh ng tr ng i nh thanh toán ti n b n quy n c a các b ng sáng ch ). Hãy nh n th c đ cữ ở ạ ư ề ả ề ủ ằ ế ậ ứ ượ r ng m t s c quan tiêu chu n nói r ng m t tiêu chu n “m ” ch là m t tiêu chu n mà quiằ ộ ố ơ ẩ ằ ộ ẩ ở ỉ ộ ẩ trình đ đ t đ c s đ ng thu n là m ; đi u này có th d n t i các tiêu chu n mà chúng đòiể ạ ượ ự ồ ậ ở ề ể ẫ ớ ẩ h i vi c c p phép cho các th a thu n và thanh toán ti n đáng k cho các công ty đ đáp ngỏ ệ ấ ỏ ậ ề ể ể ứ đ c cái g i là tiêu chu n “m ” đó. Trong tài li u này, m t “tiêu chu n đ ng thu n m t cáchượ ọ ẩ ở ệ ộ ẩ ồ ậ ộ tình nguy n” đ c phát tri n b i s đ ng thu n, và có ho c không th đòi h i m t thanhệ ượ ể ở ự ồ ậ ặ ể ỏ ộ toán ti n b n quy n. M t “tiêu chu n m ” là m t tiêu chu n đ ng thu n m t cách tìnhề ả ề ộ ẩ ở ộ ẩ ồ ậ ộ nguy n mà nó không đ t ra nh ng thanh toán ti n b n quy n ho c nh ng h n ch khác khiệ ặ ữ ề ả ề ặ ữ ạ ế s d ng nó.ử ụ

3. T ng t , hãy nh n th c đ c v “các tiêu chu n de facto” mà chúng hoàn toàn không ph iươ ự ậ ứ ượ ề ẩ ả là nh ng đ c t , ho c nh ng n i mà nh ng đ c t đ c xu t b n thì có ít m i quan h t iữ ặ ả ặ ở ữ ơ ữ ặ ả ượ ấ ả ố ệ ớ các giao di n ho c các đ nh d ng mà chúng th c s đ c s d ng. ệ ặ ị ạ ự ự ượ ử ụ

A.1.1 Chính phủ Mỹ

A.1.1.1 Các tiêu chuẩn đồng thuận tự nguyện

Các c quan chính ph liên bang M ph i s d ng “các tiêu chu n đ ng thu n t nguy n” trong cácơ ủ ỹ ả ử ụ ẩ ồ ậ ự ệ mua s m c a h . Nh đ c mô t trong Thông t s A-119 c a Văn phòng Ngân sách & Qu n lý,ắ ủ ọ ư ượ ả ư ố ủ ả “S tham gia c a Liên bang trong phát tri n và s d ng các tiêu chu n đ ng thu n t nguy n vàự ủ ể ử ụ ẩ ồ ậ ự ệ trong s tuân th các ho t đ ng đánh giá (10/02/1998,ự ủ ạ ộ http://www.whitehouse.gov/omb/circulars/a119/a119.html)”:

“T t c các c quan liên bang ph i s d ng các tiêu chu n đ ng thu n t nguy n thay choấ ả ơ ả ử ụ ẩ ồ ậ ự ệ các tiêu chu n duy nh t c a chính ph trong mua s m và các ho t đ ng đi u ch nh theo lu tẩ ấ ủ ủ ắ ạ ộ ề ỉ ậ c a h , ngo i tr nh ng n i có s mâu thu n v i lu t ho c n u không s là không th c t .ủ ọ ạ ừ ở ữ ơ ự ẫ ớ ậ ặ ế ẽ ự ế Trong nh ng hoàn c nh đó, c quan c a b n ph i đ trình m t báo cáo mô t (các) lý do choữ ả ơ ủ ạ ả ệ ộ ả vi c s d ng c a mình đ i v i các tiêu chu n duy nh t c a chính ph thay vì các tiêu chu nệ ử ụ ủ ố ớ ẩ ấ ủ ủ ẩ đ ng thu n t nguy n đ i v i Văn phòng Qu n lý và Ngân sách (OMB) thông qua Vi nồ ậ ự ệ ố ớ ả ệ Qu c gia v tiêu chu n và công ngh (NIST)”.ố ề ẩ ệ

Tài li u này cũng gi i thích vì sao chính ph nên s d ng các tiêu chu n đ ng thu n t nguy n: ệ ả ủ ử ụ ẩ ồ ậ ự ệ

Nhi u tiêu chu n đ ng thu n t nguy n là phù h p ho c có th áp d ng đ c cho các m c đích c aề ẩ ồ ậ ự ệ ợ ặ ể ụ ượ ụ ủ Chính ph . S d ng các tiêu chu n nh v y, b t kỳ n i nào phù h p và th c t , đ c mong đ i sủ ử ụ ẩ ư ậ ở ấ ơ ợ ự ế ượ ợ ẽ đ t đ c các m c tiêu sau: ạ ượ ụ

1. H n ch đ c chi phí cho Chính ph v phát tri n các tiêu chu n c a riêng mình và làmạ ế ượ ủ ề ể ẩ ủ gi m chi phí hàng hóa đ c mua s m và gánh n ng c a vi c tuân th v i qui đ nh c a cả ượ ắ ặ ủ ệ ủ ớ ị ủ ơ quan.

2. Đ a ra nh ng khuy n khích và c h i đ thi t l p các tiêu chu n ph c v cho các nhu c uư ữ ế ơ ộ ể ế ậ ẩ ụ ụ ầ qu c gia.ố

3. Khuy n khích s tăng tr ng dài h n cho các doanh nghi p M và thúc đ y s c nh tranh cóế ự ưở ạ ệ ỹ ẩ ự ạ hi u qu và kinh t thông qua s hài hòa c a các tiêu chu n. ệ ả ế ự ủ ẩ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 46/77

Page 47: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

4. Xa h n chính sách c a s tin c y vào khu v c t nhân đ cung c p cho các nhu c u đ i v iơ ủ ự ậ ự ư ể ấ ầ ố ớ các hàng hóa và d ch v c a Chính ph . ị ụ ủ ủ

Chính sách c a OMB cũng xác đ nh khái ni m “các tiêu chu n đ ng thu n t nguy n”:ủ ị ệ ẩ ồ ậ ự ệ

1. Vì nh ng lý do c a chính sách này, “các tiêu chu n đ ng thu n t nguy n” là các tiêu chu nữ ủ ẩ ồ ậ ự ệ ẩ đ c phát tri n ho c đ c các c quan tiêu chu n đ ng thu n t nguy n áp d ng, c trongượ ể ặ ượ ơ ẩ ồ ậ ự ệ ụ ả n c và qu c t . Nh ng tiêu chu n này bao g m các đi u kho n yêu c u r ng nh ng ng iướ ố ế ữ ẩ ồ ề ả ầ ằ ữ ườ ch s h u trí tu phù h p đã đ ng ý làm cho s h u trí tu đó s n sàng trên m t c sủ ở ữ ệ ợ ồ ở ữ ệ ẵ ộ ơ ở không phân bi t đ i x , không có chi phí b n quy n ho c chi phí b n quy n h p lý đ i v iệ ố ử ả ề ặ ả ề ợ ố ớ t t c các bên có quan tâm. Đ i v i các m c tiêu c a Thông t này, “các tiêu chu n k thu tấ ả ố ớ ụ ủ ư ẩ ỹ ậ đ c các c quan tiêu chu n đ ng thu n t nguy n phát tri n ho c áp d ng” là m t đi uượ ơ ẩ ồ ậ ự ệ ể ặ ụ ộ ề kho n t ng đ ng.ả ươ ươ

a) “Các c quan tiêu chu n đ ng thu n t nguy n” là các t ch c trong n c và qu c t màơ ẩ ồ ậ ự ệ ổ ứ ướ ố ế h lên k ho ch, phát tri n, thi t l p, ho c đi u ph i các tiêu chu n đ ng thu n tọ ế ạ ể ế ậ ặ ề ố ẩ ồ ậ ự nguy n có s d ng các th t c d a trên s đ ng thu n. Vì nh ng lý do c a Thông t này,ệ ử ụ ủ ụ ự ự ồ ậ ữ ủ ư “các c quan tiêu chu n đ ng thu n, khu v c t nhân, t nguy n” nh đ c trích trongơ ẩ ồ ậ ự ư ự ệ ư ượ Lu t, là m t đi u kho n t ng đ ng. Lu t và Thông t đó khuy n khích s tham giaậ ộ ề ả ươ ươ ậ ư ế ự c a các đ i di n liên bang trong các c quan đó đ gia tăng s h p lý r ng các tiêu chu nủ ạ ệ ơ ể ự ợ ằ ẩ mà h phát tri n s đáp ng đ c c các nhu c u c a khu v c nhà n c và t nhân. M tọ ể ẽ ứ ượ ả ầ ủ ự ướ ư ộ c quan tiêu chu n đ ng thu n t nguy n đ c xác đ nh v i nh ng đ c đi m sau: ơ ẩ ồ ậ ự ệ ượ ị ớ ữ ặ ể

• Tính mở

• Cân b ng l i íchằ ợ

• Tuân th qui trìnhủ

• M t qui trình kháng nghộ ị

b) Đ ng thu n, mà nó đ c xác đ nh nh là s th a thu n chung, nh ng không c n thi t cóồ ậ ượ ị ư ự ỏ ậ ư ầ ế s nh t trí, và bao g m m t qui trình cho d đ nh đ gi i quy t nh ng ph n đ i c a cácự ấ ồ ộ ự ị ể ả ế ữ ả ố ủ bên có quan tâm, mi n là các bình lu n đã đ c xem xét m t cách công b ng, m i ng iễ ậ ượ ộ ằ ỗ ườ ph n đ i đ c t v n v s s p x p các ph n đ i c a anh ho c ch ta và nh ng lý do vìả ố ượ ư ấ ề ự ắ ế ả ố ủ ặ ị ữ sao, và các thành viên c a c quan đ ng thu n đ c trao m t c h i thay đ i các bi uủ ơ ồ ậ ượ ộ ơ ộ ổ ể quy t c a h sau vi c rà soát l i các bình lu n.ế ủ ọ ệ ạ ậ

2. Các d ng tiêu chu n khác, là khác bi t v i các tiêu chu n đ ng thu n t nguy n, nh sau: ạ ẩ ệ ớ ẩ ồ ậ ự ệ ư

a) “Các tiêu chu n không đ ng thu n”, “các tiêu chu n công nghi p”, “các tiêu chu n côngẩ ồ ậ ẩ ệ ẩ ty”, ho c “các tiêu chu n de facto”, mà chúng đ c phát tri n trong khu v c t nhânặ ẩ ượ ể ự ư nh ng không trong qui trình đ ng thu n đ y đ .ư ồ ậ ầ ủ

b) “Các tiêu chu n duy nh t c a chính ph ”, mà chúng đ c chính ph phát tri n cho sẩ ấ ủ ủ ượ ủ ể ử d ng c a riêng chính ph . ụ ủ ủ

c) Các tiêu chu n b t bu c theo lu t, nh nh ng tiêu chu n n m trong Pharmacopeia c aẩ ắ ộ ậ ư ữ ẩ ằ ủ M và Công th c Qu c gia, nh đ c tham chi u trong 21 U.S.C. 351.ỹ ứ ố ư ượ ế

L u ý r ng chính sách c a OMB cho phép s d ng các tiêu chu n nh ng n i mà có m t “c sư ằ ủ ử ụ ẩ ở ữ ơ ộ ơ ở phí b n quy n h p lý”, nh ng nh ng ng i tri n khai nên c nh giác v i nh ng tiêu chu n khôngả ề ợ ư ữ ườ ể ả ớ ữ ẩ m này. Nh ng thanh toán ti n b n quy n nh v y ngăn c m vi c s d ng c a nhi u s n ph mở ữ ề ả ề ư ậ ấ ệ ử ụ ủ ề ả ẩ PMNM (và vì th tr thành m t rào c n cho s c nh tranh), và có th th ng làm cho vi c s d ngế ở ộ ả ự ạ ể ườ ệ ử ụ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 47/77

Page 48: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

chúng là không kinh t .ế

A.1.1.2 Gắn thẻ (Biểu 70)

Đ c quan nh ng ng i mua d dàng ch n các s n ph m và d ch v h tr các tiêu chu n m , cácể ơ ữ ườ ễ ọ ả ẩ ị ụ ỗ ợ ẩ ở nhà cung c p c n m t cách th c đ g n th cho t ng kho n mà đ i v i các tiêu chu n m đó nhàấ ầ ộ ứ ể ắ ẻ ừ ả ố ớ ẩ ở cung c p s h tr . Vi c g n th cho các s n ph m và d ch v này trong th tr ng ph n m m làấ ẽ ỗ ợ ệ ắ ẻ ả ẩ ị ụ ị ườ ầ ề gi ng h t ý t ng d ng “tính t ng thích cài c m” mà nh ng ng i mua t lâu đã ph thu c vào khiố ệ ưở ạ ươ ắ ữ ườ ừ ụ ộ mua các thành ph n ph n c ng.ầ ầ ứ

Vào năm 2005, m t s thay đ i cho ch d n trong các h p đ ng c a chính ph đã ch đ nh cách màộ ự ổ ỉ ẫ ợ ồ ủ ủ ỉ ị các nhà cung c p nên g n th vào các s n ph m c a h sao cho nh ng ng i mua có th d dàngấ ắ ẻ ả ẩ ủ ọ ữ ườ ể ễ ki m tra đ c các tiêu chu n t ng h p nào s đ c h tr . S thay đ i này là trong m t “L u ý để ượ ẩ ươ ợ ẽ ượ ỗ ợ ự ổ ộ ư ể chào hàng” trong m t ngu n chính c a các catalog s n ph m cho các ph n m m th ng m i dùngộ ồ ủ ả ẩ ầ ề ươ ạ đ c ngay (off-the-shelf), “Bi u 70”.ượ ể

Bi u 70, đ c C quan D ch v Chung (General Services Administration) qu n lý, có ch a h nể ượ ơ ị ụ ả ứ ơ 4.000 h p đ ng đ c th ng th o trong năm 2004, và đ c tính cho kho ng 11 t USD trong bánợ ồ ượ ươ ả ượ ả ỷ hàng công ngh thông tin cho chính ph . H n n a, các h p đ ng c a Bi u 70 có th đ c s d ngệ ủ ơ ữ ợ ồ ủ ể ể ượ ử ụ trong các th c th chính ph bang, b l c, đ a ph ng ho c vùng, và trong b t kỳ c quan giáo d cự ể ủ ộ ạ ị ươ ặ ấ ơ ụ đ a ph ng ho c vi n hu n luy n nâng cao nào. Th c t này có th r t quan tr ng trong vi c các hị ươ ặ ệ ấ ệ ự ế ể ấ ọ ệ ệ th ng Liên bang M th ng t ng h p không ch xuyên các c quan mà còn v i các c p chínhố ỹ ườ ươ ợ ỉ ơ ớ ấ quy n khác, nh , trong ng c nh c a H t ng D li u Không gian Qu c gia.ề ư ữ ả ủ ạ ầ ữ ệ ố

Nh ng ng i chào hàng đ c khuy n khích xác đ nh bên trong các kho n ph n m m c a h b t kỳữ ườ ượ ế ị ả ầ ề ủ ọ ấ giao di n thành ph n nào mà chúng h tr cho tính t ng h p c a các tiêu chu n m . M t giao di nệ ầ ỗ ợ ươ ợ ủ ẩ ở ộ ệ c a các kho n có th đ c xác đ nh là có tính t ng h p đ c trên c s c a s tham gia vào m tủ ả ể ượ ị ươ ợ ượ ơ ở ủ ự ộ ch ng trình do c quan chính ph b o tr ho c trong ch ng trình c a m t t ch c đ c l p. Cácươ ơ ủ ả ợ ặ ươ ủ ộ ổ ứ ộ ậ giao di n có th đ c xác đ nh b ng tham chi u t i m t giao di n đ c đăng ký trong kho đăng kýệ ể ượ ị ằ ế ớ ộ ệ ượ các thành ph n t i http://www.core.gov. ầ ạ

A.1.2 Bộ Quốc phòng

B sung thêm vào ch d n c a Chính ph Liên bang M , DoD đã xác đ nh xa h n chính sách v tiêuổ ỉ ẫ ủ ủ ỹ ị ơ ề chu n. đây có 7 tài li u cung c p các thông tin b sung v các tiêu chu n trong DoDẩ Ở ệ ấ ổ ề ẩ 1:

1. K ho ch Qu n lý Ch ng trình các Tiêu chu n Công ngh Thông tin c a DoD (ITSP),ế ạ ả ươ ẩ ệ ủ ngày 19/01/2007.

2. B n ghi c a OSD: Ch đ : K ho ch Qu n lý Đ i lý Đi u hành Ch ng trình các Tiêuả ủ ủ ề ế ạ ả ạ ề ươ chu n Công ngh Thông tin DoD, ngày 19/01/2007.ẩ ệ

3. B n ghi c a OSD: Ch đ : Đ i lý Đi u hành (EA) c a DoD v các Tiêu chu n Công nghả ủ ủ ề ạ ề ủ ề ẩ ệ Thông tin, 21/05/2007.

4. CJCSI 6212.01D, Tính t ng h p và Tính có th h tr đ c c a các H th ng An ninhươ ợ ể ỗ ợ ượ ủ ệ ố Qu c gia và Công ngh Thông tin, ngày 08/03/2006.ố ệ

5. Ch th c a DoD 5101.7, ngày 21/05/2004, ch đ : Đ i lý Đi u hành c a DoD v các Tiêuỉ ị ủ ủ ề ạ ề ủ ề chu n Công ngh Thông tin.ẩ ệ

6. Ch l nh c a DoD 4630.8, ngày 30/06/2004, ch đ : Các th t c v Tính t ng h p và Tínhỉ ệ ủ ủ ề ủ ụ ề ươ ợ

1 Thông tin này t DISA GE331, ITSC Collaboration TWG.ừ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 48/77

Page 49: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

có th h tr đ c các H th ng An ninh Qu c gia và Công ngh thông tin.ể ỗ ợ ượ ệ ố ố ệ

7. Ch th c a DoD (DoDD) 4630.05 (tr c đó là 4630.5), ch đ : Tính t ng h p và Tính cóỉ ị ủ ướ ủ ề ươ ợ th h tr đ c các H th ng An ninh Qu c gia và Công ngh Thông tin, ngày 05/05/2004.ể ỗ ợ ượ ệ ố ố ệ

V 7 tài li u này, có 2 tài li u đ a ra chi ti t nhi u nh t v kho các tiêu chu n c a DISA (Kho đăngề ệ ệ ư ế ề ấ ề ẩ ủ ký Tiêu chu n Công ngh Thông tin c a DoD, xem chi ti t bên d i) và s d ng các tiêu chu n b tẩ ệ ủ ế ướ ử ụ ẩ ắ bu c là #1 và #4.ộ

5 ghi chép khác, các ch th c a DoD, và các ch l nh c a DoD là chung h n v b n ch t t nhiên,ỉ ị ủ ỉ ệ ủ ơ ề ả ấ ự nh ng chúng cũng tham chi u t i DISR và xác đ nh m t lo t các trách nhi m c a các thành ph nư ế ớ ị ộ ạ ệ ủ ầ c a DoD trong qui trình qu n lý và tri n khai các tiêu chu n.ủ ả ể ẩ

Ch th DoD 5101.7 đ a DISA thành đ i lý đi u hành c a các tiêu chu n công ngh thông tin; cácỉ ị ư ạ ề ủ ẩ ệ trách nhi m c a DISA là đ (cùng v i nh ng trách nhi m khác):ệ ủ ể ớ ữ ệ

6.1.10 Thúc đ y áp d ng các tiêu chu n đ c l a ch n không ph i c a chính ph (qu c giaẩ ụ ẩ ượ ự ọ ả ủ ủ ố và qu c t ) nh các tiêu chu n Liên bang, trong s ph i h p v i Vi n Qu c gia v Tiêuố ế ư ẩ ự ố ợ ớ ệ ố ề chu n và Công ngh (NIST). Qu n lý qui trình cho vi c ph i h p các v th c a DoD trongẩ ệ ả ệ ố ợ ị ế ủ các tiêu chu n công ngh thông tin v i NIST và các c quan liên bang khác. T o đi u ki nẩ ệ ớ ơ ạ ề ệ hài hòa và tăng c ng các th a thu n v tiêu chu n công ngh thông tin và Biên b n ghiườ ỏ ậ ề ẩ ệ ả nh /Biên b n th a thu n nhân danh DoD vì lý do v tính t ng h p các h th ng đa qu cớ ả ỏ ậ ề ươ ợ ệ ố ố gia và gi a qu c gia v i qu c gia. Khuy n khích s d ng các kho n không phát tri n, dùngữ ố ớ ố ế ử ụ ả ể ngay đ c c a chính ph , và các s n ph m th ng m i dùng ngay đ c b t kỳ đâu có thượ ủ ủ ả ẩ ươ ạ ượ ấ ở ể tuân theo v i tham chi u (e).ớ ế

6.1.11 Phát tri n, v i các lãnh đ o các b ph n c a DoD, các tiêu chu n công ngh thông tinể ớ ạ ộ ậ ủ ẩ ệ quân s theo hi u bi t c a DISA ch khi mà các tiêu chu n không ph i c a chính ph ho cự ể ế ủ ỉ ẩ ả ủ ủ ặ các tiêu chu n c a Liên bang không đáp ng đ c các yêu c u c a DoD. Đ i lý đi u hànhẩ ủ ứ ượ ầ ủ ạ ề c a DoD v các tiêu chu n công ngh thông tin s ti n hành ki m th tính h p l trong t t củ ề ẩ ệ ẽ ế ể ử ợ ệ ấ ả các tiêu chu n c a T ch c Phát tri n các Tiêu chu n ho c T ch c Thi t l p các Tiêu chu n.ẩ ủ ổ ứ ể ẩ ặ ổ ứ ế ậ ẩ

6.1.12 Duy trì kho Đăng ký các Tiêu chu n công ngh thông tin c a DoD (DISR) c u thànhẩ ệ ủ ấ t các tiêu chu n công ngh thông tin đ c phê chu n và các h s tiêu chu n đ giúp choừ ẩ ệ ượ ẩ ồ ơ ẩ ể nh ng ng i qu n lý ch ng trình và d án, các nhà ch c trách mua s m, và các nhà ki nữ ườ ả ươ ự ứ ắ ế trúc h th ng và k thu t trong s phát tri n và lĩnh v c c a các h th ng và các s n ph mệ ố ỹ ậ ự ể ự ủ ệ ố ả ẩ có th t ng h p đ c và h ng m ng. Thi t l p qui trình và các th t c cho vi c qu n lýể ươ ợ ượ ướ ạ ế ậ ủ ụ ệ ả c u hình vòng đ i c a các tiêu chu n công ngh thông tin có ch a trong DISR. Cung c pấ ờ ủ ẩ ệ ứ ấ tr c tuy n không bí m t.ự ế ậ

Kho Đăng ký Tiêu chu n công ngh thông tin c a DoD (DISR) đ c DISA duy trì hi n là duy nh tẩ ệ ủ ượ ệ ấ s n sàng cho DoD và các nhân viên chính ph ; nh ng ng i có th m quy n đ truy c p nó có thẵ ủ ữ ườ ẩ ề ể ậ ể xem nó t i https://disronline.disa.mil. DISR là m t kho tr c tuy n cho m t t p h p t i thi u các tiêuạ ộ ự ế ộ ậ ợ ố ể chu n công ngh thông tin th ng m i ban đ u (tr c đó đ c đ t trong Ki n trúc K thu t Chungẩ ệ ươ ạ ầ ướ ượ ặ ế ỹ ậ JTA (Joint Technical Architecture). Các tiêu chu n này đ c s d ng nh “vi c xây d ng các mã”ẩ ượ ử ụ ư ệ ự cho t t c các h th ng đang đ c mua s m trong DoD. Khi xây d ng các h th ng, các yêu c u đấ ả ệ ố ượ ắ ự ệ ố ầ ề xu t và các bình lu n h p đ ng c a công vi c ph i đ c rà soát l i nh m t ph n c a các qui trìnhấ ậ ợ ồ ủ ệ ả ượ ạ ư ộ ầ ủ mua s m đ c phê chu n đ đ m b o các tiêu chu n công ngh thông tin đ c thi t l p trong cácắ ượ ẩ ể ả ả ẩ ệ ượ ế ậ Tài li u v Các kh năng Ban đ u, Các tài li u Phát tri n Các kh năng và Các tài li u S n xu t Cácệ ề ả ầ ệ ể ả ệ ả ấ kh năng đ c d ch thành các yêu c u rõ ràng c a h p đ ng. B sung thêm, các yêu c u đ xu t vàả ượ ị ầ ủ ợ ồ ổ ầ ề ấ các tuyên b h p đ ng c a công vi c nên ch a đ ng các yêu c u b sung cho các nhà th u đ xácố ợ ồ ủ ệ ứ ự ầ ổ ầ ể đ nh nh ng tr ng h p nh ng n i mà nh ng nh h ng c a chi phí, l ch trình ho c s th c thi cóị ữ ườ ợ ở ữ ơ ữ ả ưở ủ ị ặ ự ự

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 49/77

Page 50: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

th lo i tr vi c s d ng các tiêu chu n công ngh thông tin đ c b t bu c trong DISR. Đ đ m b oể ạ ừ ệ ử ụ ẩ ệ ượ ắ ộ ể ả ả tính t ng h p gi a các h th ng DoDD 4630.05 yêu c u các nhà th u s d ng ch các tiêu chu nươ ợ ữ ệ ố ầ ầ ử ụ ỉ ẩ đ c phê chu n t DISR cho các h th ng c a h .ượ ẩ ừ ệ ố ủ ọ

Có m t n l c liên d ch v đ c g i là NESI (Các gi i pháp doanh nghi p h ng m ng cho tínhộ ỗ ự ị ụ ượ ọ ả ệ ướ ạ t ng h p)ươ ợ 2 gi a Không quân (ESC), H i quân (PEO C4I), và C quan các H th ng Thông tinữ ả ơ ệ ố Quân s (DISA). NESI đang phát tri n m t c quan v tri th c ki n trúc và k thu t mà nó ch d nự ể ộ ơ ề ứ ế ỹ ậ ỉ ẫ vi c thi t k , tri n khai, duy trì, ti n hóa, và s d ng ph n công ngh thông tin c a các gi i phápệ ế ế ể ế ử ụ ầ ệ ủ ả h ng m ng cho ng d ng quân s . NESI cung c p nh ng khuy n cáo k thu t đ c bi t mà m t tướ ạ ứ ụ ự ấ ữ ế ỹ ậ ặ ệ ộ ổ ch c c a DoD có th s d ng nh các tham chi u. NESI cũng ph c v nh m t t p h p các thamứ ủ ể ử ụ ư ế ụ ụ ư ộ ậ ợ chi u đ i v i nh ng tr ng h p tuân th các ch th .ế ố ớ ữ ườ ợ ủ ỉ ị

A.2 PMNM

S d ng PMNM trong Chính ph Liên bang và DoD đ c bi t đã đ c đánh mã b ng các tài li u vử ụ ủ ặ ệ ượ ằ ệ ề chính sách sau đây:

1. Văn phòng Qu n lý và Ngân sách (OMB) M-04-16 v “Mua s m ph n m m”ả ề ắ ầ ề (http://www.whitehouse.gov/omb/memoranda/fy04/m04-16.html). B n ghi này đ n gi n nóiả ơ ả r ng các chính sách hi n hành c a liên bang v mua s m ph n m m áp d ng nh nhau choằ ệ ủ ề ắ ầ ề ụ ư c các ph n m m ngu n đóng và ngu n m . L u ý r ng không có u tiên cho ph n m m sả ầ ề ồ ồ ở ư ằ ư ầ ề ở h u đ c quy n h n PMNM.ữ ộ ề ơ

2. “Làm sáng t ch d n v PMNM” c a CIO DoD tháng 10/2009 (http://cio-ỏ ỉ ẫ ề ủnii.defense.gov/docs/OpenSourceInDoD.pdf). B n ghi chính sách này đ c bi t l u ý r ngả ặ ệ ư ằ “Có nh ng khía c nh tích c c c a PMNM nên đ c xem xét khi ti n hành nghiên c u thữ ạ ự ủ ượ ế ứ ị tr ng v ph n m m đ s d ng trong DoD”. Nó th m chí nói nh ng đi u ki n theo đóườ ề ầ ề ể ử ụ ậ ữ ề ệ “nh ng kho n ph n m m, bao g m c nh ng s a l i và nh ng c i ti n c a mã ngu n, đ cữ ả ầ ề ồ ả ữ ử ỗ ữ ả ế ủ ồ ượ phát tri n cho Chính ph nên đ c đ a ra công khai (nh là theo m t gi y phép ngu n m )”.ể ủ ượ ư ư ộ ấ ồ ở B n ghi này thay th biên b n ghi nh tr c đó, “PMNM trong DoD”, ngày 28/05/2003.ả ế ả ớ ướ

Các tài li u sau cung c p ch d n thông tin v PMNM cho chính ph liên bang và DoD (m t cáchệ ấ ỉ ẫ ề ủ ộ t ng ng):ươ ứ

1. “Các câu h i th ng g p v b n quy n và các v n đ ph n m m máy tính có nh h ng t iỏ ườ ặ ề ả ề ấ ề ầ ề ả ưở ớ Chính ph M v i nh n m nh đ c bi t v PMNM” c a CENDIủ ỹ ớ ấ ạ ặ ệ ề ủ (http://www.cendi.gov/publications/09-1FAQ_OpenSourceSoftware_FINAL_110109.pdf)

2. “Các câu h i th ng g p v PMNM c a DoD: Các câu h i th ng g p v PMNM và DoD”ỏ ườ ặ ề ủ ỏ ườ ặ ề c a CIO DoD (http://cionii.defense.gov/sites/oss/Open_Source_Software_%28OSSủ%29_FAQ.htm).

Đ i v i chính sách ho c các câu h i pháp lý chung v PMNM trong chính ph M , hãy t v n cácố ớ ặ ỏ ề ủ ỹ ư ấ tài li u chính sách và ch d n.ệ ỉ ẫ

T t c các tài li u chính sách và ch d n ch ra r ng trong khi m t s n ph m PMNM c th có thấ ả ệ ỉ ẫ ỉ ằ ộ ả ẩ ụ ể ể có ho c không phù h p cho m t m c đích đ c bi t nào đó, thì ch là PMNM s không là v n đ gìặ ợ ộ ụ ặ ệ ỉ ẽ ấ ề trong t t c các qui đ nh mua s m c a DoD và chính ph liên bang M . T t c các chính sách vàấ ả ị ắ ủ ủ ỹ ấ ả ch d n làm rõ ràng r ng PMNM có th ch p nh n đ c đ s d ng trong các mua s m ph n m m.ỉ ẫ ằ ể ấ ậ ượ ể ử ụ ắ ầ ề

Hai v n đ có liên quan t i PMNM là đ c bi t quan tr ng trong mua s m c a chính ph : PMNM làấ ề ớ ặ ệ ọ ắ ủ ủ

2 http://nesipublic.spawar.navy.mil/docs

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 50/77

Page 51: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

th ng m i, và PMNM là không b c m b i các ki m soát b o hi m thông tin trong các ph n m mươ ạ ị ấ ở ể ả ể ầ ề mi n phí (freeware), ph n m m chia s (shareware), và/ho c ph n m m ít có đ m b o (warranty-ễ ầ ề ẻ ặ ầ ề ả ảless software).

A.2.1 Gần như tất cả PMNM là thương mại và thương mại dùng được ngay (COTS)

G n nh t t c PMNM có s n m t cách công khai là m t “kho n th ng m i” và là “COTS”.ầ ư ấ ả ẵ ộ ộ ả ươ ạ

Đi u này là quan tr ng vì nhi u lu t và qui đ nh có nh ng yêu c u có th áp d ng r ng rãi v cácề ọ ề ậ ị ữ ầ ể ụ ộ ề kho n th ng m i và các kho n COTS. Ví d , lu t M (10 USC 2377) thi t l p m t “ u tiên choả ươ ạ ả ụ ậ ỹ ế ậ ộ ư mua s m các kho n th ng m i”, và FAR yêu c u các c quan chính ph “(a) ti n hành nghiên c uắ ả ươ ạ ầ ơ ủ ế ứ th tr ng đ xác đ nh [li u] các kho n th ng m i ho c các kho n không phát tri n có s n hayị ườ ể ị ệ ả ươ ạ ặ ả ể ẵ không... (b) Mua s m [chúng] khi .... s n sàng ... [và] (c) Yêu c u các nhà th u tr c tiên và các nhàắ ẵ ầ ầ ướ th u ph m i l p ph i k t h p, đ t i đa hóa ph m vi có th th c hành đ c, [chúng] nh cácầ ụ ở ọ ớ ả ế ợ ể ố ạ ể ự ượ ư thành ph n... ” M t c quan không xem xét các l a ch n PMNM có th s vi ph m tr c ti p các lu tầ ộ ơ ự ọ ể ẽ ạ ự ế ậ và qui đ nh này.ị

Đ c bi t, PMNM ít nh t có m t s d ng phi chính ph , và đã t ng ho c đang có s n đ i v i côngặ ệ ấ ộ ử ụ ủ ừ ặ ẵ ố ớ chúng, theo đ nh nghĩa là ph n m m th ng m i. N u PMNM đã có s n sàng cho công chúng vàị ầ ề ươ ạ ế ẵ đ c s d ng không có thay đ i, thì nó th ng là COTS. Có nhi u đi u ki n khác đ là m t kho nượ ử ụ ổ ườ ề ề ệ ể ộ ả th ng m i ho c COTS, và PMNM có s n m t cách công khai có xu h ng đáp ng đ c chúng.ươ ạ ặ ẵ ộ ướ ứ ượ Đi u này là đúng theo lu t M , các qui đ nh mua s m M (đ c bi t Qui đ nh Mua s m Liên bangề ậ ỹ ị ắ ỹ ặ ệ ị ắ FAR và B sung Qui đ nh Mua s m Liên bang trong Quân s DFARS, và theo chính sách.ổ ị ắ ự

Lu t M đi u ti t s mua s m c a liên bang (Tên b Lu t M 41, Ch ng 7, Ph n 403) xác đ nhậ ỹ ề ế ự ắ ủ ộ ậ ỹ ươ ầ ị “kho n th ng m i” khi đ a vào “B t kỳ kho n nào, khác v i s h u th c, mà là c a m t d ngả ươ ạ ư ấ ả ớ ở ữ ự ủ ộ ạ đ c công chúng nói chung ho c các th c th phi chính ph s d ng m t cách thông th ng choượ ặ ự ể ủ ử ụ ộ ườ nh ng m c đích khác so v i các m c đích c a chính ph (nh , nó có m t s s d ng phi chính ph ),ữ ụ ớ ụ ủ ủ ư ộ ố ử ụ ủ và (i) Đã đ c bán, đ c thuê, ho c đ c c p phép cho công chúng nói chung; ho c (ii) Đã đ cượ ượ ặ ượ ấ ặ ượ chào bán, thuê, ho c c p phép cho công chúng nói chung...”. Vì th , mi n là ph n m m có ít nh tặ ấ ế ễ ầ ề ấ m t s d ng phi chính ph , thì ph n m m đ c thuê (ho c đ c chào đ thuê) cho công chúng làộ ử ụ ủ ầ ề ượ ặ ượ ể m t kho n th ng m i cho các m c đích mua s m.ộ ả ươ ạ ụ ắ

T ng t , Tên Lu t M 41, Ch ng 7, Ph n 431 xác đ nh kho n “kho n COTS có s n”; ph n m mươ ự ậ ỹ ươ ầ ị ả ả ẵ ầ ề là COST n u nó là (a) “m t kho n th ng m i”, (b) đ c bán theo s l ng đáng k trong thế ộ ả ươ ạ ượ ố ượ ể ị tr ng th ng m i, và (c) đ c chào cho Chính ph , không có s a đ i, d ng y h t trong đó nóườ ươ ạ ượ ủ ử ổ ở ạ ệ đ c bán trong th tr ng th ng m i. Vì th , PMNM s n sàng cho công chúng và đ c s d ngượ ị ườ ươ ạ ế ẵ ượ ử ụ không thay đ i th ng là COST.ổ ườ

Cu i cùng, Tên Lu t M 17, ph n 101 xác đ nh “l i ích tài chính“ khi đ a vào “công th c, ho cố ậ ỹ ầ ị ợ ư ứ ặ mong đ i c a công th c, c a b t kỳ th gì có giá tr , bao g m công th c c a các tác ph m có b nợ ủ ứ ủ ấ ứ ị ồ ứ ủ ẩ ả quy n”. H u h t các d án PMNM đ c bi t đ c thi t l p đ khuy n khích nh ng ng i khác đóngề ầ ế ự ặ ệ ượ ế ậ ể ế ữ ườ góp các c i ti n (mà chúng là các công vi c có b n quy n), m t d ng l i ích tài chính và vì th làả ế ệ ả ề ộ ạ ợ ế th ng m i. ươ ạ

Nh ng đ nh nghĩa này trong lu t c a M chi ph i các qui đ nh mua s m c a M , y là Qui đ nhữ ị ậ ủ ỹ ố ị ắ ủ ỹ ấ ị Mua s m Liên bang FAR và B sung Qui đ nh Mua s m Liên bang c a Qu c phòng DFARS. Ví d ,ắ ổ ị ắ ủ ố ụ các quy n c a DFARS 252.227-7014 trong Ph n m m Máy tính Phi th ng m i và Tài li u Ph nề ủ ầ ề ươ ạ ệ ầ m m Máy tính Phi th ng m i xác đ nh m t cách t ng t “Ph n m m máy tính th ng m i” nh làề ươ ạ ị ộ ươ ự ầ ề ươ ạ ư “ph n m m đ c phát tri n ho c đ c s d ng th ng xuyên cho các m c đích phi chính ph mà:ầ ề ượ ể ặ ượ ử ụ ườ ụ ủ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 51/77

Page 52: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

(i) đã đ c bán, đ c thuê, ho c đ c c p phép cho công chúng”; (ii) Đã đ c chào bán, thuê, ho cượ ượ ặ ượ ấ ượ ặ c p phép cho công chúng; (iii) Không đ c chào, bán, thuê, ho c c p phép cho công chúng nh ngấ ượ ặ ấ ư là có s n cho s bán, thuê, ho c gi y phép th ng m i đúng lúc đ làm th a mãn các yêu c u phânẵ ự ặ ấ ươ ạ ể ỏ ầ ph i c a h p đ ng; ho c (iv) làm th a mãn m t tiêu chí đ c th hi n trong đo n (a)(1) (i), (ii),ố ủ ợ ồ ặ ỏ ộ ượ ể ệ ạ ho c (iii) c a m nh đ này và có th đòi h i ch s a đ i nh đ đáp ng đ c các yêu c u c a h pặ ủ ệ ề ể ỏ ỉ ử ổ ỏ ể ứ ượ ầ ủ ợ đ ng này.ồ

M c dù biên b n ghi nh c a OMB M-04-16 không nói m t cách chính xác r ng PMNM th ng làặ ả ớ ủ ộ ằ ườ ph n m m th ng m i, thì b n ghi nh c a OMB M-03-14 “Vi c gi m giá thành và c i thi n ch tầ ề ươ ạ ả ớ ủ ệ ả ả ệ ấ l ng trong các mua s m ph n m m th ng m i c a Liên bang” nói chính xác r ng sáng ki nượ ắ ầ ề ươ ạ ủ ằ ế SmartBuy (Mua thông minh) c a nó cho ph n m m th ng m i đ a vào “s h tr PMNM”. Vì th ,ủ ầ ề ươ ạ ư ự ỗ ợ ế là sai đ gi thi t r ng PMNM không ph i là th ng m i. ể ả ế ằ ả ươ ạ

B n ghi tháng 10/2009 c a DoD CIO “Vi c làm sáng t Ch d n v PMNM” l u ý chính xác r ngả ủ ệ ỏ ỉ ẫ ề ư ằ trong “h u h t t t c các tr ng h p, PMNM đáp ng đ c đ nh nghĩa v 'ph n m m máy tínhầ ế ấ ả ườ ợ ứ ượ ị ề ầ ề th ng m i' và s đ c trao s u tiên phù h p theo lu t tuân th v i 10 USC 2377 (tham chi u (b))ươ ạ ẽ ượ ự ư ợ ậ ủ ớ ế (cũng xem FAR 2.101(b), 12.000, 12.101 (tham chi u (c)); và DFARS 212.212, and 252.227-ế7014(a)(1) (tham chi u (d)))”.ế

S hi u l m đã tr thành quá ph bi n r ng vào ngày 05/06/2007, B H i quân đã đ a ra m t ghiự ể ầ ở ổ ế ằ ộ ả ư ộ chép có đ u đ “Ch d n PMNM”. Ghi chép này l u ý r ng “nh ng quan ni m sai v vi c li u cóầ ề ỉ ẫ ư ằ ữ ệ ề ệ ệ hay không PMNM đ t cách nh là ph n m m COTS ho c GOTS. Vì quan ni m sai này, PMNMủ ư ư ầ ề ặ ệ đã không nh n đ c s xem xét bình đ ng trong qui trình mua s m ph n m m. [B H i quân] sậ ượ ự ẳ ắ ầ ề ộ ả ẽ đ i x v i PMNM nh là COTS vì nó đáp ng đ c đ nh nghĩa c a m t kho n th ng m i”.ố ử ớ ư ứ ượ ị ủ ộ ả ươ ạ

Vi c gi i thích h p lý b sung vì sao PMNM là th ng m i đ c đ a ra trong “PMTDNM là ph nệ ả ợ ổ ươ ạ ượ ư ầ m m th ng m i”ề ươ ạ 3.

A.2.2 PMNM không bị cấm vì các kiểm soát thông tin trong Freeware, Shareware và các đảm bảo

C n ph i xua tan m t s hi u sai v PMNM. C các ki m soát b o hi m thông tin IA (Informationầ ả ộ ự ể ề ả ể ả ể Assurance) c a Liên bang và DoD v freeware, shareware, và các ph n m m ít có đ m b o h n,ủ ề ầ ề ả ả ơ nh ng nh ng ki m soát này không áp d ng cho PMNM. M t ph n c a v n đ này là nhi u ng iư ữ ể ụ ộ ầ ủ ấ ề ề ườ tham chi u, không đúng, t i PMNM nh là ‘freeware’ or ‘shareware’. H n n a, nhi u ng i khôngế ớ ư ơ ữ ề ườ hi u chính sách c a Liên bang và DoD v các đ m b o ph n m m. K t qu là, h tin t ng sai r ngể ủ ề ả ả ầ ề ế ả ọ ưở ằ nh ng chính sách đó c m s d ng PMNM.ữ ấ ử ụ

Các ki m soát đ c hi u nh m theo cách này là: ể ượ ể ầ

1. Xu t b n đ c bi t c a NIST 800-53, “Các ki m soát an ninh đ c khuy n cáo cho các hấ ả ặ ệ ủ ể ượ ế ệ th ng thông tin Liên bang và các t ch c” b n rà soát l i s 3ố ổ ứ ả ạ ố (http://csrc.nist.gov/publications/nistpubs/800-53-Rev3/sp800-53-rev3-final_updated-errata_05-01-2010.pdf), ki m soát SA-6 bi t hi u “Nh ng h n ch s d ng ph n m m”. Tàiể ệ ệ ữ ạ ế ử ụ ầ ề li u này nói: “[M t t ch c ph i c m] s d ng th vi n ho c mã ngu n máy có th ch yệ ộ ổ ứ ả ấ ử ụ ư ệ ặ ồ ể ạ đ c t các ngu n v i s đ m b o b h n ch ho c không có và không đi kèm cùng v i mãượ ừ ồ ớ ự ả ả ị ạ ế ặ ớ ngu n”. Ch d n b sung c i ti n cho ki m soát này nói r ng: “Các s n ph m ph n m mồ ỉ ẫ ổ ả ế ể ằ ả ẩ ầ ề không đi kèm mã ngu n t các ngu n v i s đ m b o b h n ch ho c không có s đ cồ ừ ồ ớ ự ả ả ị ạ ế ặ ẽ ượ

3 Wheeler, David A. “Free-Libre / Open Source Software (FLOSS) is Commercial Software” http://www.dwheeler.com/essays/commercial-floss.html

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 52/77

Page 53: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

đánh giá v nh ng nh h ng an ninh ti m tàng. S đánh giá s gi i quy t th c t r ngề ữ ả ưở ề ự ẽ ả ế ự ế ằ nh ng d ng s n ph m ph n m m này khó ho c không có kh năng đ rà soát l i, s a ch a,ữ ạ ả ẩ ầ ề ặ ả ể ạ ử ữ ho c m r ng, bi t r ng t ch c không có s truy c p đ c t i mã ngu n g c ban đ u vàặ ở ộ ế ằ ổ ứ ự ậ ượ ớ ồ ố ầ không có ch s h u có th s a ch a nhân danh c a t ch c nh v y đ c”. ủ ở ữ ể ử ữ ủ ổ ứ ư ậ ượ

2. Ch l nh c a DoD 8500.2 “Tri n khai b o hi m thông tin (IA)”ỉ ệ ủ ể ả ể (http://www.dtic.mil/whs/directives/corres/pdf/850002p.pdf) ngày 06/02/2003, ki m soátể DCPD-1 tên hi u “Các ki m soát Ph n m m Mi n Công c ng”. Ki m soát này nói: “Cácệ ể ầ ề ề ộ ể s n ph m ph n m m mi n công c ng có th ch y đ c d ng nh phân ho c mã máy và cácả ẩ ầ ề ề ộ ể ạ ượ ở ạ ị ặ s n ph m ph n m m khác v i s đ m b o b h n ch ho c không có, nh nh ng th đ cả ẩ ầ ề ớ ự ả ả ị ạ ế ặ ư ữ ứ ượ bi t t i m t cách ph bi n nh là freeware ho c shareware s không đ c s d ng trong cácế ớ ộ ổ ế ư ặ ẽ ượ ử ụ h th ng thông tin c a DoD tr phi chúng là c n thi t đ i v i s hoàn thành nhi m v vàệ ố ủ ừ ầ ế ố ớ ự ệ ụ không có các gi i pháp công ngh thông tin l a ch n thay th nào s n có. Nh ng s n ph mả ệ ự ọ ế ẵ ữ ả ẩ nh v y s đ c đánh giá v nh ng nh h ng v b o hi m thông tin, và đ c phê chu nư ậ ẽ ượ ề ữ ả ưở ề ả ể ượ ẩ cho s d ng t DAA. S đánh giá s gi i quy t th c t r ng nh ng s n ph m ph n m m nhử ụ ừ ự ẽ ả ế ự ế ằ ữ ả ẩ ầ ề ư v y là khó ho c không có kh năng đ rà soát l i, s a, ho c m r ng, bi t r ng Chính phậ ặ ả ể ạ ử ặ ở ộ ế ằ ủ không có s truy c p t i mã ngu n g c ban đ u và không có ch s h u có th ti n hànhự ậ ớ ồ ố ầ ủ ở ữ ể ế nh ng s a ch a nh v y nhân danh Chính ph ”.ữ ử ữ ư ậ ủ

Nh ng đ c k thì nó ch ra r ng nh ng ki m soát này không áp d ng đ c cho PMNM. C cácư ọ ỹ ỉ ằ ữ ể ụ ượ ả ki m soát c a Liên bang và DoD đ u h n ch s d ng các ph n m m đó nh ng n i mà chính phể ủ ề ạ ế ử ụ ầ ề ở ữ ơ ủ không th “rà soát l i, s a ho c m r ng, bi t r ng Chính ph không có s truy c p t i mã ngu nể ạ ử ặ ở ộ ế ằ ủ ự ậ ớ ồ g c ban đ u” và có s đ m b o b h n ch . B ng đ nh nghĩa, chính ph có đ c s truy c p t i mãố ầ ự ả ả ị ạ ế ằ ị ủ ượ ự ậ ớ ngu n c a PMNM, nên toàn b ki m soát này không áp d ng đ c cho PMNM. M c dù các kho nồ ủ ộ ể ụ ượ ặ ả “freeware” và “shareware” không đ c xác đ nh rõ ràng theo DCPD-1, thì hãy l u ý r ng văn b nượ ị ư ằ ả nói r ng th c t là chính ph không có s truy c p t i mã ngu n g c ban đ u, nên vì th PMNMằ ự ế ủ ự ậ ớ ồ ố ầ ế không ph i là freeware và shareware.ả

Đi u quan tr ng ph i hi u ki m soát này theo ng c nh. C các ki m soát v c b n đòi h i ho cề ọ ả ể ể ữ ả ả ể ề ơ ả ỏ ặ mã ngu n (đ rà soát l i, s a ch a, ho c m r ng ph n m m) ho c m t s đ m b o; ý t ng làồ ể ạ ử ữ ặ ở ộ ầ ề ặ ộ ự ả ả ưở chính ph mu n đ m b o r ng chính ph có th ho c t h tr ph n m m mà chính ph c n, ho củ ố ả ả ằ ủ ể ặ ự ỗ ợ ầ ề ủ ầ ặ có kh năng đ ph thu c vào nh ng ng i khác đ làm th .ả ể ụ ộ ữ ườ ể ế

B n ghi c a DoD năm 2009 v PMNM l u ý đ c bi t trong kho n (c) r ng DCPD-1 (“Các ki mả ủ ề ư ặ ệ ả ằ ể soát Ph n m m Mi n Công c ng”) “không nên đ c gi i thích nh là vi c c m s d ng PMNM, vìầ ề ề ộ ượ ả ư ệ ấ ử ụ mã ngu n là s n sàng cho vi c rà soát l i, s a ch a và m r ng c a chính ph và các nhà th u c aồ ẵ ệ ạ ử ữ ở ộ ủ ủ ầ ủ mình”.

A.3 Văn hóa cộng tác/phân tán và các công cụ hỗ trợ trực tuyến

V l ch s , s phát tri n ph n m m và các h th ng m t cách c ng tác/phân tán t ng khá là hãn h uề ị ử ự ể ầ ề ệ ố ộ ộ ừ ữ trong các c ng đ ng c a Liên bang và DoD. Tài li u này nh m thay đ i đi u đó.ộ ồ ủ ệ ằ ổ ề H n n a, đã t ngơ ữ ừ có m t s s vi c v nó, và các công c và các ti p c n mà xúc tác cho nó.ộ ố ự ệ ề ụ ế ậ

H n n a, chính ph M đôi khi đã tr thành có liên quan trong vi c thi t l p ho c tr thành có liênơ ữ ủ ỹ ở ệ ế ậ ặ ở quan trong s phát tri n phân tán. Đi u này m t ph n rõ ràng trong các d án PMNM. Chính phự ể ề ộ ầ ự ủ đôi lúc đã thi t l p ho c tham gia vào các d án PMNM mà chúng đã b t đ u ho c đã đ c truy nế ậ ặ ự ắ ầ ặ ượ ề vào trong các d án c a c ng đ ng. Nh ng ví d bao g m Linux mong đ i và Linux đ c c i ti nự ủ ộ ồ ữ ụ ồ ợ ượ ả ế an ninh (Expect and Security-Enhanced Linux). Xem ph n tr c v PMNM đ có thêm thông tin.ầ ướ ề ể

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 53/77

Page 54: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Các quy n d li u mà chính ph M nh n đ c m t cách m c đ nh th ng xúc tác cho s phát tri nề ữ ệ ủ ỹ ậ ượ ộ ặ ị ườ ự ể c ng tác, th m chí dù c h i này th ng b phung phí. Trong nhi u tr ng h p, chính ph nh nộ ậ ơ ộ ườ ị ề ườ ợ ủ ậ đ c các quy n không h n ch , mà chúng xúc tác cho chính ph thi t l p s phát tri n c ng tác v iượ ề ạ ế ủ ế ậ ự ể ộ ớ b t kỳ ai mà chính ph mong mu n. Trong các tr ng h p khác, chính ph M ít nh t cũng nh nấ ủ ố ườ ợ ủ ỹ ấ ậ đ c Các quy n theo M c đích c a Chính ph GPR; chúng là đ các quy n đ xúc tác cho s phátượ ề ụ ủ ủ ủ ề ể ự tri n c ng tác c a chính ph và các nhà th u c a mình ( m i m c đ ), khi mà vi c s d ng là vìể ộ ủ ủ ầ ủ ở ọ ứ ộ ệ ử ụ các m c đích c a chính ph M .ụ ủ ủ ỹ

Trong năm 2006 Văn phòng OA H i quân đã thi t l p m t kho ph n m m g i là SHARE[18] n iả ế ậ ộ ầ ề ọ ơ mà các nhà th u đang làm vi c trong m t h p đ ng c a H i quân có th truy c p kho đ đ a lên vàầ ệ ộ ợ ồ ủ ả ể ậ ể ư duy t mã ngu nệ ồ 4. G n đây h n, DISA đã xây d ng forge.mil (http://www.forge.mil) đ xúc tác choầ ơ ự ể “s phát tri n c ng tác và s d ng ngu n m và các PMNM c a c ng đ ng DoD” (cái sau là nh ngự ể ộ ử ụ ồ ở ủ ộ ồ ữ gì tài li u này tham chi u t i nh là các ph n m m OGOTS).ệ ế ớ ư ầ ề

A.4 Tính lanh lẹ của công nghệ (Các hệ thống mở và kiến trúc mở)

Quá th ng th y t t c các ph n m m và các h th ng trong l ch s đã và đang đ c phát tri n nhườ ấ ấ ả ầ ề ệ ố ị ử ượ ể ư là nh ng đ nguyên kh i. Nh ng ph n m m ho c h th ng nh v y là khó đ thay đ i và áp d ngữ ồ ố ữ ầ ề ặ ệ ố ư ậ ể ổ ụ khi công ngh và và các nhu c u thay đ i.ệ ầ ổ

Khi ph n m m đã tr thành ngày m t đ c k t n i m ng, thì thi t k và các ph ng pháp lu n kầ ề ở ộ ượ ế ố ạ ế ế ươ ậ ỹ thu t đã ti n b h ng t i các ki n trúc d a vào d ch v mà chúng giao ti p thông qua các giao di nậ ế ộ ướ ớ ế ự ị ụ ế ệ m và đ c tiêu chu n hóa. M t khi là d ng ki n trúc m , d a vào d ch v đ c tri n khai, thì hở ượ ẩ ộ ạ ế ở ự ị ụ ượ ể ệ th ng v b n ch t t nhiên phân li thành m t thi t k theo module - m i d ch v là t do đ c i ti nố ề ả ấ ự ộ ế ế ỗ ị ụ ự ể ả ế và ti n hóa m t cách đ c l p mi n là nó giao ti p thông qua các giao di n tiêu chu n.ế ộ ộ ậ ễ ế ệ ẩ

M u ch t là đ chia h th ng thành các thành ph n theo module, nh h n mà chúng có th đ c sấ ố ể ệ ố ầ ỏ ơ ể ượ ử d ng m t cách riêng r và có các giao di n tiêu chu n. Đi u này cho phép thay đ i và thích nghiụ ộ ẽ ệ ẩ ề ổ đ c khi công ngh và các nhu c u thay đ i. Chính ph cũng ph i có các quy n c n thi t đ thíchượ ệ ầ ổ ủ ả ề ầ ế ể nghi ho c thay th nh ng thành ph n này và nh ng quan h liên k t v i nhau nh c n thi t.ặ ế ữ ầ ữ ệ ế ớ ư ầ ế

Trong ng c nh này, b t kỳ d ch v ph n m m nào cũng có th đ c tri n khai b ng COTS ho cữ ả ấ ị ụ ầ ề ể ượ ể ằ ặ GOTS - tri n khai t t nh t có th đ c ch n, đ c s a đ i ho c đ c thay th n u m t l a ch nể ố ấ ể ượ ọ ượ ử ổ ặ ượ ế ế ộ ự ọ công ngh t t h n là có s n. Đ c tri n khai m t cách phù h p, các tiêu chu n và gi i pháp m t oệ ố ơ ẵ ượ ể ộ ợ ẩ ả ở ạ ra m t sân ch i bình đ ng cho phép các công ngh đ ng sau ti n hóa trong khi gi m t i thi u tínhộ ơ ẳ ệ ằ ế ả ố ể ph c t p c a các giao di n. H n n a, tính module hóa đ kh năng đ i v i các tiêu chu n và cácứ ạ ủ ệ ơ ữ ủ ả ố ớ ẩ giao di n m đ làm gi m r i ro v công ngh b ng vi c h n ch nh ng ph thu c ph n m m theoệ ở ể ả ủ ề ệ ằ ệ ạ ế ữ ụ ộ ầ ề ki u n i t ng (cascading), và làm gi m r i ro v tài chính b ng vi c h n ch nhu c u xây d ng l iể ố ầ ả ủ ề ằ ệ ạ ế ầ ự ạ ho c tích h p l i toàn b h th ng khi các kh năng ho c các yêu c u m i n y sinh.ặ ợ ạ ộ ệ ố ả ặ ầ ớ ả

Ch th 5000.1 c a DoD (ngày 12/05/2003) đo n E1.27 nói r ng: “M t ti p c n các h th ng m ,ỉ ị ủ ạ ằ ộ ế ậ ệ ố ở theo module s đ c s d ng, nh ng n i kh thi đ c”. M t h th ng m là m t h th ng “mà nóẽ ượ ử ụ ở ữ ơ ả ượ ộ ệ ố ở ộ ệ ố s d ng thi t k theo module, s d ng các tiêu chu n đ c h tr r ng rãi và d a vào s đ ng thu nử ụ ế ế ử ụ ẩ ượ ỗ ợ ộ ự ự ồ ậ cho các giao di n ch ch t c a nó, và đã tuân th v i s ki m tra tính h p l và nh ng ki m th tínhệ ủ ố ủ ủ ớ ự ể ợ ệ ữ ể ử h p l thành công đ đ m b o tính m c a các giao di n ch y u c a nó”ợ ệ ể ả ả ở ủ ệ ủ ế ủ 5.

4 Xem PEO-IWS Library, Software, Hardware Asset Reuse Enterprise (SHARE), https://viewnet.nswc.navy.mil5 http://www.acq.osd.mil/osjtf/whatisos.html

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 54/77

Page 55: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Phụ lục B: Các yêu cầu pháp lý cho PMNM đưa ra cho công chúng của chính phủ hoặc các nhà thầu

Ph n này tóm t t khi chính ph liên bang M ho c các nhà th u c a mình có th đ a ra công khai,ầ ắ ủ ỹ ặ ầ ủ ể ư nh là PMNM, ph n m m đ c phát tri n b ng ti n c a chính ph . Ph n này đ c mong đ i dànhư ầ ề ượ ể ằ ề ủ ủ ầ ượ ợ cho nh ng ng i không ph i là lu t s đ giúp h hi u đ c nh ng qui đ nh c b n mà h ph iữ ườ ả ậ ư ể ọ ể ượ ữ ị ơ ả ọ ả tuân th .ủ

Tr c khi đi ti p, m t ít các đ nh nghĩa và c nh báo là c n thi t. Trong ph n này, khái ni m “chínhướ ế ộ ị ả ầ ế ầ ệ ph ” có nghĩa là chính ph liên bang M . “B n” nghĩa là t ch c ho c nhà th u c a chính ph màủ ủ ỹ ạ ổ ứ ặ ầ ủ ủ mu n đ a ph n m m ra công khai nh là PMNM. “Vi c đ a ra công khai nh PMNM” nghĩa là: (1)ố ư ầ ề ư ệ ư ư đ a mã ngu n c a ph n m m ra công chúng nói chung (nh là thông qua m t website công c ng)ư ồ ủ ầ ề ư ộ ộ và (2) trao cho nh ng ng i s d ng c a mình s t do s d ng nó (v i b t kỳ m c đích nào),ữ ườ ử ụ ủ ự ự ử ụ ớ ấ ụ nghiên c u nó, s a đ i nó, và phân ph i l i nó (dù đ c s a đ i hay không)ứ ử ổ ố ạ ượ ử ổ 6. L u ý r ng nh ngư ằ ữ quy n t do này có th có đ c b ng vi c đ a ph n m m ra theo m t gi y phép c a PMNMề ự ể ượ ằ ệ ư ầ ề ộ ấ ủ 7, ho cặ b ng vi c đ a nó ra mà không có b t kỳ s b o v b n quy n nào. H n n a, l u ý r ng vi c h pằ ệ ư ấ ự ả ệ ả ề ơ ữ ư ằ ệ ợ đ ng c a chính ph là r t khác nhau t các th c ti n th ng m i; đ ng gi thi t r ng các th c ti nồ ủ ủ ấ ừ ự ễ ươ ạ ừ ả ế ằ ự ễ th ng m i áp d ng đ c.ươ ạ ụ ượ

Đ xác đ nh li u b n có đ a ra cho công chúng m t s ph n m m đ c phát tri n b ng ti n c aể ị ệ ạ ư ộ ố ầ ề ượ ể ằ ề ủ chính ph nh là PMNM hay không, b n ph i tr l i các câu h i sau: ủ ư ạ ả ả ờ ỏ

1. H p đ ng nào áp d ng, nh ng đi u kho n c a nó là gì, và các quy t đ nh đã đ c th cợ ồ ụ ữ ề ả ủ ế ị ượ ự hi n là gì?ệ

2. B n có các quy n c n thi t có liên quan t i b n quy n hay không?ạ ề ầ ế ớ ả ề

3. B n có các quy n trí tu c n thi t khácạ ề ệ ầ ế 8 hay không (nh , các b ng sáng ch )?ư ằ ế

4. B n có đ c phép đ đ a ra cho công chúng hay không (nh , ki m soát xu t kh u vàạ ượ ể ư ư ể ấ ẩ bí m t)?ậ

5. B n có các t li u (nh , mã ngu n) và li u t t c các t li u có đ c đánh d u phù h pạ ư ệ ư ồ ệ ấ ả ư ệ ượ ấ ợ hay không?

T ng câu trong nh ng câu h i này đ c gi i thích bên d i, theo sau là m t th o lu n v ai có thừ ữ ỏ ượ ả ướ ộ ả ậ ề ể ti n hành nh ng th o lu n c th đó.ế ữ ả ậ ụ ể

1. H p đ ng nào áp d ng, nh ng đi u kho n c a nó là gì, và các quy t đ nh đã đ c th cợ ồ ụ ữ ề ả ủ ế ị ượ ự hi n là gì?ệ

Tr c h t, hãy tìm h p đ ng và tìm nh ng đi u kho n nào áp d ng đ c, đ c bi t các m nh đ vướ ế ợ ồ ữ ề ả ụ ượ ặ ệ ệ ề ề quy n d li u nào áp d ng đ c. H u h t các h p đ ng s d ng m t trong nh ng t p h p nh cácề ữ ệ ụ ượ ầ ế ợ ồ ử ụ ộ ữ ậ ợ ỏ

6 This is, in summarized form, the Free Software Definition (http://www.gnu.org/philosophy/free-sw.html) from the Free Software Foundation. A similar definition is in the DoD’s “Clarifying Guidance Regarding Open Source Software (OSS)” (http://cio-nii.defense.gov/sites/oss/2009OSS.pdf). A more detailed definition of OSS is the Open Source Definition (http://www.opensource.org/osd.html) from the Open Source Initiative.

7 To release under an OSS license you must have the copyright-related rights (listed in 17 USC §106) to reproduce the work, to prepare derivative works, to distribute copies, and to permit others to perform those actions.

8 Some lawyers use the term “intellectual property rights,” but many believe this term is misleading. Intellectual works (like software) are fundamentally different from physical property, because someone can receive an intellectual work (or rights to it) without its first possessor losing the work or their rights. The authors recommend using the term “intellectual rights” instead.

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 55/77

Page 56: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

m nh đ v các quy n d li u tiêu chu n, nh ng b n c n ph i tìm ra nh ng m nh đ nào áp d ngệ ề ề ề ữ ệ ẩ ư ạ ầ ả ữ ệ ề ụ đ c, và li u h p đ ng có trao nh ng s ngo i tr không. N u văn b n c a m nh đ là khó (nh , cũượ ệ ợ ồ ữ ự ạ ừ ế ả ủ ệ ề ư quá) thì các m nh đ đ c th o lu n đây, ho c th c hi n m t s lo i tr , r i h p đ ng đó (n u h pệ ề ượ ả ậ ở ặ ự ệ ộ ự ạ ừ ồ ợ ồ ế ợ pháp) s chi ph i. H n n a, hãy xác đ nh các quy t đ nh các quy n d li u nào đã đ c nhân viênẽ ố ơ ữ ị ế ị ề ữ ệ ượ làm h p đ ng th c hi n.ợ ồ ự ệ

2. B n có các quy n c n thi t có liên quan t i b n quy n hay không?ạ ề ầ ế ớ ả ề

B ng sau đây ch ra nh ng quy n m c đ nh có liên quan t i b n quy n cho m t s hoàn c nhả ỉ ữ ề ặ ị ớ ả ề ộ ố ả chung. Hàng đ u tiên là m t tr ng h p đ c bi t, n i mà m t nhân viên liên bang phát tri n ph nầ ộ ườ ợ ặ ệ ơ ộ ể ầ m m nh m t ph n c a nhi m v chính th c c a anh ho c ch ta. Các hàng sau th o lu n v tácề ư ộ ầ ủ ệ ụ ứ ủ ặ ị ả ậ ề đ ng th ng th y c a các m nh đ ph bi n v các quy n d li u t Qui đ nh Mua s m c a Liênộ ườ ấ ủ ệ ề ổ ế ề ề ữ ệ ừ ị ắ ủ bang FAR ho c B sung FAR c a DoD (DFARS) (nh ng l u ý t i ngày tháng): ặ ổ ủ ư ư ớ

Tình hu ngố Các đi u ki n khácề ệ (n u có)ế

Trường h pợ

Li u chính ph có đ a ra đ c nh làệ ủ ư ượ ư PMNM?

Li u nhàệ th u có đ aầ ư ra đ c nhượ ư là PMNM?

Nhân viên c a Chính ph liên bang Mủ ủ ỹ (bao g m các nhân viên quân s ) phátồ ự tri n ph n m m nh m t ph n c a nghĩaể ầ ề ư ộ ầ ủ v chính th c c a anh/ch ta. Đi u nàyụ ứ ủ ị ề nghĩa là “Công vi c c a chính ph M ”.ệ ủ ủ ỹ

A Có hi u qu , đ cệ ả ượ . Ph n m m khôngầ ề ph i tuân th b n v b n quy n theoả ủ ả ệ ả ề U.S. per 17, USC §105, nên có th đ c,ể ọ s d ng, s a đ i, và phân ph i l i nó.ử ụ ử ổ ố ạ Chính ph có th áp d ng b n quy n bênủ ể ụ ả ề ngoài n c M , nh ng v n đ a ph nướ ỹ ư ẫ ư ầ m m ra nh là PMNM.ề ư

Ch a cóư

Các m c đ nhặ ị m nh đ c aệ ề ủ h p đ ng theo ợ ồFAR 52.227-14 (tháng 12 năm 2007), ph n m mầ ề tr c h t đ cướ ế ượ s n xu t theoả ấ th c hi n h pự ệ ợ đ ng.ồ

Chính ph đã không traoủ cho nhà th u quy n đòiầ ề b n quy n (m c đ nh).ả ề ặ ị

B Đ cượ . Chính ph th ng có các quy nủ ườ ề không h n ch (đ c bi t các quy n y h tạ ế ặ ệ ề ệ nh m t ng i gi b n quy n) theo (b)ư ộ ườ ữ ả ề(1). Trong FAR mã ngu n là ph n m m,ồ ầ ề và ph n m m là d li u, nên mã ngu nầ ề ữ ệ ồ là d li u.ữ ệ

Không. Nhà th u có thầ ể yêu c u quy nầ ề đ đòi b nể ả quy n.ề

Chính ph đã trao choủ nhà th u quy n đòi b nầ ề ả quy n (nh , thông quaề ư quy n đ c bi t đ c vi tề ặ ệ ượ ế thành văn b n ho c quaả ặ m nh đ l a ch n IV).ệ ề ự ọ

C Không. Chính ph không có đ cácủ ủ quy n, theo (c)(1)(iii); nó không thề ể phân ph i các b n sao cho công chúng.ố ả Chính ph nên c n tr ng trao m t yêuủ ẩ ọ ộ c u đ đòi b n quy n, vì chính ph vĩnhầ ể ả ề ủ vi n m t nhi u quy n đ i v i d li u đãễ ấ ề ề ố ớ ữ ệ tr ti n đ phát tri n.ả ề ể ể

Đ cượ . Nhà th u có th đòiầ ể b n quy n.ả ề

Các m c đ nhặ ị c a m nh đủ ệ ề h p đ ng theoợ ồDFARS252.227-7014(Tháng 6 năm 1995)

Đ c phát tri n hoànượ ể toàn b ng ti n c a chínhằ ề ủ ph .ủ

D Đ cượ . Chính ph có các quy n khôngủ ề h n ch (đ c bi t các quy n y nh là m tạ ế ặ ệ ề ư ộ ng i gi b n quy n). Theo (b)(2)(ii),ườ ữ ả ề giai đo n 5 năm t khi c p v n pha tr nạ ừ ấ ố ộ có th th ng th o cho m t kho ng th iể ươ ả ộ ả ờ gian khác, và nó b t đ u “d a vào sắ ầ ự ự th c hi n h p đ ng, h p đ ng ph , h pự ệ ợ ồ ợ ồ ụ ợ đ ng văn b n (ho c công c h p đ ngồ ả ặ ụ ợ ồ t ng t ), s a đ i h p đ ng, ho c th cươ ự ử ổ ợ ồ ặ ự thi l a ch n mà s phát tri n ph n m mự ọ ự ể ầ ề máy tính là theo yêu c u”.ầ

Đ cượ . B nả quy n đ cề ượ nhà th u/nhàầ cung c p gi . ấ ữĐ c phát tri n b ngượ ể ằ

ti n pha tr n (chính phề ộ ủ tr m t ph n cho s phátả ộ ầ ự tri n ph n m m) và sể ầ ề ự th c hi n/s a đ i h pự ệ ử ổ ợ đ ng (ph ) h n 5 nămồ ụ ơ tr c.ướ

E

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 56/77

Page 57: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Tình hu ngố Các đi u ki n khácề ệ (n u có)ế

Trường h pợ

Li u chính ph có đ a ra đ c nh làệ ủ ư ượ ư PMNM?

Li u nhàệ th u có đ aầ ư ra đ c nhượ ư là PMNM?

Đ c phát tri n b ngượ ể ằ ti n pha tr n (chính phề ộ ủ chi m t ph n đ phátộ ầ ể tri n) và s th c hi n/s aể ự ự ệ ử đ i h p đ ng (ph ) h nổ ợ ồ ụ ơ 5 năm tr c.ướ

F Không. Chính ph không có đ cácủ ủ quy n. Theo (b)(2)(ii), giai đo n 5 nămề ạ t khi c p v n chung có th th a thu nừ ấ ố ể ỏ ậ m t giai đo n th i gian khác; trong th iộ ạ ờ ờ gian này chính ph ch có “các quy nủ ỉ ề theo m c đích c a chính ph ”. N u ph nụ ủ ủ ế ầ m m đ c phát tri n hoàn toàn b ng ti nề ượ ể ằ ề t nhân, thì m c đ nh chính ph ch cóư ặ ị ủ ỉ “các quy n h n ch ”; chính ph nên th nề ạ ế ủ ậ tr ng đ i v i nh ng l thu c vào cácọ ố ớ ữ ệ ộ thành ph n nh v y. Chính ph có thầ ư ậ ủ ể th ng th o đ có các quy n nhi u h nươ ả ể ề ề ơ theo (b)(3) and (b)(4).

Đ c phát tri n hoànượ ể toàn b ng ti n t nhân.ằ ề ư

G

Các m c đ nhặ ị c a m nh đủ ệ ề h p đ ng theoợ ồDFARS252.227-7018(Tháng 06 năm 1995):Ch ng trìnhươ nghiên c u đ iứ ổ m i sàng t oớ ạ cho các doanh nghi p nhệ ỏ (SBIR).

Không đ c ượphát tri nể hoàn toàn b ngằ ti n tề ư nhân

Ít h n 5 năm sauơ khi k t thúc dế ự án

H Không. Chính ph không có đ cácủ ủ quy n, theo (b)(4)(i).ề

Đ cượ . Nhà th u có b nầ ả quy n.ề

H n 5 năm sauơ khi k t thúc dế ự án và l a ch n Iự ọ s không đ cẽ ượ s d ng.ử ụ

I Đ cượ . Chính ph có các quy n khôngủ ề h n ch (đ c bi t các quy n y h t nhạ ế ặ ệ ề ệ ư m t ng i gi b n quy n) theo (b)(1)ộ ườ ữ ả ề(vi). Đáng ti c, đôi khi khó xác đ nh khiế ị nào thì giai đo n th i gian này s h tạ ờ ẽ ế h n.ạ

H n 5 năm sauơ khi k t thúc dế ự án và l a ch n Iự ọ s d ng đ c.ử ụ ượ

J Đôi khi đ cượ . Theo l a ch n I thì Chínhự ọ ph không th th c hi n đ c các quy nủ ể ự ệ ượ ề c a mình đ đ a ra n u, trong gi i h nủ ể ư ế ớ ạ th i gian nh t đ nh nào đó, ph n m mờ ấ ị ầ ề đ c xu t b n và nhân viên làm h pượ ấ ả ợ đ ng đ c nh c. Gi i h n này s ti p t cồ ượ ắ ớ ạ ẽ ế ụ mi n là nó s n sàng m t cách h p lý đ iễ ẵ ộ ợ ố v i nhà n c đ mua s m (sau đó chínhớ ướ ể ắ ph có th đ a nó ra nh PMNM). Xemủ ể ư ư l a ch n I đ có các chi ti t.ự ọ ể ế

Đ c phát tri n hoànượ ể toàn b ng chi phí c a tằ ủ ư nhân.

K Không. Chính ph không có đ cácủ ủ quy n, theo (b)(2).ề

Các m c đ nhặ ị c a m nh đủ ệ ề h p đ ng “Cácợ ồ công vi c đ cệ ặ bi t” theo FARệ 52.227-17 (Tháng 12 năm 2007)

Chính ph đã không traoủ cho nhà th u quy n đầ ề ể đòi b n quy n (m cả ề ặ đ nh), và ph n m m l nị ầ ề ầ đ u đã đ c làm ra theoầ ượ s th c thi c a h p đ ng.ự ự ủ ợ ồ

L Đ cượ , ho c thông qua các quy n khôngặ ề h n ch ho c b ng vi c gi b n quy n.ạ ế ặ ằ ệ ữ ả ề M c đ nh, chính ph có các quy nặ ị ủ ề không h n ch trong t t c các d li uạ ế ấ ả ữ ệ đ c phân ph i theo h p đ ng, và trongượ ố ợ ồ t t c các d li u l n đ u đ c s n xu tấ ả ữ ệ ầ ầ ượ ả ấ theo s th c thi c a h p đ ng, theo (b)ự ự ủ ợ ồ(1)(i). Theo (c)(ii), n u nhà th u khôngế ầ đ c trao quy n đ đòi các quy n b nượ ề ể ề ả

Không. Nhà th u khôngầ th đòi cácể quy n b nề ả quy n theo (c)ề(1)(i). Nhà th u có thầ ể yêu c u quy nầ ề đ đòi b nể ả

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 57/77

Page 58: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Tình hu ngố Các đi u ki n khácề ệ (n u có)ế

Trường h pợ

Li u chính ph có đ a ra đ c nh làệ ủ ư ượ ư PMNM?

Li u nhàệ th u có đ aầ ư ra đ c nhượ ư là PMNM?

quy n, thì nhân viên làm h p đ ng cóề ợ ồ th ch t i nhà th u đ ch đ nh b nể ỉ ớ ầ ể ỉ ị ả quy n cho chính ph .ề ủ

quy n; n uề ế đ c trao thìượ xem bên d i.ướ

Chính ph đã trao choủ nhà th u quy n đòi b nầ ề ả quy n, và ph n m m l nề ầ ề ầ đ u tiên đ c làm raầ ượ theo s th c hi n h pự ự ệ ợ đ ngồ

M Không. Chính ph ch có các quy n h nủ ỉ ề ạ ch h n đ c li t kê cu i c a (c)(1)(i),ế ơ ượ ệ ở ố ủ và nh ng quy n này b h n ch đ i v iữ ề ị ạ ế ố ớ nh ng s d ng “b i ho c nhân danh c aữ ử ụ ở ặ ủ Chính ph ”.ủ

Đ cượ . Nhà th u có b nầ ả quy n.ề

Ph n m m l n đ uầ ề ầ ầ không đ c làm ra theoượ s th c hi n c a h pự ự ệ ủ ợ đ ng.ồ

N Còn tùy. L u ý là m t nhà th u khôngư ộ ầ th đ a ph n m m có b n quy n vàoể ư ầ ề ả ề trong m t phân ph i mà không có quy nộ ố ề b ng văn b n c a nhân viên làm h pằ ả ủ ợ đ ng, xem (c)(2) đ bi t thêm.ồ ể ế

Còn tùy.

Các m c đ nhặ ị c a m nh đủ ệ ề h p đ ng “Cácợ ồ công vi c đ cệ ặ bi t” theoệ DFARS252.227-7020 (Tháng 06 năm 1995).

Công vi c l n đ u đ cệ ầ ầ ượ làm ra, đ c t o ra, ho cượ ạ ặ đ c sinh ra và đ c yêuượ ượ c u s ph i phân ph iầ ẽ ả ố theo h p đ ng.ợ ồ

O Đ cượ . Chính ph nh n đ c b n quy n,ủ ậ ượ ả ề theo (c)(2).

Không. Chính ph có b nủ ả quy n.ề

Các công vi c khác cóệ b n quy n đ c k t h pả ề ượ ế ợ vào m t phân ph i theoộ ố yêu c u (tr phi có sầ ừ ự phê chu n b ng văn b nẩ ằ ả đ c trao vì s ngo i l ).ượ ự ạ ệ

P Th ng là đ cườ ượ . Theo (c)(3) và (d), nhà th u th ng ph i trao cho chính phầ ườ ả ủ m t danh sách dài các quy n d li u khiộ ề ữ ệ k t h p v i các công vi c có b n quy nế ợ ớ ệ ả ề khác, và nh ng quy n này cho phép đ aữ ề ư ra PMNM. Nhà th u ch có th k t h pầ ỉ ể ế ợ ph n m m không có các quy n đó vàoầ ề ề m t phân ph i n u nhân viên làm h pộ ố ế ợ đ ng c a chính ph trao s phê chu nồ ủ ủ ự ẩ b ng văn b n, theo (d).ằ ả

Th ng làườ đ cượ . Nhà th u ph i cóầ ả các quy n đ aề ư ra PMNM r iồ đ k t h p nó,ể ế ợ tr phi đ a raừ ư đ c s phêượ ự chu n b ngẩ ằ văn b n.ả

Có nh ng qui đ nh chung, nh ng b n ph i ki m tra các tình hu ng c th c a b n đ xác đ nh chínhữ ị ư ạ ả ể ố ụ ể ủ ạ ể ị xác b n c n ph i làm gì. Có nh ng chi ti t trong các m nh đ c a FAR và DFARS không đ c nh nạ ầ ả ữ ế ệ ề ủ ượ ấ m nh đây, và h p đ ng có th thay đ i t nh ng m c đ nh cho t i th gì đó r t khác bi t. M t sạ ở ợ ồ ể ổ ừ ữ ặ ị ớ ứ ấ ệ ộ ố h p đ ng s s d ng các phiên b n khác nhau c a các m nh đ c a FAR và DFARS, nên hãy ki mợ ồ ẽ ử ụ ả ủ ệ ề ủ ể tra đ xem li u có b t kỳ s khác bi t nào không. L u ý là m t s c quan khác (nh NASA) có cácể ệ ấ ự ệ ư ộ ố ơ ư b sung đ i v i FAR, mà chúng s không đ c đ a ra đây. ổ ố ớ ẽ ượ ư ở

B ng trên ch áp d ng cho ph n m m mà chúng t ng ho c: (1) đ c m t nhân viên chính phả ở ỉ ụ ầ ề ừ ặ ượ ộ ủ phát tri n nh m t ph n nhi m v chính th c c a anh ho c ch ta ho c (2) m t nhà th u phát tri nể ư ộ ầ ệ ụ ứ ủ ặ ị ặ ộ ầ ể (tr c ti p ho c gián ti p) nh m t ph n c a m t h p đ ng c a chính ph . Ph n m m nh v y có thự ế ặ ế ư ộ ầ ủ ộ ợ ồ ủ ủ ầ ề ư ậ ể bao g m ho c ph thu c vào các ph n m m khác, nh các ph n m m th ng m i, mà chúng khôngồ ặ ụ ộ ầ ề ư ầ ề ươ ạ đáp ng đ c các tiêu chí này. Khi m t h th ng có các ph n m m th ng m i, thì gi y phépứ ượ ộ ệ ố ầ ề ươ ạ ấ th ng m i áp d ng cho các thành ph n đó, và m i ng i ph i tuân th v i các đi u kho n c a gi yươ ạ ụ ầ ọ ườ ả ủ ớ ề ả ủ ấ phép c a chúng. Ph n m m th ng m i bao g m b t kỳ ph n m m nào đ c s d ng cho ít nh tủ ầ ề ươ ạ ồ ấ ầ ề ượ ử ụ ấ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 58/77

Page 59: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

m t s s d ng phi chính ph và t ng đ c bán, đ c thuê, ho c đ c c p phép cho công chúng nóiộ ự ử ụ ủ ừ ượ ượ ặ ượ ấ chung (theo 41 USC §403 và DFARS 252.227-7014(a)(1)), vì th g n nh t t c các PMNM có s nế ầ ư ấ ả ẵ m t cách công khai là các ph n m m th ng m i. Ph n m m th ng m i v i nh ng s a đ i nh v nộ ầ ề ươ ạ ầ ề ươ ạ ớ ữ ử ổ ỏ ẫ đ c xem là các ph n m m th ng m i.ượ ầ ề ươ ạ

Trong nhi u tr ng h p nhà th u nh n đ c b n quy n. Khi có nhi u nhà th u ho c nhà cung c pề ườ ợ ầ ậ ượ ả ề ề ầ ặ ấ (nh , m t nhà tích h p hàng đ u và các nhà th u ph ), thì các dàn x p pháp lý gi a các t ch c xácư ộ ợ ầ ầ ụ ế ữ ổ ứ đ nh các nhà th u/nhà cung c p nào s đ c phép m t cách h p pháp đ đòi b n quy n. Các nhàị ầ ấ ẽ ượ ộ ợ ể ả ề th u d n d t không nh t thi t nh n các b n quy n t các nhà th u ph và các nhà cung c p c a h .ầ ẫ ắ ấ ế ậ ả ề ừ ầ ụ ấ ủ ọ L u ý r ng chính ph có th nh n đ c và gi các b n quy n đ c truy n cho chính ph , theo 17ư ằ ủ ể ậ ượ ữ ả ề ượ ề ủ USC §105.

Trong nhi u tr ng h p chính ph không ph i là ng i n m gi b n quy n nh ng có các quy nề ườ ợ ủ ả ườ ắ ữ ả ề ư ề không h n ch (xem các hàng B, D, E và I). N u chính ph có các quy n không h n ch , thì v cạ ế ế ủ ề ạ ế ề ơ b n chính ph có các quy n y nh m t ng i gi b n quy n vì nh ng m c đích đ a ph n m m raả ủ ề ư ộ ườ ữ ả ề ữ ụ ư ầ ề nh PMNMư 9. Vì th , chính ph có th đ a ph n m m đó ra theo b t kỳ gi y phép PMNM nào màế ủ ể ư ầ ề ấ ấ chính ph ch n, bao g m c Gi y phép Công c ng Chung GNU (GPL - GNU General Publicủ ọ ồ ả ấ ộ License) và Lesser GPL (LGPL)10. Khi chính ph có các quy n không h n ch nh ng không ph i làủ ề ạ ế ư ả ng i gi b n quy n, thì có m t ít các hành đ ng chính ph không th th c hi n, nh , quy n truy nườ ữ ả ề ộ ộ ủ ể ự ệ ư ề ề ho c ch đ nh các quy n, và đ ng kh i ki n t i tòa v vi ph m b n quy nặ ỉ ị ề ứ ở ệ ạ ề ạ ả ề 11. Tuy nhiên, vì nh ng lýữ do đây thì chúng là các chi ti t k thu t; đi m chính là chính ph có th đ a ph n m m ra nhở ế ỹ ậ ể ủ ể ư ầ ề ư PMNM, theo b t kỳ gi y phép PMNM nào mà chính ph ch n, m t khi chính ph nh n đ c cácấ ấ ủ ọ ộ ủ ậ ượ quy n không h n ch . ề ạ ế

Chính ph nên c c kỳ c n th n v vi c nh n ít h n các quy n không h n ch đ i v i ph n m mủ ự ẩ ậ ề ệ ậ ơ ề ạ ế ố ớ ầ ề ho c các h th ng mà chính ph đã chi ti n đ phát tri n. Ví d , m t s nhà th u s c tình nhúngặ ệ ố ủ ề ể ể ụ ộ ố ầ ẽ ố các thành ph n mà h có s ki m soát hoàn toàn đ i v i chúng, và sau đó thi t k ph n còn l i c aầ ọ ự ể ố ớ ế ế ầ ạ ủ h th ng đ ph thu c vào các thành ph n đó. Khi chính ph có ít h n các quy n không h n ch , thìệ ố ể ụ ộ ầ ủ ơ ề ạ ế chính ph có r i ro t o ra m t s ph thu c vào m t nhà th u, bi n s c nh tranh đ i v i h th ngủ ủ ạ ộ ự ụ ộ ộ ầ ế ự ạ ố ớ ệ ố

9 The Council on Governmental Relations (CAGR)’s “Technical Data and Computer Software: A Guide to Rights and Responsibilities Under Federal Contracts, Grants and Cooperative Agreements” states that “This unlimited license enables the government to act on its own behalf and to authorize others to do the same things that it can do, thus giving the government essentially the same rights as the copyright owner.”

10 CENDI’s “Frequently Asked Questions about Copyright and Computer Software” at http://cendi.gov/publications/09-1FAQ_OpenSourceSoftware_FINAL_110109.pdf question 4.3 says: “an agency may distribute software created by a vendor to all users under an open source licensing scheme if it acquired sufficient rights from the vendor to do so in the software. For example, an “unlimited rights license” acquired under a DFARS procurement-type contract...” Similarly, the “DoD Open Source Software (OSS) FAQ” says that once the government has unlimited rights, it can “use those rights to release that software under a variety of conditions (including an open source software license), because it has the use and modify the software at will, and has the right to authorize others to do so.”

11 The government can probably take other measures against someone who does not comply with the license, though. For example, the government may be able to sue for breach of license. Also, an infringer may lose any ability to enforce rights over the resulting work in U.S. court due to the doctrine of unclean hands.

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 59/77

Page 60: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

đó tr nên vô nghĩaở 12 và trong m t s tr ng h p đ t kh năng quân s vào r i ro.ộ ố ườ ợ ặ ả ự ủ 13 14

M t s ng i đã hi u sai lu t và chính sách c a M nh vi c yêu c u chính ph ch p nh n m t cáchộ ố ườ ể ậ ủ ỹ ư ệ ầ ủ ấ ậ ộ d i d t nh ng đ xu t mà chúng trao ít h n các quy n không h n ch đ i v i các h th ng đ c phátạ ộ ữ ề ấ ơ ề ạ ế ố ớ ệ ố ượ tri n dù chính ph c p ti n. Đúng là 10 U.S.C. §2320(a)(2)(F) nói r ng “m t nhà th u ho c nhà th uể ủ ấ ề ằ ộ ầ ặ ầ ph (ho c m t nhà th u ho c nhà th u ph t ng lai) có th không đ c yêu c u, nh m t đi u ki nụ ặ ộ ầ ặ ầ ụ ươ ể ượ ầ ư ộ ề ệ có trách nhi m đ i v i m t s nài xin ho c nh m t đi u ki n đ đ c trao h p đ ng, đ ... bán ho cệ ố ớ ộ ự ặ ư ộ ề ệ ể ượ ợ ồ ể ặ n u không s t b b t kỳ các quy n nào đ i v i M trong các d li u k thu t [ngo i tr trongế ẽ ừ ỏ ấ ề ố ớ ỹ ữ ệ ỹ ậ ạ ừ nh ng tr ng h p nh t đ nh, và có th không đ c yêu c u đ ] kìm l i không chào đ s d ng, ho cữ ườ ợ ấ ị ể ượ ầ ể ạ ể ử ụ ặ không s d ng, m t kho n ho c qui trình đ i v i nó thì nhà th u đ c trao quy n đ h n ch cácử ụ ộ ả ặ ố ớ ầ ượ ề ể ạ ế quy n trong d li u”ề ữ ệ 15. Tuy nhiên, đây không ph i là t t c câu chuy n. “N u Chính ph đã yêu c uả ấ ả ệ ế ủ ầ m t cách phù h p các d li u ho c ph n m m m t cách kh n kho n, thì nó đ c cho quy n đ i v iộ ợ ữ ệ ặ ầ ề ộ ẩ ả ượ ề ố ớ m t s quy n nh t đ nh nào đó phù h p v i ch đ và m t l i chào không đ a ra ít nh t các quy nộ ố ề ấ ị ợ ớ ế ộ ộ ờ ư ấ ề mà có th đ c n m không th ch p nh n đ c”. H n n a, chính ph có th (và nên) đánh giá cácể ượ ắ ể ấ ậ ượ ơ ữ ủ ể đ xu t “trên c s các quy n d li u và đ a ra nh ng m c cao h n đ i v i nh ng ng i chào hàngề ấ ơ ở ề ữ ệ ư ữ ứ ơ ố ớ ữ ườ có thi n chí cung c p nhi u h n các quy n t i thi u tr n tr i”ệ ấ ề ơ ề ố ể ầ ụ 16.

Theo nhi u m nh đ c a FAR (nh ng không ph i c a DFARS), n u chính ph đ ng ý cho phép cácề ệ ề ủ ư ả ủ ế ủ ồ nhà th u đòi b n quy n, thì chính ph s đánh m t nhi u quy n c a mình, vĩnh vi n, đ i v i ph nầ ả ề ủ ẽ ấ ề ề ủ ễ ố ớ ầ m m mà chính ph đã tr ti n đ phát tri n (xem các hàng B, C, L, và M). S m t các quy n này cóề ủ ả ề ể ể ự ấ ề th hoàn toàn b t l i cho chính ph . H n n a, nó t o ra m t quy t đ nh khó khăn cho m t nhân viênể ấ ợ ủ ơ ữ ạ ộ ế ị ộ làm h p đ ng đ làm, vì nhân viên làm h p đ ng ph i th y tr c đ c t t c nh ng s d ng có khợ ồ ể ợ ồ ả ấ ướ ượ ấ ả ữ ử ụ ả năng trong t ng lai đ đ a ra m t quy t đ nh t t (th gì đó mà là khó khăn trong th c ti n). M nhươ ể ư ộ ế ị ố ứ ự ễ ệ đ thông th ng c a DFARS (252.227-7014) tránh v n đ này; trong m nh đ này, th ng thì chínhề ườ ủ ấ ề ệ ề ườ ph s k t thúc b ng các quy n không h n ch đ i v i ph n m m mà chính ph đã tr ti n đ phátủ ẽ ế ằ ề ạ ế ố ớ ầ ề ủ ả ề ể tri n (trong m t s tr ng h p sau m t s trì hoãn), và nhà th u có b n quy n, xúc tác cho các bênể ộ ố ườ ợ ộ ự ầ ả ề đ ti n hành các hành đ ng nh là đ a ph n m m ra thành PMNM.ể ế ộ ư ư ầ ề

Đây là m t s l u ý v các m nh đ đ c bi t:ộ ố ư ề ệ ề ặ ệ

• Theo FAR 52.227-14 (các hàng B và C), chính ph có th trao cho m t nhà th u quy n đòiủ ể ộ ầ ề b n quy n, trong đó ch cho nhà th u giành các quy n nh ng chính ph vĩnh vi n m t cácả ề ỉ ầ ề ư ủ ễ ấ quy n. Theo FAR 27.404-3(a)(2), chính ph nên trao yêu c u này ch “khi nào [đi u đó] sề ủ ầ ỉ ề ẽ

12 Ashton B. Carter, “Memorandum to Acquisition Professionals Subject: Better Buying Power: Mandate for Restoring Affordability and Productivity in Defense Spending” https://dap.dau.mil/policy/Documents/Policy/Carter%20Memo%20on%20Defense%20Spending%2028%20Jun%202010.pdf - His first point on providing incentives is to “Avoid directed buys and other substitutes for real competition. Use technical data packages and open systems architectures to support a continuous competitive environment.”

13 GAO GAO-06-839 “WEAPONS ACQUISITION: DOD Should Strengthen Policies for Assessing Technical Data Needs to Support Weapon Systems” (July 2006) http://www.gao.gov/new.items/d06839.pdf reported that “The lack of technical data rights has limited the services’ flexibility to make changes to sustainment plans that are aimed at achieving cost savings and meeting legislative requirements regarding depot maintenance capabilities... Unless DOD assesses and secures its rights for the use of technical data early in the weapon system acquisition process when it has the greatest leverage to negotiate, DOD may face later challenges in sustaining weapon systems over their life cycle.”

14 See, for example, “Fire support’s dependence on contractors,” Sgt Timothy Caucutt, http://www.mcamarines.org/gazette/article/paying-pirates

15 This U.S. law does not cover software, but the DoD also applies this to software per DFARS 227.7203-1(c) and (d).16 George O. Winborne, Jr., “Who’s Killing the Goose?” American Bar Association Section of Public Contract Law

Program Intellectual Property in Government Contracts—What You Didn‘t Learn in Kindergarten, November 11-12, 2010, Seaport Hotel, Boston, Massachusetts. https://acc.dau.mil/adl/en-US/401584/file/54029/Winborne_ABAPCL_paper_Who27s_Killing_the_Goose_For%20_Release.pdf

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 60/77

Page 61: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

c i thi n đ c s ph bi n ho c s d ng phù h p”. Các quan ch c chính ph nên không traoả ệ ượ ự ổ ế ặ ử ụ ợ ứ ủ đi u này m t cách t đ ng, khi làm nh v y s làm gi m đ t ng t các quy n c a chính phề ộ ự ộ ư ậ ẽ ả ộ ộ ề ủ ủ đ i v i các ph n m m mà chính ph đã tr ti n đ phát tri n. Chính ph có th ch n traoố ớ ầ ề ủ ả ề ể ể ủ ể ọ quy n này v i đi u ki n r ng ph n m m s đ c đ a ra ngay l p t c cho công chúng theoề ớ ề ệ ằ ầ ề ẽ ượ ư ậ ứ m t s gi y phép c th nào đó c a PMNM (v i gi y phép đ c đ ng ý trên ph n đi u ki nộ ố ấ ụ ể ủ ớ ấ ượ ồ ầ ề ệ cho vi c đ a ra). Trong tr ng h p nh v y, s tung ra công khai nh PMNM có th đ c sệ ư ườ ợ ư ậ ự ư ể ượ ử d ng nh m t ph ng pháp đ c i thi n s ph bi n và s d ng. Nh ng phân ph i có thụ ư ộ ươ ể ả ệ ự ổ ế ử ụ ữ ố ể bao g m các d li u không ph i l n đ u đ c s n xu t theo s th c hi n c a h p đ ng, theoồ ữ ệ ả ầ ầ ượ ả ấ ự ự ệ ủ ợ ồ (c)(2), nh ng trong tr ng h p này không rõ đ i v i tác gi này n u chính ph có th đ aư ườ ợ ố ớ ả ế ủ ể ư ph n m m ra nh PMNM.ầ ề ư

• Theo DFARS 252.227-7014 (các hàng D-G), nhà th u th ng có b n quy n. Chính ph cóầ ườ ả ề ủ các quy n y nh v y nh là m t ng i gi b n quy n (thông qua các quy n không h n ch )ề ư ậ ư ộ ườ ữ ả ề ề ạ ế n u (1) ph n m m đã đ c phát tri n ch b ng ti n c a chính ph ho c (2) vi c c p ti n đã làế ầ ề ượ ể ỉ ằ ề ủ ủ ặ ệ ấ ề pha tr n và 5 năm đã đi qua sau khi h p đ ng thích h p ho c s a đ i h p đ ng mà chúng đãộ ợ ồ ợ ặ ử ổ ợ ồ gây ra cho s phát tri n c a nó đã đ c ký. Chính ph nên nh n th c đ c v nh ng tìnhự ể ủ ượ ủ ậ ứ ượ ề ữ hu ng đó nh ng ý đ nh c a nhà th u đ a ra ph n m m mà nó ph thu c m t cách vô cùngố ở ữ ị ủ ầ ư ầ ề ụ ộ ộ vào m t s thành ph n mà h đã phát tri n hoàn toàn b ng ti n t nhân. S ph thu c nhộ ố ầ ọ ể ằ ề ư ự ụ ộ ư v y có th s c m b t kỳ s c nh tranh đ duy trì nào trong t ng lai, vì m c đ nh chính phậ ể ẽ ấ ấ ự ạ ể ươ ặ ị ủ ch có các quy n h n ch đ i v i nh ng thành ph n nh v y.ỉ ề ạ ế ố ớ ữ ầ ư ậ

• Theo DFARS 252.227-7018 (các hàng H-J), chính ph th ng có các quy n không h n chủ ườ ề ạ ế đ i v i ph n m m đ c phát tri n không hoàn toàn b ng ti n c a t nhân, nh ng ch sau 5ố ớ ầ ề ượ ể ằ ề ủ ư ư ỉ năm sau khi d án đã hoàn thành (l u ý r ng đây là m t th i đi m kh i đ u khác so v iự ư ằ ộ ờ ể ở ầ ớ DFARS 252.227-7014). S s a đ i cho t t h n I có th lo i b quy n này mi n là s n ph mự ử ổ ố ơ ể ạ ỏ ề ễ ả ẩ là “s n sàng m t cách h p lý cho công chúng đ mua”.ẵ ộ ợ ể

• FAR 52.227-17 (các hàng L-N) là, theo FAR 27.409(e), đ đ c s d ng đ i v i ph n m mể ượ ử ụ ố ớ ầ ề cho vi c “s d ng n i b c a chính ph ” ho c nh ng n i “có m t nhu c u h n ch s phânệ ử ụ ộ ộ ủ ủ ặ ở ữ ơ ộ ầ ạ ế ự ph i” ho c đ “có đ c ti n b i th ng trách nhi m”. Tuy nhiên, các m c đích thay đ i;ố ặ ể ượ ề ồ ườ ệ ụ ổ ph n m m đ c phát tri n ban đ u cho “s d ng n i b c a chính ph ” có th tr thànhầ ề ượ ể ầ ử ụ ộ ộ ủ ủ ể ở ph n m m mà nên đ c đ a ra m t cách công khai nh là PMNM. Tài li u này mô t m tầ ề ượ ư ộ ư ệ ả ộ cách đ n gi n nh ng gì đ c phép, h n là nh ng mong đ i c a các tác gi h p đ ng g cơ ả ữ ượ ơ ữ ợ ủ ả ợ ồ ố ban đ u.ầ

• DFARS 252.227-7020 (các hàng O-P, m nh đ công vi c đ c bi t) đ c th o lu n trongệ ề ệ ặ ệ ượ ả ậ DFARS 227.7106. Th o lu n đó không đ c bi t nh c t i ph n m m, nh ng m nh đ c aả ậ ặ ệ ắ ớ ầ ề ư ệ ề ủ -7020 có th đ c s d ng cho ph n m m. DFARS 2277106(2) nói nó có th đ c s d ngể ượ ử ụ ầ ề ể ượ ử ụ cho “m t công vi c” và không ch b h n ch cho “các d li u k thu t”. M nh đ này nênộ ệ ỉ ị ạ ế ữ ệ ỹ ậ ệ ề đ c s d ng n u chính ph ph i s h u ho c ki m soát b n quy n. ượ ử ụ ế ủ ả ở ữ ặ ể ả ề Ví d có th là phù h pụ ể ợ n u chính ph mong mu n đ a ra m t cách công khai PMNM và có kh năng đ (1) tăngế ủ ố ư ộ ả ể c ng m t cách tr c ti p b n quy n t i tòa án, và/ho c (2) đ a ra s b i th ng.ườ ộ ự ế ả ề ạ ặ ư ự ồ ườ

3. B n có các quy n trí tu c n thi t khác hay không (nh , các b ng sáng ch )?ạ ề ệ ầ ế ư ằ ế

B n c n ch c ch n r ng b n có b t kỳ các quy n trí tu c n thi t khác. Quan tr ng nh t, hãy xácạ ầ ắ ắ ằ ạ ấ ề ệ ầ ế ọ ấ đ nh n u có b t kỳ các b ng sáng ch nào phù h p, và n u có, thì các quy n cho chúng là gì.ị ế ấ ằ ế ợ ế ề

Các v n đ ti m tàng khác là th ng hi u, các d u c a chính ph , và các bí m t th ng m i. Cácấ ề ề ươ ệ ấ ủ ủ ậ ươ ạ v n đ th ng hi u, n u phù h p, th ng có th d dàng đ c gi i quy t b ng vi c lo i b m t cáchấ ề ươ ệ ế ợ ườ ể ễ ượ ả ế ằ ệ ạ ỏ ộ đ n gi n d u th ng hi u đó. N u nhà th u đã trao b n quy n ho c các quy n h n ch cho côngơ ả ấ ươ ệ ế ầ ả ề ặ ề ạ ế

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 61/77

Page 62: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

chúng và vì th không b c n tr đ i v i vi c tung ra không khai b i lu t bí m t th ng m i.ế ị ả ở ố ớ ệ ở ậ ậ ươ ạ

4. B n có đ c phép đ đ a ra cho công chúng hay không (nh , ki m soát xu t kh u và bíạ ượ ể ư ư ể ấ ẩ m t)?ậ

Đ c bi t, đ i v i vi c tung ra công khai thì t li u ph i không b h n ch b i:ặ ệ ố ớ ệ ư ệ ả ị ạ ế ở

• Đ c tặ ả. Các d li u đ c t có th không đ c tung ra m t cách h p pháp cho công chúng. ữ ệ ặ ả ể ượ ộ ợ Ở nh ng n i mà đi u này là không rõ ràng, thì m t s rà soát l i đ c t có th đ c yêu c u.ữ ơ ề ộ ự ạ ặ ả ể ượ ầ

• Các tuyên b phân ph iố ố . M t nhân viên làm h p đ ng c a chính ph có th đòi h i cácộ ợ ồ ủ ủ ể ỏ m nh đ ch c ch n nào đó đ c đ a vào trong d li u (bao g m ph n m m) đ h n ch sệ ề ắ ắ ượ ư ữ ệ ồ ầ ề ể ạ ế ự tung ra c a nó; các nhà th u ph i tuân theo nh ng m nh đ này ho c s làm cho chúng bủ ầ ả ữ ệ ề ặ ẽ ị h y b .ủ ỏ

• Các ki m soát xu t kh uể ấ ẩ . Các qui đ nh hành chính v xu t kh u EAR (Exportị ề ấ ẩ Administration Regulations) đ c B Th ng m i đ a ra, và ITAR (International Traffic inượ ộ ươ ạ ư Arms Regulations) s đ c B Ngo i giao đ a ra. S c m xu t kh u không có phép cácẽ ượ ộ ạ ư ự ấ ấ ẩ công ngh c th nào đó vì nh ng lý do an ninh qu c gia ho c b o v th ng m i. L u ýệ ụ ể ữ ố ặ ả ệ ươ ạ ư r ng m t mã có th vi n d n nh các v n đ ki m soát xu t kh u.ằ ậ ể ệ ẫ ư ấ ề ể ấ ẩ

Các ki m soát xu t kh u có th đ c bi t khó hi u, và b ph t vì không tuân th v i chúng có th làể ấ ẩ ể ặ ệ ể ị ạ ủ ớ ể ng t nghèo (bao g m c nh ng chi phí l n và ng i tù). Vì th , d i đây là m t s đi u c b n vặ ồ ả ữ ớ ồ ế ướ ộ ố ề ơ ả ề ki m soát xu t kh u:ể ấ ẩ

• Nhi u thông tin h n v nh ng qui đ nh ki m soát xu t kh u theo EAR đ c Văn phòngề ơ ề ữ ị ể ấ ẩ ượ Công nghi p và An ninh (BIS) c a B Th ng m i đ a raệ ủ ộ ươ ạ ư (http://www.bis.doc.gov/licensing/). Đ c bi t, hãy xem các trang c a h v “Nh ng đi u cặ ệ ủ ọ ề ữ ề ơ b n v ki m soát xu t kh u” và “Ch d n c p phép”. B t kỳ kho n nào (bao g m c ph nả ề ể ấ ẩ ỉ ẫ ấ ấ ả ồ ả ầ m m) đ c g i t M cho m t đích n c ngoài, bao g m b t kỳ n c ngoài nào, là m t sề ượ ử ừ ỹ ộ ướ ồ ấ ướ ộ ự xu t kh u - th m chí n u kho n đó ban đ u t i t bên ngoài n c M . Nh ng xu t kh u/xu tấ ẩ ậ ế ả ầ ớ ừ ướ ỹ ữ ấ ẩ ấ kh u l i nào đó c a M đòi h i m t gi y phép t BIS. M u ch t là ph i bi t li u kho n màẩ ạ ủ ỹ ỏ ộ ấ ừ ấ ố ả ế ệ ả b n đang đ nh xu t kh u có m t con s bí m t ki m soát xu t kh u ECCN (Export Controlạ ị ấ ẩ ộ ố ậ ể ấ ẩ Classification Number) đ c bi t nào không nh đ c li t kê trong danh sách ki m soátặ ệ ư ượ ệ ể th ng m i CCL (Commerce Control List), có s n trên website c a EAR. H n n a, m t gi yươ ạ ẵ ủ ơ ữ ộ ấ phép đ c yêu c u cho g n nh t t c s xu t kh u và nhi u s xu t kh u l i b c m v n t iượ ầ ầ ư ấ ả ự ấ ẩ ề ự ấ ẩ ạ ị ấ ậ ớ nh ng đ a đi m và qu c gia đích đ c xem nh là vi c h tr cho các ho t đ ng kh ng b .ữ ị ể ố ượ ư ệ ỗ ợ ạ ộ ủ ố

• T ng t , nhi u thông tin h n v nh ng qui đ nh ki m soát xu t kh u theo ITAR, mà chúngươ ự ề ơ ề ữ ị ể ấ ẩ b sung cho Lu t Ki m soát Xu t kh u Quân s AECA (Arms Export Control Act), đ cổ ậ ể ấ ẩ ự ượ Ban lãnh đ o các ki m soát th ng m i qu c phòng DDTC (Directorate of Defense Tradeạ ể ươ ạ ố Controls) c a B Ngo i giao M (http://www.pmddtc.state.gov). Đ c bi t, hãy xem trangủ ộ ạ ỹ ặ ệ “Làm quen” (Getting Started) c a h . M qui đ nh nh ng xu t kh u và xu t kh u l i cácủ ọ ỹ ị ữ ấ ẩ ấ ẩ ạ kho n quân s và công ngh , nên n u nh ng gì b n mu n xu t kh u đ c đ c p t i trongả ự ệ ế ữ ạ ố ấ ẩ ượ ề ậ ớ Danh sách Cung c p đ n d c c a M USML (U.S. Munitions List), thì m t gi y phép tấ ạ ượ ủ ỹ ộ ấ ừ DDTC đ c yêu c u. B n có th đ trình m t yêu c u quy n h n CJ (Juridiction Request)ượ ầ ạ ể ệ ộ ầ ề ạ cho hàng hóa đ xác đ nh li u m t kho n ho c d ch v đ c đ c p t i t USML và vì thể ị ệ ộ ả ặ ị ụ ượ ề ậ ớ ừ ế ph i tuân th các ki m soát xu t kh u có liên quan t i AECA và ITAR hay không.ả ủ ể ấ ẩ ớ

DoD không có quy n trao các gi y phép ki m soát xu t kh u. M t nhà th u có th s ch u tráchề ấ ể ấ ẩ ộ ầ ể ẽ ị nhi m n u anh ho c ch ta d a vào m t s cho phép chính th c c a DoD đ i v i ki m soát xu tệ ế ặ ị ự ộ ự ứ ủ ố ớ ể ấ kh u, vì trong h u h t các tr ng h p thì DoD không có quy n năng này. L u ý là th m chí khi m tẩ ầ ế ườ ợ ề ư ậ ộ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 62/77

Page 63: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

gi y phép ki m soát xu t kh u v ph n m m đ c trao, thì th ng ng u nhiên không đ a ra mãấ ể ấ ẩ ề ầ ề ượ ườ ẫ ư ngu n, làm cho “nh ng phiên b n” nh v y là vô d ng cho OTD đ i v i các bên tham gia.ồ ữ ả ư ậ ụ ố ớ

Tuy nhiên, n u DoD xác đ nh r ng th gì đó DoD có t m nh h ng s có th tung ra đ c choế ị ằ ứ ầ ả ưở ẽ ể ượ công chúng, thì nó không còn ph i tuân th theo ki m soát xu t kh u n aả ủ ể ấ ẩ ữ . Đi u này là vì 15ề C.F.R. 734.3(b)(3) nói r ng: “Nh ng kho n sau đây không ph i tuân th theo EAR... Công ngh vàằ ữ ả ả ủ ệ ph n m m có s n m t cách công khai ...” T ng t , 22 CFR 125.4 (13) l u ý r ng các d li u kầ ề ẵ ộ ươ ự ư ằ ữ ệ ỹ thu t là đ c mi n kh i các ki m soát xu t kh u ITAR n u nó là “đ c ch p nh n cho tung ra côngậ ượ ễ ỏ ể ấ ẩ ế ượ ấ ậ khai (nh , s phân ph i không h n ch ) bi t rõ đ i v i b ho c c quan chính ph M ho c Vănư ự ố ạ ế ế ố ớ ộ ặ ơ ủ ỹ ặ phòng v T do Thông tin và Rà soát l i v An ninh”. Vì th , ề ự ạ ề ế n u ph n m m có d đ nh s đ cế ầ ề ự ị ẽ ượ tung ra công khai, thì có s bi t rõ r i c a b ho c c quan chính ph M (nh DoD) ch pự ế ồ ủ ộ ặ ơ ủ ỹ ư ấ thu n s tung ra công khai c a nó th ng là cách t t nh t đ tuân th hoàn toàn v i nh ngậ ự ủ ườ ố ấ ể ủ ớ ữ qui đ nh v ki m soát xu t kh uị ề ể ấ ẩ .

5. B n có các t li u (nh , mã ngu n) và li u t t c các t li u có đ c đánh d u phù h p hayạ ư ệ ư ồ ệ ấ ả ư ệ ượ ấ ợ không?

Chính ph và các nhà th u các l p trên nên đ m b o r ng h nh n đ c ủ ầ ớ ở ả ả ằ ọ ậ ượ t t cấ ả t li u, bao g mư ệ ồ mã ngu n, mà h đ c quy n đ i v i chúng. Cũng r t ph bi n là đ có quy n đ i v i mã ngu nồ ọ ượ ề ố ớ ấ ổ ế ể ề ố ớ ồ ho c các t li u liên quan, v n không có đ c nó và vì th không có kh năng th c hi n đ c cácặ ư ệ ẫ ượ ế ả ự ệ ượ quy n c a b n. Mã ngu n là c n thi t cho phiên b n PMNM ti m năng, và nó cũng là c n thi t đề ủ ạ ồ ầ ế ả ề ầ ế ể xúc tác cho s c nh tranh c n thi t cho các v th u duy trì ph n m m trong t ng lai. C chính phự ạ ầ ế ụ ầ ầ ề ươ ả ủ và các nhà th u nên ch c ch n r ng h không đánh m t mã ngu n, mà thay vào đó đ i x v i mãầ ắ ắ ằ ọ ấ ồ ố ử ớ ngu n nh là nh ng d li u có giá tr (nh , b ng vi c t o ra nhi u b n sao sao l u t i nhi u chồ ư ữ ữ ệ ị ư ằ ệ ạ ề ả ư ạ ề ỗ khác nhau).

Theo DFARS 252.227-7014, đ nh nghĩa v “ph n m m máy tính” bao g m không ch “các ch ngị ề ầ ề ồ ỉ ươ trình máy tính”, mà còn c “mã ngu n, các li t kê mã ngu n... và t li u liên quan mà chúng có thả ồ ệ ồ ư ệ ể xúc tác cho ph n m m s đ c s n xu t l i, tái t o l i, ho c biên d ch l i”. Vì th , m t s phân ph iầ ề ẽ ượ ả ấ ạ ạ ạ ặ ị ạ ế ộ ự ố c a ph n m m đ c phát tri n s ủ ầ ề ượ ể ẽ đ c cho làượ s đ a vào mã ngu n m t cách m c đ nh. H n n a,ẽ ư ồ ộ ặ ị ơ ữ (b)(1)(i) and (b)(2)(i) nói r ng chính ph có các quy n đ i v i ph n m m (b t k là nó t ng đ cằ ủ ề ố ớ ầ ề ấ ể ừ ượ tung ra hay không) n u nó s d ng ti n c a chính ph .ế ử ụ ề ủ ủ

Mã ngu n ch nên đ c ch p nh n n u s n sàng đ s d ng. T li u ch nên đ c xem xét có thồ ỉ ượ ấ ậ ế ẵ ể ử ụ ư ệ ỉ ượ ể ch p nh n đ c nh mã ngu n n u nó là d ng công vi c đ c a thích cho vi c ti n hành nh ng s aấ ậ ượ ư ồ ế ạ ệ ượ ư ệ ế ữ ử đ i đ i v i nó. Mã ngu n nên ổ ố ớ ồ không đ c ch p nh n n u nó ch là m t b n in ra ho c các hình nhượ ấ ậ ế ỉ ộ ả ặ ả đi n t c a m t b n in ra. Nó nên không đ c ch p nh n tr phi nó là d dàng đ xây d ng l i m tệ ử ủ ộ ả ượ ấ ậ ừ ễ ể ự ạ ộ cách t đ ng, nh , m t l nh “make” ho c l nh đ n gi n t ng t là đ đ t o l i m t b n có thự ộ ư ộ ệ ặ ệ ơ ả ươ ự ủ ể ạ ạ ộ ả ể ch y đ c. Tài li u đ c xây d ng nên đ c đ a vào v i b t kỳ thông tin nào có th ph bi n đ c,ạ ượ ệ ượ ự ượ ư ớ ấ ể ổ ế ượ bao g m c các thông tin v nh ng gì c n thi t đ xây d ng l i nó.ồ ả ề ữ ầ ế ể ự ạ

Có l t t nh t n u mã ngu n cũng đ c đ a vào c ghi chép l ch s (nh , chi chép đ y đ v t ngẽ ố ấ ế ồ ượ ư ả ị ử ư ầ ủ ề ừ thay đ i, ai đã th c hi n nó, và khi nào), m t d ng đi n t phù h p cho vi c truy n t i h th ngổ ự ệ ở ộ ạ ệ ử ợ ệ ề ớ ệ ố qu n lý c u hình khác. Lý t ng mà nói, chính ph nên có đ s truy c p t i môi tr ng k thu tả ấ ưở ủ ủ ự ậ ớ ườ ỹ ậ ph n m m SEE (software engineering environment) c a nhà th u, sao cho chính ph có th giámầ ề ủ ầ ủ ể sát đ c nh ng thay đ i mà chúng đ c th c hi n.ượ ữ ổ ượ ự ệ

Hãy đ m b o r ng mã ngu n và các t li u khác đ c ghi nhãn m t cách phù h p. Các công ty cóả ả ằ ồ ư ệ ượ ộ ợ th đ a vào các ghi nhãn h n ch v các t li u, và n u nh ng ghi nhãn này là không phù h p, thìể ư ạ ế ề ư ệ ế ữ ợ sau đó nh ng ghi nhãn đó c n ph i đ c s a. Các m nh đ h p đ ng bao g m các quá trình choữ ầ ả ượ ử ệ ề ợ ồ ồ vi c s a các ghi nhãn không đúng; hãy bám theo chúng. ệ ử Chính ph và các nhà th u các l p trênủ ầ ớ ở

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 63/77

Page 64: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

c n không th a nh n m t cách nhanh chóng các t li u đ c ghi nhãn m t cách không đúng cách vìầ ừ ậ ộ ư ệ ượ ộ thi u th i gian. Ví d , các h p đ ng s d ng DFARS 227.7203-13 bao g m, trong kho n (d)(3)(i),ế ờ ụ ợ ồ ử ụ ồ ả m t gi i h n th i gian thách th c là 3 năm sau l n thanh toán ho c phân ph i cu i cùng c a ph nộ ớ ạ ờ ứ ầ ặ ố ố ủ ầ m m, b t c th gì là mu n h n. H n n a, nh ng ghi nhãn không phù h p có xu h ng đ c saoề ấ ứ ứ ộ ơ ơ ữ ữ ợ ướ ượ chép vào các t li u khác; vi c s a các ghi nhãn s m s làm gi m đáng k n l c s a chúng sauư ệ ệ ử ớ ẽ ả ể ỗ ự ử này.

Ai có th m quy n?ẩ ề

Đáng ti c, luôn không rõ ràng ai trong chính ph ho c m t lo t các nhà th u có th đ a ra các quy tế ủ ặ ộ ạ ầ ể ư ế đ nh này. Có l t t nh t n u chính ph và các nhà th u có th làm sáng t các vai trò, các chínhị ẽ ố ấ ế ủ ầ ể ỏ sách, và các th t c. Trong khi ch đ i, nh ng th sau đây có th là h u d ng:ủ ụ ờ ợ ữ ứ ể ữ ụ

1. Nh đ c nêu trên, khi có nhi u nhà th u ho c nhà cung c p, thì nh ng dàn x p pháp lýư ượ ở ề ầ ặ ấ ữ ế gi a các t ch c xác đ nh nhà th u/nhà cung c p nào s đ c phép h p pháp đ đòi b nữ ổ ứ ị ầ ấ ẽ ượ ợ ể ả quy n. Các nhà th u d n d t không nh t thi t nh n đ c các b n quy n t các nhà th u phề ầ ẫ ắ ấ ế ậ ượ ả ề ừ ầ ụ và các nhà cung c p c a h . theo lu t M (17 USC §201), “B n quy n... trao quy n ban đ uấ ủ ọ ậ ỹ ả ề ề ầ cho tác gi ho c các tác gi c a tác ph m... Trong tr ng h p tác ph m đó là đ cho thuê,ả ặ ả ủ ẩ ườ ợ ẩ ể thì ông ch ho c ng i khác mà tác ph m làm cho h đã đ c chu n b đ c cho là tác giủ ặ ườ ẩ ọ ượ ẩ ị ượ ả [và gi b n quy n] tr phi các bên đã có s đ ng ý rõ ràng b ng văn b n đ c h ký”.ữ ả ề ừ ự ồ ằ ả ượ ọ

2. B n ghi nh v PMNM c a DoD năm 2009 làm rõ ai trong DoD có th xác đ nh khi nào nênả ớ ề ủ ể ị đ a ph n m m ra nh là PMNM, và theo nh ng đi u ki n nào. B n ghi nh nói r ng “cácư ầ ề ư ữ ề ệ ả ớ ằ đi u kho n ph n m m, bao g m các s a l i và các c i ti n, đ c phát tri n cho Chính phề ả ầ ề ồ ử ỗ ả ế ượ ể ủ nên đ c đ a ra cho công chúng (nh là theo m t gi y phép ngu n m ) khi t t c các đi uượ ư ư ộ ấ ồ ở ấ ả ề ki n sau đ c đáp ng:ệ ượ ứ

a) Ng i qu n lý d án, ng i qu n lý ch ng trình, ho c nhân viên t ng đ ng khác xácườ ả ự ườ ả ươ ặ ươ ươ đ nh đây là có ích cho Chính ph đ làm th , nh thông qua mong đ i nh ng c i ti n tị ủ ể ế ư ợ ữ ả ế ừ nh ng ng i khác trong t ng lai.ữ ườ ươ

b) Chính ph có các quy n s n xu t l i và tung ra kho n đó, và y quy n cho nh ng ng iủ ề ả ấ ạ ả ủ ề ữ ườ khác làm th . Ví d , Chính ph có các quy n tung ra công khai khi ph n m m đ c phátế ụ ủ ề ầ ề ượ tri n t các nhân viên c a Chính ph , khi Chính ph nh n đ c “các quy n không h nể ừ ủ ủ ủ ậ ượ ề ạ ch ” trong ph n m m đ c phát tri n theo m t h p đ ng t ti n c a Chính ph , ho c khiế ầ ề ượ ể ộ ợ ồ ừ ề ủ ủ ặ PMNM có s n t tr c đ c s a đ i b i ho c cho Chính ph ”.ẵ ừ ướ ượ ử ổ ở ặ ủ

c) Phiên b n công khai c a kho n không b h n ch theo các lu t ho c qui đ nh khác, nhả ủ ả ị ạ ế ậ ặ ị ư các Qui đ nh Hành chính v Xu t kh u ho c Giao th ng Qu c t trong Qui đ nh Quânị ề ấ ẩ ặ ươ ố ế ị s , và kho n đ nh tính đ i v i Tuyên b Phân ph i A, theo Ch th 5230.24 (tham chi uự ả ị ố ớ ố ố ỉ ị ế (i)) c a DoD.”ủ

3. M t s t ch c không có m t qui trình rà soát mã ngu n ph n m m nh ng l i có m t quiộ ố ổ ứ ộ ồ ầ ề ư ạ ộ trình rà soát các tài li u. Trong nh ng tr ng h p này, có th là phù h p đ đ trình mãệ ữ ườ ợ ể ợ ể ệ ngu n theo qui trình rà soát tài li u. Đi u này là đ c bi t phù h p cho rà soát bí m t.ồ ệ ề ặ ệ ợ ậ

Nh ng l u ý cu i cùngữ ư ố

N u chính ph và các nhà th u phù h p có ý đ nh đ a ph n m m ra nh là PMNM, thì t t nh t n uế ủ ầ ợ ị ư ầ ề ư ố ấ ế đi u đó đ c nêu m t cách rõ ràng t tr c. Ví d , PMNM có th đ c xác đ nh nh là tri t lý duyề ượ ộ ừ ướ ụ ể ượ ị ư ế trì ph n m m có k ho ch theo DFARS 227.7203-2(b)(1). Tuy nhiên, vì nhi u h p đ ng không th oầ ề ế ạ ề ợ ồ ả lu n vi c đ a ph n m m ra nh PMNM, nên đi u quan tr ng đ hi u các qui đ nh m c đ nh cho cácậ ệ ư ầ ề ư ề ọ ể ể ị ặ ị tr ng h p th ng g p ph i.ườ ợ ườ ặ ả

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 64/77

Page 65: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

N u ph n m m đ c đ a ra cho công chúng nh là PMNM và nó tr thành “đ c s d ng m t cáchế ầ ề ượ ư ư ở ượ ử ụ ộ tùy bi n b i công chúng nói chung ho c b i các th c th phi chính ph cho nh ng m c đích khácế ở ặ ở ự ể ủ ữ ụ h n là các m c đích c a chính ph ”, thì ph n m m đó tr thành ơ ụ ủ ủ ầ ề ở ph n m m th ng m iầ ề ươ ạ . Đi u này làề theo c lu t ả ậ (41 USC §403) và qui đ nh (nh , DFARS 252.227-ị ư 7014(a)(1)). Không là v n đ gì n uấ ề ế ph n m m đã đ c phát tri n ban đ u v i ti n c a chính ph , hay không. Vì th , vi c đ a ph nầ ề ượ ể ầ ớ ề ủ ủ ế ệ ư ầ m m ra nh PMNM có th là m t ti p c n th ng m i hóa.ề ư ể ộ ế ậ ươ ạ

Chính ph M và các nhà th u c a mình đã đ a ra nhi u ch ng trình nh là PMNM. Chúng tôi hyủ ỹ ầ ủ ư ề ươ ư v ng r ng t li u này cung c p m t cách th c đ đ a ph n m m ra m t cách có trách nhi m nh làọ ằ ư ệ ấ ộ ứ ể ư ầ ề ộ ệ ư PMNM theo m t cách th c phù h p v i các lu t, qui đ nh và h p đ ng.ộ ứ ợ ớ ậ ị ợ ồ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 65/77

Page 66: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Phụ lục C: Những điều cơ bản về PMNMPh l c này mô t nh ng đi u c b n c a PMNM. Đ c bi t, nó đ a ra nh ng đ nh nghĩa chung c aụ ụ ả ữ ề ơ ả ủ ặ ệ ư ữ ị ủ PMNM, mô t các tr c t pháp lý c a chúng, mô t các d ng gi y phép PMNM chung và th o lu nả ụ ộ ủ ả ạ ấ ả ậ cách mà PMNM có th đ c k t h p và k t h p l i m t cách h p pháp.ể ượ ế ợ ế ợ ạ ộ ợ

C.1 Định nghĩa PMNM

Vi c đ nh nghĩa các khái ni m là khó khăn; ph n này trình bày đ nh nghĩa c a DoD cũng nh 2ệ ị ệ ầ ị ủ ư trong s nh ng đ nh nghĩa ph bi n c a gi i công nghi p (“Đ nh nghĩa ph n m m t do” và “Đ nhố ữ ị ổ ế ủ ớ ệ ị ầ ề ự ị nghĩa ph n m m ngu n m ”).ầ ề ồ ở

Trong DoD, PMNM đ c đ nh nghĩa nh là “ph n m m mà đ i v i nó thì mã ngu n con ng i cóượ ị ư ầ ề ố ớ ồ ườ th đ c đ c là s n sàng đ s d ng, nghiên c u, s d ng l i, s a đ i, c i ti n, và phân ph i l i b iể ọ ượ ẵ ể ử ụ ứ ử ụ ạ ử ổ ả ế ố ạ ở nh ng ng i s d ng c a ph n m m đó” [DoD2002].ữ ườ ử ụ ủ ầ ề

Qu Ph n m m T do FSF (Free Software ỹ ầ ề ự Foundation) đ nh nghĩa khái ni m “Ph n m m T do”ị ệ ầ ề ự trong “Đ nh nghĩa Ph n m m T do” c a nó. Trong khi FSF s d ng m t s các khái ni m khác, thìị ầ ề ự ủ ử ụ ộ ố ệ vì nh ng lý do c a tài li u này thì đ nh nghĩa đó là m t đ nh nghĩa h u d ng c a PMNM. M tữ ủ ệ ị ộ ị ữ ụ ủ ộ ch ng trình là ph n m m t do n u nh ng ng i s d ng có s t do “đ ch y, sao chép, phânươ ầ ề ự ế ữ ườ ử ụ ự ự ể ạ ph i, nghiên c u, thay đ i và c i ti n ph n m m. Chính xác h n, nó có nghĩa là nh ng ng i số ứ ổ ả ế ầ ề ơ ữ ườ ử d ng ch ng trình có 4 quy n t do c b n:ụ ươ ề ự ơ ả

1. T do ch y ch ng trình, vì b t kỳ m c đích nào (t do 0)ự ạ ươ ấ ụ ự

2. T do nghiên c u cách mà ch ng trình làm vi c, và thay đ i nó đ làm cho nó làm đ cự ứ ươ ệ ổ ể ượ nh ng gì mà b n mu n (t do 2). S truy c p t i mã ngu n là m t đi u ki n tiên quy t choữ ạ ố ự ự ậ ớ ồ ộ ề ệ ế đi u này.ề

3. T do phân ph i l i các b n sao đ b n có th giúp đ c ng i hàng xóm c a b n (t do 2).ự ố ạ ả ể ạ ể ượ ườ ủ ạ ự

4. T do phân ph i các b n sao nh ng phiên b n đã đ c s a đ i c a b n cho nh ng ng iự ố ả ữ ả ượ ử ổ ủ ạ ữ ườ khác (t do 3ự . B ng vi c làm này b n có th trao cho toàn b c ng đ ng m t c h i h ngằ ệ ạ ể ộ ộ ồ ộ ơ ộ ưở l i t nh ng thay đ i c a b n. S truy c p t i mã ngu n là m t đi u ki n tiên quy t đ i v iợ ừ ữ ổ ủ ạ ự ậ ớ ồ ộ ề ệ ế ố ớ đi u nàyề )”.

T ch c phi l i nhu n Sáng ki n Ngu n M (OSI)ổ ứ ợ ậ ế ồ ở 17 đ c thi t l p đ rà soát l i các gi y phép ti mượ ế ậ ể ạ ấ ề năng và phán xét li u chúng có là m t gi y phép c a PMNM hay không. 10 đi m trong “Đ nh nghĩaệ ộ ấ ủ ể ị Ngu n M ” c a t ch c này là:ồ ở ủ ổ ứ

1. T do phân ph i l iự ố ạ

Gi y phép ph i không h n ch b t kỳ bên nào trong vi c bán ho c cho các ph n m m nàyấ ả ạ ế ấ ệ ặ ầ ề nh m t thành ph n c a các ch ng trình t ng h p ch a phát tán ph n m m này t nh ngư ộ ầ ủ ươ ổ ợ ứ ầ ề ừ ữ ngu n khác nhau. Gi y phép ph i không đòi h i phí b n quy n ho c các th phí khác vìồ ấ ả ỏ ả ề ặ ứ vi c bán này.ệ

2. Mã ngu nồ

Ch ng trình ph i bao g m mã ngu n, và ph i cho phép phân ph i cùng mã ngu n cũngươ ả ồ ồ ả ố ồ nh d ng đ c biên d ch r i. Trong khi m t vài d ng c a m t s n ph m không đ c phânư ạ ượ ị ồ ộ ạ ủ ộ ả ẩ ượ ph i cùng v i mã ngu n, thì s ph i có m t ph ng ti n đ c công khai hoá t t v vi c cóố ớ ồ ẽ ả ộ ươ ệ ượ ố ề ệ

17 http://www.opensource.org

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 66/77

Page 67: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

đ c mã ngu n v i giá thành không l n h n cho vi c tái s n xu t ch p nh n đ c, t i vượ ồ ớ ớ ơ ệ ả ấ ấ ậ ượ ả ề thông qua Intrnet m t cách mi n phí. Mã ngu n ph i d ng đ c a chu ng theo đó m tộ ễ ồ ả ở ạ ượ ư ộ ộ nhà l p trình phát tri n có th s a đ i đ c ch ng trình này. Mã ngu n c tình gây khó làậ ể ể ử ổ ượ ươ ồ ố không đ c phép. Các d ng trung gian nh đ u ra c a m t trình ti n x lý và trình chuy nượ ạ ư ầ ủ ộ ề ử ể đ i là không đ c phép.ổ ượ

3. Các công vi c chuy n hoáệ ể

Gi y phép ph i cho phép các công vi c s a đ i và chuy n hoá, và ph i cho phép chúngấ ả ệ ử ổ ể ả đ c phân ph i theo cùng các đi u kho n nh gi y phép c a ph n m m ban đ u.ượ ố ề ả ư ấ ủ ầ ề ầ

4. Tính toàn v n c a mã ngu n c a tác giẹ ủ ồ ủ ả

Gi y phép có th h n ch mã ngu n đ i v i vi c đ c phân ph i theo d ng đ c s a đ i chấ ể ạ ế ồ ố ớ ệ ượ ố ạ ượ ử ổ ỉ khi n u gi y phép đó cho phép phân ph i các “t p vá l i” v i các mã ngu n vì m c đích c aế ấ ố ệ ỗ ớ ồ ụ ủ vi c s a đ i ch ng trình đó t i th i đi m xây d ng. Gi y phép ph i cho phép m t cách d tệ ử ổ ươ ạ ờ ể ự ấ ả ộ ứ khoát vi c phân ph i ph n m m đ c xây d ng t mã ngu n đ c s a đ i đó. Gi y phép cóệ ố ầ ề ượ ự ừ ồ ượ ử ổ ấ th yêu c u các công vi c chuy n hoá mang m t tên khác ho c s phiên b n khác v i ph nể ầ ệ ể ộ ặ ố ả ớ ầ m m g c.ề ố

5. Không phân bi t các cá nhân và nhómệ

Gi y phép ph i không phân bi t đ i v i b t kỳ ai ho c nhóm ng i nào.ấ ả ệ ố ớ ấ ặ ườ

6. Không phân bi t trong các lĩnh v c khác nhauệ ự

Gi y phép ph i không h n ch b t kỳ ai s d ng ch ng trình này trong m t lĩnh v c đ cấ ả ạ ế ấ ử ụ ươ ộ ự ặ thù. Ví d , nó có th không h n ch ch ng trình đ c s d ng trong m t doanh nghi p,ụ ể ạ ế ươ ượ ử ụ ộ ệ ho c đ c s d ng đ nghiên c u chung. ặ ượ ử ụ ể ứ

7. Ph bi n gi y phépổ ế ấ

Các quy n g n v i ch ng trình ph i ch p thu n cho t t c nh ng ai mà ch ng trình nàyề ắ ớ ươ ả ấ ậ ấ ả ữ ươ đ c phân ph i l i mà không có nhu c u th c hi n m t gi y phép b sung b i các bên thamượ ố ạ ầ ự ệ ộ ấ ổ ở gia đó.

8. Gi y phép ph i không đ c đ c tr ng cho m t s n ph mấ ả ượ ặ ư ộ ả ẩ

Các quy n g n v i ch ng trình ph i không ph thu c vào m t ph n ch ng trình c a m tề ắ ớ ươ ả ụ ộ ộ ầ ươ ủ ộ phát tán ph n m m đ c thù nào. N u ch ng trình này đ c trích xu t t phát tán đó và đ cầ ề ặ ế ươ ượ ấ ừ ượ s d ng ho c đ c phân ph i theo nh ng đi u kho n c a gi y phép c a ch ng trình, thì t tử ụ ặ ượ ố ữ ề ả ủ ấ ủ ươ ấ c các bên mà v i h ch ng trình đ c phát tán ph i có cùng các quy n nh nh ng quy nả ớ ọ ươ ượ ả ề ư ữ ề mà đ c trao trong s k t h p v i phát tán ph n m m ban đ u.ượ ự ế ợ ớ ầ ề ầ

9. Gi y phép ph i không h n ch các ph n m m khácấ ả ạ ế ầ ề

Gi y phép ph i không h n ch các ph n m m khác mà chúng đ c phân ph i cùng v i ph nấ ả ạ ế ầ ề ượ ố ớ ầ m m đ c c p phép. Ví d , gi y phép ph i không khăng khăng r ng m i ch ng trình khácề ượ ấ ụ ấ ả ằ ọ ươ đ c phân ph i theo cùng hoàn c nh ph i là ph n m m ngu n m .ượ ố ả ả ầ ề ồ ở

10. Gi y phép ph i trung l p v i công nghấ ả ậ ớ ệ

Không đi u kho n nào c a gi y phép đ c báo tr c v b t kỳ công ngh ho c d ng giaoề ả ủ ấ ượ ướ ề ấ ệ ặ ạ di n đ l p nào.ệ ộ ậ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 67/77

Page 68: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

C.2 Luật về các quyền trí tuệ

T i M và h u h t các qu c gia có m t c quan pháp lu t qu n lý các công vi c trí tu bao g m cạ ỹ ầ ế ố ộ ơ ậ ả ệ ệ ồ ả ph n m m. C quan pháp lu t này th ng đ c g i là lu t “các quy n trí tu ” ho c lu t “s h u tríầ ề ơ ậ ườ ượ ọ ậ ề ệ ặ ậ ở ữ tu ”. Vì khái ni m “s h u trí tu ” th ng làm l c l i, nên tài li u này s s d ng khái ni m “cácệ ệ ở ữ ệ ườ ạ ố ệ ẽ ử ụ ệ quy n trí tu ” đ thay th . C quan pháp lu t này bao g m lu t v b n quy n, b ng sáng ch vàề ệ ể ế ơ ậ ồ ậ ề ả ề ằ ế th ng hi u. Các ph n sau th o lu n nh ng đi u c b n v các lu t này t i M .ươ ệ ầ ả ậ ữ ề ơ ả ề ậ ạ ỹ

C.2.1 Bản quyền & Giấy phép

Hi n hành, lu t b n quy n có hi u l c vào th i đi m m t tác ph m ban đ u đ c t o ra và đ t vàoệ ậ ả ề ệ ự ờ ể ộ ẩ ầ ượ ạ ặ m t “d ng c đ nh” (đó là, đ c vi t ho c đ c gõ ra). Vì nh ng gi y phép c a PMNM đ c qu nộ ạ ố ị ượ ế ặ ượ ữ ấ ủ ượ ả lý theo lu t b n quy n, nên đi u quan tr ng ph i hi u lu t b n quy n, n n t ng v b n quy n ph iậ ả ề ề ọ ả ể ậ ả ề ề ả ề ả ề ả đ c yêu c u.ượ ầ

M t b n quy n đ a ra cho nh ng ng i n m gi b n quy n các quy n đ c chi m đ làm nh ng thộ ả ề ư ữ ườ ắ ữ ả ề ề ộ ế ể ữ ứ nh t đ nh nào đó v i tác ph m trí tu mà nh ng ng i khác không th làm mà không có quy n c aấ ị ớ ẩ ệ ữ ườ ể ề ủ b n. Danh sách đ y đ các quy n có th th y đ c trong Lu t B n quy n M , Copyright Act, 17ạ ầ ủ ề ể ấ ượ ậ ả ề ỹ USC §106; đ i v i ph n m m thì chúng đ a vào quy n đ c chi m đ :ố ớ ầ ề ư ề ộ ế ể

• làm các b n saoả

• chu n b các tác ph m d n xu tẩ ị ẩ ẫ ấ

• phân ph i các b n sao c a các tác ph m g c ban đ u ho c d n xu tố ả ủ ẩ ố ầ ặ ẫ ấ

Ng i n m gi b n quy n cũng có th trao m t gi y phép cho ai đó khác đ sao chép, s a đ i, ho cườ ắ ữ ả ề ể ộ ấ ể ử ổ ặ phân ph i m t m u ph n m m, có th v i nh ng h n ch ho c nh ng đi u ki n c th nào đó.ố ộ ẩ ầ ề ể ớ ữ ạ ế ặ ữ ề ệ ụ ể

C.2.2 Các bằng sáng chế

Các b ng sáng ch sai khi n và b t tuân th cách mà m t sáng t o ban đ u (trong th c ti n, m t ýằ ế ế ắ ủ ộ ạ ầ ự ễ ộ t ng) đ c ki m soát. Các b ng sáng ch trao cho m t ng i s h u quy n lo i tr nh ng ng iưở ượ ể ằ ế ộ ườ ở ữ ề ạ ừ ữ ườ khác kh i làm nh ng th nh t đ nh nào đó v i s h u trí tu đ c c p b ng sáng ch [Rosen2005,ỏ ữ ứ ấ ị ớ ở ữ ệ ượ ấ ằ ế page 23]. Danh sách đ y đ các quy n có th th y đ c trong Lu t v B ng sáng ch c a M , U.S.ầ ủ ề ể ấ ượ ậ ề ằ ế ủ ỹ Patent Act, 35 USC §154, mà bao g m quy n c a ng i n m gi b ng sáng ch đ lo i tr nh ngồ ề ủ ườ ắ ữ ằ ế ể ạ ừ ữ ng i khác kh i:ườ ỏ

• vi c làm ra các s n ph m bi u hi n sáng t o đ c c p b ng sáng ch c a h .ệ ả ẩ ể ệ ạ ượ ấ ằ ế ủ ọ

• vi c s d ng các s n ph m bi u hi n sáng t o c a h .ệ ử ụ ả ẩ ể ệ ạ ủ ọ

• vi c bán ho c chào bán các s n ph m bi u hi n sáng t o c a h .ệ ặ ả ẩ ể ệ ạ ủ ọ

• vi c nh p kh u các s n ph m bi u hi n sáng t o đ c c p b ng sáng ch c a h .ệ ậ ẩ ả ẩ ể ệ ạ ượ ấ ằ ế ủ ọ

Vi c áp d ng các b ng sáng ch đ i v i ph n m m là còn tranh cãi cao đ ; nhi u qu c gia tuy t đ iệ ụ ằ ế ố ớ ầ ề ộ ề ố ệ ố c m đi u này. Ph n m m có l không đ c c p b ng sáng ch t i M trong nhi u năm, và trongấ ề ầ ề ẽ ượ ấ ằ ế ạ ỹ ề nh ng năm này m t s l ng l n nh ng đ i m i sáng t o đã đ c t o ra, nên có m t b ng ch ngữ ộ ố ượ ớ ữ ổ ớ ạ ượ ạ ộ ằ ứ tuy t v i r ng các b ng sáng ch là không c n thi t đ i v i đ i m i sáng t o c a ph n m m.ệ ờ ằ ằ ế ầ ế ố ớ ổ ớ ạ ủ ầ ề

Tuy nhiên, t i th i đi m tài li u này đ c vi t, các b ng sáng ch v ph n m m đ c cho phép t iạ ờ ể ệ ượ ế ằ ế ề ầ ề ượ ạ M , và có m t s l ng kh ng l các b ng sáng ch v ph n m m.ỹ ộ ố ượ ổ ồ ằ ế ề ầ ề

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 68/77

Page 69: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Vì ph n m m đôi khi có nh ng b ng sáng ch có liên quan t i s d ng nó, nên m t s gi y phépầ ề ữ ằ ế ớ ử ụ ộ ố ấ PMNM đ a ra m t gi y phép cho nh ng ng i s d ng ph n m m đó đ s d ng và m r ng ph nư ộ ấ ữ ườ ử ụ ầ ề ể ử ụ ở ộ ầ m m đó mà không có các đi u ki n ngo i tr nh ng đi u ki n đ c bi u hi n trong gi y phép đó.ề ề ệ ạ ừ ữ ề ệ ượ ể ệ ấ

C.2.3 Thương hiệu

Th ng hi u đ a ra s đ c chi m v s d ng m t cái tên (nh , m t nhãn hi u - brand). Nhi u d ánươ ệ ư ự ộ ế ề ử ụ ộ ư ộ ệ ề ự PMNM đòi th ng hi u đ i v i tên c a m t d án PMNM. Các th ng hi u không c n đăng ký,ươ ệ ố ớ ủ ộ ự ươ ệ ầ nh ng các hành đ ng có liên quan t i th ng hi u không th đ c th c hi n tr phi th ng hi uư ộ ớ ươ ệ ể ượ ự ệ ừ ươ ệ đ c đăng ký. ượ

Vi c đăng ký m t th ng hi u có th là m t quá trình khá d dàng ho c quá trình khá đ t đ phệ ộ ươ ệ ể ộ ễ ặ ắ ỏ ụ thu c vào vi c m t công ty có mong mu n b o v là bao nhiêu. Các chi ti t v cách đ đăng ký m tộ ệ ộ ố ả ệ ế ề ể ộ th ng hi u có th th y đ c trên website c a Văn phòng B ng sáng ch và Th ng hi u Mươ ệ ể ấ ượ ủ ằ ế ươ ệ ỹ (USPTO) t i: ạ http://www.uspto.gov.

C.3 Các dạng và các tổ hợp giấy phép của PMNM

PMNM th ng đ c k t h p và tái k t h p v i các PMNM khác đ t o ra nh ng t h p m i và h uườ ượ ế ợ ế ợ ớ ể ạ ữ ổ ợ ớ ữ d ng. Vi c k t h p ph n m m đòi h i r ng các l p trình viên và nh ng ng i s d ng tuân theo t tụ ệ ế ợ ầ ề ỏ ằ ậ ữ ườ ử ụ ấ c các gi y phép cùng m t lúc. R t c n th n ph i đ c ti n hành khi ch n m t gi y phép đ đ mả ấ ộ ấ ẩ ậ ả ượ ế ọ ộ ấ ể ả b o r ng ch ng trình ph n m m có th đ c s d ng và s d ng l i b i nhóm ng i s d ng r ngả ằ ươ ầ ề ể ượ ử ụ ử ụ ạ ở ườ ử ụ ộ l n nh t có th (n u đi u đó là m c tiêu c a vi c làm ra m t ch ng trình PMNM).ớ ấ ể ế ề ụ ủ ệ ộ ươ

Ch m t s gi y phép PMNM có th k t h p đ c v i nh ng d ng các gi y phép khác trong khi v nỉ ộ ố ấ ể ế ợ ượ ớ ữ ạ ấ ẫ đáp ng đ c nh ng yêu c u c a t t c các gi y phép đó. Hình và văn b n sau đây có ngu n g c tứ ượ ữ ầ ủ ấ ả ấ ả ồ ố ừ [Wheeler2007], mà nó t ng k t cách mà m t s gi y phép PMNM có th đ c k t h p:ổ ế ộ ố ấ ể ượ ế ợ

Hình C.1. S t ng tác c a các gi y phép PMNM [Wheeler2007]ự ươ ủ ấ

Trong hình C.1, các h p bóng m là các tên c a các gi y phép PMTDNM khác nhau (d u “+” nghĩaộ ờ ủ ấ ấ là “ho c b t kỳ phiên b n sau nào”). M t mũi tên t h p A sang h p B có nghĩa là b n có th k tặ ấ ả ộ ừ ộ ộ ạ ể ế h p các ph n m m v i các gi y phép đó; k t qu k t h p có hi u qu đ i v i gi y phép B, có thợ ầ ề ớ ấ ế ả ế ợ ệ ả ố ớ ấ ể v i các đi u ki n t A. Đ xem li u ph n m m có th k t h p đ c không, hãy b t đ u các gi yớ ề ệ ừ ể ệ ầ ề ể ế ợ ượ ắ ầ ở ấ phép t ng ng c a chúng, và th y m t h p chung mà b n có th đ t đ c khi đi theo các mũi tênươ ứ ủ ấ ộ ộ ạ ể ạ ượ (nh “tuân theo slide”). Ví d , ph n m m có phép Apache 2.0 và ph n m m có phép GPLv2 + cóư ụ ầ ề ầ ề th cùng đ t đ c “GPLv3 ho c GPLv3+”, nên chúng có th k t h p đ c b ng vi c s d ngể ạ ượ ặ ể ế ợ ượ ằ ệ ử ụ GPLv3 ho c GPLv3+. Hình này đã t ng đ c ch nh s a m t cách c n th n nên vi c tuân theoặ ừ ượ ỉ ử ộ ẩ ậ ệ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 69/77

Page 70: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

đ ng đi s xác đ nh li u 2 gi y phép có t ng thích hay không. Thông tin h n n a b n ph i xemườ ẽ ị ệ ấ ươ ơ ữ ạ ả xét văn b n c a gi y phép, nh ng đi u này đ a ra câu tr l i c b n nhanh chóng.ả ủ ấ ư ề ư ả ờ ơ ả

Hình ch ra các gi y phép PMNM, đ c t ch c thành 3 nhóm:ỉ ấ ượ ổ ứ

1. bên trái là các gi y phép “cho phép”, mà chúng cho phép ph n m m tr thành s h u đ cỞ ấ ầ ề ở ở ữ ộ quy n (nghĩa là, không ph i PMTDNM). Trên đ nh bên trái là “Mi n Công c ng” (trongề ả ỉ ề ộ tr ng h p này có nghĩa là “không có b o v b n quy n”), mà nó nói m t cách hoàn toànườ ợ ả ệ ả ề ộ không ph i là m t gi y phép nh ng trên th c t nó làm vi c gi ng nh m t gi y phép. B nả ộ ấ ư ự ế ệ ố ư ộ ấ ạ có th làm b t kỳ đi u gì v i ph n m m trong mi n công c ng, nh ng nó là r t hi m; ph nể ấ ề ớ ầ ề ề ộ ư ấ ế ầ m m ph i hoàn toàn đ c tung ra cho mi n công c ng ho c đ c t o ra t m t nhân viênề ả ượ ề ộ ặ ượ ạ ừ ộ c a Chính ph M trong kh năng chính th c c a h . Bên c nh là cái g i là gi y phépủ ủ ỹ ả ứ ủ ọ ạ ọ ấ “MIT” ho c “X11”, mà nó là r t cho phép (b n có th làm b t kỳ th gì ngo i tr vi c ki nặ ấ ạ ể ấ ứ ạ ừ ệ ệ tác gi ). Ph n m m theo gi y phép MIT d dàng đ c k t h p v i gi y phép BSD hi n đ i 3ả ầ ề ấ ễ ượ ế ợ ớ ấ ệ ạ m nh đ (BSD-m i) (3-clause Berkeley Software Distribution), so v i gi y phép MIT thì nóệ ề ớ ớ ấ b sung thêm m t m nh đ c m s d ng tên các tác gi đ ch ng th c ho c thúc đ y cácổ ộ ệ ề ấ ử ụ ả ể ứ ự ặ ẩ s n ph m không có s cho phép (còn gây tranh cãi n u m nh đ này th c s không làm b tả ẩ ự ế ệ ề ự ự ấ kỳ th gì, vì b n th ng ph i có quy n nh v y dù th nào chăng n a). Cu i cùng chúng taứ ạ ườ ả ề ư ậ ế ữ ố có gi y phép Apache phiên b n 2.0.ấ ả

2. bên ph i là các gi y phép “b o v m nh m ” (“copyleft m nh”), mà chúng ngăn ng aỞ ả ấ ả ệ ạ ẽ ạ ừ ph n m m kh i vi c tr thành s h u đ c quy n. Đi u này bao g m gi y phép PMTDNMầ ề ỏ ệ ở ở ữ ộ ề ề ồ ấ ph bi n nh t, GNU General Public License (GPL). GPL có phiên b n 2 (GPLv2) và 3ổ ế ấ ả (GPLv3); m t d u “+” đ ng đ ng sau có nghĩa là “phiên b n X ho c sau này”. ch GPLv2ộ ấ ứ ằ ả ặ ỉ không th k t h p đ c v i gi y phép b o v m ng Affero GPLv3, nh ng GPLv2+ (“phiênể ế ợ ượ ớ ấ ả ệ ạ ư b n 2 ho c sau này”) có th thông qua GPLv3. Gi y phép PMNM ph bi n nh t, cho t i nayả ặ ể ấ ổ ế ấ ớ là GPL, h u h t các PMNM đ c tung ra theo GPL [Wheeler2010g].ầ ế ượ

3. N m gi a là các gi y phép “b o v y u” (“copyleft y u”), m t s th a hi p gi a các gi yằ ở ữ ấ ả ệ ế ế ộ ự ỏ ệ ữ ấ phép cho phép và b o v m nh. Nh ng gi y phép này ngăn ng a thành ph n c a ph n m mả ệ ạ ữ ấ ừ ầ ủ ầ ề (th ng là m t th vi n ph n m m) kh i vi c tr thành s h u đ c quy n, nh ng v n choườ ộ ư ệ ầ ề ỏ ệ ở ở ữ ộ ề ư ẫ phép nó tr thành m t ph n c a m t ch ng trình s h u đ c quy n l n h n. Hình này chở ộ ầ ủ ộ ươ ở ữ ộ ề ớ ơ ỉ ra nh ng lu t l khi b n đang làm ra m t ph n khác c a ph n m m c a m t thành ph n đ cữ ậ ệ ạ ộ ầ ủ ầ ề ủ ộ ầ ượ b o v y u; có nh ng kh năng khác n u b n ch đang s d ng thành ph n đó nh m t thả ệ ế ữ ả ế ạ ỉ ử ụ ầ ư ộ ư vi n. Gi y phép GNU Lesser General Public License (LGPL) là gi y phép b o v y u phệ ấ ấ ả ệ ế ổ bi n nh t, và có phiên b n 2.1 (LGPLv2.1) và 3 (LGPLv3). L u ý r ng LGPLv2.1 trao choế ấ ả ư ằ b n quy n đ c p phép l i mã ngu n theo b t kỳ phiên b n nào c a GPL k t GPLv2. M tạ ề ể ấ ạ ồ ấ ả ủ ể ừ ộ gi y phép khác nh v y là Mozilla Public License 1.1 (MPLv1.1), nh ng MPL có nh ngấ ư ậ ư ữ h n ch nghiêm tr ng khi nó không t ng thích v i GPL ph bi n r ng rãi, b n th m chíạ ế ọ ươ ớ ổ ế ộ ạ ậ không th s d ng m t module có phép MPL trong m t ch ng trình có phép GPL l n h n.ể ử ụ ộ ộ ươ ớ ơ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 70/77

Page 71: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Phụ lục D: Chọn một giấy phép PMNM như thế nào

D.1 Các tiêu chí cấp phép chủ chốt

Khi ch n m t gi y phép PMNM, hãy gi các tiêu chí sau trong đ u:ọ ộ ấ ữ ầ

1. Hãy s d ng m t gi y phép PMNM có s n; không t o ra m t gi y phép PMNM m iử ụ ộ ấ ẵ ạ ộ ấ ớ . Nh ngữ ng i s d ng ghét làm vi c v i nhi u gi y phép PMNM khác nhau, vì các v n đ mà chúngườ ử ụ ệ ớ ề ấ ấ ề gây ra. M i gi y phép m i ph i đ c đánh giá b i t ng ng i s d ng ti m năng ho cỗ ấ ớ ả ượ ở ừ ườ ử ụ ề ặ phòng pháp lý c a h , làm n y sinh các chi phí m t cách đáng k . Nh ng phân m nh c aủ ọ ả ộ ể ữ ả ủ m t ch ng trình th ng không th đ c s d ng trong ch ng trình khác vì tính khôngộ ươ ườ ể ượ ử ụ ươ t ng thích v gi y phép, và th m chí n i mà chúng có th k t h p đ c, thì s phân tíchươ ề ấ ậ ơ ể ế ợ ượ ự pháp lý đ xác đ nh các gi y phép m i này cũng có th là đáng k . Vi c t o ra m t gi y phépể ị ấ ớ ể ể ệ ạ ộ ấ PMNM cũng r t r i ro; nó đòi h i tri th c pháp lý v PMNM mà nh ng lu t s theo h pấ ủ ỏ ứ ề ữ ậ ư ợ đ ng và vi c h p đ ng v i các chuyên gia th ng không có, th m chí các chuyên gia cònồ ệ ợ ồ ớ ườ ậ t o ra nh ng sai l m khó có th s a sai sau này đ c.ạ ữ ầ ể ử ượ

2. Hãy ch c ch n nó th c s là PMNMắ ắ ự ự . Hãy ch n m t gi y phép PMNM mà nó đã đ c ch ngọ ộ ấ ượ ứ th c nh là PMNM t OSI và nh là PMTD t FSF. Nó cũng nên đ c các phát tán Debianự ư ừ ư ừ ượ và Fedora phê chu n (c 2 đ u th c hi n phân tích pháp lý v các gi y phép). Các gi y phépẩ ả ề ự ệ ề ấ ấ phi tiêu chu n th ng không ph i là PMNM, th m chí khi chúng đ c mong đ i đ trẩ ườ ả ậ ượ ợ ể ở thành.

3. Hãy s d ng m t gi y phép t ng thích đ c v i GPLử ụ ộ ấ ươ ượ ớ . H u h t các PMNM đ c tung raầ ế ượ có s d ng các gi y phép GPLv2 ho c GPLv3. Đi u này không có nghĩa là t t c cácử ụ ấ ặ ề ấ ả PMNM ph i đ c tung ra có s d ng GPL, nh ng vi c ch n m t gi y phép không t ngả ượ ử ụ ư ệ ọ ộ ấ ươ thích đ c v i GPL, nh “Th a thu n Ngu n M c a NASA” phiên b n 1.3 ho c “Gi yượ ớ ư ỏ ậ ồ ở ủ ả ặ ấ phép Công c ng Mozilla” MPL (Mozilla Public License). N u b n ph i s d ng m t gi yộ ế ạ ả ử ụ ộ ấ phép không t ng thích v i GPL, thì cũng hãy tung ra cùng m t lúc ph n m m đó có sươ ớ ộ ầ ề ử d ng m t gi y phép t ng thích v i GPL tiêu chu n.ụ ộ ấ ươ ớ ẩ

4. Không l n l n v i nh ng chuy n hoang đ ng v GPLẫ ộ ớ ữ ệ ườ ề . GPL ch đòi h i r ng b n cung c pỉ ỏ ằ ạ ấ mã ngu n n u b n đã cung c p mã ngu n ch y đ c cho h ; nó không đòi h i đ a ra choồ ế ạ ấ ồ ạ ượ ọ ỏ ư công chúng m i th . N u nó v n n m trong chính ph M , thì nó không đ c phân ph iọ ứ ế ẫ ằ ủ ỹ ượ ố hoàn toàn (ch có m i m t chính ph liên bang M ). Khi mã ngu n đ c c p phép theo GPLỉ ỗ ộ ủ ỹ ồ ượ ấ đ c t i vào m t m ng bí m t c a chính ph , thì nó không đòi h i tung ra b t kỳ d li uượ ả ộ ạ ậ ủ ủ ỏ ấ ữ ệ ho c ph n m m nào. Mã ngu n ch ph i tung ra n u nh ng thay đ i đ c th c hi n, và th mặ ầ ề ồ ỉ ả ế ữ ổ ượ ự ệ ậ chí sau đó, mã ngu n ch c n ph i đ c tung ra cho nh ng ai mà h đã nh n đ c m tồ ỉ ầ ả ượ ữ ọ ậ ượ ộ ch ng trình ch y đ c. Vì th , không có v n đ gì v i vi c l y m t ch ng trình đ c c pươ ạ ượ ế ấ ề ớ ệ ấ ộ ươ ượ ấ phép GPL và ti n hành làm nh ng s a đ i bí m t; theo đ nh nghĩa, ch nh ng ng i nh n sế ữ ử ổ ậ ị ỉ ữ ườ ậ ẽ có s rõ ràng đ i v i thông tin bí m t. M t s nhà cung c p có th nói r ng “n u chúng tôiự ố ớ ậ ộ ố ấ ể ằ ế s d ng mã ngu n đ c c p phép theo GPL, thì chúng tôi có th ph i tung ra ph n m mử ụ ồ ượ ấ ể ả ầ ề quân s chi n l c này lên Internet”, nh ng nói th đ n gi n là không đúng.ự ế ượ ư ế ơ ả

5. Hãy ch n m t gi y phép đáp ng đ c nh ng s d ng đ c mong đ i c a b nọ ộ ấ ứ ượ ữ ử ụ ượ ợ ủ ạ . N u ph nế ầ m m có th s đ c k t h p v i ch ng trình khác, thì hãy s d ng m t gi y phép t ngề ể ẽ ượ ế ợ ớ ươ ử ụ ộ ấ ươ thích đ c v i gi y phép c a ch ng trình khác đó. N u ph n m m s đ c ki m soát xu tượ ớ ấ ủ ươ ế ầ ề ẽ ượ ể ấ kh u, thì hãy đ m b o r ng ch đ c p phép có th làm vi c đ c bên trong nó. N u ch ngẩ ả ả ằ ế ộ ấ ể ệ ượ ế ươ trình đ c c p phép theo GPL đ c xu t kh u sang m t n c khác, thì ng i nh n đó ph iượ ấ ượ ấ ẩ ộ ướ ườ ậ ả

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 71/77

Page 72: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

có kh năng nh n đ c mã ngu n đ i v i ph n m m đó (nên đây là m t lĩnh v c n i màả ậ ượ ồ ố ớ ầ ề ộ ự ơ GPL ph i đ c th n tr ng xem xét).ả ượ ậ ọ

6. Hãy s d ng m t gi y phép PMNM ph bi nử ụ ộ ấ ổ ế . M t gi y phép phi tiêu chu n ho c không phộ ấ ẩ ặ ổ bi n s t o ra nhi u v n đ v pháp lý. Các lu t s kh p th gi i s ph i xem xét c n th nế ẽ ạ ề ấ ề ề ậ ư ắ ế ớ ẽ ả ẩ ậ gi y phép phi tiêu chu n và xác đ nh li u nó có th ch p nh n đ c không và li u nó cóấ ẩ ị ệ ể ấ ậ ượ ệ t ng thích đ c v i các gi y phép khác hay không (đi u này có th ti m tàng vi c làm t nươ ượ ớ ấ ề ể ề ệ ố hàng tri u USD, và nh ng ng i rà soát l i nh v y có th lúng túng s d ng). Các gi yệ ữ ườ ạ ư ậ ể ử ụ ấ phép PMNM ph bi n (t t c chúng đ u t ng thích v i GPL) bao g m c gi y phépổ ế ấ ả ề ươ ớ ồ ả ấ MIT/X, gi y phép BSD m i, gi y phép Apache 2.0, LGPL và GPL. ấ ớ ấ

D.2 Qui trình chọn giấy phép đơn giản

Đ c đ a ra trên, sau đây là m t qui trình đ n gi n cho vi c ch n m t gi y phép ph n m m làượ ư ở ộ ơ ả ệ ọ ộ ấ ầ ề PMNM. Đ n gi n hãy tr l i các câu h i sau cho t i khi b n tìm th y s phù h p:ơ ả ả ờ ỏ ớ ạ ấ ự ợ

1. Ph n m m có đ c phát tri n hoàn toàn b ng nhân viên c a chính ph nh m t ph nầ ề ượ ể ằ ủ ủ ư ộ ầ nhi m v chính th c c a h hay không?ệ ụ ứ ủ ọN u th , thì ph n m m này (n u đ c tung ra) hoàn toàn không th có b t kỳ s b o v b nế ế ầ ề ế ượ ể ấ ự ả ệ ả quy n nào c t i M , theo 17 USC 105 and 17 USC 101. Các công vi c không có b o về ả ạ ỹ ệ ả ệ b n quy n th ng đ c tham chi u t i nh là đang trong “mi n công c ng”; đáng ti c,ả ề ườ ượ ế ớ ư ở ề ộ ế c m t “mi n công c ng” cũng có nh ng ý nghĩa khác, nên c m t đó có th gây l n l n.ụ ừ ề ộ ữ ụ ừ ể ẫ ộ

Vi c tung ra m t cách đ n gi n ph n m m cho th gi i mà không có b o v b n quy n làệ ộ ơ ả ầ ề ế ớ ả ệ ả ề ti p c n đ n gi n nh t cho vi c đ a ra ph n m m nh v y. Tuy nhiên, ph n m m nh v y cóế ậ ơ ả ấ ệ ư ầ ề ư ậ ầ ề ư ậ th có b o v b n quy n bên ngoài n c M . N u b n (chính ph M ) mong mu n tăngể ả ệ ả ề ướ ỹ ế ạ ủ ỹ ố c ng b n quy n bên ngoài n c M , thì b n nên đăng ký b n quy n c a ph n m m đó t iườ ả ề ướ ỹ ạ ả ề ủ ầ ề ạ các n c ngoài, chu n b tăng c ng gi y phép b n quy n t i các tòa án c a các n c ngoài,ướ ẩ ị ườ ấ ả ề ạ ủ ướ và ch n m t l a ch n thay th c p phép khi nó là ngoài n c M (nh , t nh ng l a ch nọ ộ ự ọ ế ấ ở ướ ỹ ư ừ ữ ự ọ bên d i). Chính ph cũng có th thuê m t nhà th u đ s a đ i ph n m m, và ch cho phépướ ủ ể ộ ầ ể ử ổ ầ ề ỉ đ a ra tác ph m đ c k t h p (mà không có vi c xác đ nh nh ng ph n nào là cái gì); vìư ẩ ượ ế ợ ệ ị ữ ầ nh ng s a đ i có b n quy n, thì b n quy n có th áp d ng đ c cho tác ph m t ng th , vàữ ử ổ ả ề ả ề ể ụ ượ ẩ ổ ể tác ph m đ c s a đ i này có th không là m t tác ph m mà không có b o v b n quy n.ẩ ượ ử ổ ể ộ ẩ ả ệ ả ề

2. Li u đây có là m t s a đ i ho c m r ng c a PMNM đang t n t i hay không?ệ ộ ử ổ ặ ở ộ ủ ồ ạN u là th , thì b n nên tung ph n m m đó ra ho c (1) ế ế ạ ầ ề ặ theo gi y phép hi n hànhấ ệ c a d ánủ ự PMNM hi n đang t n t i, ho c (2) hoàn toàn ệ ồ ạ ặ không có b o v b n quy nả ệ ả ề . B ng cách đó,ằ ph n m m m i có th đ c k t h p vào d án hi n hành đang duy trì nó.ầ ề ớ ể ượ ế ợ ự ệ

N u d án không s d ng m t gi y phép PMNM ph bi n, và s s a đ i ho c m r ng cóế ự ử ụ ộ ấ ổ ế ự ử ổ ặ ở ộ b o v b n quy n, thì hãy xem xét vi c cũng đ a ph n m m m i ra theo m t gi y phépả ệ ả ề ệ ư ầ ề ớ ộ ấ PMNM ph bi n (nh đ c mô t bên d i). Vi c tung ph n m m đó ra theo c gi y phépổ ế ư ượ ả ướ ệ ầ ề ả ấ không bình th ng và m t gi y phép ph bi n (m t “gi y phép đôi”) có nghĩa là d án cóườ ộ ấ ổ ế ộ ấ ự th s d ng s s a đ i ho c m r ng đó ngay l p t c (mà không có vi c thay đ i các gi yể ử ụ ự ử ổ ặ ở ộ ậ ứ ệ ổ ấ phép) và có th d dàng h n đ chuy n sang m t gi y phép PMNM ph bi n trong t ng lai.ể ễ ơ ể ể ộ ấ ổ ế ươ

3. B n có mu n b t kỳ ai đó s có kh năng s d ng ph n m m đó vì b t kỳ m c đích gì hayạ ố ấ ẽ ả ử ụ ầ ề ấ ụ không, bao g m vi c t o ra nh ng phiên b n phân kỳ s h u đ c quy n không t ng thíchồ ệ ạ ữ ả ở ữ ộ ề ươ và các module s h u đ c quy n bên trong các ch ng trình s h u đ c quy n r ng l nở ữ ộ ề ươ ở ữ ộ ề ộ ớ h n hay không?ơ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 72/77

Page 73: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

N u th , hãy ch n m t gi y phép cho phép (còn g i là hàn lâm) ph bi n: đ c bi t, gi yế ế ọ ộ ấ ọ ổ ế ặ ệ ấ phép MIT/X, gi y phép BSD m i, ho c gi y phép Apache 2.0. Các gi y phép cho phép làấ ớ ặ ấ ấ đ c bi t h u d ng khi s d ng r ng rãi m t công ngh m i ho c tiêu chu n m i là m c tiêu.ặ ệ ữ ụ ử ụ ộ ộ ệ ớ ặ ẩ ớ ụ

Nh ng gi y phép này đôi khi còn đ c g i là các gi y phép “hàn lâm” vì giá tr c a chúngữ ấ ượ ọ ấ ị ủ trong vi c làm cho các khái ni m hàn lâm đ c tri n khai m t cách r ng rãi trong côngệ ệ ượ ể ộ ộ nghi p. Ví d , Internet đã tr thành lan truy n r ng rãi m t ph n l n vì m t trong nh ngệ ụ ở ề ộ ộ ầ ớ ộ ữ tri n khai cài đ t đ u tiên c a các tiêu chu n Internet TCP/IP đã đ c tung ra theo d ng gi yể ặ ầ ủ ẩ ượ ạ ấ phép này. M t r i ro c a các gi y phép này là vi c ph n m m có th s đ c s a đ i thànhộ ủ ủ ấ ệ ầ ề ể ẽ ượ ử ổ m t ho c nhi u h n các phiên b n s h u đ c quy n, mà nó có th không còn có kh năngộ ặ ề ơ ả ở ữ ộ ề ể ả đ c chia s và đ c đ ng phát tri n đ c n a b i nh ng ng i mà đã phát tri n ra phiênượ ẻ ượ ồ ể ượ ữ ở ữ ườ ể b n g c ban đ u; các th l c kinh t có th làm cho nh ng d án nh v y r nhánh thànhả ố ầ ế ự ế ể ữ ự ư ậ ẽ nhi u d án theo th i gian. Gi y phép MIT/X cho t i nay là gi y phép đ n gi n nh t nhề ự ờ ấ ớ ấ ơ ả ấ ư v y, nên nh ng n i phù h p, hãy s d ng nó. Gi y phép BSD m i (3-clause) cũng khôngậ ở ữ ơ ợ ử ụ ấ ớ ph c t p và lan truy n r ng rãi, nên nó cũng là m t s l a ch n t t (không s d ng gi yứ ạ ề ộ ộ ự ự ọ ố ử ụ ấ phép “BSD cũ” v i 4-m nh đ (4-clause) mà nó đã b Berkeley và nh ng n i khác c m;ớ ệ ề ị ữ ơ ấ phiên b n cũ c a gi y phép này không t ng thích v i GPL). Gi y phép Apache 2.0 là t ngả ủ ấ ươ ớ ấ ươ thích v i GPLv3, nh ng không t ng thích v i GPLv2, mà đó là m t cú đánh ch ng l i nó.ớ ư ươ ớ ộ ố ạ

4. B n có mu n khuy n khích s duy trì dài h n c a m t ch ng trình ph bi n b ng vi cạ ố ế ự ạ ủ ộ ươ ổ ế ằ ệ thi t l p m t khung pháp lý gi ng nh nhóm các doanh nghi p, b o v ch ng trình đóế ậ ộ ố ư ệ ả ệ ươ kh i tr thành m t ch ng trình s h u đ c quy n ho c module s h u đ c quy n hayỏ ở ộ ươ ở ữ ộ ề ặ ở ữ ộ ề không?

N u th , hãy ch n m t gi y phép ế ế ọ ộ ấ b o v m nhả ệ ạ và ph bi n (còn g i là copyleft m nh ho cổ ế ọ ạ ặ có đi có l i). Trong th c t đi u này có th th ng là m t phiên b n c a ạ ự ế ề ể ườ ộ ả ủ GPL, nh ng n uư ế b n mu n đ m b o cho s đ ng phát tri n c a các ng d ng web thì ạ ố ả ả ự ồ ể ủ ứ ụ Affero GPL (AGPL) có th s đ c l a ch n thay vào đó.ể ẽ ượ ự ọ

Các gi y phép b o v m nh đ c bi t là h u d ng khi c làm gia tăng s h p lý r ng m tấ ả ệ ạ ặ ệ ữ ụ ố ự ợ ằ ộ ch ng trình đ c đ a ra s đ c duy trì trong t ng lai b i m t nhóm các bên có quan tâm.ươ ượ ư ẽ ượ ươ ở ộ Nhân Linux là m t ví d c a m t ch ng trình nh v y. Có 2 phiên b n GPL đ c s d ngộ ụ ủ ộ ươ ư ậ ả ượ ử ụ ph bi n, phiên b n 2 và phiên b n 3. H u h t các ph n m m PMNM đ c đ a ra theoổ ế ả ả ầ ế ầ ề ượ ư “GPL phiên b n 2 ho c sau này”, mà nó làm t i đa hóa tính t ng h p; đây có l là conả ặ ố ươ ợ ẽ đ ng ườ đ n gi n nh tơ ả ấ và nhìn xa nh t cho vi c c p phép b o v m nh. N u văn b n “b t kỳấ ệ ấ ả ệ ạ ế ả ấ phiên b n nào sau này” đ c cho là không th ch p nh n đ c đ i v i m t phiên b n đ cả ượ ể ấ ậ ượ ố ớ ộ ả ặ bi t, thì hãy công b “GPL phiên b n 2 ho c phiên b n 3”, và hãy ch c ch n ch đ nh ai sệ ố ả ặ ả ắ ắ ỉ ị ẽ có th m quy n đ tung ra ph n m m theo nh ng phiên b n sau đó c a gi y phép, và hãyẩ ề ể ầ ề ữ ả ủ ấ ch c ch n đ a vào tuyên b đó trong gi y phép sao cho nh ng ng i khác đóng góp s cùngắ ắ ư ố ấ ữ ườ ẽ m t lúc đ c ràng bu c vào quy t đ nh này. Trong m t s tr ng h p ch m t phiên b n c aộ ượ ộ ế ị ộ ố ườ ợ ỉ ộ ả ủ GPL có th đ c l a ch n (nh , phiên b n 2 ho c phiên b n 3), nh ng đi u này có th c mể ượ ự ọ ư ả ặ ả ư ề ể ấ vi c k t h p các ph n m m. Hãy l u ý r ng gi y phép Apache 2.0 và AGPL là t ng thíchệ ế ợ ầ ề ư ằ ấ ươ v i GPLv3, nh ng không t ng thích v i GPLv2.ớ ư ươ ớ

5. B n có mu n khuy n khích s duy trì dài h n c a m t th vi n ph bi n b ng vi c thi t l pạ ố ế ự ạ ủ ộ ư ệ ổ ế ằ ệ ế ậ m t khung pháp lý gi ng nh m t nhóm công nghi p, b o v ch ng trình kh i vi c trộ ố ư ộ ệ ả ệ ươ ỏ ệ ở thành m t th vi n s h u đ c quy n, nh ng cho phép các ch ng trình s h u đ cộ ư ệ ở ữ ộ ề ư ươ ở ữ ộ quy n đ a vào đ c trong th vi n đó hay không?ề ư ượ ư ệN u th , hãy ch n m t gi y phép b o v y u (còn g i là copyleft y u). Đi u này th ngế ế ọ ộ ấ ả ệ ế ọ ế ề ườ đ c tri n khai b ng vi c s d ng m t phiên b n c a ượ ể ằ ệ ử ụ ộ ả ủ LGPL. M t l a ch n thay th ph bi nộ ự ọ ế ổ ế

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 73/77

Page 74: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

là c p phép cho th vi n có s d ng ấ ư ệ ử ụ GPL v i m t liên k t ngo i l GPLớ ộ ế ạ ệ (liên k t ngo i lế ạ ệ CLASSPATH là m t l a ch n ph bi n đ c bi t nh v y).ộ ự ọ ổ ế ặ ệ ư ậ

Các gi y phép b o v y u là nh ng th a hi p gi a các gi y phép cho phép và b o v m nh;ấ ả ệ ế ữ ỏ ệ ữ ấ ả ệ ạ chúng khuy n khích s đ ng phát tri n c a th vi n, trong khi l i cho phép các ch ng trìnhế ự ồ ể ủ ư ệ ạ ươ s h u đ c quy n đ a vào chúng. LGPL yêu c u r ng nh ng ng i s d ng có kh năng táiở ữ ộ ề ư ầ ằ ữ ườ ử ụ ả liên k t t i các th vi n đ c c p nh t; đi u này là h u d ng cho nh ng ng i s d ngế ớ ư ệ ượ ậ ậ ề ữ ụ ữ ườ ử ụ nh ng trong m t s ngôn ng l p trình thì đi u này là không kh thi (trong đó tr ng h pư ộ ố ữ ậ ề ả ườ ợ GPL v i m t liên k t ngo i l GPL là l a ch n t t h n).ớ ộ ế ạ ệ ự ọ ố ơ

M t s t ch c ch n m t ti p c n “c p phép đôi” (dual-licensing) trong đó ph n m m đ c tung raộ ố ổ ứ ọ ộ ế ậ ấ ầ ề ượ theo c m t gi y phép PMNM (th ng là GPL) và m t gi y phép không c a PMNM. T ch c màả ộ ấ ườ ộ ấ ủ ổ ứ n m gi các quy n đ i v i ph n m m sau đó yêu c u “nh ng th a thu n c a nh ng ng i đóngắ ữ ề ố ớ ầ ề ầ ữ ỏ ậ ủ ữ ườ góp” t t t c nh ng ng i đ xu t (submitters) bên ngoài; nh ng th a thu n này trao cho t ch cừ ấ ả ữ ườ ề ấ ữ ỏ ậ ổ ứ các quy n b sung ngoài gi y phép PMNM (xúc tác cho gi y phép không ph i là PMNM thànhề ổ ấ ấ ả vĩnh vi n). Nh ng th a thu n này th ng là không đ c chi m, nh ng tuy nhiên, nh m t s thu th pễ ữ ỏ ậ ườ ộ ế ư ư ộ ự ậ thì nh ng th a thu n này trao cho t ch c các quy n b sung không đ i x ng không đ c n m giữ ỏ ậ ổ ứ ề ổ ố ứ ượ ắ ữ b i nh ng ng i khác. Vì m i quan h này là không đ i x ng, m t v n đ ch ch t đ i v i t ngở ữ ườ ố ệ ố ứ ộ ấ ề ủ ố ố ớ ừ ng i là t ch c này là ai: li u nó là phi l i nhu n (nh , m t nhóm công nghi p ho c m t chínhườ ổ ứ ệ ợ ậ ư ộ ệ ặ ộ ph ), hay là m t công ty vì l i nhu n? Các công ty đôi khi s d ng th a thu n này sao cho h có thủ ộ ợ ậ ử ụ ỏ ậ ọ ể áp đ t lên nh ng ng i khác đ i v i các quy n b sung; đi u này có th là có l i ích, nh ng nó cũngặ ữ ườ ố ớ ề ổ ề ể ợ ư có th xúc tác cho m t d ng khóa trói ph thu c vào công ty làm gì v i các quy n đó và các kháchể ộ ạ ụ ộ ớ ề hàng c n cái gì. Ti p c n này cũng có th làm suy y u m nh m s c ng tác; nhi u ng i không thầ ế ậ ể ế ạ ẽ ự ộ ề ườ ể ho c s không đóng góp nh ng c i ti n theo nh ng th a thu n không đ i x ng này. Ng n g n,ặ ẽ ữ ả ế ữ ỏ ậ ố ứ ắ ọ nh ng ti p c n này làm suy y u s c ng tác trong trao đ i vì m t s l i ích đ c th a nh n khác;ữ ế ậ ế ự ộ ổ ộ ố ợ ượ ừ ậ li u có hay không ệ đi u này là có l i ích, và cho ai, còn ph thu c vào t ng hoàn c nh.ề ợ ụ ộ ừ ả

T t c văn b n trên gi thi t r ng ph n m m đang đ c c p phép. Các tác ph m do c ng đ ngấ ả ả ở ả ế ằ ầ ề ượ ấ ẩ ộ ồ phát tri n mà không ph i là ph n m m th ng đ c tung ra theo 2 gi y phép c a Criativeể ả ầ ề ườ ượ ấ ủ Commons, mà chúng nên đ c s d ng cho các tác ph m trí tu thông th ng không ph i là ph nượ ử ụ ẩ ệ ườ ả ầ m m khi b n mu n xúc tác cho s duy trì c a c ng đ ng:ề ạ ố ự ủ ộ ồ

1. Gi y phép th m quy n (CC BY), mà là m t gi y phép cho phép đ i v i các tác ph m khôngấ ẩ ề ộ ấ ố ớ ẩ ph i là ph n m m.ả ầ ề

2. Gi y phép th m quy n chia s (CC BY-SA), mà nó là gi y phép b o v m nh (có đi có l i)ấ ẩ ề ẻ ấ ả ệ ạ ạ đ i v i các tác ph m không ph i là ph n m m.ố ớ ẩ ả ầ ề

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 74/77

Page 75: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Các tham chiếu[Apache2010] Apache Software Foundation. 2010. “Consensus Gauging through Voting”.

http://www.apache.org/foundation/voting.html[Bacon2009] Bacon, Jono. August 2009. The Art of Community: Building the New Age of Participation. ISBN:

978-0-596-15671-8.http://www.artofcommunityonline.org/downloads/jonobacon-theartofcommunity-1ed.pdf

[Boyd1976] Boyd, Col. John, Destruction and Creation - John Boyd - Winning and Losing, Sept 3, 1976[Burnette2006] Burnette, Ed. June 14, 2006. “HOWTO: Pick an open source license”. ZDNet.com

Blog. http://blogs.zdnet.com/Burnette/?p=130[Carter 2010] Carter, Ashton B. June 2010. “Memorandum to Acquisition Professionals Subject: Better Buying

Power: Mandate for Restoring Affordability and Productivity in Defense Spending”https://dap.dau.mil/policy/Documents/Policy/Carter%20Memo%20on%20Defense%20Spending%2028%20Jun%202010.pdf

[Collins2007] Collins-Sussman, Ben, and Brian W. Fitzpatrick. January 25, 2007. “How Open Source Projects Survive Poisonous People (And You Can Too)” also titled “How to Protect Your Open Source Project from Poisonous People”. Google Tech Talks.Video. http://video.google.com/videoplay?docid=-4216011961522818645

[DeHaan2009] DeHaan, Mike. May 17, 2009. “Recognizing and Avoiding Common Open Source Community Pitfalls”. http://michaeldehaan.net/2009/05/17/oss-pitfalls/ Retrieved 2010-08-19.

[DoDI5000] Department of Defense (DoD). December 8, 2008. Operation of the Defense Acquisition System. DoD Instruction 5000.02.http://www.dtic.mil/whs/directives/corres/pdf/500002p.pdf

[DoD2009] Department of Defense (DoD). October 16, 2009. Clarifying Guidance Regarding Open Source Software (OSS). http://cio-nii.defense.gov/sites/oss/2009OSS.pdf

[Fogel2009] Fogel, Karl. 2009. Producing Open Source Software: How to Run a Successful Free Software Project. http://producingoss.com/

[GAO 2006] Government Accountability Office (GAO). July 2006. “WEAPONS ACQUISITION: DOD Should Strengthen Policies for Assessing Technical Data Needs to Support Weapon Systems”. Report GAO-06-839. http://www.gao.gov/new.items/d06839.pdf

[GAO 2010] Government Accountability Office (GAO). July 2010. FEDERAL CONTRACTING: Opportunities Exist to Increase Competition and Assess Reasons When Only One Offer Is Received Report GAO-10-833. http://www.gao.gov/new.items/d10833.pdf

[Java.net] Choose a License. Undated. http://java.net/choose-license [Lynn2010] Lynn, William J. III. September 2010. “Defending a New Domain: The Pentagon’s Cyberstrategy”.

Foreign Affairs.[Martin2000] Martin, Robert C. 2000. Design Principles and Design Patterns.

http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf[MITRE2003] MITRE Corporation. January 2, 2003. Use of Free and Open-Source Software (FOSS) in the U.S.

Department of Defense. http://cionii.defense.gov/sites/oss/2003Survey/dodfoss_pdf.pdf[Morville2005] Ambient Findability: What We Find Changes Who We Become, Morville, Peter, O'Reilly Media,

Sept. 2005[National Academies 2008]

Rising Above the Gathering Storm: Energizing and Employing America for a Brighter Economic Future. Report of the Committee on Science, Engineering, and Public Policy. National Academies Press, 2008

[OSI-Licenses] Open Source Initiative (OSI). Undated. Licenses by Name.http://www.opensource.org/licenses/alphabetical. Retrieved 2010-08-19.

[OSI OSD] Open Source Initiative (OSI). Open Source Definition (OSD).http://www.opensource.org/docs/osd

[OTD2006] J.C. Herz, Mark Lucas, and John Scott. April 2006. Open Technology Development Roadmap Plan. http://www.acq.osd.mil/jctd/articles/OTDRoadmapFinal.pdf.

[Raymond1999] Raymond, Eric. October 1999. The Cathedral & the Bazaar: Musings on Linux andOpen Source by an Accidental Revolutionary. O’Reilly Media.http://www.catb.org/~esr/writings/cathedral-bazaar/

[RedHat2009] Red Hat Community Architecture Team. 2009. The Open Source Way.

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 75/77

Page 76: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

http://www.theopensourceway.org[Rosen2005] Rosen, Lawrence. 2005. Open Source Licensing. Prentice-Hall.[Scott2010] Scott, John. 2010. Pentagon is Loosing the Softwar(e). Denfense News June 21, 2010.

http://www.defensenews.com/story.php?i=4677662[Van Buren2011] Van Buren, David M. January 14, 2011. SAF/AQ. “Present a Competitive Acquisition Strategy at

Each Program Milestone”https://dap.dau.mil/policy/Documents/2011/Present%20a%20Competitive%20Acquisition%20Strategy%20at%20Each%20Program%20Milestone_AQ%20Memo.pdf

[VonHippel2005] Von Hippel, Eric. 2005. Democratizing Innovation. Cambridge, Massachusetts: The MIT Press. ISBN 0-262-00274-4. http://web.mit.edu/evhippel/www/democ1.htm

[Wegner 2002] Wegner, Etienne, Richard McDermott, and William M. Snyder. March 15, 2002.Cultivating Communities of Practice. Harvard Business Press. ISBN-10: 1578513308. ISBN-13: 978-1578513307.

[Wheeler2007] Wheeler, David A. September 27, 2007. The Free-Libre / Open Source Software (FLOSS) License Slide. http://www.dwheeler.com/essays/floss-license-slide.html

[Wheeler2009] Wheeler, David A. 2009. Releasing Free/Libre/Open Source Software (FLOSS) forSource Installation. http://www.dwheeler.com/essays/releasing-floss-software.html.

[Wheeler2010e] Wheeler, David A. Revised as of January 8, 2010. How to Evaluate Open Source Software / Free Software (OSS/FS) Programs. http://www.dwheeler.com/oss_fs_eval.html

[Wheeler2010g] Wheeler, David A. Released 2002-05-06, revised 2010-06-05. Make Your OpenSource Software GPL-Compatible. Or Else. http://www.dwheeler.com/essays/gplcompatible.html

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 76/77

Page 77: Otd lessons-learned-and-best-practices-for-military-software-vi

2011 - Các bài h c h c đ c v công ngh mọ ọ ượ ề ệ ở

Bảng chú giảiAoA Analysis of Alternatives - Phân tích các l a ch n thay thự ọ ế

DoD Department of Defense - B Qu c phòngộ ố

COTS Commercial Off-the-shelf (OTS) - Th ng m i, dùng đ c ngayươ ạ ượ

GOTS Government Off-the-shelf (OTS) - C a chính ph , dùng đ c ngayủ ủ ượ

OGOTS Open Government Off-the-shelf (GOTS) - M , c a chính ph , dùng đ c ngayở ủ ủ ượ

OSS Open Source Software - Ph n m m ngu n m - PMNMầ ề ồ ở

OTD Open Technology Development - Phát tri n Công ngh Mể ệ ở

OTS Off-the-shelf - Dùng đ c ngayượ

RFI Request for Information - Yêu c u thông tinầ

RFP Request for Proposal - Yêu c u đ xu tầ ề ấ

Ph n m m ngu n m – PMNMầ ề ồ ở

Ph n m m t do – PMTDầ ề ự

Ph n m m t do ngu n m – PMTDNMầ ề ự ồ ở

Công ngh thông tin – CNTT ệ

Văn phòng Ph i h p Phát tri n Môi tr ng Khoa h c và Công ngh , B Khoa h c và Công ngh ố ợ ể ườ ọ ệ ộ ọ ệ Trang 77/77