Open
source library system Evergreen rewards the community
Posted
15 Apr 2014 Dan Scott
Bài
được đưa lên Internet ngày: 15/04/2014
Như
một thủ thư các hệ thống ở viện hàn lâm, tôi là
người trung gian giữa những người muốn truy cập các
tài nguyên mà thư viện của chúng tôi chào và các đồng
nghiệp của tôi, những người mô tả các tài nguyên đó
nhân danh các nhà
nghiên cứu. Tôi
dẫn dắt các tài nguyên phát triển có giới hạn của
chúng tôi sao cho các hệ thống của chúng tôi có thể đáp
ứng tốt nhất các nhu cầu của tất cả những người
sử dụng của chúng tôi. Trong
tài liệu của họ, Schwarz và Takhteyev nêu rằng sự tự
do của phần mềm làm cho “có khả năng để tùy
biến thích nghi để được hoàn
thành bởi các tác nhân đó, những người có thông tin
tốt nhất về giá trị của họ [và] được trang bị tốt
nhất để triển khai chúng”.
Evergreen,
như một hệ thống thư viện nguồn mở, cho phép tôi đầu
tư thời gian của tôi sao cho công việc của tôi có lợi
không chỉ cho cơ sở của chúng tôi, mà còn cho tất cả
các cơ sở khác sử dụng Evergreen khi tôi chào công việc
ở địa phương của tôi cho dự án như một tổng thể.
Trọng tâm này đặt vào sự cải tiến dự án như là
tổng thể, hơn là những cải tiến đặc thù của trang,
là nguyên tắc được chia sẻ rộng rãi của cộng đồng
phát triển của chúng tôi.
Cho
tới thời điểm chúng tôi đã áp dụng Evergreen vào năm
2009, trường đại học của chúng tôi đã sử dụng giải
pháp sở
hữu độc quyền mà chỉ cho phép tùy biến có hạn
chế giao diện HTML thông qua ngôn ngữ macro sở hữu độc
quyền. Đã không có cách gì để cải tiến giao diện
được các nhân viên thư viện sử dụng cả; và trong khi
các hoạt động theo bó từng là có khả năng (giả thiết
bạn đã trả tiền cho khóa huấn luyện về “API”), đã
không có đảm bảo nào về tính toàn vẹn của dữ liệu
cho các hoạt động như vậy. Thời gian
và công sức học để tùy
biến thích nghi hệ thống
sở hữu độc quyền đó phần lớn là mất toi: đã không
có ngữ cảnh khác ở đó sự tinh thông có thể được
sử dụng lại, và dù các diễn đàn riêng tư đã cho phép
các trang chia sẻ các tùy
biến thích nghi, thì
sự thiếu hạ tầng kiểm soát phiên bản tiêu chuẩn và
giao tiếp mở đã cản trở nỗ lực có tính hợp tác đó.
Các yêu cầu tính năng và sửa lỗi đã
phụ thuộc hoàn toàn vào các tài nguyên hạn chế của
chỉ một công ty.
Ngược
lại, khả năng sửa đổi bất kỳ mã nguồn nào trong
Evergreen - từ HTML mà người
sử dụng đối diện,
nó sử dụng Template::Toolkit
module được áp dụng rộng rãi và bằng ngôn ngữ
Perl, cho tới quy trình nghiệp vụ nằm sâu trong các
trigger mức cơ
sở dữ liệu PostgreSQL
- cho phép chúng tôi trực tiếp làm thỏa
mãn các nhu cầu của những người
sử dụng của chúng tôi và thưởng cho những ai đầu
tư năng lượng của họ làm việc với Evergreen với các
kỹ năng được trực tiếp chuyển giao cho các dự án
khác. Ví dụ, nhiều người mới tới với Evergreen nhanh
chóng phát triển các kỹ năng PostgreSQL
với các sách chỉ dẫn mà chúng tôi đã
chia sẻ như Giới thiệu SQL (Introduction
to SQL) cho các quản trị viên Evergreen và tìm
kiếm toàn văn trong PostgreSQL.
Sử
dụng hạ tầng nguồn mở tiêu chuẩn như các danh sách
thư mở, các trình theo dõi lỗi, và các kho Git cho phép
cộng đồng phát triển của chúng tôi sử dụng có hiệu
quả nhất thời gian của chúng tôi.
Cơ sở của chúng tôi đã đóng góp những cải tiến bao
gồm sự tích hợp với các hệ thống thư viện chuyên
nghiệp khác (như những người giải quyết OpenURL), cơ
chế đặt lại mật khẩu, và xuất bản schema.org
có cấu trúc dữ liệu về các thư viện và các tài
nguyên các trang HTML của họ để sử dụng dễ dàng hơn
cho các máy tìm kiếm. Nhưng
đổi lại, chúng tôi đã hưởng lợi nhiều lần từ
những cải tiến của các cộng đồng khác như sự hỗ
trợ cho các tiện ích quản lý trích dẫn, xác thực LDAP,
thiết kế web có tính phản hồi, và các cải tiến khả
năng truy cập.
Tuy
nhiên, dự
án Evergreen
nhiều hơn là về chỉ mã nguồn: chúng tôi đã ra nhập
Bảo vệ sự Tự do của Phần mềm (Software
Freedom Conservancy) vào năm 2011 sao cho bên trung lập thứ
3 có thể nắm giữ các tài sản của cộng đồng như
thương hiệu, các tên miền, và các quỹ cho các nỗ lực
như hội nghị quốc tế thường niên của chúng tôi. Cấu
trúc tổ chức này, kết hợp với việc cấp phép mã
nguồn của chúng tôi theo Giấy phép Công cộng Chung và
tài liệu của chúng tôi theo giấy phép Creative
Commons Attribution
ShareAlike (CC BY-SA), loại trừ được những lo ngại rằng
bất kỳ bên tham gia duy nhát nào trong cộng đồng của
chúng tôi có thể cướp đi những nỗ lực hợp tác của
chúng tôi và giải phóng chúng tôi để cộng tác trong
quan hệ đối tác tin cậy lẫn nhau.
Lợi
ích chính trong làm việc với nguồn mở là sự tự do để
chia sẻ tri thức và các kỹ năng mà tôi đã có được
bằng việc tham gia trong cộng đồng Evergreen. Các sinh
viên khoa học máy tính ở trường đại học
của chúng tôi đã học được về văn hóa và các công
cụ của cộng đồng nguồn mở như việc theo dõi lỗi,
các danh sách thư, và IRC thông qua các cuộc nói chuyện mà
tôi đã đưa ra trong chương trình Google Summer of Code (Viết
mã nguồn vào mùa hè của Google) và các sách chỉ dẫn
tôi đã dẫn dắt về các chủ đề như git
và việc
cải tiến các trang web HTML5 bằng các dữ liệu có cấu
trúc RDFa. Các phiên thực hành đó (dựa vào công việc
của tôi với Evergreen) chào sự cân bằng hướng phát
triển phần mềm cho công việc khóa học mà thường hàn
lâm và lý thuyết nhiều hơn.
Cuối
cùng, chúng tôi cộng tác với các dự án bạn như Koha
trong việc cải tiến các module Perl như MARC::Record
mà làm việc với các tiêu chuẩn thư viện khá chuyên
nghiệp. Các
dự án nguồn mở là mạnh hơn vì chúng tôi không coi sự
cạnh tranh giữa các dự án như là cuộc chơi có tổng
bằng không (0); thay vào đó, chúng tôi làm việc với các
đồng nghiệp của chúng tôi để cải thiện nền tảng
của những nỗ lực của chúng tôi vì tất cả mọi
người.
As
a systems librarian at an academic institution, I am a conduit
between those who want to access the resources our library offers and
my colleagues who describe the resources on behalf of researchers. I
direct our limited development resources so that our systems can best
meet the needs of all of our users. In
their paper, Schwarz and Takhteyev claim that software freedom
makes "it possible for the modifications to be done by those
actors who have the best information about their value [and] are best
equipped to carry them out."
Evergreen,
as an open source library system, enables me to invest my time so
that my work benefits not only our institution, but all other
Evergreen-using institutions when I offer my local work to the
project as a whole. This focus on the improvement of the project as a
whole, rather than site-specific enhancements, is a broadly shared
principle of our development community.
Until
we adopted Evergreen in 2009, our university used a proprietary
solution that only allowed limited tailoring of the HTML interface
via a proprietary macro language. There was no way to improve the
interface used by library workers; and while batch operations were
possible (assuming you had paid for the "API" training
course), there were no guarantees of data integrity for such
operations. The time and effort learning to customize that
proprietary system was largely wasted: there was no other context in
which that expertise could be reused, and although private forums
allowed sites to share customizations, the lack of open communication
and standard version control infrastructure impeded the collective
effort. Feature requests and bug fixes depended entirely on the
limited resources of a single company.Evergreen,
In
contrast, the ability to modify any of the source code in
Evergreen—from user-facing HTML that uses Perl's robust and broadly
adopted Template::Toolkit
module, down to business logic buried in PostgreSQL
database-level triggers—enables us to directly satisfy the needs of
our users and rewards those who invest their energy in working on
Evergreen with skills that are directly transferrable to other
projects. For example, many newcomers to Evergreen quickly develop
PostgreSQL skills with tutorials that we have shared such as
Introduction
to SQL for Evergreen administrators and full-text
search in PostgreSQL.
The
use of standard open source infrastructure such as open mailing
lists, bug trackers, and git repositories enables our development
community to make the most efficient use of our time. Our institution
has contributed enhancements including integration with other arcane
library systems (such as OpenURL resolvers), a password reset
mechanism, and the publication of schema.org
structured data about libraries and their resources in HTML pages for
easier consumption by search engines. But we have in turn
benefited many times over from other community enhancements such as
support for citation management utilities, LDAP authentication,
responsive web design, and accessibility enhancements.
The
Evergreen project is about more than just code, however: we joined
the Software
Freedom Conservancy in 2011 so that a neutral third party can
hold community assets such as trademarks, domain names, and funds for
efforts such as our annual international conference. This
organizational structure, combined with the licensing of our code
under the General Public License and our documentation under the
Creative Commons-Attribution-ShareAlike license, eliminates concerns
that any single participant in our community can hijack our
collective efforts and frees us to collaborate in mutually trusting
relationships.
A
major benefit of working with open source is the freedom to share the
knowledge and skills that I have acquired by participating in the
Evergreen community. Computer science students at our university have
learned about open source community culture and tools such as bug
tracking, mailing lists, and IRC through talks I have given on the
Google Summer of Code program and tutorials I have led on subjects
such as git
and enhancing
HTML5 webpages with RDFa structured data. These practical
sessions (grounded in my work with Evergreen) offer a software
development-oriented balance to coursework that is often more
academic and abstract.
Finally,
we collaborate with fellow projects such as Koha
on improving Perl modules such as MARC::Record
that deal with relatively arcane library standards. Open source
projects are stronger because we do not view competition between
projects as a zero-sum game; instead, we work with our peers to
improve the foundation of our efforts for everyone.
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.