Blog FOSS by Lê Trung Nghĩa

https://letrungnghia.mangvn.org

Hệ thống thư viện nguồn mở Evergreen thưởng công cộng đồng

Open source library system Evergreen rewards the community

Posted 15 Apr 2014 Dan Scott

Theo: https://opensource.com/education/14/4/evergreen-library-system

Bài được đưa lên Internet ngày: 15/04/2014

Xem thêm: Giáo dục mở và tài nguyên, giấy phép tư liệu mở


 

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ư gitviệ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

letrungnghia.foss@gmail.com

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