The
Accumulo Challenge, Part I
June 18, 2012Theo: http://atechnologyjobisnoexcuse.com/2012/06/the-accumulo-challenge-part-i/
Bài được đưa lên Internet ngày: 18/06/2012
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 10gen, Hadoop implementations
from Cloudera and HortonWorks,
tools like Hadapt, HBase, Cassandra, MapR,
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.