Benefits
of open source code
By James A. J. Wilson,
Published: 20 February 2007, Reviewed: 12 March 2012
Bài được đưa lên
Internet ngày: 12/03/2012
Lời
người dịch: Một bài viết về phần mềm nguồn mở
(PMNM) rất cơ bản về triết
lý và những lợi ích của nó, mà bất kỳ ai cũng rất
nên đọc.
Tài liệu này phác
thảo một số ưu điểm được dẫn xuất từ việc có
mã nguồn của phần mềm là mở cho tất cả soi xét và
sửa đổi. Điều này được xem là ngược lại với mã
nguồn đóng, không được làm cho sẵn sàng cho sự soi xét
công khai.
Mã nguồn là gì?
Tất cả các ứng
dụng phần mềm được xây dựng từ mã nguồn. Mã nguồn
được xây dựng từ nhiều dòng lệnh mà các lập trình
viên viết cho các máy tính để biên dịch. Những lệnh
đó nói cho một máy tính phải làm gì và làm thế nào.
Chúng ta có thể nghĩ về mã nguồn như bản thiết kế
cho một chương trình và nó có thể được viết trong bất
kỳ ngôn ngữ lập trình khác nhau nào được sử dụng
ngày nay.
Một trong những khác
biệt cơ bản giữa phần mềm nguồn mở (PMNM) và phần
mềm sở hữu độc quyền là mã nguồn của PMNM phải
được làm thành sẵn sàng tự do với phần mềm. Bất kỳ
ai cũng có khả năng tải mã nguồn đó về, xem nó, và
sửa nó khi họ thấy phù hợp. Với phần mềm sở hữu
độc quyền, bạn thường không thể xem hoặc sửa đổi
mã nguồn.
Nếu bạn có thể lập
trình theo ngôn ngữ mà một ứng dụng nguồn mở được
đưa ra được viết, điều đó là tốt. Với thời gian
đủ trong đề xuất của mình, bạn có thể sửa đổi mã
nguồn để làm cho phần mềm đó hành xử chính xác theo
cách mà bạn muốn nó hành xử. Nhưng mã nguồn mở sẽ
sử dụng như thế nào nếu bạn thiếu các kỹ năng để
soạn sửa nó? Nếu bạn là một người sử dụng cá nhân
mà chỉ muốn một ứng dụng máy tính thực hiện một
tác vụ nhất định, thì câu trả lời sẽ là khác với
nếu bạn đang xem xét phần mềm từ quan điểm của một
tổ chức.
Phần sau đây xem xét
cách mà các cơ quan tổ chức, các lập trình viên, và ở
mức độ nào đó, những người sử dụng cá nhân phi kỹ
thuật có được sự truy cập đầy đủ tới mã nguồn
có thể hưởng lợi được.
Vì sao mã nguồn mở
là hữu dụng?
Có một số ưu điểm
mà mã nguồn mở đưa ra được hơn với nguồn đóng,
phần sau đây xem xét những ưu điểm quan trọng nhất đó.
Sửa lỗi (Bug –
fixing)
Tất cả các phiên
bản phần mềm đều bao gồm các lỗi. Hy vọng, những
người phát triển phần mềm sẽ nắm bắt được và làm
việc với bất kỳ thứ gì rõ ràng, nhưng bất kỳ đội
phát triển nào cũng chỉ có thật nhiều thời gian để
kiểm thử một mẩu của phần mềm trước khi nó được
phát hành.
Khi một lỗi được
tìm thấy trong phần mềm sở hữu độc quyền, chỉ những
người có thể sửa nó là những lập trình viên gốc ban
đầu, vì chỉ có họ mới có được sự truy cập tới
mã nguồn. PMNM là khác. Khi một số lượng lớn những
người sử dụng có thể truy cập và thay đổi được mã
nguồn, các lỗi có xu hướng nhìn thấy được nhiều hơn
và được sửa cho đúng nhanh hơn. Một trong những khẩu
hiệu của phong trào nguồn mở là khi có đủ các con mắt
soi xét thì các lỗi sẽ cạn [Eric Raymond, Nhà thờ lớn
và cái chợ (The Cathedral and the Bazaar)].
Ở những nơi mà bạn
không có các kỹ năng cần thiết trong nội bộ thì khả
năng để ký với một nhà thầu phụ, về lý thuyết, bất
kỳ bên thứ 3 nào vì mọi người đều có sự truy cập
tới mã nguồn.
An ninh
Việc có sự truy cập
tới mã nguồn cho phép người sử dụng phần mềm đó
chọn tiếp cận tới an ninh mà họ muốn. Nói cách khác,
nó cho phép bạn nắm lấy quyền sở hữu về an ninh của
riêng bạn. Nó cũng cho phép những tiếp cận nhất định
mà không sẵn sàng với nguồn đóng và có khả năng tự
bạn quyết định các ưu tiên về an ninh và để phân bổ
các tài nguyên cho phù hợp.
Truy cập tới mã
nguồn làm cho dễ dàng hơn để dò tìm ra các lỗi về an
ninh trong phần mềm, hoặc bạn đang tìm cách sửa chúng
hoặc khai thác chúng. Điều này có thể xem để gợi ý
rằng mã nguồn mở là ít an ninh hơn so với nguồn đóng.
Tuy nhiên, quan điểm này là không
được ủng hộ rộng rãi (Bản
dịch tiếng Việt). Trong thực tế, các kỹ năng và
thời gian đòi hỏi để tìm ra các lỗi về an ninh, cách
khắc phục cách mà chúng có thể bị khai thác, và sau đó
phát động một cuộc tấn công, là chuyên biệt hơn so
với các kỹ năng gỡ lỗi trần tục thông thường, được
yêu cầu để đóng lại những khai thác đó. Đưa
ra số lượng các lập trình viên có thể truy cập và sửa
mã nguồn mở, so với số ít được phép truy cập tới
mã nguồn đóng, sẽ không là ngạc nhiên rằng các lỗi
trong PMNM có xu thế được sửa nhanh hơn, trước khi những
thiệt hại nghiêm trọng có thể gây ra. Việc sửa các lỗ
hổng trong các phần mềm nguồn đóng thường phụ thuộc
vào vấn đề có là ưu tiên đủ cao để ra lệnh chú ý
ngay lập tức của đội phát triển đang duy trì mã nguồn
hay không.
Tùy biến
Các ứng dụng nguồn
đóng chỉ có thể được tùy biến hoặc thích nghi trong
phạm vi được nhà cung cấp ban đầu đưa ra nhưng không
bao giờ vượt ra ngoài các khuôn viên của nó. Các ứng
dụng nguồn mở có thể là bất kỳ ai cũng tùy biến
được với kỹ năng phù hợp. Vì thế, PMNM có thể được
thích nghi sẵn sàng để đáp ứng các nhu cầu nhất định
của người sử dụng. Thậm chí nếu bạn không thể tự
lập trình cho mình, nếu bạn thích thứ gì đó được bổ
sung hoặc được tùy biến mà bạn có thể thường phải
trả tiền cho một lập trình viên phần mềm có kỹ năng
phù hợp để làm điều đó cho bạn. Sự giới thiệu
cạnh tranh trong thị trường cho những tùy biến, như được
quan sát thấy trong phần sửa lỗi ở trên, ép các nhà
cung cấp đưa ra chất lượng cao ở giá thành cạnh tranh.
Đối với các doanh
nghiệp hoặc cơ quan giáo dục, khả năng tùy biến mã
nguồn có thể cho phép những cải tiến tới thực tiễn
tốt nhất được những cài đặt mặc định cung cấp,
vì thế cải thiện được tính hiệu quả và có thể đưa
ra một ưu thế cạnh tranh.
Tuy nhiên, khi sửa đổi
mã nguồn mở thì thực tế tốt để đảm bảo rằng
rằng, ở bất kỳ nơi nào có thể, những thay đổi đó
sẽ được đóng góp trở ngược lên dòng trên tới dự
án chính. Không làm điều này có thể gây ra những phức
tạp không cần thiết khi nâng cấp lên các phiên bản mới
của phần mềm đó.
Kể từ năm 2004, Đại
học Trung tâm Máy tính Luân Đôn - ULCC (University of London
Computer Centre) đã và đang sử deungj Moodle để cung cấp
Dịch vụ học tập điện tử e-Learning của nó, đưa ra
các giải pháp e-Learning được đặt chỗ cho những cơ
quan và các nhà cung cấp học tập khác. Mô hình nguồn mở
đã không chỉ cho phép ULCC phát triển Cá nhân hóa Khung
Học tập được thừa nhận ở mức quốc gia của họ,
mà những nhà cung cấp khác đã hưởng lợi từ những
phát triển được ULCC làm ra và một cộng đồng thực
tế có hiệu quả thực sự đã nổi lên.
Dịch
Với sự truy cập tới
mã nguồn thì dễ dàng để dịch ngôn ngữ của giao diện
phần mềm. Phần lớn các nhà cung cấp phần mềm thương
mại nguồn đóng thường không có thiện chí dịch các
sản phẩm của họ sang các ngôn ngữ được nói ít rộng
rãi hơn, khi mà thị trường đối với họ có thể quá
bé để đảm bảo lợi nhuận. Một ví dụ của điều
này là chính phủ vùng South Tyrol, đơn vị đã phát triển
một phiên bản của OpenOffice trong ngôn ngữ Ladin địa
phương, nó có khoảng 30.000 người nói tiếng này. Số
lượng này là quá nhỏ không đáng đầu tư thương mại,
nhưng quan trọng về văn hóa đối với sự sống còn của
ngôn ngữ.
Tránh sự khóa trói
Các tổ chức được
nói sẽ bị 'khóa
trói' vào các sản phẩm phần mềm khi các chi phí
chuyển đổi sang các lựa chọn thay thế là cao tới mức
không thể chịu nổi.
Các nhà cung cấp phần
mềm sở hữu độc quyền có thể khóa trói người sử
dụng vào các sản phẩm của họ bằng việc đảm bảo
rằng chúng không tương thích một cách sẵn sàng với các
đối thủ cạnh tranh tiềm tàng. Các nhà cung cấp có thể
sau đó tăng giá sản phẩm nâng cấp hoặc hỗ trợ mà
không có rủi ro quá lớn đối với việc đánh mất các
khách hàng hiện thời.
Vì không có động
lực để sử dụng các định ạng phi tiêu chuẩn để
kiềm chế tính tương thích, PMNM có xu hướng sử dụng
các định dạng tiêu chuẩn mở và có mối nguy hiểm ít
hơn bị khóa trói vào một nhà cung cấp. Thậm chí khi các
định dạng phi tiêu chuẩn được sử dụng trong mã nguồn
mở, thì luôn có khả năng để viết tài liệu cho chúng
từ mã nguồn. Ngược lại, các định dạng đóng được
các phần mềm sở hữu độc quyền sử dụng cần phải
được sử dụng kỹ thuật nghịch đảo, một qui trình
nặng nhọc và tốn kém mà có thể cần phải được lặp
đi lặp lại nếu định dạng bị thay đổi sau đó.
Tất nhiên, PMNM không
đi với các chi phí chuyển đổi của riêng nó. Một số
chi phía hành chính và tái huấn luyện phải được sinh
ra đối với bất kỳ tổ chức nào mà chọn cách chuyển
giữa các phần mềm khác nhau. Và phần mềm sở hữu độc
quyền cũng có thể sử dụng các tiêu chuẩn mở, như
trường hợp với Acrobat Reader của Adobe, một chương
trình nguồn đóng để đọc các tệp PDF (định dạng PDF
là một tiêu chuẩn mở). Quả thức sử dụng các tiêu
chuẩn mở là đặc biệt quan trọng trong việc đảm bảo
sự truy cập tới các dữ liệu trong tương lai khi nó có
khả năng tìm hoặc tạo ra các chương trình lựa chọn
thay thế mà tuân thủ tiêu chuẩn đó.
Giảm nhẹ bớt sự
sụp đổ của nhà cung cấp hoặc sự không tiếp tục của
sản phẩm
Các nhà cung cấp phần
mềm thương mại lên xuống theo thời gian. Khi điều này
xảy ra, không có đảm bảo nào rằng các sản phẩm phần
mềm của họ sẽ tiếp tục sẵn sàng, được hỗ trợ
hoặc được cập nhật. Điều này có thể gây ra cho
những người sử dụng cần phải chuyển đổi các sản
phẩm, mà có thể là rất tốn kém và khó khăn, đặc
biệt nếu họ bị khóa trói nặng nề vào sản phẩm hiện
hành của họ.
Thậm chí với cac
công ty lành mạnh, những phát hành phiên bản mới thường
có nghĩa là các phiên bản định dạng và phần mềm cũ
hơn sẽ không còn tiếp tục nữa và không còn được hỗ
trợ nữa.
Với PMNM, sự nguy
hiểm này được giảm thiểu to lớn. Vì mã nguồn là
không bị 'sở hữu' theo hệt cách thức mà mã nguồn sở
hữu độc quyền bị, nó có thể được chọn ra và được
phát triển từ bất kỳ ai với một sự quan tâm trong sự
sống sót của một sản phẩm. Trừ phi bạn tách khỏi
một tổ chức với những tài nguyên kỹ thuật rất đáng
kể, bạn không thể muốn nhận về toàn bộ trách nhiệm
cho điều này được, nhưng, nhờ vào cách mà các dự án
nguồn mở thành công tập hợp các cộng đồng những
người sử dụng xung quanh họ, ở những nơi có việc tạo
doanh số hoặc cơ hội tiết kiệm chi phí tiềm tàng thì
có thể sẽ có các bên khác có quan tâm, có thiện chí
tiếp tục duy trì phần mềm đó.
Học từ các ví dụ
Nếu bạn có quan tâm
trong việc lập trình, thì mã nguồn mở đưa ra một tài
nguyên tuyệt vời từ đó để học, và các dự án nguồn
mở đưa ra một môi trường thực tế trong đó để kiểm
thử các kỹ năng của bạn. Chỉ việc xem xét qui trình
phát triển đó cũng có thể thể đưa ra được sự giáo
dục cho bản thân nó. Nếu bạn chọn chuyển mã nguồn
tới một dự án nguồn mở, thì nó thường sẽ được
kiểm tra và góp ý từ các lập trình viên có kinh nghiệm.
Một khi bạn đã thuyết phục được cộng đồng dự án
rằng mã của bạn có chất lượng phù hợp, thì bạn có
thể được trao quyền đầy đủ của người cấp mã
nguồn cho bản thân bạn.
Là một phần của
cộng đồng
Bằng việc tùy biến
PMNM, bạn trở thành một phần của cộng
đồng những người sử dụng và những người phát triển
(Bản
dịch tiếng Việt) có một mối quan tâm trong làm việc
cùng nhau để hỗ trợ lẫn nhau và cải thiện phần mềm.
Mức độ mà ở đó bạn cam kết tham gia với cộng đồng
này là tùy ở bạn, nhưng bạn có thể giành được những
lợi ích vô hình của sự thiện chí nếu bạn làm thế.
Các lập trình viên,
đặc biệt, có thể hưởng lợi từ việc thuộc về một
cộng đồng nguồn mở. Nó có thể giúp họ thiết lập
uy tín và sự tôn trọng, và giành được kinh nghiệm đáng
giá.
Chi phí
Nhiều chương trình
nguồn mở có thể có được mà không có chi phí hoặc
với một chi phí rất thấp. Điều này thường là một
vấn đề quan trọng cho các cá nhân và trong nhiều trường
hợp điều này từng là lý do chính cho một cá nhân tùy
biến một giải pháp nguồn mở đặc biệt hơn với lựa
chọn thay thế nguồn đóng.
Tuy nhiên, các chi phí
khác có thể nảy sinh: huấn luyện, tư vấn, duy trì, …
Như là kết quả, tổng chi phí sở hữu có thể không
khác nhiều giữa một giải pháp nguồn đóng và lựa chọn
thay thế nguồn mở đối với các cơ quan. Tuy nhiên, trong
một số thị trường thì sự khác biệt về giá giữa
giải pháp nguồn đóng và giải pháp nguồn mở có thể
là đáng kể.
Liệu nguồn mở có
hữu dụng với bạn?
Tóm lại, những người
khác nhau nhận được những lợi ích khác nhau từ mã
nguồn mở.
Tính mở của mã
nguồn sẽ là quan trọng tối thiểu cho cá nhân người sử
dụng phần mềm phi kỹ thuật. Như một người sử dụng
sẽ không có mong muốn học hoặc sửa mã nguồn. Tuy
nhiên, người sử dụng này sẽ vẫn hưởng lợi từ việc
sửa lỗi nhanh chóng, và, có thể, từ an ninh được cải
thiện.
Các lập trình viên
phần mềm có thể thấy mã nguồn mở cực kỳ hữu dụng
vì một số lý do. Nguồn mở là vô giá cho học tập, khi
mà nó mở ra các công việc của các lập trình viên phần
mềm ở phạm vi rộng thực sự. Họ cũng có thể tùy
biến thích nghi phần mềm để đáp ứng được các nhu
vầu cá nhân của họ, hoặc tìm thuê tùy biến phần mềm
với một bên thứ 3.
Các tổ chức cam kết
với PMNM có thể tùy biến nó để giành được những
lợi ích hiệu quả hoặc để phù hợp tốt hơn các thực
tiễn công việc của riêng họ, hoặc thông qua sự phát
triển nội bộ hoặc bằng việc trả tiền cho các lập
trình viên ở bên ngoài. Họ cũng có thể tự bảo vệ họ
ở một số mức độ khỏi việc bị khóa trói vào nhà
cung cấp, hoặc sự lỗi thời có khả năng của phần mềm
mà họ sử dụng.
Cuối cùng, các chính
phủ hoặc các cơ quan quốc tế có thể cung cấp bổ sung
khả năng truy cập tốt hơn so với có thể với phần mềm
sở hữu độc quyền, khi mà họ không phải mang ơn các
yêu cầu thương mại của các nhà cung cấp phần mềm
truyền thống.
Các quan điểm khác
nhau về việc liệu phần mềm có đóng một vai trò nào
trong tranh luận xung quanh sự tự do và các quyền con người
hay không. Richard
Stallman (Bản
dịch tiếng Việt), cha đẻ của phong trào Phần mềm
Tự do, tin tưởng rằng nó có và rằng phần mềm tự do
mang lại những lợi ích đặc biệt về sự tự do.
This
document outlines some of the advantages derived from having software
source code that is open to all to inspect and edit. This is
considered in contrast with closed source code, which is not made
available for public inspection.
All
software applications are built from source code. The source code is
made up of the numerous lines of instructions that programmers write
for computers to interpret. These instructions tell a computer what
to do and how to do it. We can think of the source code as the
blueprint for a program and it may be written in any one of the
various programming languages used today.
One
of the fundamental differences between open source software and
proprietary software is that the source code of open source software
must be made freely available with the software. Anyone should be
able to download the source code, view it, and alter it as they see
fit. With proprietary software, you generally cannot view or edit the
source code.
If
you can program in the language that a given open source application
was written in, this is great. With enough time at your disposal you
can edit the source code to make the software behave in exactly the
way you want it to. But what use is open source code if you lack the
technical skills to edit it? If you are an individual user who just
wants a computer application to perform a certain task, the answer
will be different from if you are looking at software from the point
of view of an organisation.
The
following section looks at how having full access to source code can
benefit institutions, programmers, and, in some respects,
non-technical individual users.
There
are a number of advantages that open source code offers over closed
source, the following sections examine the most important of these.
All
software releases contain bugs. Hopefully, the people developing the
software will have spotted and dealt with anything obvious, but any
development team has only so much time in which to test a piece of
software before it is released.
When
a bug is spotted in proprietary software, the only people who can fix
it are the original developers, as only they have access to the
source code. Open source software is different. As a large number of
users can access and change the code, bugs tend to be more visible
and more rapidly corrected. One of the slogans of the open source
movement is that given enough eyeballs, all bugs are shallow [Eric
Raymond, The Cathedral
and the Bazaar].
In
cases where you don’t have the necessary skills in-house it is
possible to subcontract to, in theory, any third party since everyone
has access to the source code.
Having
access to the source code allows the user of that software to choose
the approach to security that they want. In other words, it allows
you to take ownership of your own security. It also enables certain
approaches that are not available with closed source and it is
possible to decide on your own security priorities and to allocate
resources accordingly.
Access
to source code makes it easier to detect security flaws in software,
whether you are looking to fix them or exploit them. This would seem
to suggest that open source code is less secure than closed source.
However, this view is not
universally supported. In practice, the skills and time required
to find security flaws, work out how they can be exploited, and then
initiate an attack, are more specialized than the mundane debugging
skills required to close exploits. Given the number of programmers
who can access and edit open source code, compared with the few that
are entitled to access closed source code, it should not come as a
surprise that flaws in open source software tend to be fixed more
rapidly, before serious damage can be done. Fixing holes in closed
source software usually depends on the problem being of a high enough
priority to command the immediate attention of the development team
maintaining the code.
Closed
source applications can only be customized or adapted within the
scope provided by the original vendor but never outside its
boundaries. Open source applications may be customized by anyone with
the requisite skill. Thus, open source software can be readily
adapted to meet specific user needs. Even if you cannot program
yourself, if you would like something added or customized you can
generally pay an appropriately skilled software developer to do it
for you. The introduction of competition into the market for
customisations, as observed in the bug-fixing section above, forces
suppliers to offer high quality at a competitive price.
For
businesses or educational institutions, the ability to customize
source code may enable improvements to the best practice provided by
default installations, therefore improving efficiency and possibly
providing a competitive advantage.
However,
when modifying open source code it is good practice to ensure that,
wherever possible, changes are contributed back upstream to the main
project. Failure to do this can result in unnecessary complexities
when upgrading to newer versions of the software.
Since
2004, the University of London Computer Centre (ULCC) has been using
Moodle to provide its e-Learning Service, offering hosted e-Learning
solutions for other institutions and learning providers. An open
source model has not only allowed ULCC to develop their nationally
recognised Personalisation of Learning Framework but other providers
have benefited from developments made by ULCC and a genuinely
effective community of practice has emerged.
With
access to the source code it is easy to translate the language of the
software interface. Large closed source commercial software vendors
are usually unwilling to translate their products into less widely
spoken languages, as the market for them would be too small to
guarantee profit.
An
example of this is the regional government of the South Tyrol, who
developed a version of OpenOffice in the local Ladin language, which
has around 30,000 speakers. This is too small a number to be worth
commercial investment, but culturally important in terms of the
survival of the language.
Organisations
are said to be ‘locked-in’
to software products when the costs of switching to alternatives are
prohibitively high.
Proprietary
software vendors can lock users in to their products by ensuring that
they are not readily compatible with potential rivals. Vendors may
then increase the price of product upgrades or support without too
great a risk of losing existing customers.
As
there is no incentive to use non-standard formats to inhibit
compatibility, open source software tends to use open standard
formats and there is little danger of being locked-in by a vendor.
Even when non-standard formats are used in open-source code, it is
always possible to document them from the source code. On the
contrary, closed formats used by proprietary software need to be
reverse-enginered, a burdensome and expensive process that may need
to be repeated if the format is subsequently changed.
Of
course, open source software does not come without switching costs of
its own. Some administrative and re-training costs must be borne by
any organisation that opts to switch between different software. And
proprietary software may use open standards, too, as is the case with
Adobe’s Acrobat Reader, a closed-source programme for reading PDF
files (PDF format is an open standard). Indeed the use of open
standards is especially important in ensuring future access to data
as it will be possible to find or create alternative programs that
conform to the standard.
Commercial
software vendors go bust or get bought up from time to time. When
this happens, there is no guarantee that their software products will
continue to be available, supported, or updated. This can result in
users needing to switch products, which can be very expensive and
difficult, especially if they were heavily locked-in to their current
product.
Even
with healthy companies, new releases often mean that older software
and format versions are discontinued and no longer supported.
With
open source software, this danger is greatly reduced. As the source
code is not ‘owned’ in the same way that proprietary source code
is, it may be picked up and developed by anyone with an interest in a
product’s survival. Unless you are part of an organization with
very significant technical resources, you are unlikely to want to
take on full responsibility for this, but, thanks to the way in which
successful open source projects gather user communities around them,
where there is a potential revenue generating or cost saving
opportunity there will probably be other interested parties willing
to continue to maintain the software.
If
you are interested in programming, open source code provides an
excellent resource from which to learn, and open source projects
provide a practical environment in which to test your skills. Just
watching the development process can provide an education in itself.
If you choose to submit code to an open source project, it will
generally be checked and commented on by experienced programmers.
Once you have convinced the project community that your code is of
appropriate quality, you may be granted full committer rights
yourself.
By
adopting open source software you become part of a community
of users and developers who have an interest in working together
to support each other and improve the software. The extent to which
you engage with this community is up to you, but you may obtain the
intangible benefits of goodwill if you do.
Programmers,
in particular, can benefit from belonging to an open source
community. It can help them to establish reputation and respect, and
gain valuable experience.
Many
open source programs can be obtained at no cost or at a very low
cost. This is often an important issue for individuals and in many
cases this has been the main reason for an individual adopting a
particular open source solution over a closed source alternative.
However,
other costs may arise: training, consulting, maintenance, etc. As a
result, the total cost of ownership may not differ greatly between a
closed source solution and an open source alternative for
institutions. However, in some markets the difference in price
between a closed source solution and an open source solution can be
significant.
To
sum up, different people receive different benefits from open source
code.
The
openness of open source code will be of the least importance to the
individual non-technical software user. Such a user will have no wish
to study or edit the source code. This user will, however, still
benefit from rapid bug-fixing, and, possibly, from improved security.
Software
developers may find open source code extremely useful for a number of
reasons. Open source is invaluable for learning, as it reveals the
workings of real large-scale software programmes. They may also adapt
existing software to meet their personal needs, or find employment
customizing the software for a third party.
Organisations
that engage with open source software can customize it to attain
efficiency benefits or to better suit their own working practices,
either via in-house development or by paying external developers.
They can also protect themselves to some extent from vendor lock-in,
or the possible obsolescence of the software they use.
Finally,
governments or international institutions can additionally provide
better accessibility than may be possible with closed source
software, as they are not at the mercy of the commercial requirements
of traditional software vendors.
Opinions
differ on whether software should play a role in the debate around
liberty and human rights. Richard
Stallman, the father of the Free Software movement, believes that
it does and that free software brings extra benefits in terms of
freedom.
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.