Thứ Năm, 7 tháng 3, 2013

Lợi ích của mã nguồn mở


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.
What is source code?
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.
Why is open source code useful?
There are a number of advantages that open source code offers over closed source, the following sections examine the most important of these.
Bug-fixing
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.
Security
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.
Customization
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.
Translation
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.
Avoiding lock-in
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.
Mitigation of vendor collapse or product discontinuation
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.
Learning from examples
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.
Being part of a community
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.
Cost
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.
Is open source useful for you?
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.