Thứ Ba, 31 tháng 7, 2012

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


The Accumulo Challenge, Part I
June 18, 2012
Theo: http://atechnologyjobisnoexcuse.com/2012/06/the-accumulo-challenge-part-i/
Bài được đưa lên Internet ngày: 18/06/2012

Lời người dịch: Khi các cơ quan nhà nước tham gia phát triển các dự án nguồn mở, nếu làm không đúng, họ sẽ biến dự án đó thành một bản rẽ nhánh của dự án ban đầu, gây đúp bản một cách không cần thiết và dẫm chân lên các công việc của giới công nghiệp, của các công ty, làm bóp méo thị trường. Sẽ là nguy hiểm hơn, nếu họ lại đưa ra các văn bản pháp qui để bảo vệ cho những sai lầm đó. Bài viết này nói về một dự án nguồn mở như vậy tại Cơ quan An ninh Quốc gia Mỹ, NSA. Cũng từ vụ việc này, một loạt các câu hỏi đã được đặt ra, ví dụ như: “Liệu chính phủ có làm hại cho khu vực tư nhân khi họ phát hành các dự án nguồn mở hay không? Làm thế nào chúng ta có thể biết khi nào nguồn mở là một cách thức phù hợp cho chính phủ để phát triển phần mềm? Làm thế nào chính phủ điều hành được các bản rẽ nhánh?”
Hàng tá các dự án phần mềm được tung ra trong sự bừng tỉnh của các tài liệu Big Table và Map Reduce của Google đã thay đổi cách thức chúng ta điều khiển các tập hợp dữ liệu lớn. Giống như nhiều tổ chức, NSA đã bắt đầu trải nghiệm với các công cụ của “các dữ liệu lớn” và đã nhận ra rằng những triển khai nguồn mở đang tồn tại lúc này từng không đề cập tới một số nhu cầu đặc biệt của họ. Họ đã quyết định bắt tay vào dự án của riêng họ: Accumulo. Họ từng hạnh phúc với các mà Accumulo làm việc, họ làm đúng thứ cần làm và đã đưa ra Accumulo cho thế giới thông qua Quỹ Apache.
Đây là thứ tuyệt vời cho nguồn mở và người đóng thuế. Chính phủ thấy một yêu ầu không được khu vực tư nhân làm thỏa mãn, và thay vì để công việc của họ phai tàn bên trong các bức tường của mình, hoặc trả tiền cho một nhà thầu để phát triển một giải pháp sở hữu độc quyền, họ đã chia sẻ những gì họ đã có với thế giới. Đây là những gì những người bảo vệ nguồn mở đã từng kêu gọi và với sáng kiến Chia sẻ Trước tiên (Shared First) tại Văn phòng Quản lý Ngân sách OMB và các chính sách nguồn mở đổi mới như tại Văn phòng Bảo vệ Tài chính Người tiêu dùng, thì đây chắc chắn là điều chúng ta sẽ thấy nhiều hơn về dạng chia sẻ này của công việc được những người đóng thuế cung cấp tiền.
Dù đây là một mẻ đánh bắt. Khi nó được tung ra, Accumulo đã tham gia vào một không gian các công cụ của đám đông ngày một gia tăng mà quản lý các dữ liệu lớn. Khi những người mới phất đó cạnh tranh - bằng chứng và thành công lạ thường của MongoDB từ các triển khai cài đặt của 10 gen, Hadoop từ Cloudera và HortonWorks, các công cụ như Hadapt, Hbase, Cassandra, MapR, và nhiều, nhiều dự án khác – Accumulo thể hiện một mối đe dọa. Một số trong những sản phẩm và dự án đó cạnh tranh với nhau, và khu vực tư nhân không thích nó khi chính phủ cạnh tranh cùng với họ, vì lý do tốt.
The dozens of software projects launched in the wake of Google’s Big Table and Map Reduce papers have changed the way we handle large datasets. Like many organizations, the NSA began experimenting with these “big data” tools and realized that the open source implementations available at the time were not addressing some of their particular needs. They decided to embark on their own project: Accumulo. Once they were happy with how Accumulo was working, they did the right thing and released Accumulo to the world through the Apache Foundation.
This is great for open source and the taxpayer. The government found a requirement not being fulfilled by the private sector, and rather than letting their work languish inside its walls, or paying a contractor to develop a proprietary solution, they shared what they had with the world. This is what open source advocates have been clamoring for, and with the Shared First initiative at OMB and innovative open source policies like those at the Consumer Financial Protection Bureau, it’s certain we’ll see more of this kind of sharing of taxpayer-funded work.
There’s a catch, though. Since it was launched, Accumulo has joined an increasingly crowded space for tools that manage big data. As these upstarts compete – witness the extraordinary success of MongoDB from 10genHadoop implementations from Cloudera and HortonWorks, tools like HadaptHBaseCassandraMapR, and many, many others – Accumulo presents a threat. Some of these products and projects already compete with each other, and the private sector doesn’t like it when the government competes alongside them, for good reason.
There’s a frequently-ignored policy called OMB Circular A-130 which says that the government shouldn’t build something already available from the private sector. In the language of the policy, the government should:
…acquire off-the-shelf software from commercial sources, unless the cost effectiveness of developing custom software is clear and has been documented through pilot projects or prototypes
So there’s a tension here: we want the government to share its innovations, but we don’t want the government to crowd out the private sector. That’s the thinking behind this recent language in Section 929 of S.3254, the 2013 Defense Authorization as reported out by the Senate Armed Services Committee:
Có một chính sách thường xuyên bị bỏ qua gọi là Thông tư A-130 của OMB mà nói rằng chính phủ sẽ không xây dựng thứ gì đã có sẵn rồi từ khu vực nhà nước. Theo ngôn từ của chính sách đó, chính phủ sẽ:
… mua sắm các phần mềm sử dụng được ngay từ các nguồn thương mại, trừ phi tính hiệu quả về chi phí của phần mềm tùy biến đang phát triển là rõ ràng và đã được làm thành tài liệu thông qua các dự án thí điểm hoặc các dự án mẫu. Vì thế có sự căng thẳng ở đây: chúng ta muốn chính phủ chia sẻ đổi mới, nhưng chúng ta không muốn chính phủ đẩy khu vực tư nhân ra. Đó là tư duy đằng sau ngôn từ gần đây này trong Phần 929 của S.3254, Sự ủy quyền Quốc phòng như được Ủy ban các Dịch vụ Vũ trang Thượng viện báo cáo.
(a) Hạn chế về Sử dụng Cơ sở dữ liệu của NSA -
(1) HẠN CHẾ - Không thành phần nào của Bộ Quốc phòng có thể sử dụng cơ sở điện toán đám mây được Cơ quan An ninh Quốc gia (NSA) phát triển được gọi là Accumulo sau ngày 30/09/2013, trừ phi Giám đốc Thông tin của Bộ Quốc phòng chứng thực một trong những điều sau đây:
(A) Rằng không có các cơ sở dữ liệu nguồn mở thương mại nào có khả năng tồn tại được với sự hỗ trợ tăng cường của giới công nghiệp (như các cơ sở dữ liệu HBase và Cassandra của Quỹ Linux) mà có các tính năng an ninh có khả năng so sánh được với cơ sở dữ liệu Accumulo được xem là cơ bản đối với Giám đốc Thông tin vì những mục đích chứng thực theo đoạn này.
(B) Rằng cơ sở dữ liệu Accumulo đã trở thành một cơ sở dữ liệu nguồn mở thành công của Quỹ Apache với sự hỗ trợ và đa dạng hóa phù hợp của giới công nghiệp, dựa vào các tiêu chí được Giám đốc Thông tin thiết lập cho những mục đích chứng thực theo đoạn này và được đệ trình cho các ủy ban phù hợp của Nghị viện không muộn hơn ngày 01/01/2013.
(2) XÂY DỰNG - Hạn chế trong đoạn (1) sẽ không áp dụng cho NSA.
(b) Áp dụng các Tính năng An ninh của Accumulo cho Cơ sở dữ liệu HBase - Giám đốc NSA sẽ tiến hành những hành động phù hợp để đảm bảo rằng các công ty và tổ chức phát triển và hỗ trợ nguồn mở và các phiên bản nguồn mở thương mại của các cơ sở dữ liệu HBase và Cassandra của Quỹ Apache, hoặc các hệ thống tương tự, nhận được sự hỗ trợ kỹ thuật từ chính phủ và các lập trình viên của các nhà thầu cho mã nguồn phần mềm đối với cơ sở dữ liệu Accumulo để cho phép thích nghi và tích hợp các tính năng an ninh của cơ sở dữ liệu Accumulo.
(a) Limitation on Use of NSA Database-
(1) LIMITATION- No component of the Department of Defense may utilize the cloud computing database developed by the National Security Agency (NSA) called Accumulo after September 30, 2013, unless the Chief Information Officer of the Department of Defense certifies one of the following:
(A) That there are no viable commercial open source databases with extensive industry support (such as the Apache Foundation HBase and Cassandra databases) that have security features comparable to the Accumulo database that are considered essential by the Chief Information Officer for purposes of the certification under this paragraph.
(B) That the Accumulo database has become a successful Apache Foundation open source database with adequate industry support and diversification, based on criteria to be established by the Chief Information Officer for purposes of the certification under this paragraph and submitted to the appropriate committees of Congress not later than January 1, 2013.
(2) CONSTRUCTION- The limitation in paragraph (1) shall not apply to the National Security Agency.
(b) Adaptation of Accumulo Security Features to HBase Database- The Director of the National Security Agency shall take appropriate actions to ensure that companies and organizations developing and supporting open source and commercial open source versions of the Apache Foundation HBase and Cassandra databases, or similar systems, receive technical assistance from government and contractor developers of software code for the Accumulo database to enable adaptation and integration of the security features of the Accumulo database.
Trước hết: Wow. Ủy ban các Dịch vụ Vũ trang của Thượng viện đề xuất để DoD dừng sử dụng Accumulo, và chỉ thị cho NSA giúp thúc đẩy mã nguồn Accumulo trở ngược lại cho các dự án khác, đặc biệt gọi ra HBase và Cassandra. Mức độ phức tạp được yêu cầu cho ngôn ngữ lập pháp như thế này là đáng ngạc nhiên. Theo những hoàn cảnh khác nhau, tôi đã thấy rằng sự phức tạp đang khuyến khích. Thay vào đó, tôi có quan tâm rằng SASC cảm thấy bị cưỡng bách vào danh sách đen một dự án nguồn mở cho DoD. Chắc chắn có một câu trả lời tốt hơn so với điều này chứ?
Hãy đặt lý do của Ủy ban sang một bên một lúc, và hãy nhìn vào biện pháp mà họ đã đề xuất. Điều gì sẽ xảy ra nếu nó không phải là Accumulo, mà là một mẩu phần mềm khác nhỉ? Hãy tưởng tượng rằng chúng ta đang nói về Máy chủ Web Apache, Red Hat Enterprise Linux, Microsoft SharePoint, hay Adobe Acrobat. Nếu Quốc hội đặt bất kỳ gói phần mềm nào trong số đó vào một danh sách đen, thì giới công nghiệp có thể không hiểu nổi. Accumulo là không khác gì: một khi nó từng được mở nguồn, thì Accumulo đã trở thành phần mềm thương mại theo FAR và DFAR rồi. Quốc hội không được can thiệp theo cách này.
Còn hơn nữa. Yêu cầu rằng Accumulo được chứng thực như “một cơ sở dữ liệu nguồn mở thành công của Quỹ Apache với sự hỗ trợ và đa dạng hóa của giới công nghiệp, dựa vào các tiêu chí được Giám đốc Thông tin thiết lập” là cực kỳ nguy hiểm cho Accumulo và cho nguồn mở nói chung. Là không đủ rằng phần mềm sẽ là thương mại, có chức năng và sẵn sàng ở chi phí hợp lý. Nó bây giờ phải có “sự hỗ trợ và đa dạng hóa phù hợp của giới công nghiệp”.
Nếu CIO của DoD bị cưỡng bức phải tạo ra những tiêu chí như vậy cho Accumulo, thì nó không có nhiều sự tưởng tượng để thấy rằng “những tiêu chí phù hợp” y hệt như vậy được áp dụng cho tất cả các dự án phần mềm nguồn mở. Có một dự án nguồn mở ưa thích trong chương trình DoD của bạn, nhưng không có nhà cung cấp thương mại nào chăng? Không phù hợp. Chỉ một nhà cung cấp cho gói phần mềm đó chăng? Thiếu sự đa dạng. Phần mềm sở hữu độc quyền không có gánh nặng như thế này.
First of all: Wow. The Senate Armed Services Committee proposes to order the DOD to stop using Accumulo, and direct NSA to help push Accumulo’s code back to other projects, specifically calling out HBase and Cassandra. The level of sophistication required for legislative language like this is astonishing. Under different circumstances, I’d find that sophistication encouraging. Instead, I’m concerned that SASC feels compelled to blacklist an open source project for the DOD. Surely there’s a better response than this?
Let’s put the Committee’s reasoning to the side for a moment, and look Adoat the remedy proposed. What if it wasn’t Accumulo, but another piece of software? Imagine that we’re talking about the Apache Web Server, Red Hat Enterprise Linux, Microsoft SharePoint, or Adobe Acrobat. If Congress put any of those software packages on a blacklist, industry would lose its mind. Accumulo is no different: once it was open sourced, Accumulo became commercial software under the FAR and DFAR. Congress has no business intervening in this way.
There’s more. The requirement that Accumulo be certified as “a successful Apache Foundation open source database with adequate industry support and diversification, based on criteria to be established by the Chief Information Officer” is extremely dangerous for Accumulo and for open source in general. It’s not sufficient that the software be commercial, functional and be available at reasonable cost. It must now have “adequate industry support and diversification.”
If the DOD CIO is compelled to create such criteria for Accumulo, it doesn’t take much imagination to see that same “adequacy criteria” applied to all open source software projects. Got a favorite open source project on your DOD program, but no commercial vendor? Inadequate. Only one vendor for the package? Lacks diversity. Proprietary software doesn’t have a burden like this.
The last clause of Section 929 is bewildering. SASC directs Accumulo to help other projects that want to use the Accumulo security code, and singles out HBase and Cassandra. There’s nothing wrong with the desire to spread Accumulo’s technology, but doesn’t an act of Congress seem like an extraordinarily, comically inappropriate tool for that? Wouldn’t the Accumulo team, like all open source developers, be generally helpful with folks who want to integrate their code? Perhaps more importantly, why is Congress so interested in HBase and Cassandra?
I think the Committee (and whoever provided them this legislative language) is right to be concerned about the government unnecessarily maintaining a duplicative software project. It’s bad for the private sector, and it’s bad for the government to maintain its own codebase when there are perfectly good alternatives elsewhere.
Mệnh đề cuối cùng của Phần 929 là gây hoang mang. SASC chỉ thị cho Accumulo giúp các dự án khác muốn sử dụng mã an ninh của Accumulo, và tách bạch khỏi HBase và Cassandra. Không có gì sai với mong muốn lan rộng công nghệ Accumulo, nhưng không phải là một hành động của Quốc hội được xem như một công cụ không phù hợp một cách khôi hài và lạ thường cho điều đó? Đội Accumulo, giống như tất cả các lập trình viên nguồn mở, thường hữu ích vói các đám người muốn tích hợp mã nguồn của họ chứ? Có lẽ quan trọng hơn, vì sao Quốc hội lại quá quan tâm tới HBase và Cassandra thế?
Tôi nghĩ Ủy ban (và bất kỳ ai cung cấp cho họ ngôn ngữ lập pháp này) là đúng có quan tâm về việc duy trì không cần thiết của chính phủ một dự án phần mềm bị đúp bản. Điều đó là tồi tệ cho khu vực tư nhân, và là tồi tệ cho chính phủ để duy trì kho mã nguồn của riêng mình khi có những lựa chọn thay thế tốt tuyệt với ở đâu đó.
Cùng lúc, đám người của Accumulo hiển nhiên đã làm đúng bằng việc phát hành mã nguồn của họ, và thậm chí đi xa hơn khi tham gia vào Quỹ Apache, nó không phải là một nỗ lực nhỏ. Họ sẽ được tưởng thưởng vì cương vị quản gia tuyệt vời cua họ đối với tiền của những người đóng thuế. Thông qua nỗ lực của họ, mỗi người có thể có lợi từ công việc mà họ đã làm - dù có hay không có các lệnh pháp lý phải làm thế - và họ có khả năng tuyệt vời để thắng hoặc thua về thị phần theo những giá trị của riêng họ, chỉ giống như bất kỳ ai khác.
Vấn đề của Accumulo này mở ra cánh cửa cho một đống các câu hỏi về vai trò của chính phủ trong các dự án nguồn mở. Trong phần 2, chúng ta sẽ đặt dự luật đặc biệt này sang một bên và đưa ra các câu hỏi đằng sau sự làm luật: Liệu chính phủ có làm hại cho khu vực tư nhân khi họ phát hành các dự án nguồn mở hay không? Làm thế nào chúng ta có thể biết khi nào nguồn mở là một cách thức phù hợp cho chính phủ để phát triển phần mềm? Làm thế nào chính phủ điều hành được các bản rẽ nhánh? Tôi cũng sẽ xem xét một số biện pháp có khả năng có thể loại bỏ được nhu cầu cho một công cụ thô thiển nguy hiểm như Phần 929.
Trong khi chờ đợi, xin hãy để nghị sỹ của bạn biết bạn cảm thấy thế nào về điều này.
[Được cập nhật lúc 17:37ET ngày 18/06/2012 để làm nhẹ bớt một số ngôn từ gây sợ hãi hơn và phân biệt rõ hơn Quốc hội với SASC].
[Được cập nhật lúc 09:37ET ngày 19/06/2012 để bổ sung thêm một số sự làm rõ, sửa một số lỗi chính tả; và chuẩn bị chung cho việc đưa lên opensource.com.]
At the same time, the Accumulo folks indisputably did the right thing by releasing their code, and even went so far as to join the Apache Foundation, which is no small effort. They should be rewarded for their excellent stewardship of taxpayer money. Through their effort, everyone can already benefit from the work that they’ve done – with or without legislative orders to do so – and they’re perfectly capable of winning or losing market share on their own merits, just like everyone else.
This Accumulo issue opens the door to a host of valid questions about the role of government in open source projects. In part two, we’ll put this specific bill aside and ask the questions behind the legislation: does the government harm the private sector when they release open source projects? How can we know when open source is an appropriate way for the government to develop software? How should the government handle forks? I’ll also examine some possible remedies that could eliminate the need for a dangerously crude tool like Section 929.
In the meantime, please let your Senator know how you feel about this.
[Updated 18 June 2012 17:37ET to soften some of the more alarmist language and more clearly distinguish Congress from SASC.]
[Updated 19 June 2012 09:37ET to add some clarity, fix some grammar, and generally prepare for posting on opensource.com.]
Dịch: Lê Trung Nghĩa

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.