Producing
Open Source Software – review
By Mark Norman,
Published: 03 January 2006, Reviewed: 09 July 2012
Bài được đưa lên
Internet ngày: 09/07/2012
- Author: Karl Fogel
- Publisher: O’Reilly
- Year: 2005
- ISBN: 0-596-00759-0
Lời
người dịch: Bài này giới thiệu cuốn sách nổi tiếng
của Karl Fogel nói về thực tế phát triển trong các dự
án phần mềm nói chung, phần mềm tự do nguồn mở nói
riêng, mà các độc giả là các lập trình viên, đặc
biệt những người mới bước vào nghề lập trình, sẽ
có thể thu được nhiều điều bổ ích. “Nhiều trong số
các chỉ dẫn cách làm how - to và các chương chỉ dẫn
thực tiễn có thể dễ dàng kết thúc trong các danh sách
chọn và một số tác giả và nhà xuất bản có thể đã
thực hiện lựa chọn này. Tuy nhiên, văn bản là đọc
được tốt với hy vọng hầu hết các độc giả sẽ
hưởng lợi từ sự chi tiết. Cuốn sách đặc biệt về
các dự án phát triển tự do và nguồn mở, dù các nhà
sản xuất phần mềm thương mại cũng có thể hưởng lợi
từ việc đọc đó, đặc biệt trong các phần về đóng
gói, phát hành và theo dõi lỗi. Các dự án phần mềm tự
do nguồn mở có nhiều thách thức khác nhau so với các
phát triển nguồn đóng và hầu hết các vấn đề đó
đều được Fogel đề cập tới”.
Karl Fogel đã quản lý
thứ gì đó không bình thường: một cuốn sách thiên
hướng kỹ thuật đang chảy và nhiều người đọc. Fogel
có một kiểu tham gia cho phép đưa bạn vào cuốn sách như
là đọc một cuốn tiểu thuyết. Lập trình viên có kinh
nghiệm này tuyên bố rằng tính sẵn sàng để viết rõ
ràng có thể là vấn đề nhiều hơn về lâu dài so với
tài năng lập trình, điều này có thể gây ngạc nhiên
cho nhiều người mới bước vào sản xuất nguồn mở.
Fogel chắc chắn tuân theo sự tư vấn của riêng ông một
cách cao độ. Cuốn sách này sẽ hứa hẹn như nhau cho lập
trình viên theo mùa và lập trình viên mới. Những người
quản lý với các triển vọng kỹ thuật ít hơn cũng sẽ
thấy cuốn sách này như một cơn gió nhẹ.
Hầu hết các dự
án phần mềm tự do thất bại
Thông qua cuốn sách
Sản xuất Phần mềm Tự do, Fogel đưa ra cho độc
giả với thực tế phũ phàng về phát triển phần mềm.
Ông sau đó đi theo với các con trỏ dễ dàng và rõ ràng,
cũng như một số chỉ dẫn chi tiết, như làm thế nào để
tránh những cái bẫy như vậy. Cuốn sách bắt đầu với
một lịch sử ngắn gọn súc tích về phần mềm tự do
nguồn mở. Điều này, bản thân nó, sẽ là hữu dụng
cho một số lượng lớn mọi người mà, giống như tôi,
có thẻ nhận thức được về hầu hết các khái niệm,
nhưng không có ở đó đúng lúc và sẽ có những khác
biệt trong tri thức của họ. Thật tuyệt để đọc và
nghĩ - Ồ, đó là những gì mà GNU bênh vực – khi
bạn thường cũng thấy bối rối để hỏi. Nó cũng tót
để có được một cảm giác các chính kiến mềm (và
cứng) của cộng đồng phần mềm tự do nguồn mở tới
từ đâu.
Cuốn sách có các
phần kỹ thuật làm thế nào (how to) cũng như các chương
chỉ dẫn từ chương Hạ tầng Kỹ thuật được
chi tiết hóa cho tới Việc quản lý những Người tình
nguyện và các Giấy phép, Bản quyền và Bằng sáng chế.
Kiểu của Fogel khác với hầu hết các công thức như
nhau khác khi mô tả có sự am hiểu tường tận, mà những
thay đổi như vậy luôn là phù hợp cho chủ đề đang
thảo luận. Không ngạc nhiên khi một số người với nền
tảng trong các dự án nguồn mở ít hơn có thể đấu
tranh để trở thành không thể lập lờ nước đôi và
trọn vẹn. Kinh nghiệm các dự án lâu năm của Fogel từ
Emacs tới CVS và Subversion thực sự chỉ ra. Một cách tỉnh
táo, kiểu đó không là giáo điều khi Fogel nhanh chóng
nhận thức được các dự án đi sai ở đâu và chúng
thường thực hiện dưới mức yêu cầu ở đâu.
Đôi khi điều đó
vẫn được xem là cuốn sách hữu dụng làm sao đối với
những độc giả mà họ đọc qua và đối với những
người yêu các danh sách chọn và danh sách liệt kê. Nhiều
trong số các chỉ dẫn cách làm how - to và các chương chỉ
dẫn thực tiễn có thể dễ dàng kết thúc trong các danh
sách chọn và một số tác giả và nhà xuất bản có thể
đã thực hiện lựa chọn này. Tuy nhiên, văn bản là đọc
được tốt với hy vọng hầu hết các độc giả sẽ
hưởng lợi từ sự chi tiết. Cuốn sách đặc biệt về
các dự án phát triển tự do và nguồn mở, dù các nhà
sản xuất phần mềm thương mại cũng có thể hưởng lợi
từ việc đọc đó, đặc biệt trong các phần về đóng
gói, phát hành và theo dõi lỗi. Các dự án phần mềm tự
do nguồn mở có nhiều thách thức khác nhau so với các
phát triển nguồn đóng và hầu hết các vấn đề đó
đều được Fogel đề cập tới.
Đây là một cuốn
sách hữu dụng và đọc được rất tốt với một số
sự thấu hiểu tuyệt vời. Không may, một sự yếu kém
tiềm tàng về số lượng nằm trong bản chất tự nhiên
đương thời của nó. Một số phần kỹ thuật là quá
đặc thù và đại diện cho suy nghĩ và các công nghệ
hiện đại, ví dụ, phần về các hệ thống kiểm soát
phiên bản không đề cập tới GIT, một “đứa trẻ mới
trong khu nhà” (“new kid on the block” - lấy tên một ban
nhạc nổi tiếng Mỹ) với sự tôn trọng các hệ thống
kiểm soát phiên bản. May mà yếu kém đó có lẽ tính tới
thực tế là Fogel và O'Reilly đã xuất bản tác phẩm theo
giấy phép Creative Commons (xem
http://producingoss.com/html-chunk/copyright.html)
mà, hy vọng, có nghĩa là những người đóng góp và tác
giả gốc ban đầu có từng cơ hội để giữ cho nó luôn
được cập nhật.
OSS Watch có một dải
các lưu ý ngắn về các chủ đề tương tự cho các
lập trình viên phần mềm (bản dịch tiếng Việt).
Ưu điểm:
Được viết chuyên
nghiệp, đọc dễ, hiểu sâu sắc thực sự, đầy thông
tin, có khả năng có một sự hiện diện trên trực tuyến
cho các bản cập nhật.
Nhược điểm:
Một số độc giả
có thể thích hơn các danh sách chọn đang có. Một số
lập trình viên có kinh nghiệm có thể bỏ qua các phần
mà họ nghĩ họ đã biết rồi … và họ sẽ không!
Karl
Fogel has managed something unusual: a technically-oriented book that
flows and is hugely readable. Fogel has an engaging style that allows
you to take in the book as if it were a novel. This experienced
developer declares that the ability to write clearly may matter more
in the long run than programming talent, this may surprise many
people new to producing open source. Fogel certainly follows his own
advice superbly. This book will engage the seasoned coder and new
programmer alike. Managers with less technical outlooks should also
find the book a breeze.
Throughout
Producing Open Source
Software, Fogel hits
the reader with the stark reality of software development. He then
follows up with easy and clear pointers, as well as some detailed
instructions, as to how to avoid such pitfalls. The book begins with
a concise history of free and open source software. This, in itself,
will be useful to a great number of people who, like me, may be well
aware of most of the concepts, but were not there at the time and
will have gaps in their knowledge. It is great to be reading and
think - Oh, that’s
what GNU stands for -
when you would usually be too embarrassed to ask. It’s also good to
get a feel for where the soft (and hard) politics of the free and
open source software community have come from.
The
book contains technical how-to
sections as well as solid guidance chapters from the detailed
Technical Infrastructure
chapter to Managing
Volunteers and
Licenses, Copyrights and
Patents. Fogel’s
style varies from almost recipe-like to authoritative description,
but such variations are always appropriate to the subject matter
under discussion. No doubt someone with a background in fewer open
source projects would struggle to be so unequivocal and complete.
Fogel’s long experience of projects from Emacs to CVS and
Subversion really shows. Refreshingly, the style is not dogmatic as
Fogel is quick to recognize where projects have gone wrong and where
they regularly under-perform.
Something
that remains to be seen is how useful the book will be to readers who
skim
and to those who love bullets and checklists. Many of the how-to
and practical guidance chapters could easily end in such checklists
and some authors and publishers would probably have taken this
option. However, the text is so readable that hopefully most readers
will benefit from the detail. The book is specifically about free and
open source development projects, although commercial software
producers may benefit from the read, especially in the sections on
packaging, releasing, and bug tracking. Free and open source projects
do have many different challenges to closed source developments and
most of these issues are tackled by Fogel.
This
is a highly readable and useful book with some great insights.
Ironically, a potential weakness of the volume is in its contemporary
nature. Some of the technical parts are quite specific and represent
state of the art thinking and technologies, for example, the section
on version control systems does not cover GIT a “new kid on the
block” with respect to revision control systems. Fortunately that
weakness has probably been countered by the fact that Fogel and
O’Reilly have published the work under a Creative Commons licence
(see http://producingoss.com/html-chunk/copyright.html
) which, hopefully, means that contributors and the original author
have every opportunity to keep it bang up to date.
OSS
Watch has a range of briefing notes on similar topics for software
developers.
Pros:
Expertly
written, highly readable, real insights, packed with information,
likely to have an on-line presence for updates.
Cons:
Some
readers may prefer checklists in places. Some experienced developers
may skip sections they think they already know… and they shouldn’t!
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.