Thách thức Accumulo, Phần II

Thứ tư - 01/08/2012 06:03

TheAccumulo Challenge, Part II

July 5, 2012 infrontpageby GunnarHellekson

Theo:http://opensourceforamerica.org/2012/07/the-accumulo-challenge-part-ii-2/

Bàiđược đưa lên Internet ngày: 05/07/2012

Public domain image courtesy of the U.S. Navy.

Những người quan tâmnhiều tới nguồn mở

Theseguys care a lot about open source.

Lờingười dịch: “Khi mà chính phủ ngày càng tiện lợi hơnvới nguồn mở, thì chính phủ sẽ không thể tránh khoảitạo ra nhiều hơn các dự án của riêng họ, và cộng tácvới các dự án đang tồn tại. Vì thế thay vì nghĩ vềAccumulo một cách hẹp, thì đây đúng là lúc để nghĩbao quát hơn về cách mà chính phủ tạo ra các dự ánnguồn mở, cách mà chính phủ chọn phần mềm được hỗtrợ hoặc không được hỗ trợ, và những gì nên xảyra khi các dự án của chính phủ bắt đầu cạnh tranh vớikhu vực tư nhân”. Để tránh việc các cơ quan chínhphủ tạo ra các dự án “rẽ nhánh” từ các dự ánnguồn mở gốc ban đầu và cạnh tranh với khu vực tưnhân, các cơ quan chính phủ nên trả lời một số câuhỏi trước khi quyết định thực hiện sự rẽ nhánh:(1) Liệu điều đó có là sống còn cho nhiệm vụ? (2) Bạncó chắc là không có giải pháp thương mại hay không? (3)Bạn có chắc là không có lựa chọn thay thế nào không?(4) Nếu bạn rẽ nhánh, nó là cần thiết hay không? (5)Liệu bạn có tính tới tất cả các chi phí chưa? (6) Liệucác giả thiết của bạn có còn đúng hay không?

Trong Phần I, chúng tađã thảo luận ý định của Ủy ban các Dịch vụ Vũtrang của Thượng viện (SASC) buộc chằng dự án Accumulovào Bộ Quốc phòng (DoD). Họ đã chỉ thị cho CIO của Bộnhảy qua một vài vòng báo cáo trước khi Accumunlo có thểđược phép trong DoD, và đã chỉ thị cho đội Accumulongược lên dòng trên công việc của họ vào trong các dựán nguồn mở có liên quan. Dường như sẽ là một ý địnhđể tháo dỡ các dự án với giả định rằng nó đangcạnh tranh với các sản phẩm và dự án từ khu vực tưnhân.

Trườnghợp của Accumulo không phải là lần đầu, và cũng sẽkhông phải là lần cuối, dự án bắt gặp ở dạng phảnkháng này. Khi mà chính phủ ngày càng tiện lợi hơn vớinguồn mở, thì chính phủ sẽ không thể tránh khoải tạora nhiều hơn các dự án của riêng họ, và cộng tác vớicác dự án đang tồn tại. Vì thế thay vì nghĩ vềAccumulo một cách hẹp, thì đây đúng là lúc để nghĩbao quát hơn về cách mà chính phủ tạo ra các dự ánnguồn mở, cách mà chính phủ chọn phần mềm được hỗtrợ hoặc không được hỗ trợ, và những gì nên xảyra khi các dự án của chính phủ bắt đầu cạnh tranh vớikhu vực tư nhân.

Đây là ví dụ củatôi, được làm sống động phần lớn bằng Thông tưCircularA-130 §8b1(b) của Văn phòng Quản lý Ngân sách (OMB) màtôi đã nhắc tới ở Phần I. Dù A-130 hầu hết là vôhại, thì nó bao gồm cả một số thực tiễn CNTT có ýnghĩa chung và nó là tốt như một khung công việc như bấtkỳ câu trả lời nào cho một số câu hỏi đó. Bây giờlà thời điểm tốt để đọc lại phần đó nếu bạncòn chưa quen với nó.

In PartI, we discussed the Senate Armed Services Committee (SASC)’sattempt to hobble the open source Accumulo projectin the DOD. They directed the Department’s CIO to jump through anumber of reporting hoops before Accumulo would be allowed inside theDOD, and directed the Accumulo team to upstream their work intorelated open source projects. It appears to be an attempt todismantle the project on the assumption that it was competing withproducts and project f-rom the private sector.

TheAccumulo case isn’t the first, and will not be the last, project toencounter this kind of resistance. As the government gets morecomfortable with open source, it will inevitably cre-ate more of itsown projects, and collaborate with existing projects. So rather thanthink about Accumulo narrowly, this is a good time to think moregenerally about how the government cre-ates open source projects, howit chooses supported or unsupported software, and what should happenwhen government projects begin to compete with the private sector.

Here’smy take, animated largely by OMBCircular A-130 §8b1(b) which I mentioned in Part I. ThoughA-130 is mostly toothless, it does embody a number of common-sense ITpractices and it’s as good a framework as any to answer some ofthese questions. Now’s a good time to re-read that section ifyou’re not already familiar with it.

Dogovernment-sponsored open source projects automatically compete withthe private sector?

Cácdự án nguồn mở do chính phủ đỡ đầu có tự độngcạnh tranh với khu vực tư nhân hay không?

Không.

Đâylà một sự thí điểm có suy nghĩ: điều gì xảy ra nếuAccumulo từng là sản phẩm của một dự án chuyển giaocông nghệ thông qua một chương trình như CRADA,IRADhay SBIR?Trong các chương trình đó, chính phủ cộng tác với khuvực tư nhân để phát triển công nghệ, và thường cungcấp cho người sáng tạo công nghệ đó các quyền đặcbiệt nhất định cho sản phẩm làm việc nên họ có thểkiếm tiền trên nó. Nguồn mở là y hệt, ngoại trừ sởhữu trí tuệ là sẵn sàng cho mọi người, chứ không chỉcho nhà thầu đầu tiên. Nên không có gì vốn dĩ là chốngcạnh tranh ở đây cả về nguồn mở. Trên thực tế,việc sử dụng nguồn mở như một chiến lược chuyểngiao công nghệ có thể đóng góp cho đổi mới và tăngtrưởng của khu vực phần mềm của Mỹ.

Về lịch sử, các dựán của chính phủ đã giúp, chứ không làm hại, cho khuvực tư nhân. Từ điện toán hiệu năng cao cho tới anninh, các dự án nguồn mở của chính phủ đã tiến bộvề công nghệ, đã tạo ra những doanh nghiệp và thườngdỡ bỏ tất cả các tàu thuyền. Tôi sẽ đi đủ xa đểnói rằng nguồn mở sẽ là phương pháp được ưu tiêncủa chuyển giao công nghệ, và tôikhông đơn độc.

Điều này không đểnói rằng bất kỳ dự án nguồn mở nào cũng đánglàm. §8b1(b)(iii) của A-130 nói cho chúng ta rằng chính phủsẽ không tạo ra các dự án đúp banr khi một dự án đãtồn tại trong thế giới thương mại: (iii) Công việc hỗtrợ xử lý điều nó đã đơn giản hóa hoặc nếu khôngđã thiết kế lại để giảm chi phí, cải thiện tínhhiệu quả và thực hiện sử dụng tối đa công nghệthương mại, dùng ngay được.

Miễn là dự án theoyêu cầu không dư thừa, nguồn mở là một cách tuyệtvời để phát triển các công nghệ mới và đảm bảorằng chúng sẵn sàng một cách rộng rãi cho cả khu vựcchính phủ vả tư nhân.

No.

Here’sa thought experiment: what if Accumulo were the product of atechnology transfer project via a CRADA,an IRAD or SBIR program?In these, the government collaborates with the private sector todevelop technology, and often provides the creator of that technologywith certain special rights to the work product so they can makemoney on it. Open source is the same, except the intellectualproperty is available to everyone, not just the prime contractor. Sothere’s nothing inherently anti-competitive about open source. Infact, using open source as a technology transfer strategy cancontribute to the innovation and growth of the US software sector.

Historically,the government’sprojects have helped, not hurt, the private sector. F-romhigh-performance computing to security, the government’s opensource projects have advanced technology, cre-ated businesses, andgenerally lifted all boats. I’ll go so far as to say that opensource should be the preferred method of technology transfer, andI’m not the only one.

Thisisn’t to say that any opensource project is worth doing. §8b1(b)(iii) of A-130 tellsus that the government should not cre-ate duplicative projects whenone already exists in the commercial world:

(iii)Support work processes that it has simplified or otherwise redesignedto reduce costs, improve effectiveness, and make maximum use ofcommercial, off-the-shelf technology;

Providedthe project in question isn’t redundant, open source is a great wayof developing new technologies and ensuring that they’re widelyavailable to both the government and the private sector.

Isit fair for the government to support open source with staff andmoney?

Liệu có công bằngkhi chính phủ hỗ trợ nguồn mở bằng các nhân viên vàtiền của mình?

Vì chính phủ có thểđỡ đầu cho các dự án đổi mới, miễn là có nhu cầutheo nhiệm vụ rõ ràng. Điều đó đặt chúng ta vào vớicâu hỏi về những người đóng góp do chính phủ bảotrợ Nhiều người duy trì của Accumulo đang cung cấp cáctài nguyên cho một dự án phần mềm thương mại mà cóthể (cuối cùng) cạnh tranh trực tiếp với các bản chàothương mại có sẵn khác. Nó có là tồi tệ không?

Nếu một chươngtrình của chính phủ thấy một nhu cầu nhiệm vụ khôngđược thế giới thương mại làm cho thỏa mãn, thì chínhphủ có lý để bỏ ra các tài nguyên để làm thỏa mãnnhu cầu đó. Ví dụ, Trung tâm Tích hợp Mạng của Khôngquân Mỹ, tạo ra hệ điều hành “An ninh Khả chuyểnhạng Nhẹ” - LPS (LightweightPortable Security) cho phép các nhà truyền thông kết nốimột cách an toàn tới các mạng của DoD. Nó dựa trênLinux. Dù có nhiều phát tán Linux thương mại có sẵn, thìkhông phát tán nào làm thỏa mãn được những yêu cầucủa LPS một cách chính xác. Quan trọng là, AFNIC không đơngiản là việc đóng gói lại Linux. Họ đang sử dụng lạicác phần mềm thương mại có sẵn càng nhiều càng tốt,và bỏ ra thời gian và tiền bạc của họ để bổ sunggiá trị có thể phân biệt được, thực tiễn cho mộtphát án Linux chung. Điều này có nghĩa là LPS là tuân thủvới §8b1(b)(iv) của A-130:

(iv)Làm giảm rủi ro bằng việc tránh hoặc cô lập các thànhphần được thiết kế tùy biến, có sử dụng các thànhphần mà có thể được kiểm thử hoặc làm mẫu đầyđủ trước khi sản xuất, và đảm bảo sự liên can vàhỗ trợ những người sử dụng;

Trườnghợp của Accumulo, ít nhất lúc ban đầu, đã là khác rồi.An ninh mức nhân (cell) và các tính năng khác làm choAccumulo duy nhất từng không phải là sẵn có một cáchthương mại cho NSA. Giống như LPS, họ đã xây dựng nhữnggì họ cần trên các thành phần thương mại có sẵn.Điều này là rất phổ biến, và thực tế là NSA đã thểhiện tâm trí để phát hành công việc đó như là mộtdự án nguồn mở nên được khen thưởng.

Thựctế là Accumulo đã bắt đầu như là phần mềm đượcchính phủ phát triển và bây giờ là phần mềm thươngmại có sẵn không mang theo khả năng của chính phủ đểtiếp tục làm việc tiếp và cải tiến phần mềm đó.Việc cải tiến phần mềm là, sau tất cả, hoàn toànđược khuyến khích theo “Bản ghi nhớ Nguồn Mở” củaDoD năm 2009:

(ii)Khả năng không bị hạn chế để sửa đổi mã nguồnphần mềm cho phép Bộ phản ứng được nhanh hơn đốivới các tình huống thay đổi và cá mối đe dọa trongtương lai.

Đã nói tất cả điềuđó: chỉ vì chính phủ có thể tùy biến phần mềmcho các nhu cầu của mình không có nghĩa là họ sẽnên. Đừng quên rằng §8b1(b)(i) và §8b1(b)(ii) củaA-130 cũng phải được làm cho thỏa mãn. Nếu một dự ánbỗng nhiên đúp bản hoặc không theo nhiệm vụ của mộtcơ quan, thì dự án đó nên sử dụng một thành phầnthương mại đang có sẵn.

Sothe government can sponsor innovative projects, provided there’s anobvious mission need. That leaves us with the question ofgovernment-sponsored contributors. Many of the Accumulo maintainersare government employees or contractors. We’re now in a strangegray area whe-re the government is providing resources to a commercialsoftware project that may (eventually) compete directly with othercommercially available offerings. Is this bad?

Ifa government program finds a mission need unfulfilled by thecommercial world, it makes sense to spend resources to satisfy thatneed. The US Air Force Network Integration Center, for example,produces the “LightweightPortable Security” operating system that allows telecommutersto safely connect to DOD networks. It’s based on Linux. Althoughthere are many commercial Linux distributions available, none satisfyLPS’ requirements exactly. Crucially, AFNIC is not simplyrepackaging Linux. They are re-using as much commercially availablesoftware as possible, and spending their time and money adding real,differetiated value to an otherwise generic Linux distribution. Thismeans that LPS is consistent with §8b1(b)(iv) of A-130:

(iv)Reduce risk by avoiding or isolating custom designed components,using components that can be fully tested or prototyped prior toproduction, and ensuring involvement and support of users;

TheAccumulo case, at least at the start, was no different. Cell-levelsecurity and the other features that make Accumulo unique were notcommercially available to the NSA. Like LPS, they built what theyneeded on commercially available components. This is very common, andthe fact that the NSA had the presence of mind to release that workas an open source project should be rewarded.

Thefact that Accumulo began as government-developed software and is nowcommercially available software has no bearing on the government’sability to continue working on and improving that software. Improvingsoftware is, after all, explicitly encouraged by the DOD “OpenSource Memo” of 2009:

(ii)The unrestricted ability to modify software source code enablesthe Department to respond more rapidly to changing situations,missions, and future threats.

Havingsaid all that: just because the government can customizesoftware for its needs doesn’t mean that they should.Don’t forget that §8b1(b)(i) and  §8b1(b)(ii) of A-130 alsohave to be satisfied. If a project is suddenly duplicative ornot in keeping with an agency’s mission, the project should use anexisting, commercial component.

Sowhat happens when a project becomes duplicative?

Điềugì sẽ xảy ra khi một dự án trở thành đúp bản?

SASC từng lo lắngrằng Accumulo bằng cách nào đó can thiệp vào các dự ánHBase và Cassandra, các dự án cũng giải quyết nhiều, dùkhông phải tất cả, các vấn đề y hệt mà Accumulo đanglàm. Nếu HBase hoặc dự án khác bắt đầu đáp ứng đượccác nhu cầu của chính phủ và làm cho các tính năng giốngnhư của Accumulo sẵn sàng, thì A-130 gợi ý rằng chínhphủ sẽ xem xét sát sao hơn vào những chào mời thươngmại có sẵn hoặc ngược lên dòng trên mã nguồn của nóđể loại bỏ xung đột. §8b1(b)(v) và các cách thức tốtcủa nguồn mở đồng ý về điều này:

(v) Thể hiện một sựhoàn vốn đầu tư có kế hoạch mà rõ ràng ngang bằnghoặc tốt hơn so với những sử dụng theo các lựa chọnthay thế các tài nguyên nhà nước có sẵn...

Tất nhiên, nhữngngười của Accumulo đã phát hành rồi dự án củahọ cho công chúng, và đã làm thế khi không có sự cạnhtranh về giải pháp mà họ đã đưa ra. Khi họ đã làmđiều đó, thì Accumulo đã trở thành phần mềm thươngmại theo các điều khoản của FAR và DFAR. Điều đó làmthay đổi hoàn toàn hoàn cảnh. Accumulo bây giờ giống hệtnhư bất kỳ chào mời thương mại nào khác, và có thểthắng hoặc thua về giá trị của nó. Như chúng ta đãthảo luận trước đó, chính phủ sẽ tự do để hỗ trợdự án đó miễn là nó thúc đẩy nhiệm vụ của chínhphủ theo một cách thức có hiệu quả về chi phí. Khôngcó sự thiệt hại nào ở đây cả. Trong thực tế, điềutuyệt vời là Accumulo đang cải thiện sự phát triểntrong lĩnh vực này của phần mềm và khuyến khích các dựán như HBase và Cassandra tiến bộ. Đây là một ví dụ vềthị trường làm việc, mà không có sự can thiệp củaSASC.

SASCwas worried that Accumulo was somehow interfering with the HBase andCassandra projects, which solve many, though not all, of the sameproblems Accumulo does. If HBase or another project begin to respondto the government’s needs and make Accumulo-like featuresavailable, A-130 suggests that the government to take a close look atthose commercially available offerings or upstream its code toeliminate the conflict. §8b1(b)(v) and good open sourcemanners agree on this:

(v)Demonstrate a projected return on the investment that is clearlyequal to or better than al-ternative uses of available publicresources…

Ofcourse, the Accumulo folks already releasedtheir project to the public, and did so when there was no competitionfor the solution they provided. When they did that, Accumulo becamecommercial software under the terms of the FAR and DFAR. That changesthe situation entirely. Accumulo is now just like any othercommercial offering, and can win or lose on its merits. As wediscussed earlier, the government should be free to support thatproject as long as it’s advancing its mission in a cost-effectivemanner. No harm done, here. In fact, it’s great that Accumulo isadvancing development in this area of software and encouragingprojects like HBase and Cassandra to keep up. This is an example ofthe market working, without SASC’s intervention.

Canthe government fork an open source project?

Chínhphủ có thể rẽ nhánh một dự án nguồn mở không?

“Rẽ nhánh”, mà cónghĩa là tạo ra phiên bản của riêng bạn đối với mộtdự án thay vì cộng tác với cộng đồng dòng chínhthống, là khác phức tạp hơn. Rẽ nhánh được hiểu mộtcách rộng rãi như một phương cách cuối cùng, lựa chọnhạt nhân trong cộng đồng nguồn mở vì nó tạo ra sựmắc nợvề kỹ thuậtvà cướp đi của dự án dòng chính thống sự chú ý cógiá trị.

Nếuchính phủ tạo ra phiên bản của riêng mình đối vớimột dự án đang hoạt động đang có sẵn mà không có lýdo rõ ràng, thì điều này không chỉ là một quyết địnhtồi về kỹ thuật, mà còn tồi về chính sách. Đâykhông phải là nhiệm vụ của một cơ quan, ví dụ, đểtạo ra một hệ điều hành hoặc trình soạn thảo vănbản mục đích chung. Có nhiều những thứ sản phẩmthương mại có sẵn như vậy, và không có lý do gì chínhphủ lại sẽ làm xói mòn nền công nghiệp phần mềm Mỹbằng việc chèn ép những lựa chọn thay thế có khảnăng sống được đang tồn tại rồi đối với côngchúng.

Các chiến lược tốthơn là sẵn sàng. Chính phủ (giống hệt như một công tytư nhân) có thể thực hiện mọi nỗ lực để sử dụngmã nguồn thương mại có sẵn, đang tồn tại hơn là nhậnlấy trách nhiệm cho phiên bản của riêng họ đối vớitoàn bộ dự án đó. Điều này có thể có nghĩa việc sửđổi bổ sung các module đặc thù mà họ cần hoặc việcduy trì một tập hợp các bản vá tùy chọn đối với dựán dòng chính thống. §8b1(b)(iv) là rõ ràng về điềunày, như chúng ta đã thảo luận, và đã có một chínhsách cho kho mã nguồn do DoD vận hành, forge.mil.Những người của forge.milkhông tích cực khuyến khích mã nguồn thương mại đangđược đặt chỗ ở đó, sợ rằng chúng sẽ - thậm chíkhông cố ý - tạo ra một rẽ nhánh của dự án chỉ dànhcho chính phủ. Nếu chính phủ cần phải sửa đổi cácphần mềm thương mại cho các mục đích của riêng họ,thì họ nên đóng khung hoạt động của họ vào nhữngthay đổi cụ thể mà họ cần hơn là tạo ra toàn bộmột tác phẩm mới.

Khôngcó gì về điều này có nghĩa rằng một rẽ nhánh bịcấm cả. Nó có nghĩa là quyết định rẽ nhánh là nghiêmtúc, và có quan mà rẽ nhánh nên được chuẩn bị vớimột phân tích các lựa chọn thay thế, các chứng minh chiphí, một kế hoạch hỗ trợ và duy trì, cũng như mộtchiến lược giảm nhẹ rủi ro. Như là vấn đề thựctiễn, dễ hơn nhiều để tránh một rẽ nhánh ngay từđầu.

“Forking,”which means creating your own version of a project rather thancollaborating with its mainstream community, is slightly morecomplicated. Forking is widely understood as a last-resort, nuclearoption in the open source community because it cre-ates technicaldebt and robs the mainstream project of valuable attention.

Ifthe government cre-ated its own version of an existing, functionalproject without a clear reason, it’s not just a bad technicaldecision, it’s also bad policy. It’s not an agency’smission, for instance, to cre-ate a general-purpose operating systemor word processor. There are plenty of these available as commercialproducts, and there’s no reason the government should undermine theUS software industry by crowding out viable al-ternatives alreadyavailable to the public.

Betterstrategies are available. The government (just like a privatecompany) can make every effort to use existing, commerciallyavailable code rather than assume responsibility for their ownversion of the whole project. This may mean adding specific modulesthat they need or maintaining an optional set of patches to themainstream project.  §8b1(b)(iv) is explicit about this, as wealready discussed, and it’s already policy for theDOD-operated source repository, forge.mil.The forge.mil folks actively discourage commercial code f-rom beinghosted there, for fear that they’ll – even inadvertently –cre-ate a government-only fork of the project. If the government needsto al-ter commercial software for their own purposes, they shouldconfine their activity to the specific changes they need rather thancre-ate a wholly new work.

Noneof this means that a fork is forbidden. It means that the decision tofork is serious, and the agency who forks should be prepared with ananalysis of al-ternatives, cost justifications, a support andmaintenance plan, as well as a risk mitigation strategy. As apractical matter, it’s far easier to avoid a fork in the firstplace.

Sowhen should the government merge a project? Who gets to decide?

Khinào thì chính phủ trộn một dự án? Ai sẽ phải quyếtđịnh?

Một người có thểtưởng tượng bất kỳ số lượng lý do pháp lý nào vìsao Cơ quan được bầu lại xây dựng và hỗ trợ cho mộtlựa chọn thay thế cho HBase hoặc Cassandra. Liệu họ cóđang đưa ra một quyết định tồi hay không? Điều đóhoàn toàn có khả năng. Tôi nghĩ, dù, rằng các cơ quannên được phép tự do làm theo ý mình thế này. Miễn làhọ đang tạo ra thứ gì đó phù hợp với nhiệm vụ vàthực sự là mới - thứ gì đó đúng về Accumulo mộtcách không bàn cãi - dạng tự do như vậy, một cách côngbằng, là một lợi ích.

Tôi có thể tưởngtượng thời điểm khi dự án Accumulo của Apache có thểquyết định rằng việc cạnh tranh với các dự án kháclà quá tốn kém. Những người cầm đầu dự án có thểsau đó bầu chọn để gửi một số tính năng đặc thùcủa Accumulo cho các dự án ngược lên dòng trên khác, vớihy vọng làm giảm nhẹ bớt gánh nặng duy trì của họ.Một lần nữa, điều này xảy ra tất cả mọi lúc và làmột trong những khả năng lớn của qui trình nguồn mở.

Nó cũng có thể làmviệc theo cách khác: những người duy trì HBase có thểquyết định rằng các tính năng của Accumulo là có giátrị, và chọn để kéo vài tính năng trong số chúng từAccumulo ngược lại vào HBase. Họ tự do tuyệt vời đểlàm thế, và đây cũng là thứ gì đó xảy ra mọi thờigian trong các dự án nguồn mở.

Buồn thay, SASC đãquyết đinhj rằng đủ tư cách tốt hơn để quản lý dựán Accumulo hơn những người duy trì của dự án. Đây làmột tiền lệ nguy hiểm cho tất cả các dự án nguồnmở. Ý định đằng sau sự làm luật là tốt: những rẽnhánh thường là tồi, và chính phủ nên tránh cạnh tranhvới khu vực tư nhân. Cùng lúc, Accumulo là nguồn mở.Điều đó tiêm chungr cho Accumulo chống lại những chỉtrích đó, và trong trường hợp điều §8b1(b) và bảnghi nhớ về nguồn mở của DoD năm 2009 đưa ra khánhiều chỉ dẫn cho người quản lý chương trình có thểsử dụng để đưa ra dạng quyết định này. Bổ sungthêm từ ngữ cho NDAA năm 2013 là hoàn toàn không cầnthiết và có lẽ phản tác dụng.

Onecan imagine any number of legitimate reasons why the Agency electedto build and support an al-ternative to HBase or Cassandra. Are theymaking a bad decision? That’s entirely possible. I think, though,that agencies should be permitted this discretion. As long as they’recreating something relevant to the mission and genuinely new –which was indisputably true of Accumulo – this kind of freedom is,on balance, a benefit.

Ican imagine a time when Apache’s Accumulo project would decide thatcompeting with the other projects is too costly. Project leaderswould then elect to send some Accumulo-specific features to otherupstream projects, in hopes of relieving their maintenance burden.Again, this happens all the time and is one of the greatpossibilities of the open source process.

Itcould work the other way, too: the HBase maintainers may decide thatAccumulo’s features are valuable, and choose to drag some of themf-rom Accumulo back into HBase. They’re perfectly free to do so, andthis is also something that happens all the time in open sourceprojects.

Sadly,SASC has decided that it’s better-qualified to manage the Accumuloproject than the project maintainers. This is a dangerous precedentfor all open source projects. The intention behind the legislation isgood: forks are generally bad, and the government should avoidcompeting with the private sector. At the same time, Accumulo is opensource. That inoculates Accumulo against these criticisms, and in anycase §8b1(b) and the DODopen source memo of 2009 provide plenty of guidance theprogram manager can use to make this kind of decision. Addinglanguage to the 2013 NDAA is completely unnecessary and probablycounterproductive.

Sowhat’s to be done?

Cáigì đã được thực hiện?

Nếu mã nguồn làđóng, bạn có thể viện lý rằng Accumulo đang làm phícác tài nguyên của chính phủ và can thiệp vào khu vựctư nhân. May thay, điều đó không phải thế - nó là tựdo cho bất kỳ ai, bao gồm cả các dự án Cassandra hayHBase, để sử dụng. Là hữu dụng để nghĩ về Accumulonhư một chiến lược khôn ngoan của chính phủ để cảitiến hướng tới sự hiện đại. Biết rằng chính phủcó quan tâm về những thứ như an ninh mức cốt lõi,Accumulo đã khuyến khích các dự án tương tự khác giảiquyết các câu hỏi y hệt. Theo cách này, sự cạnh tranhgiữa Accumulo và HBase hoàn toàn khác nhau so với dạng cạnhtranh mà chúng ta thấy trong nghiên cứu khoa học: nhiềubên, tất cả hướng tới sự hiện đại hóa, vì lợiích của tất cả mọi người. Chúng ta sẽ không mơ tưởngvề việc ứng xử với nghiên cứu do chính phủ cấp vốnnhư một mối đe dọa cho nghiên cứu do tư nhân cấp vốn,thì cái gì làm cho các dự án phần mềm đó khác nhauchứ?

Ifthe code was closed, you could argue that Accumulo is squanderinggovernment resources and interfering with the private sector.Fortunately, that’s not the case – it’s free for anyone,including the Cassandra or HBase projects, to use. It’s useful tothink about Accumulo as a shrewd government strategy to advance thestate of the art. Knowing that the government is concerned aboutthings like cell-level security, Accumulo has already encouragedother, similar, projects to address these same questions. In thisway, the competition between Accumulo and HBase is not altogetherdifferent than the kind of competition we see in scientific research:many parties, all advancing the state of the art, to the benefit ofeveryone. We wouldn’t dream of treating government-funded researchas a threat to privately funded research, so what makes thesesoftware projects different?

However.

Tuynhiên

Trong khi tôi không cảmthấy sự can thiệp của Quốc hội là cần thiết, thì rõràng là chúng ta cần nói về các cách thức để tinhchỉnh các chính sách để làm cho các tình huống đó ítkhông chắc chắn hơn. Đặc biệt, cách mà chúng ta sẽbiết khi nào các dự án của chính phủ là được phép,và không can thiệp vào công việc tốt lành của khu vựctư nhân? Tôi sẽ đưa ra một vài câu hỏi mà mỗi dự ánphần mềm của chính phủ nên tự hỏi mình để trả lờicho câu hỏi quan trọng đó:

  • Liệu điều đó có là sống còn cho nhiệm vụ? Rõ ràng, các cơ quan chính phủ không nên phí phạm thời gian tạo ra các dự án mà là thừa không cần thiết đối với nhiệm vụ của họ. Điều này là dễ dàng, và được đề cập tới trong §8b1(b)(i) của A-130.

  • Bạn có chắc là không có giải pháp thương mại hay không? Có tất cả các dạng công cụ có sẵn cho những người quản lý các dự án chính phủ có thể giúp họ học được nhiều hơn về thị trường đối với vấn đề của họ. Thông qua RFIs, các Ngày cùa Giới công nghiệp, và giao tiếp thường xuyên với giới công nghiệp, bạn có thể chắc chắn rằng bạn đã vắt kiệt các lựa chọn thương mại của bạn trước khi nhảy vào một qui trình phức tạp và đắt đỏ của việc duy trì dự án phần mềm của riêng bạn. Trong Phần 929, SASC chỉ cho CIO của DoD để đảm bảo công việc nhà này được thực hiện, mà những qui định và qui trình để làm điều này là rất rõ ràng rồi theo §8b1(b)(ii) và §8b1(b)(iii).

  • Bạn có chắc là không có lựa chọn thay thế nào không? Tôi ngụ ý, thực sự có chắc không? Đừng chỉ dựa vào giới công nghiệp để nói cho bạn những gì có ngoài đó. Nhiều giải pháp của bạn có thể sẵn sàng như các dự án nguồn mở mà không có lợi từ một thực thể thương mại mà có thể trả lời cho RFIs hoặc tham gia vào những ngày công nghiệp. Hãy thận trọng về điều này: thật dễ để làm một tìm kiếm nhanh trên Google và công bố sự hiếm hoi của thị trường. Cũng rất dễ để đặt ra rào cản cao không thể tưởng, và nói rằng vì không có máy biến đổi XML đáng tin cậy nào với các máy chủ nhúng IMAP, nên bạn phải xây dựng phần mềm riêng cho bạn. Hãy là hợp lý.

  • Nếu bạn rẽ nhánh, nó là cần thiết hay không? Có tất cả các dạng tài liệu về quyết định này, bao gồm cả §8b1(b)(iv), mà tôi sẽ không đề cập tới ở đây, nhưng quyết định rẽ nhánh là một quyết định nghiêm trọng. Liệu các yêu cầu của bạn có được làm cho thỏa mãn thay vì một bản vá hay không? Liệu bạn có được chuẩn bị để ôm những gánh nặng duy trì cho tương lai có thể dự đoán trước được hay không? Quyết định đó là một quyết định phức tạp, và một văn phòng chương trình sẽ không ra chúng một cách đơn giản. Một rẽ nhánh dường như dễ dàng hơn lúc ban đầu, nhưng nó sẽ là nặng, nặng gánh hơn nhiều về lâu dài qua thời gian.

  • Liệu bạn có tính tới tất cả các chi phí chưa? Điều này là khó khăn hơn nhiều, nhưng hãy bớt chút thời gian đọc §8b1(b)(v) và chỉ ra chính xác bạn đã làm cho cuộc sống của bạn phức tạp tới mức nào. Vì bạn đang sử dụng dự án của riêng bạn, liệu bạn có một gánh nặng duy trì lớn hơn hay không? Liệu các chi phí hỗ trợ có cao hơn không? Thế còn về sự chứng nhận hoặc sự tin cậy bổ sung có làm việc hay không? Thế còn chi phí để thoát ra của bạn thì sao - sẽ là nặng nề hơn để chuyển sang một lựa chọn thay thế tốt hơn trong tương lai vì bạn đang sử dụng một mẩu phần mềm đặc thù của chính phủ, liệu có hay không?

  • Liệu các giả thiết của bạn có còn đúng hay không? Đây là điều quan trọng nhất, và câu hỏi được trường hợp của Accumulo đặt ra. Bạn có thể đọc §8b1(b)(vii), thực hiện Phân tích các Lựa chọn thay thế của bạn, nghiên cứu thị trường của bạn, xác định các yêu cầu của bạn, nhưng điều đó là 2 năm về trước. Có đúng là không có lựa chọn thay thế nào khác nữa hay không? Liệu có thể có dự án nào khác mà bạn có thể làm việc cùng để giảm được gánh nặng của bạn hay không? Có một sự đánh giá lại chân thực, thường xuyên những giả thiết của bạn sẽ giữ cho bạn khỏi đi lang thang quá xa khỏi sự bảo lưu.

Bây giờ tới lượtbạn: điều gì nữa các cơ quan sẽ nghĩ tới nhỉ?

WhileI don’t feel Congressional intervention is necessary, it’sobvious that we need to talk about ways to refine policies to makethese situations less uncertain. Specifically, how will we know whengovernment projects are permissible, and do not interfere with thegood work of the private sector? I’ll offer a few questions everygovernment software project should ask itself to answer thatimportant question:

  • Is it critical to the mission? Obviously, the government agencies shouldn’t be wasting their time creating projects that are superfluous to their mission. This one’s easy, and covered by §8b1(b)(i) of A-130.

  • Are you sure there’s no commercial solution? There are all kinds of tools available to government project managers that can help them learn more about the market for their problem. Through RFIs, Industry Days, and regular communication with industry, you can make sure that you’ve exhausted your commercial options before embarking on the complex and expensive process of maintaining your own software project. In Section 929, SASC directs the DOD CIO to ensure this homework has been done, but the rules and process for doing this are already very clear under §8b1(b)(ii) and §8b1(b)(iii).

  • Are you sure there are no al-ternatives? I mean, really sure? Don’t just rely on industry to tell you what’s out there. Many of your solutions may be available as open source projects that don’t benefit f-rom a commercial entity that can respond to RFIs or attend industry days. Be deliberate about this: it’s easy to do a quick Google search and declare the market barren. It’s also easy to raise the bar impossibly high, and say that because there are no accredited XML transformation engines with embedded IMAP servers, you have to build your own. Be reasonable.

  • If you fork, is it necessary? There’s all kinds of literature on this decision, including §8b1(b)(iv), which I won’t cover here, but the decision to fork is a serious one. Can you get your requirements fulfilled with a patch instead? Are you prepared to carry the maintenance burden for the foreseeable future? The decision is a complicated one, and a program office shouldn’t take them lightly. A fork may seem easier at first, but it will be much, much harder over the long term.

  • Have you accounted for all the costs? This is notoriously difficult, but take a moment to read §8b1(b)(v) and figure out exactly how complicated you’ve made your life. Because you’re using your own project, do you have a greater maintenance burden? Higher support costs? What about the additional certification or accreditation work? What about your exit costs – will it be harder to move to a better al-ternative in the future because you’re using a government-specific piece of software?

  • Are your assumptions still true? This is the most important, and the question demanded by the Accumulo case. You may read §8b1(b)(vii), done your Analysis of Al-ternatives, your market research, determined your requirements, but that was two years ago. Is there still no al-ternative? Maybe there’s another project you could work with to reduce your burden? Having a regular, honest re-evaluation of your assumptions will keep you f-rom wandering too far off the reservation.

Nowit’s your turn: what else should agencies be thinking about?

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

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

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

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Về Blog này

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

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

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

Thống kê truy cập
  • Đang truy cập166
  • Máy chủ tìm kiếm13
  • Khách viếng thăm153
  • Hôm nay20,017
  • Tháng hiện tại507,822
  • Tổng lượt truy cập36,566,415
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây