Tải bản đầy đủ (.pdf) (100 trang)

Bài giảng phần mềm tự do mã nguồn mở it20 Đại học mở hà nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4 MB, 100 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>BÀI 1 - MỞ ĐẦU VỀ PHẦN MỀM MÃ NGUỒN MỞ </b>

<b>MỤC TIÊU BÀI HỌC </b>

Học xong bài này Anh/ Chị sẽ:

 Biết được khái niệm phần mềm tự do, phần mềm mã nguồn mở và phần mềm tự do mã nguồn mở;

 Phân biệt được các khái niệm phần mềm

 Nắm được một vài nét về lịch sử ra đời của phần mềm tự do

 Nắm được ưu nhược điểm của phần mềm tự do và tầm quan trọng của nó  Biết được một số các điển hình của mã nguồn mở

<b>NỘI DUNG BÀI HỌC </b>

Nội dung bài học này trình bày những khía cạnh đặc thù của phần mềm nguồn mở, tập trung chủ yếu vào việc giải thích nền tảng cơ bản cho những người mới làm quen với phần mềm nguồn mở bao gồm

 Giới thiệu phần mềm tự do và phần mềm mã nguồn mở;  Nhắc lại khái niệm một số loại phần mềm

 Trình bày một vài nét về lịch sử ra đời của phần mềm tự do

 Đưa ra một số ưu và nhược điểm của phần mềm tự do và nhấn mạnh tới tầm quan trọng của nó

 Cuối cùng là trình bày một số điển hình mã nguồn mở

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

 Quyền tự do phân phối lại chương trình (The freedom to redistribute copies so you can help your neighbor - freedom 2).

 Quyền tự do phát hành các phiên bản sửa đổi của bạn cho người khác (The freedom to distribute copies of your modified versions to others - freedom 3). Bằng cách này, bạn có thể cung cấp cho toàn bộ cộng đồng có cơ hội được hưởng lợi từ những thay đổi của bạn.

Truy cập vào mã nguồn là điều kiện tiên quyết cho quyền tự do 1 và 3.

Như vậy, phần mềm tự do có nghĩa là người dùng máy tính có quyền tự do hợp tác với những người mà họ lựa chọn, và kiểm soát các phần mềm mà họ sử dụng. Tổ chức

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

phần mềm tự do đã nhấn mạnh: “free” ở đây được hiểu theo nghĩa như trong tự do ngôn luận chứ khơng phải theo nghĩa như trong bia miễn phí (“free as in free speech, not as in free beer).

Cơ chế mà đảm bảo cho những quyền tự do này, theo pháp luật hiện hành, là sự phân phối theo một giấy phép đặc biệt. Thông qua giấy phép này, tác giả trao các quyền cho người nhận chương trình có thể thực hiện các quyền tự do. Ngồi ra, tác giả cũng có thể bổ sung thêm bất kỳ sự hạn chế nào mà tác giả mong muốn áp dụng, chẳng hạn như trong trường hợp muốn phân phối lại chương trình thì phải đính kèm thơng báo cơng nhận tác giả ban đầu. Để giấy phép được xem là tự do, những hạn chế này phải không làm mất tác dụng của các quyền tự do đã được nêu trong định nghĩa phần mềm tự do.

Khái niệm phần mềm nguồn mở (open-source software) được khởi xướng bởi Eric Raymond và Tổ chức sáng kiến nguồn mở (Open Source Initiative - OSI) vào năm 1998 tương đương với khái niệm phần mềm tự do.

<b>Hình 1.2. Eric Raymond </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<i><b>2. Source Code </b></i>

<i>The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. </i>

<i><b>3. Derived Works </b></i>

<i>The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. </i>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<i><b>4. Integrity of The Author's Source Code </b></i>

<i>The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. </i>

<i><b>5. No Discrimination Against Persons or Groups </b></i>

<i>The license must not discriminate against any person or group of persons. </i>

<i><b>6. No Discrimination Against Fields of Endeavor </b></i>

<i>The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. </i>

<i><b>7. Distribution of License </b></i>

<i>The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. </i>

<i><b>8. License Must Not Be Specific to a Product </b></i>

<i>The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. </i>

<i><b>9. License Must Not Restrict Other Software </b></i>

<i>The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software. </i>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<i><b>10. License Must Be Technology-Neutral </b></i>

<i>No provision of the license may be predicated on any individual technology or style of interface. </i>

Về mặt triết học, khái niệm phần mềm nguồn mở là rất khác với khái niệm phần mềm tự do, vì nó nhấn mạnh tới sự sẵn có của mã nguồn, chứ không nhấn mạnh sự tự do, nhưng về mặt thực tế thì lại giống hệt nhau. Về mặt chính trị, khái niệm phần mềm nguồn mở lại nhấn mạnh khía cạnh kỹ thuật, nó đưa ra những lợi ích về kỹ thuật như các mơ hình phát triển và kinh doanh được cải thiện, an ninh tốt hơn…

Phần mềm tự do nguồn mở (Free and open-source software - FOSS) là sự kết hợp của phần mềm tự do và phần mềm nguồn mở.

<b>1.2. MỘT SỐ LOẠI PHẦN MỀM </b>

<b>Hình 1.4. Sơ đồ phân loại phần mềm </b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<i>Phần mềm tự do (Free software) là phần mềm cho phép cho bất cứ ai sử dụng, sao </i>

chép, phân phối phần mềm hoặc đúng nguyên bản hoặc với những thay đổi, hoặc là miễn phí hoặc có thu phí.

<i>Phần mềm nguồn mở (open source software): phần mềm nguồn mở và phần mềm tự </i>

do không phải là cùng một loại phần mềm. Phần mềm nguồn mở chấp nhận một số giấy phép mà được xem là quá hạn chế, trong khi đó, có một số giấy phép phần mềm tự do lại không được chấp nhận. Tuy nhiên, số lượng đó khơng nhiều, hầu hết các phần mềm tự do là phần mềm nguồn mở và ngược lại, hầu hết các phần mềm nguồn mở là phần mềm tự do.

<i>Phần mềm miền công cộng (Public domain software) là phần mềm khơng có bản </i>

quyền. Ở đây, tác giả khơng thừa nhận tất cả các quyền của mình vì lợi ích cộng đồng và điều này cần phải được tun bố chắc chắn trong chương trình, vì nếu khơng, chương trình sẽ bị cho là sở hữu độc quyền. Nếu mã nguồn được cung cấp thì đây chính là một trường hợp đặc biệt của phần mềm tự do, tức là có thể có một số bản sao hoặc phiên bản sửa đổi không được tự do.

<i>Phần mềm copyleft (Copylefted software) là phần mềm tự do có điều khoản phân </i>

phối đảm bảo rằng tất cả các bản sao của tất cả các phiên bản đều phải là tự do.

<i>Phần mềm phi tự do (Nonfree software) là bất kỳ những phần mềm nào mà không </i>

tự do. Việc sử dụng, phân phối lại hoặc sửa đổi đều bị cấm, hoặc đòi hỏi phải xin phép, hoặc bị hạn chế đến mức không thể sử dụng, phân phối lại hoặc sửa đổi một cách tự do.

<i>Phần mềm độc quyền (Proprietary software) là một tên gọi khác của phần mềm phi </i>

tự do.

<i>Phần mềm miễn phí (Freeware) là phần mềm mà người sử dụng không phải trả bất </i>

kỳ chi phí nào, khơng hạn chế thời gian sử dụng, có thể tải tự do về dùng từ Internet, có thể sao chép và sử dụng phần mềm đó. Tuy nhiên, phần mềm miễn phí thường có nhiều hạn chế về quyền sử dụng. Chẳng hạn như chúng thường chỉ được phân phối dưới dạng nhị phân, không được cung cấp mã nguồn hoặc cấm quyền phân phối… Phần mềm miễn phí

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

thường được sử dụng để quảng bá cho các phần mềm (thường với các chức năng hoàn chỉnh hơn) hoặc dịch vụ khác.

<i>Phần mềm chia sẻ/ Phần mềm dùng thử (Shareware/ Trialware/ Demoware) là một </i>

loại phần mềm độc quyền, nó cung cấp cho người sử dụng một số tính năng cơ bản hạn chế và kèm theo một giấy phép trong đó hạn chế bất kỳ lợi ích thương mại, sử dụng, khai thác phần mềm. Ngoài ra, nó cịn có thể đem lại sự bất tiện cho người dùng trong quá trình sử dụng phần mềm, do xuất hiện một hộp thoại lúc khởi động hoặc trong quá trình sử dụng, nhắc nhở người sử dụng để mua nó, "hộp thoại dai dẳng". Phần mềm chia sẻ thường được cung cấp như là một tải về từ một trang web Internet hoặc như một đĩa nhỏ gọn đi kèm với một tạp chí. Mục đích đằng sau của phần mềm chia sẻ là cung cấp cho người dùng tiềm năng cơ hội để thử chương trình với các tính năng cơ bản trong một thời gian hạn chế và đánh giá tính hữu dụng của nó trước khi mua một giấy phép cho các phiên bản đầy đủ của phần mềm. Sau khi hết thời gian dùng thử, chương trình có thể ngừng chạy cho đến khi có giấy phép được mua, hoặc chạy với những tính năng hạn chế, hay khơng có khả năng lưu lại công việc.

<i>Trái ngược với phần mềm miễn phí, phần mềm thương mại (Comercial software) là </i>

phần mềm được phát triển bởi một doanh nghiệp với mục đích để bán hoặc phục vụ mục đích thương mại. Phần mềm thương mại có thể là phần mềm độc quyền hoặc phần mềm tự do.

<b>1.3. MỘT VÀI NÉT VỀ LỊCH SỬ RA ĐỜI </b>

Dù tất cả lịch sử có liên quan tới IT là vắn tắt cần thiết, thì lịch sử của phần mềm tự do vẫn là dài nhất. Trên thực tế, chúng ta có thể nói rằng lúc ban đầu hầu hết tất cả phần mềm được phát triển đã thỏa mãn định nghĩa của phần mềm tự do, ngay cả khi khái niệm này vẫn còn chưa tồn tại. Phần mềm tự do như một khái niệm đã không xuất hiện cho tới đầu những năm 1980. Tuy nhiên, lịch sử của nó có thể được dõi ngược lại các năm trước.

Trong những năm 60, toàn cảnh IT đã bị áp đảo bởi các máy tính lớn, chủ yếu được cài đặt trong các công ty và cơ quan chính phủ và IBM từng là nhà sản xuất hàng đầu. Trong thời kỳ này, khi mua một máy tính (phần cứng), thì đ ư ợ c k h u yế n m ạ i phần mềm. Hơn nữa, phần mềm thường được phân phối cùng với mã nguồn của nó, và nói

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

chung, khơng có bất kỳ hạn chế thực tế nào. Một hệ điều hành máy tính lớn IBM, chương trình kiểm sốt hàng khơng (ACP), từ năm 1967 cũng được phát hành cùng với mã nguồn bao gồm. Các tổ chức của người sử dụng và nhà cung cấp, chẳng hạn như SHARE của IBM 701, hay DECUS của Tổng công ty Thiết bị kỹ thuật số (DEC), được thành lập để tạo điều kiện cho việc trao đổi của phần mềm. Vì vậy, trong thời kỳ này, phần mềm đã được tự do, khơng phải vì bất kỳ nỗ lực phối hợp của người sử dụng phần mềm hoặc các nhà phát triển, mà là vì sự cần thiết và một nền văn hóa khác biệt, cũng như khả năng tương thích của phần mềm.

Cuối những năm 1960, hình ảnh thay đổi: các hệ điều hành và trình biên dịch ngơn ngữ lập trình phát triển, chi phí sản xuất phần mềm đã tăng đáng kể. Một ngành công nghiệp phần mềm phát triển cạnh tranh với sản phẩm của các nhà sản xuất phần cứng đóng gói phần mềm (giá thành sản phẩm đóng gói được tính vào chi phí phần cứng). Ngày 30/09/1969, IBM đã công bố rằng từ năm 1970, hãng có thể bán một phần phần mềm của hãng một cách riêng rẽ.

Phần mềm nguồn mở đầu tiên được công bố năm 1977 là hệ điều hành Unix BSD có thu phí tượng trưng.

Năm 1983, Richard Stallman, thành viên lâu năm của cộng đồng hacker tại Phịng thí nghiệm trí tuệ nhân tạo của MIT, đã rời bỏ công việc của ông để bắt đầu làm việc về dự án GNU. Ý tưởng của ông khi ông rời bỏ MIT là để xây dựng một hệ điều hành hoàn chỉnh, để sử dụng chung, mà hoàn toàn tự do. Hệ thống này được gọi là GNU (“GNU không phải là Unix”, một từ viết tắt đệ qui) được bắt đầu vào tháng 1/ 1984. Richard Stallman cũng đã sáng lập ra Tổ chức phần mềm tự do (Free Software Foundation – FSF) vào tháng 10/ 1985.

Năm 1991, Các hạt nhân Linux được phát hành dưới dạng mã nguồn tự do thay đổi được, do Linus Torvalds (một sinh viên Phần Lan 21 tuổi) đưa ra. Giấy phép đầu tiên không phải là một giấy phép phần mềm tự do. Tuy nhiên, với phiên bản 0.12 vào tháng 2/

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

mềm tự do thông dụng. Cũng giống như Unix, hạt nhân Linux thu hút sự chú ý của các lập trình viên tình nguyện.

Năm 1998, Tổ chức Sáng kiến mã nguồn mở (Open Source Initiative - OSI) được thành lập, nó quyết định áp dụng khái niệm phần mềm nguồn mở như một thương hiệu để giới thiệu phần mềm tự do bước vào thế giới kinh doanh. Quyết định này đã làm bùng lên một trong những cuộc tranh luận gay gắt nhất trong thế giới phần mềm tự do (mà nó vẫn tiếp tục cho tới ngày nay), khi mà tổ chức phần mềm tự do và những người khác đã cho rằng nó phù hợp hơn nhiều để nói về phần mềm tự do.

Trong bản thân thế giới phần mềm tự do, bất chấp những cuộc tranh cãi mà thỉnh thoảng khuấy động cộng đồng, thì sự tăng trưởng của nó là khổng lồ. Mỗi ngày có thêm nhiều các lập trình viên, các dự án phần mềm tự do tích cực hơn, nhiều người sử dụng hơn, … Càng ngày, phần mềm tự do đang dần chuyển khỏi những con đường phụ và trở thành một lực lượng sẽ phải được tính tới.

<b>1.4. THỰC TRẠNG SỬ DỤNG MÃ NGUỒN MỞ TRÊN THẾ GIỚI </b>

 Quốc hội Pháp đang bắt đầu một cuộc cách mạng của riêng mình: chuyển từ Windows sang phần mềm nguồn mở) từ tháng 6/2007.

 Ba công ty Brazin đang tiến hành khai triển các máy tính chạy Linux cho chương trình “Máy tính dành cho mọi người” của chính phủ Brazin. Dự kiến hàng tháng sẽ giao 10,000 máy. (13-2-2007)

 Tại triển lãm Giải pháp Linux Paris 30-1-2007, Hãng chế tạo ôtô lớn thứ 2 châu Âu Peugeot Citroen đã ký với công ty phần mềm Novell hợp đồng khai triển 20,000 bộ Novell Linux cho máy tính cá nhân và 2,500 bộ Linux Enterprise dành cho máy chủ.  Hãng tin Bloomberg báo cáo rằng Linux đã chính thức thắng trên 14,000 máy tính

của chính quyền bang Munich, Ðức sau một quá trình xem xét dài trong đó Microsoft đã giảm giá và đích thân Tổng Giám đốc Microsoft Steve Balmer đi vận động. (14-6-2004)

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

 HSBC, một ngân hàng lớn của Anh có 125 triệu khách hàng tồn cầu, 9,500 văn phòng với 284,000 nhân viên tại 76 nước, đã quyết định chuẩn hóa hệ thống Linux theo một hệ Linux (ngồi hạ tầng Windows, HSBC có khoảng vài nghìn máy chủ Linux).

 Hà lan thống nhất dùng MNM : chính phủ Hà lan đã đặt ra thời hạn cuối cùng là tháng 4/2008, tất cả các cơ quan chính phủ phải bắt đầu sử dụng phần mềm nguồn mở. Những đơn vị nào dùng phần mềm bản quyền phải có luận chứng trình duyệt.

<b>1.5. THỰC TRẠNG SỬ DỤNG MÃ NGUỒN MỞ TẠI VIỆT NAM </b>

 Ngày 2/3/2004 Thủ tướng Chính phủ ban hành Quyết định số 235/2004/QĐ-TTg phê duyệt Dự án tổng thể “Ứng dụng và phát triển phần mềm nguồn mở ở Việt Nam giai đoạn 2004- 2008″

 QUYẾT ĐỊNH của Thủ tướng Chính phủ số 169/2006/QĐ-TTg ngày 17 tháng 7 năm 2006 “Quy định về việc đầu tư, mua sắm các sản phẩm công nghệ thông tin của các cơ quan, tổ chức sử dụng nguồn vốn ngân sách nhà nước” nêu rõ “ Ưu tiên đầu tư, mua sắm sử dụng các sản phẩm phần mềm mã nguồn mở...”

 Từ năm 2008, hơn 20 000 máy tính của các cơ quan Đảng sẽ chuyển sang dùng, hệ điều hành máy chủ và máy trạm là Linux, bộ phần mềm văn phòng mã nguồn mở OpenOffice

 Năm 2010, Đến lượt ngành giáo dục bỏ Microsoft Office.

<b>1.6. ƯU VÀ NHƯỢC ĐIỂM </b>

<i><b>1.6.1. Ưu điểm </b></i>

Lợi ích phần mềm nguồn mở thể hiện rõ nhất ở tính kinh tế, sử dụng phần mềm nguồn mở tiết kiệm được nguồn tiền khổng lồ. Nguồn tiền tiết kiệm này sẽ giúp các nước đang phát triển hạn chế được hiện tượng chảy máu chất xám, khi mà các sinh viên được đào tạo về khoa học máy tính và phần mềm khơng cịn đi tìm những cơng việc phù hợp với khả năng của họ tại các nước khác mà có thể làm việc tại đất nước mình.

Trong lĩnh vực giáo dục đào tạo, phần mềm nguồn mở là nền tảng cho việc giáo dục về khoa học máy tính. Nếu dạy học về phần mềm sở hữu độc quyền, thì người học sẽ biết

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

cách sử dụng phần mềm đó. Nhưng nếu dạy và học về phần mềm nguồn mở thì người học không những biết cách sử dụng phần mềm nguồn mở mà cịn biết thêm thơng tin hoạt động của phần mềm đó như thế nào.

Tuy nhiên, người ta lựa chọn phần mềm không chỉ dựa vào tính kinh phí phần mềm đó mà cịn dựa vào độ chất lượng và ứng dụng của nó. Xét về phần mềm nguồn mở nó có các đặc điểm sau đây: tính an tồn, tính ổn định và đáng tinh cậy, giảm lệ thuộc vào xuất khẩu, vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ và tính tuân thủ WTO, bản địa hóa, các chuẩn mở và sự không lệ thuộc vào nhà cung cấp, phát triển năng lực ngành công nghiệp địa phương.

Ở phần mềm nguồn mở hầu như khơng có virus gây hại cho máy tính. Đây cũng là vấn đề khiến mã nguồn mở ngày được quan tâm hơn so với phần mềm sử dụng mã đóng như Window. Chẳng hạn như khi mua máy cài bản quyền Window thì phải mua thêm phần mềm diệt virus, như vậy người dùng lại tiếp tục tốn tiền mua thêm bản quyền phần mềm này.

Những ưu điểm phần mềm nguồn mở nói trên thể hiện cụ thể như sau.  Tính an tồn

<i>Mã nguồn được phổ biến rộng rãi: việc mã nguồn được phổ biến rộng rãi giúp </i>

người lập trình và người sử dụng dễ phát hiện, khắc phục các lỗ hỏng an toàn trước khi chúng bị lợi dụng. Đa phần các lỗi hệ thống của phần mềm nguồn mở được phát hiện trong quá trình rà soát định kỳ và được sửa trước khi gây ra bất kỳ thiệt hại nào. Các hệ thống phần mềm nguồn mở thường có quy trình rà sốt chủ động chứ khơng phải rà sốt đối phó.

<i>Ưu tiên về tính an tồn đặt trên tiêu chí tiện dụng: có thể nói phần mềm nguồn mở </i>

được dùng để điều hành một phần lớn mạng internet và do đó nó nhấn mạnh nhiều đến tính bền vững, chức năng vận hành thay vì tính dễ sử dụng. Trước khi thêm bất cứ tính năng nào vào một ứng dụng phần mềm nguồn mở, bao giờ người ta cũng cân nhắc đến khía cạnh an tồn, và tính năng đó sẽ chỉ được đưa vào nếu khơng làm yếu đi tính an tồn của hệ thống.

<i>Các hệ thống phần mềm nguồn mở chủ yếu dựa trên mơ hình của Unix: nhiều người </i>

sử dụng, thuận tiện cho kết nối mạng. Do đó, chúng được thiết kế với một cấu trúc an toàn,

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

bảo mật cao. Điều này là đặc biệt quan trọng khi có nhiều người cùng chia sẻ quyền sử dụng một máy chủ cấu hình mạnh. Nếu hệ thống có độ an tồn thấp, một người sử dụng bất kỳ có thể đột nhập vào máy chủ, đánh cắp dữ liệu cá nhân của người khác, hoặc làm cho mọi người không tiếp cận được với các dịch vụ do hệ thống cung cấp. Kết quả của mơ hình thiết kế này là có rất ít vụ tấn cơng được thực hiện thành công với các phần mềm nguồn mở.

Nói tóm lại, một câu hỏi đặt ra là: một gói phần mềm được tạo ra bởi một vài nhà thiết kế, hay một gói phần mềm do hàng nghìn nhà thiết kế sáng tạo nên thì người sử dụng sẽ chọn lựa như thế nào? Do phần mềm mã nguồn mở được sáng tạo bởi vô số các nhà thiết kế và người sử dụng nên độ bảo mật của chúng sẽ được cải thiện, cũng như chúng cũng sẽ được mang thêm nhiều tính năng mới và những cải tiến mới nên phần mềm mã mở sẽ dễ chú ý sử dụng hơn.

Các phần mềm nguồn mở thường ổn định và đáng tin cậy đó là kết luận từ những cuộc phân tích, đánh giá và so sánh với các phần mềm nguồn đóng khác. Ví dụ như, một cuộc thử nghiệm theo phương pháp chọn ngẫu nhiên được tiến hành vào năm 1995, tập trung thử nghiệm 7 hệ điều hành thương mại và GNU/Linux. Người ta nạp vào các hệ điều hành này những tính năng ngẫu nhiên theo một trình tự lộn xộn, bắt chước hành động của những người sử dụng kém hiểu biết. Kết quả là các hệ điều hành thương mại có tỷ lệ xung đột hệ thống trung bình là 23% trong khi Linux chỉ bị lỗi vận hành trong 9% số lần thử nghiệm. Các tiện ích của GNU (phần mềm do FSF xây dựng trong khuôn khổ dự án GNU) bị lỗi vận hành có 6% số lần thử nghiệm. Nhiều năm sau, một nghiên cứu tiếp nối còn cho thấy tất cả những lỗi gặp trong cuộc thử nghiệm nói trên đều đã được khắc phục với hệ điều hành FOSS trong khi với các phần mềm đóng thì vẫn hầu như chưa được đụng đến.

Một trong những động cơ quan trọng khiến các quốc gia đang phát triển nhiệt tình hưởng ứng phần mềm nguồn mở chính là chi phí khổng lồ của giấy phép sử dụng các phần

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

mềm đóng. Do hầu như toàn bộ phần mềm của các nước đang phát triển đều được nhập khẩu, tiền mua những phần mềm này sẽ làm tiêu hao quỹ dự trữ ngoại tệ hết sức quý báu mà lẽ ra có thể được sử dụng hiệu quả hơn cho những mục tiêu phát triển khác. Cơng trình phần mềm nguồn mở tự do: nghiên cứu và khảo sát còn cho biết mơ hình phần mềm nguồn mở thiên nhiều hơn về dịch vụ công, do đó chi phí cho phần mềm cũng là để phục vụ những hoạt động của cơ quan Chính phủ chứ khơng phải cho mục đích lợi nhuận của các cơng ty đa quốc gia. Điều này có ảnh hưởng tích cực đến tạo cơng ăn việc làm cho xã hội, mở rộng năng lực đầu tư nội địa, và tăng thu cho ngân sách địa phương…

Nạn sao chép phần mềm là vấn đề mà hầu như quốc gia nào trên thế giới cũng gặp phải. Tổ chức Business Software Alliance ước tính riêng trong năm 2002, tệ nạn này làm nước Mỹ thiệt hại mất 13,08 tỷ đôla. Ngay với các quốc gia phát triển, nơi mà trên lý thuyết giá phần mềm còn vừa túi tiền người dân, tỷ lệ sao chép phần mềm vẫn ở mức rất cao (24% ở Mỹ và 35% ở Châu Âu). Tại các quốc gia đang phát triển, nơi mà mức thu nhập thấp khiến cho phần mềm trở thành một thứ hàng xa xỉ, thì tỷ lệ sao chép có thể đạt tới 90%. Nạn sao chép phần mềm và hệ thống luật pháp lỏng lẻo sẽ gây thiệt hại cho một quốc gia trên nhiều phương diện. Quốc gia nào yếu trong việc thực thi bảo vệ quyền sở hữu trí tuệ sẽ kém hấp dẫn với các nhà đầu tư nước ngoài. Quyền gia nhập WTO và khả năng tiếp cận những lợi ích mà tổ chức này mang lại bị ảnh hưởng khá nhiều bởi mức độ bảo vệ quyền sở hữu trí tuệ mà một quốc gia đạt được. Nạn sao chép phần mềm còn gây hại cho nền công nghiệp phần mềm nội địa, do các nhà lập trình địa phương giờ đây chẳng còn mấy động cơ để xây dựng những phần mềm bản địa.

“Bản địa hố là thích ứng một sản phẩm, làm cho nó phù hợp về mặt ngơn ngữ và văn hoá với thị trường mục tiêu (quốc gia hoặc địa phương), nơi sản phẩm được tiêu thụ và sử dụng”. Bản địa hoá là một trong những lĩnh vực nơi phần mềm nguồn mở tỏ rõ ưu thế của mình. Người sử dụng phần mềm nguồn mở có thể tự do sửa đổi để phần mềm trở nên thích

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

ứng với những nhu cầu riêng biệt của một khu vực văn hoá đặc thù, bất kể quy mơ kinh tế của khu vực đó. Chỉ cần một nhóm nhỏ những người có đủ trình độ kỹ thuật là đã có thể tạo ra một phiên bản nội địa ở mức độ thấp cho bất kỳ phần mềm nguồn mở nào. Còn việc xây dựng một hệ điều hành đã bản địa hóa hồn chỉnh, mặc dù khơng đơn giản, nhưng ít ra cũng là khả thi. Việc Microsoft năm 1998 quyết định không xây dựng phiên bản Window 98 cho Iceland có thể đã gây nên những tác hại khó lường nếu như khơng có giải pháp thay thế của phần mềm nguồn mở. (Windows 98 là cải tiến của phiên bản trước, nó khá giống Windows 95. Một số cải tiến hữu ích như hỗ trợ USB, chia sẻ kết nối Internet)

 Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp

<i>Sẵn có mã nguồn: với mã nguồn được phổ biến công khai, người ta lúc nào cũng có </i>

thể tái thiết kế và tích hợp lại bộ chuẩn của một ứng dụng. Mọi khả năng tuỳ biến đều đã thể hiện rõ trong mã nguồn, khiến cho khơng ai có thể giấu một chuẩn riêng trong một hệ thống phần mềm nguồn mở. Đối với phần mềm đóng thì việc tái thiết kế sẽ khó hơn. Một số mã còn được viết ra để đánh lạc hướng người dùng.

<i>Chủ động tương thích chuẩn: khi đã có những chuẩn được thừa nhận rộng rãi, ví dụ </i>

như HyperText Markup Language (HTML) bộ chuẩn quy định cách thức hiển thị các trang web, thì các dự án phần mềm nguồn mở luôn chủ động bám sát những chuẩn này. Khi sử dụng các hệ thống phần mềm nguồn mở để thoát khỏi việc lệ thuộc vào nhà cung cấp.

Ví dụ: các doanh nghiệp có thể biến đổi một phần của gói phần mềm mã nguồn mở để biến chúng phù hợp với những nhu cầu của mình. Nhờ vào tính mở của các mã nguồn mà người sử dụng chỉ cần thay đổi mã nguồn để đạt được tính năng như ý muốn. Họ khơng thể làm được điều đó với các phần mềm có bản quyền.

<i><b>1.6.2. Nhược điểm </b></i>

Bên cạnh nhiều ưu điểm, phần mềm tự do cũng có những nhược điểm. Nhược điểm dễ thấy nhất là về tài chính, vì như chúng ta đã thấy là không thể kiếm nhiều tiền từ sự phân phối nó, mà có thể và có xu hướng sẽ được làm bởi ai đó khác chứ khơng phải tác giả. Ngồi ra, phần mềm tự do cũng có những nhược điểm khác, cụ thể như:

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

 <i><b>Tính đa dạng và phức tạp </b></i>

Cộng đồng phần mềm tự do đã phát triển nhiều ứng dụng đa dạng với những chức năng tương tự nhau. Điều này gây khó khăn cho những người mới sử dụng trong việc chọn lựa. Cơ cấu chọn lựa đã được thiết lập như nhà sản xuất, giá cả, thị phần hoặc hỗ trợ chỉ cung cấp một sự giúp đỡ có hạn. Vấn đề thực sự là một khi gia tăng tính đa dạng sẽ dẫn đến sự phức tạp trong khi với xã hội ngày nay, người ta luôn mong muốn sự đơn giản.

 Sự dư thừa

Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí trong q trình phát triển nó. Nếu các nguồn phát triển được kết hợp và tổ chức lại một cách tốt hơn thì hiệu suất sẽ được nâng cao.

 Sự bất tiện

Phần mềm tự do thường chỉ tập trung vào các mã của nó mà ít chú ý đến thiết kế giao diện và phát triển các tiện ích. Trong Microsoft World, hầu hết các phát triển trong vài năm gần đây đều thuộc lĩnh vực tiện ích và phát triển giao diện người dùng. Thêm vào những mâu thuẫn trên, người ta phải xem xét việc dùng một sản phẩm độc quyền chẳng hạn như của Microsoft vốn rất nổi tiếng với việc chuyển sang dùng phần mềm tự do phải học cách sử dụng các ứng dụng mới.

 Thiếu các ứng dụng kinh doanh đặc thù

Mặc dù có rất nhiều dự án phần mềm tự do đang được tiến hành, vẫn còn nhiều lĩnh vực hoạt động chưa có được một sản phẩm phần mềm hồn thiện, đặc biệt là trong kinh doanh. Gần đây, sự ra đời của một số phần mềm quản lý nguồn lực doanh nghiệp (Enterprise Resource Planning) của SAP đã giúp đáp ứng phần nào nhu cầu của thị trường cao cấp, nhưng thị trường dành cho các doanh nghiệp vừa và nhỏ thì hầu như vẫn bị bỏ trống. Những phần mềm kế toán cơ bản, tiện lợi cho người dùng như Quickbooks, Peachtree hay Great Plains cho đến nay vẫn chưa có các phiên bản phần mềm nguồn mở tương đương.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>SAP được đánh giá là một trong bốn công ty phần mềm lớn nhất thế giới, sau Microsoft, IBM, và Peopleoft. PeopleSoft là nhà cung cấp phần mềm đứng hàng thứ 2 thế giới, sau hãng SAP của Đức, trong lĩnh vực phần mềm quản lý tài chính, nhân lực và kế toán. </i>

Các phần mềm tự do, nhất là khi cài trên máy để bàn, thường khơng hồn tồn tương thích với phần mềm đóng. Với những tổ chức đã đầu tư nhiều cho việc thiết lập các định dạng lưu trữ dữ liệu và ứng dụng phần mềm đóng, việc cố gắng tích hợp những giải pháp phần mềm nguồn mở có thể sẽ rất tốn kém. Thay đổi các chuẩn đóng đã được xây dựng với mục đích ngăn chặn tích hợp những giải pháp thay thế sẽ chỉ càng làm trầm trọng thêm vấn đề.

 Nhược điểm khi đưa phần mềm nguồn mở thay thế phần mềm nguồn đóng Nhược điểm thứ nhất là do gặp sự kháng cự của người dùng, do không muốn thay đổi thói quen, phải học thêm một cái mới. Nhược điểm thứ hai: các công ty, cán bộ kỹ thuật chuyên về phần mềm nguồn mở ở Việt Nam hiện nay cịn q ít.

<b>1.7. MƠ HÌNH KINH DOANH </b>

Trong mục này, chúng ta sẽ xem xét các mô hình kinh doanh chính được đưa vào thực tế của các cơng ty có liên quan trực tiếp tới phần mềm tự do.

Phần mềm tự do được phát triển theo nhiều cách khác nhau và việc sử dụng các cơ chế để giành vốn là hết sức khác nhau theo từng trường hợp. Mỗi dự án tự do có cách riêng của bản thân nó trong việc cấp vốn, từ dự án cấu tạo hoàn toàn từ những lập trình viên tự nguyện và chỉ sử dụng vốn nhượng lại, cho tới dự án triển khai bởi một cơng ty mà nó báo giá 100% giá thành của dự án cho một tổ chức có quan tâm trong sự phát triển tương ứng đó. Trong một số trường hợp, các dự án có vốn từ bên ngồi, nó có thể được coi như một dạng tài trợ. Cơ quan cấp vốn có thể một cách trực tiếp là chính phủ (địa phương, vùng, quốc gia hoặc ngay cả là siêu quốc gia) hoặc một cơ quan nhà nước (ví dụ, một quỹ). Trong những trường hợp này, việc cấp vốn có xu hướng sẽ tương tự như cho các dự án

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

nghiên cứu và phát triển và trên thực tế nó là chung cho việc cấp vốn tới từ các cơ quan nhà nước mà họ khuyến khích nghiên cứu và phát triển.

Ngồi ra cịn có một số mơ hình kinh doanh khác như:

 Cơng ty khuyến khích khách hàng sử dụng một sản phẩm phần mềm tự do (mà nó đã phát triển hoặc nó tham gia tích cực vào trong đó) và bán các dịch vụ như là tư vấn, bảo hành, đào tạo hướng dẫn sử dụng hoặc sự phát triển dựa trên sản phẩm, sự sửa đổi, áp dụng, cài đặt và tích hợp với các sản phẩm khác.

 Việc kinh doanh chính của cơng ty là bán phần cứng và phần mềm tự do được coi như một sự bổ sung mà có thể giúp công ty giành được một ưu thế cạnh tranh.  Công ty phát triển một sản phẩm phần mềm tự do và bán các sản phẩm liên quan

tới phần mềm tự do như là sách, các thiết bị máy tính, …

 Cơng ty phát triển một sản phẩm phần mềm tự do, khuyến khích mọi người sử dụng một cách miễn phí và thu lợi nhuận từ các quảng cáo trên sản phẩm.

• Môi trường phát triển phần mềm đa ngôn ngữ Eclipse

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>TỔNG KẾT </b>

Sau bài học này anh chị đã nắm được:

• Khái niệm phần mềm tự do, phần mềm mã nguồn mở, phần mềm tự do nguồn mở; • Phân biệt được một số loại phần mềm;

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>BÀI 2 - GIẤY PHÉP MÃ NGUỒN MỞ </b>

<b>MỤC TIÊU BÀI HỌC </b>

Học xong bài này Anh/ Chị sẽ:

 Biết được khái niệm giấy phép phần mềm tự do, tính pháp lý và quy trình thơng qua một giấy phép phần mềm mã nguồn mở;

 Phân loại được giấy phép mã nguồn mở;  Biết cách sử dụng giấy phép mã nguồn mở;

 Nắm được nội dung cơ bản của một số giấy phép mã nguồn mở thông dụng.

<b>2.1. GIỚI THIỆU </b>

Về phương diện pháp lý mà nói, thì tình trạng của các phần mềm tự do nguồn mở và phần mềm sở hữu độc quyền là không khác nhau. Cả hai đều được phân phối theo một giấy phép. Sự khác biệt nằm ở những gì giấy phép này cho phép. Trong khi giấy phép của phần mềm sở hữu độc quyền (EULA) thường có nội dung để cấm đốn người sử dụng, thì các giấy phép của phần mềm tự do nguồn mở lại thường làm điều ngược lại.

Như vậy, giấy phép được định nghĩa là tập hợp các quy tắc, quy định đòi hỏi người dùng phải tuân theo khi sử dụng sản phẩm.

Lưu ý rằng, giấy phép mã nguồn mở chỉ áp dụng cho các sản phẩm mã nguồn mở. Giấy phép hầu hết sử dụng tiếng Anh, mọi bản dịch chỉ có giá trị tham khảo, khơng có giá trị pháp lý. Có hơn 70 loại giấy phép phần mềm tự do nguồn mở và chúng đều phải tuân thủ định nghĩa hoặc của phần mềm tự do từ Tổ chức phần mềm tự do - FSF, hoặc của phần mềm nguồn mở từ Tổ chức sang kiến nguồn mở - OSI. Danh sách được công bố tại website Giấy phép thông dụng nhất là GNU GPL (General Public Licenses)

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>2.2. PHÂN LOẠI GIẤY PHÉP PHẦN MỀM TỰ DO NGUỒN MỞ </b>

Có thể phân chia các giấy phép của phần mềm tự do thành hai họ lớn. Họ đầu bao gồm các giấy phép mà không đặt ra những điều kiện đặc biệt lên việc phân phối lại

<i>lần 2 và được gọi là các giấy phép dễ dãi. Họ thứ hai là các giấy phép mạnh (hoặc các </i>

giấy phép copyleft), bao gồm những giấy phép mà chúng ở dạng của GNU GPL, áp đặt những điều kiện trong trường hợp muốn phân phối lại phần mềm, có mục đích để đảm bảo tuân thủ với những điều kiện của giấy phép sau lần phân phối lại lần đầu.

<i><b>2.2.1. Các giấy phép dễ dãi </b></i>

Các giấy phép dễ dãi còn được gọi là các giấy phép hào phóng hoặc tối thiểu; hầu như khơng áp đặt bất kỳ điều kiện nào lên người nhận phần mềm, cho phép sử dụng, phân phối lại và sửa đổi. Từ tiếp cận này, có thể nói rằng bản chất của các giấy phép này là đảm bảo sự tự do cho tới lập trình viên. Khi phân phối lại phần mềm, lập trình viên có thể được phép phân phối lại phần mềm ở dạng mã nguồn hoặc mã nhị phân như phần mềm sở hữu độc quyền.

Trong số những giấy phép này, thì giấy phép BSD là một điển hình. BSD cho quyền thay đổi tùy ý phần mềm và tích hợp vào các phần mềm khác mà khơng có hạn chế nào. Thường các giấy phép BSD được trao cho những dự án thí điểm, dự án làm chuẩn có kinh phí từ Chính phủ Mỹ.

Các giấy phép dễ dãi khá phổ biến, và có những đặc tính tương tự như đối với BSD, chẳng hạn như: X Window (X11), Apache, Zope Public License.

Giấy phép X Window, phiên bản 11 (X11) Đây là giấy phép được sử dụng để phân phối hệ thống X Window, một hệ thống cửa sổ dùng để hiển thị đồ họa bitmap, nó cung ứng một bộ các cơng cụ và giao thức cho phép người dùng xây dựng các giao diện đồ họa (GUI) trong hệ điều hành Unix, tựa Unix. Giấy phép X11 tương tự như giấy phép BSD, nó cho phép phân phối lại, sử dụng và sửa đổi mà thực tế khơng có bất kỳ hạn chế nào.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Giấy phép Zope Public License được sử dụng cho sự phân phối Zope (một máy chủ ứng dụng) và các sản phẩm liên quan khác. Nó tương tự như BSD, với tính năng kỳ lạ rằng nó chỉ cốt để cấm sử dụng các thương hiệu được đăng ký bởi tập đoàn Zope.

Giấy phép Apache: Đây là giấy phép mà theo đó hầu hết các chương trình được sản xuất bởi dự án Apache được phân phối. Nó cũng tương tự như giấy phép BSD.

<i><b>2.2.2. Các giấy phép mạnh </b></i>

Các giấy phép mạnh còn được gọi là các giấy phép copyleft. Các giấy phép này thay vì việc giới hạn các quyền của người sử dụng, nó đảm bảo cho họ. Vì lý do này, hành vi này được gọi là copyleft (một cách chơi chữ thay thế cho copyright). Ai đó có khiếu hài hước đã cịn nghĩ ra khẩu hiệu “copyleft, mọi quyền được nghịch đảo”.

Bản chất của các giấy phép loại này là mang tự do cho tới người sử dụng. Bất kỳ ai đóng góp thêm mã nguồn vào cho chương trình thì các mã nguồn đó cũng sẽ mang giấy phép gốc ban đầu khi phân phối phần mềm phái sinh đó.

Triết lý: PM có tác giả, khơng có chủ sở hữu. Dưới đây là một số giấy phép copyleft điển hình:

Giấy phép Công cộng GNU GPL, cho tới nay là giấy phép phổ biến và nổi tiếng nhất trong thế giới của phần mềm tự do. Nó đã được tạo ra bởi Tổ chức phần mềm tự do - FSF, và ban đầu đã được thiết kế để trở thành giấy phép cho tất cả các phần mềm được tạo ra bởi FSF. Tuy nhiên, việc sử dụng nó đã mở rộng xa hơn trở thành giấy phép được sử dụng nhiều nhất (hơn 70% các dự án đã công bố trên Freshmeat được cấp phép theo GPL), ngay cả bởi các dự án hàng đầu trong thế giới của phần mềm tự do, như nhân Linux.

Giấy phép GNU LGPL là một giấy phép khác của FSF. Ban đầu được thiết kế để sử dụng nó với các thư viện (chữ L, ban đầu có nghĩa là thư viện – library), gần đây nó đã được sửa để được coi là cô em nhỏ - little sister (lesser) của GPL.

Các giấy phép mạnh khác đáng để lưu ý gồm: Giấy phép con mèo ngủ Sleepycat, Affero General Public Licence (AGPL), IBM Public Licence; Mozilla Public Licence.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>2.3. TÍNH PHÁP LÝ CỦA GIẤY PHÉP MÃ NGUỒN MỞ </b>

Giấy phép mã nguồn mở xác nhận về bản quyền của tác giả gốc đối với phần mềm, tuy nhiên được đưa thêm các điều khoản để các hành vi phân phối, sửa đổi, sao chép… các phần mềm này trở thành hợp pháp.

 <b>Người lập giấy phép mã nguồn mở </b>

Giấy phép mã nguồn mở do một số công ty, tổ chức lập ra để quy định trách nhiệm của người sử dụng đối với một phần mềm/mã nguồn mở dựa trên định nghĩa về mã nguồn mở (OSD – Open Source Definition) do Tổ chức sáng kiến mã nguồn mở (OSI - Open Source Initiative) đưa ra.

 <b>Quy trình thơng qua một giấy phép mã nguồn mở tại OSI </b>

- Cộng đồng thẩm định giấy phép sẽ thảo luận ít nhất 30 ngày.

- Các ý kiến từ cộng đồng sẽ được tổng kết và đưa lên ban giám đốc OSI. - Ban giám đốc OSI sẽ đưa ra quyết định cuối cùng, hoặc yêu cầu các thông tin

bổ sung, trong lần họp định kì tháng sau.

- Cộng đồng thẩm định sẽ được thông báo về quyết định của ban giám đốc OSI. - Nếu giấy phép đó được chấp nhận, nó sẽ được đưa lên website của OSI. <b> Cách sử dụng giấy phép mã nguồn mở </b>

- Điền thông tin cần thiết vào trong bản mẫu của giấy phép; - Đính kèm giấy phép vào trong phần mềm.

<b>2.4. MỘT SỐ GIẤY PHÉP MÃ NGUỒN MỞ THÔNG DỤNG </b>

<i><b>2.4.1. Giấy phép GNU GPL </b></i>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Giấy phép GNU GPL là giấy phép phần mềm tự do phổ biến nhất, ban đầu được thiết kế bởi Richard Stallman.

Phiên bản 1 phát hành 25/ 2/ 1989 Phiên bản 2 năm 1991.

Phiên bản 3, phiên bản hiện tại, được phát hành năm 2007.  <b>Nội dung chính của giấy phép mã nguồn mở GNU GPL: </b>

<i><b>Quyền lợi: </b></i>

- Quyền được sao chép và phân phối chương trình. - Quyền được u cầu trả phí cho việc phân phối đó. - Quyền được thay đổi để sử dụng cho mục đích cá nhân. - Quyền được phân phối bản đã được thay đổi đó.

<i><b>Nghĩa vụ: </b></i>

- Khi sao chép hoặc phân phối chương trình, phải đính kèm các thơng báo về bản quyền gốc và không nhận bảo hành (trừ khi nếu có văn bản quy định thêm về việc bảo hành).

- Khi phân phối bản đã được thay đổi bởi bản thân, phải chú thích rõ đó là bản đã được thay đổi, các thành phần được thay đổi, và áp dụng giấy phép GNU cho bản đã thay đổi đó.

- Khi phát hành mã nguồn phải cơng khai mã nguồn chương trình đó.

<i><b>Xử lý vi phạm: </b></i>

Người vi phạm giấy phép sẽ bị tước quyền sử dụng giấy phép GNU. Tuy nhiên, nếu B thừa hưởng giấy phép từ A, A vi phạm mà B không vi phạm thì B vẫn được giữ giấy phép GNU.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

 <b>Đặc điểm của giấy phép GNU GPL </b>

Giấy phép GPL cho phép phân phối lại ở dạng nhị phân và dạng mã nguồn, dù trong trường hợp sự phân phối lại bằng mã nhị phân thì sự truy cập tới mã nguồn cũng là bắt buộc. Nó cịn cho phép những sửa đổi được thực hiện mà khơng có bất kỳ hạn chế nào. Tuy nhiên, điều này chỉ có thể để phân phối lại mã nguồn được cấp phép theo GPL tích hợp được với mã nguồn khác (ví dụ, việc liên kết mã nguồn) nếu nó có một giấy phép

<i>tương thích. Điều này từng được gọi là hiệu ứng virus </i>

Tác giả gốc giữ bản quyền và cho phép người dùng các quyền hợp pháp, chẳng hạn như: ng dùng có quyền sử dụng, sao chép, chỉnh sửa, phân phối, cung cấp các dịch vụ có thể miễn phí hoặc thu phí.

<b> Một số phần mềm sử dụng giấy phép GNU GPL </b>

<b>Ubuntu là một hệ điều hành máy tính dựa trên Debian GNU/Linux, một bản phân </b>

phối Linux thông dụng. Mục đích của Ubuntu bao gồm việc cung cấp một hệ điều hành ổn định, cập nhật cho người dùng bình thường, và tập trung vào sự tiện dụng và dễ dàng cài đặt. Ubuntu đã được đánh giá xếp hạng là bản phân phối Linux thông dụng nhất cho máy tính để bàn

<b>Wordpress được biết đến như một phần mềm quản trị nội dung miễn phí nhưng tốt, dễ </b>

sử dụng và phổ biến nhất thế giới. Wordpress lviết bằng ngơn ngữ lập trình PHP và sử dụng cơ sở dữ liệu MySQL, thường được sử dụng cho việc lập các trang web cá nhân, viết blog.

<b>Joomla! là một hệ quản trị nội dung mã nguồn mở. Joomla! được viết bằng ngôn </b>

ngữ PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet, từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng. Joomla! có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao.

<b>GIMP là một chương trình để tạo ra và xử lý các đồ họa mảng, nhưng cũng có hỗ </b>

trợ cho đồ họa véc tơ.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<i><b>2.4.2. Giấy phép BSD </b></i>

Giấy phép BSD (Berkeley Software Distribution Lisence), phiên bản đầu tiên được thiết kế bởi đại học California tại Berkeley năm 1980, ban đầu dùng trong dự án BSD (Berkeley Source Distribution).

<b> Nội dung chính của giấy phép BSD </b>

Giấy phép BSD cho phép sao chép, chỉnh sửa, phân phối lại sản phẩm đã được chỉnh sửa hoặc không, chỉ khi:

- Giữ nguyên thông báo bản quyền của sản phẩm.

- Phải kèm theo 2 thông báo: Danh sách các điều kiện và từ chối trách nhiệm. - Không được sử dụng tên dự án hay tên nhà phân phối vào mục đích quảng bá

bản thân nếu không được cho phép.  <b>Đặc điểm của giấy phép BSD </b>

Giấy phép BSD cho phép các nhà phát triển phần mềm có thể thương mại hóa một cách thực sự các sản phẩm phần mềm có sử dụng mã nguồn mở dùng giấy phép BSD, tức kiếm tiền dựa trên mã nguồn của chương trình (chủ yếu là mã nguồn do họ viết thêm và giữ lại mã nguồn đã được sửa đổi đó cho bản thân mà khơng cơng bố) thay vì chỉ có thể kiếm tiền từ các hoạt động không trực tiếp gắn với phần mềm như bảo hành, phát hành, đào tạo hướng dẫn sử dụng …

Ngồi ra, giấy phép BSD cịn cho phép các nhà phát triển khác sửa nội dung giấy phép, hoặc sử dụng một giấy phép khác đi kèm với sản phẩm đã được chỉnh sửa.

 <b>Một số phần mềm sử dụng giấy phép BSD: </b>

FreeBSD là một hệ điều hành mà nó có thể được sử dụng mà khơng có bất kỳ ràng buộc nào. Người sử dụng có sự tự do để làm bất kỳ thứ gì mà họ thích với phần mềm, hoặc bằng việc sửa đổi nó theo những mong muốn của họ hoặc bằng việc phân phối lại nó theo

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

một dạng mở hoặc ngay cả theo một dạng đóng, theo những điều khoản mà họ muốn, có hoặc khơng có những sửa đổi.

Hotmail là một dịch vụ webmail miễn phí phổ biến của Microsoft, giống như Yahoo! Mail, Google Mail...

<i><b>2.4.3. Giấy phép MIT </b></i>

Giấy phép MIT (Massachusetts Institute of Technology) là một giấy phép phần mềm tự do được phát hành bởi Học viện Công nghệ Massachusetts, được hội đồng MIT X sử dụng. Ban đầu, giấy phép MIT được soạn thảo cho X Window System (dự án tạo giao diện đồ họa cho người dùng ở các máy tính kết nối mạng vào năm 1984)

 <b>Nội dung chính của giấy phép MIT: </b>

- Các quyền lợi của người sử dụng giấy phép vẫn tương tự như ở giấy phép GNU. Tuy nhiên, MIT loại bỏ thuộc tính virus khỏi giấy phép.

- Giấy phép MIT không bắt buộc phải công khai mã nguồn.

- Giấy phép MIT cũng có thể được chỉnh sửa lại cho phù hợp với thực tế.

- Ngồi ra giấy phép MIT khơng cấm sử dụng tên của người có bản quyền vào mục đích quảng bá, và khơng bắt buộc phải hiện danh sách tất cả những người từng tham gia thực hiện dự án trong phần About của chương trình.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

- X window system là một hệ thống phần mềm máy tính và các giao thức mạng nhằm cung cấp cơ sở cho các giao diện người dùng đồ họa (GUI) và khả năng thiết bị đầu vào phong phú cho máy tính nối mạng.

<i><b>2.4.4. Giấy phép Apache </b></i>

Giấy phép Apache là giấy phép mã nguồn mở được soạn ra bởi tổ chức phần mềm Apache (ASF – Apache Software Foundation). Tất cả phần mềm do ASF phát hành đều mang giấy phép Apache. Những dự án không thuộc ASF nhưng vẫn mang giấy phép Apache.

Giấy phép Apache 2.0 tương thích với phiên bản Giấy phép GNU 3.0 (phiên bản mới nhất của apache là 2.0)

 <b>Nội dung chính của giấy phép Apache </b>

- Cho phép người dùng tự do sử dụng phần mềm với bất kỳ mục đích nào, tự do phân phối, tự do sửa đổi, tự do phân phối bản

sửa đổi của mình (đoạn 3 của giấy phép). - Khơng yêu cầu bản sửa đổi của phần

mềm phải được phân phối dưới cùng giấy phép với bản gốc, hay được phân phối dưới dạng nguồn mở.

- Trong mỗi tệp tin đã được cấp phép, thông tin về bản quyền và bằng sáng chế trong bản phân phối lại phải được giữ nguyên như bản gốc, và ở mỗi tệp tin đã được chỉnh sửa phải ghi chú là đã được chỉnh sửa khi nào.

- Giấy phép Apache khơng u cầu trích dẫn tồn bộ giấy phép vào sản phẩm hay tệp tin đính kèm bản phân phối, mà chỉ cần thêm phần thơng báo có chứa đường link tới website chứa giấy phép :

<i>Copyright [yyyy] [name of copyright owner]Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the </i>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<i>License.You may obtain a copy of the License 2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. </i>

at Các phần mềm sử dụng giấy phép Apache </b>

Apache server là một phần mềm websever phổ biến.

XAMPP là phần mềm tạo server để chạy trên máy tính của bạn gọi là localhost. Khi bạn cài xong xampp thì máy tính của bạn có mơi trường là một server web giống như trên hosting.

Apache Axis2 là một công cụ chính cho các dịch vụ Web, khơng chỉ cung cấp khả năng để thêm giao diện dịch vụ Web cho các ứng dụng Web, nhưng cũng có thể hoạt động như một ứng dụng máy chủ độc lập.

<b>2.5. SO SÁNH MỘT SỐ GIẤY PHÉP MÃ NGUỒN MỞ </b>

<i><b>Chúc Anh/ Chị học tập tốt! </b></i>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>BÀI 3 - MỘT SỐ PHẦN MỀM SỬ DỤNG MÃ NGUỒN MỞ </b>

<b>MỤC TIÊU BÀI HỌC </b>

Học xong bài này Anh/ Chị sẽ biết được một số phần mềm mã nguồn mở phổ biến

- Math (soạn thảo các cơng thức tốn học, tương tự MS Equation Editor).

 Ưu điểm: Với mục đích sử dụng cá nhân hoặc gia đình, OpenOffice cung cấp cho bạn đầy đủ phương tiện để viết thư, soạn tài liệu, vẽ biểu đồ, tạo slideshow và thiết kế những website đơn giản. Có giao diện và hoạt động tương đối giống Microsoft Office và vì phần mềm này miễn phí

 Nhược điểm: Microsoft Office có cả Outlook, phần mềm email rất cần thiết đối với các doanh nhân, trong khi OpenOffice khơng có thay thế nào cho Outlook. Ngoài ra phần mềm này cũng thiếu một số chức năng thiết kế cao cấp so với Word 2007.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<b>3.2. MEDIAPORTAL </b>

MediaPortal thay thế cho Microsoft Windows Media Center. MediaPortal cung cấp chức năng ghi lại video PVR, cũng như quản lý video, hình ảnh, nhạc và nghe radio. Có rất nhiều plugin cho MediaPortal để mở rộng những tính năng, ngồi ra giao diện của chương trình cũng có thể thay đổi với nhiều skin miễn phí rất đẹp và chun nghiệp.

video lớn, vì VLC có thể chạy những file chưa hồn chỉnh hay bị hỏng một phần. - VLC có thể chạy trên hệ điều hành Windows, Mac OS X, Linux hay BeOS. - Có rất nhiều skin giúp cho giao diện trở nên đẹp hơn.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<i><b>Nhược điểm: </b></i>

- Không thể chép thư viện media trực tiếp sang máy nghe nhạc mp3. - Khơng có chức năng radio.

<b> 3.4. 7-ZIP </b>

<b>7-Zip thay thế cho WinZip. </b>

7-Zip là phần mềm không chỉ hoạt động với những định dạng nén của nó, mà cịn sử dụng được với định dạng phổ biến .zip, nhờ đó là một lựa chọn lý tưởng cho cả mục đích gia đình hay cơng việc. Nó cũng có thể unzip một số định dạng phổ biến khác như RAR, CAB và ISO. 7-Zip có thể được tích hợp và Windows Shell để dễ dàng sử dụng khi click chuột phải.

<i><b>Ưu điểm: Nén (zip) và bung nén (unzip) giống như WinZip và có khả năng mã hóa </b></i>

những file nén cần bảo mật.

<i><b>Nhược điểm: Khơng có một số tính năng cao cấp của WinZip như nén thông minh, </b></i>

lên lịch backup, tự động cập nhật file nén.

<b>- Thanh địa chỉ Awe some Bar: Bạn có thể dễ dàng truy </b>

cập vào những trang web ưa thích của mình ngay cả khi bạn khơng cịn nhớ URL nữa, chỉ cần nhập từ khóa vào thanh địa chỉ và chức năng tự hoàn thiện sẽ

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

bao gồm những nội dung phù hợp từ lịch sử trình duyệt, những trang đã được bookmark hay những tab đã mở trước đó.

- TraceMonkey Javascript Engine: sử dụng phương pháp TraceMonkey nhằm tăng tốc độ xử lý các đoạn mã Javascript

- Dễ dàng tạo Book Mark - Tính tùy biến cao

- Hỗ trợ hệ thống chống Phishing - loại hình lừa đảo lấy cắp thông tin qua một trang web giả danh - Dễ dàng phục hồi lại phiên làm việc trước

- Duyệt web trong chế độ bảo mật - Tùy biến các tab dễ dàng

<b>3.6. PIDGIN </b>

Pidgin là ứng dụng chat IM thay thế cho Yahoo Messenger, AIM, Windows Live Messenger. Nó có khả năng kết nối với nhiều mạng chat cùng một lúc. Người dùng chỉ cần Pidgin để tán gẫu với tất cả tài khoản AIM, IRC, Yahoo, Google Talk, MSN, QQ, ICQ, SILC, Jabber... Một chương trình IM tất cả trong một, chạy trên tất cả các hệ điều hành phổ biến.

<b>3.7. MOZILLA THUNDERBIRD </b>

Mozilla Thunderbird là ứng dụng email miễn phí, giúp bạn truy cập vào email nhanh hơn, và sử dụng dễ dàng hơn. Thunderbird có khả năng quản lý nhiều account từ một giao diện duy nhất, được thiết kế để ngăn chặn virus và ngăn chặn thư rác. Thunderbird bao gồm: duyệt mail theo tab, cơng cụ

tìm kiếm mới, tạo mục lục, xác lập các nguyên tắc để xếp thư vào các thư mục, tạo mã màu cho các e-mail để tiện phân loại…, cài đặt đơn giản và bộ lọc thư rác thông minh.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

- Bộ lọc thư rác sử dụng các số liệu Bayesian quét thư rác tự động trong Mozilla Thunderbird.

- Các chế độ xem thư, thêm thẻ thông tin và các bộ lọc linh hoạt cho phép bạn tổ chức và thêm thứ tự ưu tiên cho các email dễ dàng.

- Các kết quả tìm kiếm có thể được lưu ra các thư mục ảo, các email liên quan sẽ tự động được hiển thị trong thư mục tương ứng trong

- Hỗ trợ S/MIME cho phép bạn mã hóa và kí (điện tử) các email trong Mozilla Thunderbird (với plugin OpenPGP).

- Bạn có thể chạy Mozilla Thunderbird từ các thiết bị lưu trữ di động và USB. - Nhiều phần mở rộng cho phép Mozilla Thunderbird mở rộng thêm nhiều tính

năng mới hay cải thiện các tính năng sẵn có.

- Mozilla Thunderbird hỗ trợ Windows 98/ME/NT/2000/XP/Vista, Mac OS và Linux.

<b>3.8. WINE </b>

Wine là viết tắt của "Wine is not emulator" - Wine không phải là giả lập - là ứng dụng tạo ra lớp tương thích để sử dụng các ứng dụng Windows trên nền các hệ điều hành như Linux, Mac OSX và BSD.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Wine khác hẳn với các chương trình giả lập, ứng dụng này dịch các Windows API

<b>thành thông điệp mà các hệ điều hành trên có thể hiểu được. Chính vì vậy, nó loại bỏ độ </b>

chậm trễ và tăng tốc độ các ứng dụng Windows khi chạy trên một nền hệ điều hành khác

<b>3.9. GIMP </b>

GIMP viết tắt của GNU Image Manipulation Program.

GIMP là phần mềm miễn phí xuất sắc nhất trong lĩnh vực biên tập ảnh : + Cho phép chỉnh sửa ảnh, ghép ảnh, sáng tác

+ Tương thích với các plugin dành cho các phần mềm khác + Sử dụng giấy phép GPL v3.

The GIMP có cộng đồng sử dụng rộng lớn, chia sẻ các tài nguyên cho việc sáng tác chỉnh sửa ảnh.

<b>So sánh GIMP và Photoshop </b>

- Không hỗ trợ cho hệ thống khớp màu Pantone.

- Chưa xử lý được ảnh 16 bit mầu - Hạn chế trong chỉnh Gamma - Và một số tác vụ cao cấp khác

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Cake PHP sử dụng giấy phép MIT, tạo sự thơng thống cho người sử dụng khi hầu như không phải quan tâm về mặt luật pháp.

Tương thích với PHP version 4,5

Trao đổi dữ liệu với cơ sở dữ liệu dễ dàng. Tự động sinh code. (code generation). Tự động kiểm tra cú pháp.

Hỗ trợ các thành phần xây dựng Email, Cookie, Security và Request Handling …

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

Joomla! được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng. Joomla! có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao.

<i>Joomla! có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn đàn, </i>

bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ.

<b>3.13. Wordpress </b>

WordPress được biết đến như một CMS miễn phí nhưng tốt, dễ sử dụng và phổ biến nhất trên thế giới. Các so sánhđều cho thấy người dùng sử dụng CMS này cho việc lập các trang web cá nhân đến các trang báo điện tử đồ sộ nhất như CNN, Dow John, Wall Street Journal... sử dụng WordPress.

WordPress viết bằng ngôn ngữ lập trình PHP và sử dụng hệ quản trị CSDL MySQL. Các tính năng nổi bật của Wordpress:

- Hệ thống Plugin phong phú và không ngừng cập nhật - Có thể viết Plugin hoặc tích hợp

code vào Wordpress.

- Được phát triển bằng nhiều ngôn ngữ (hỗ trợ tiếng việt).

- Cập nhật phiên bản liên tục, cộng đồng hỗ trợ lớn.

- Có hệ thống Theme đồ sộ, nhiều theme chuyên nghiệp có khả năng SEO tốt. - Việc quản lý blog, quản lý các bài viết rất thuận tiện giống như các phần mềm

thiết kế website chuyên nghiệp.

- Thể hiện các tệp PDF, DOC, Powerpoint ngay trên nội dung bài viết.

- Đặc biệt tích hợp sẵn Latex giúp người sử dụng có thể viết cơng thức tốn học ngay trên blog.

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

- Được áp dụng để xây dựng website tin tức và Blog

<b>3.14. ECLIPSE </b>

Website:

Bắt đầu dự án: 2011

<i>Nền tảng Eclipse được cấu tạo từ một IDE (mơi trường phát triển tích hợp) mở, tức </i>

là một chương trình được cấu tạo từ một tập hợp các cơng cụ hữu ích cho một lập trình viên. Các yếu tố cơ bản của một IDE bao gồm một trình soạn thảo mã nguồn, một trình biên dịch và một trình gỡ lỗi (debugger). Eclipse là một IDE trong Java và cung cấp hàng loạt các công cụ phát triển phần mềm.

Nó cũng hỗ trợ các ngơn ngữ lập trình khác, như C/C++, Cobol, Fortran, PHP hoặc Python. Các trình cài cắm (plug-in) có thể được bổ sung vào nền tảng cơ bản của Eclipse để gia tăng chức năng.

Eclipse là sẵn sàng cho các hệ điều hành Windows, Linux, Solaris, AIX, HP-UX và Mac OS X.

Eclipse được phân phối theo một giấy phép EPL (Eclipse Public License).

4/1996 Apache trở thành HĐH máy chủ thông dụng nhất

9/2009, Apache phục vụ khoảng 54.48% websites trên thế giới So sánh giữ Apache và IIS

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<i><b>Chúc Anh/ Chị học tập tốt! </b></i>

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<b>BÀI 4 - LINUX KERNEL </b>

<b>MỤC TIÊU BÀI HỌC </b>

Học xong bài này Anh/ Chị sẽ:

- Biết được khái niệm, chức năng, nhiệm vụ của nhân Linux - Biết được lịch sử sơ lược phiên bản nhân Linux

- Nắm được kiến trúc hệ điều hành nhân Linux

- Nắm được chức năng nhiệm vụ của từng hệ thống con chính của nhân

<b>4.1. GIỚI THIỆU LINUX </b>

Linux là nhân của hệ điều hành, tương tác trực tiếp với phần cứng và cung cấp các dịch vụ cho chương trình người sử dụng (User Program).

Nhiều các ứng dụng khác bổ xung kết hợp với nhân Linux làm thành một hệ điều hành sử dụng được, các ứng dụng đó phần lớn là phần mềm GNU. Chính vì vậy, hệ điều hành này được gọi là GNU/Linux.

<b>4.2. LỊCH SỬ PHIÊN BẢN NHÂN LINUX </b>

Tháng 07/1991 Linus Tovalds (một sinh viên Phần Lan 21 tuổi) đã đưa ra thông điệp đầu tiên nhắc tới dự án của anh ta để xây dựng một hệ điều hành tự do tương tự như Minix.

Vào tháng 09 anh ta đã đưa ra phiên bản đầu tiên nhất (0.01), và sau mỗi ít tuần các phiên bản mới đã xuất hiện.

Tháng 12/1991, Linus Tovalds đưa ra phiên bản 0.11, sử dụng giấy phép GNU GPL. Phiên bản này có 10239 dòng lệnh.

Vào tháng 03/1994, phiên bản 1.0 đã xuất hiện, lần đầu tiên một phiên bản được gọi là ổn định. Phiên bản này có 176250 dịng lệnh.

Tháng 6/1996, phiên bản 2.0 ra đời, có 310950 dịng lệnh.

Tháng 12/2003, phiên bản 2.6.0 xuất hiện với gần 6 triệu dòng lệnh.

</div>

×