Đề tài Tìm hiểu mã nguồn mở và ứng dụng PHP

Có thể nói mã nguồn mở là một trào lưu hiện đang phát triển rất nhanh trên thế giới hiện nay. Microsoft đã từng đặt Linux và cộng đồng nguồn mở là một nguy cơ thực sự. Giờ đây, phần mềm nguồn mở đã chiếm ưu thế trong hạ tầng công nghệ thông tin. GNU/Linux và những ích lợi các loại của BSD Unix đã thống trị Internet, Perl và PHP là các ngôn ngữ phát triển chiếm ưu thế của WWW, và Apache thực sự đã mở rộng thị phần 80% sớm của mình giữa các máy chủ web. Tất cả các sản phẩm này đều là phần mềm nguồn mở. Việt Nam đã vào WTO, ngày càng hòa nhập sâu rộng vào thế giới, vấn đề bảo hộ quyền sở hữu trí tuệ trở nên quan trọng hơn bao giờ hết. Bởi vì, việc thực thi nghiêm ngặt bảo hộ quyền sở hữu trí tuệ nói chung và phần mềm nói riêng là một trong những điều kiện tiên quyết để nước ta thực hiện Hiệp định đã ký. Khi đã gia nhập WTO thì vấn đề bắt buộc phải sử dụng các phần mềm có bản quyền sẽ được thắt chặt. Trong điều kiện nguồn vốn còn quá nghèo nàn như ở nước ta hiện nay thì giải pháp sử dụng phần mềm nguồn mở (Open Source Software-OSS) là một cách rất hữu hiệu để Việt Nam có chỗ đứng chuyên nghiệp hơn trong "thế giới phẳng" đó. Tuy nhiên, OSS còn khá mới mẻ, không ít người cho rằng OSS đồng nghĩa với miễn phí hoàn toàn, ít tính năng và không an toàn. Richard Stalhman (ông tổ của mã nguồn mở) đã nói rằng chúng ta nên “bắt đầu ngay từ trong nhà trường”, đó chính là lí do để đề tài “TÌM HIỂU PHẦN MỀM NGUỒN MỞ” ra đời. Đề tài nhằm cung cấp một cách khái quát về OSS, cụ thể tìm hiểu về PHP và bước đầu xây dựng ứng dụng thực tiễn.

doc114 trang | Chia sẻ: tuandn | Lượt xem: 2552 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu mã nguồn mở và ứng dụng PHP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN *************** ĐỀ TÀI TÌM HIỂU Mà NGUỒN MỞ VÀ ỨNG DỤNG PHP Giáo viên hướng dẫn: Sinh viên thực hiện: Vũ Thị Phượng Nguyễn Thị Trìu Mến Lớp K55A – CNTT Hà Nội, tháng 4/2008 LỜI MỞ ĐẦU Có thể nói mã nguồn mở là một trào lưu hiện đang phát triển rất nhanh trên thế giới hiện nay. Microsoft đã từng đặt Linux và cộng đồng nguồn mở là một nguy cơ thực sự. Giờ đây, phần mềm nguồn mở đã chiếm ưu thế trong hạ tầng công nghệ thông tin. GNU/Linux và những ích lợi các loại của BSD Unix đã thống trị Internet, Perl và PHP là các ngôn ngữ phát triển chiếm ưu thế của WWW, và Apache thực sự đã mở rộng thị phần 80% sớm của mình giữa các máy chủ web... Tất cả các sản phẩm này đều là phần mềm nguồn mở.  Việt Nam đã vào WTO, ngày càng hòa nhập sâu rộng vào thế giới, vấn đề bảo hộ quyền sở hữu trí tuệ trở nên quan trọng hơn bao giờ hết. Bởi vì, việc thực thi nghiêm ngặt bảo hộ quyền sở hữu trí tuệ nói chung và phần mềm nói riêng là một trong những điều kiện tiên quyết để nước ta thực hiện Hiệp định đã ký. Khi đã gia nhập WTO thì vấn đề bắt buộc phải sử dụng các phần mềm có bản quyền sẽ được thắt chặt. Trong điều kiện nguồn vốn còn quá nghèo nàn như ở nước ta hiện nay thì giải pháp sử dụng phần mềm nguồn mở (Open Source Software-OSS) là một cách rất hữu hiệu để Việt Nam có chỗ đứng chuyên nghiệp hơn trong "thế giới phẳng" đó. Tuy nhiên, OSS còn khá mới mẻ, không ít người cho rằng OSS đồng nghĩa với miễn phí hoàn toàn, ít tính năng và không an toàn. Richard Stalhman (ông tổ của mã nguồn mở) đã nói rằng chúng ta nên “bắt đầu ngay từ trong nhà trường”, đó chính là lí do để đề tài “TÌM HIỂU PHẦN MỀM NGUỒN MỞ” ra đời. Đề tài nhằm cung cấp một cách khái quát về OSS, cụ thể tìm hiểu về PHP và bước đầu xây dựng ứng dụng thực tiễn. Mục lục PHẦN I. PHẦN MỀM NGUỒN MỞ I. Khái niệm OSS 1.1. Một số kiểu phần mềm hiện nay Trong ngµnh PhÇn mÒm hiÖn nay cña thÕ giíi ®ang tån t¹i mét sè kiÓu phÇn mÒm c¬ b¶n: * PhÇn mÒm th­¬ng m¹i (Commercial Software). Lµ phÇn mÒm thuéc b¶n quyÒn cña t¸c gi¶ hoÆc nhµ s¶n xuÊt, chØ ®­îc cung cÊp ë d¹ng m· nhÞ ph©n, ng­êi dïng ph¶i mua vµ kh«ng cã quyÒn phÇn phèi l¹i. * PhÇn mÒm thö nghiÖm giíi h¹n (Limited Trial Software ). Lµ nh÷ng phiªn b¶n giíi h¹n cña c¸c phÇn mÒm th­¬ng m¹i ®­îc cung cÊp miÔn phÝ nh»m môc ®Ých thö nghiÖm, giíi thiÖu s¶n phÈm vµ kÝch thÝch ng­êi dïng quyÕt ®Þnh mua. Lo¹i s¶n phÈm nµy kh«ng chØ giíi h¹n vÒ tÝnh n¨ng mµ cßn giíi h¹n ng­êi dïng vÒ thêi gian dïng thö ( th­êng lµ 30 ngµy hoÆc 60 ngµy). * PhÇn mÒm “chia sΔ ( Shareware ). Lo¹i phÇn mÒm nµy cã ®ñ c¸c tÝnh n¨ng vµ ®­îc ph©n phèi tù do, nh­ng cã mét giÊy phÐp khuyÕn c¸o c¸c c¸ nh©n hoÆc tæ chøc mua, tïy t×nh h×nh cô thÓ. NhiÒu tiÖn Ých Internet (nh­ “WinZip” dïng c¸c thuËn lîi cña Shareware nh­ mét hÖ thèng ph©n phèi). * PhÇn mÒm sö dông phi th­¬ng m¹i (Non-commercial Use). Lo¹i phÇn mÒm nµy ®­îc sö dông tù do vµ cã thÓ ph©n phèi l¹i bëi c¸c tæ chøc phi lîi nhuËn. Nh­ng c¸c tæ chøc kinh tÕ, thÝ dô c¸c doanh nghiÖp, ... muèn dïng ph¶i mua. Netscape Navigator lµ mét thÝ dô cña lo¹i phÇn mÒm nµy. * PhÇn mÒm kh«ng ph¶i tr¶ phÇn tr¨m cho nhµ s¶n xuÊt (Royalties Free Binaries Software): PhÇn mÒm ®­îc cung cÊp d­íi d¹ng nhÞ ph©n vµ ®­îc dïng tù do. ThÝ dô: b¶n nhÞ ph©n cña c¸c phÇn mÒm Internet Explorer vµ NetMeeting. *Th­ viÖn phÇn mÒm kh«ng ph¶i tr¶ phÇn tr¨m (Royalties Free Software Libraries):Lµ nh÷ng phÇn mÒm mµ m· nhÞ ph©n còng nh­ m· nguån ®­îc dïng vµ ph©n phèi tù do, nh­ng ng­êi dïng kh«ng ®­îc phÐp söa ®æi. ThÝ dô: c¸c th­ viÖn líp häc, c¸c tÖp “header”, vv .. * C¸c phÇn mÒm M· nguån më hoµn toµn (Open Source Software-OSS). 1.2. Định nghĩa OSS Cã rÊt nhiÒu tæ chøc ®­a ra ®Þnh nghÜa cña m×nh vÒ “Open Source Software”. Tr­íc hÕt xin ®­a ra mét sè quan niÖm cña mét sè Tæ chøc t¹i ViÖt Nam: Theo Trang th«ng tin cña Ban chØ ®¹o PhÇn mÒm nguån më quèc gia ( ) PhÇn mÒm nguån më (OSS) lµ FOSS (Free/Open Source Software) cã sö dông bÊt k× mét d¹ng b¶n quyÒn ®­îc chÊp nhËn nµo cña Tæ chøc s¸ng kiÕn M· nguån Më-OSI (Open Source Initiative- trong b¶n liÖt kª c¸c b¶n quyÒn m· më cña tæ chøc. OSS lµ nh÷ng phÇn mÒm ®­îc cung cÊp d­íi d¹ng m· vµ nguån, kh«ng chØ lµ miÔn phÝ vÒ gi¸ mua mµ chñ yÕu lµ miÔn phÝ vÒ b¶n quyÒn: ng­êi dïng cã quyÒn söa ®æi, c¶i tiÕn, ph¸t triÓn, n©ng cÊp theo mét sè nguyªn t¾c chung qui ®Þnh trong giÊy phÐp OSS (vÝ dô General Public Licence-GPL ) mµ kh«ng cÇn xin phÐp ai, ®iÒu mµ hä kh«ng ®­îc phÐp lµm ®èi víi phÇn mÒm nguån ®ãng (tøc lµ phÇn mÒm nguån ®ãng). Nhµ cung cÊp phÇn mÒm nguån më cã quyÒn yªu cÇu ng­êi dïng tr¶ mét sè chi phÝ vÒ c¸c dÞch vô b¶o hµnh, huÊn luyÖn, n©ng cÊp, t­ vÊn, vv.. tøc lµ nh÷ng dÞch vô thùc sù ®· thùc hiÖn ®Ó phôc vô ng­êi dïng, nh­ng kh«ng ®­îc b¸n s¶n phÈm nguån më v× nã lµ tµi s¶n cña trÝ tuÖ chung, kh«ng lµ tµi s¶n riªng cña mét nhµ cung cÊp nµo. Theo ViÖn Tin häc Ph¸p ng÷ : PhÇn mÒm m· nguån më-(Open Source Software-OSS) lµ phÇn mÒm cã m· nguån ®­îc cung cÊp, ®­îc sao chÐp, ®­îc phÐp söa ®æi vµ ph¸t hµnh. Tuy nhiªn phÇn mÒm vÉn ®­îc b¶o vÖ bëi b¶n quyÒn vµ viÖc sö dông ph¶i tu©n theo mét giÊy phÐp nhÊt ®Þnh, OSS kh«ng cã nghÜa lµ PhÇn mÒm tù do. Cã hai hai kh¸i niÖm cÇn ph¶i ph©n biÖt ®ã lµ PhÇn mÒm tù do vµ phÇn mÒm miÔn phÝ: + PhÇn mÒm tù do (Free Software): cho phÐp tù do sö dông ch­¬ng tr×nh víi mäi môc ®Ých, tù do nghiªn cøu c¸c chøc n¨ng cña phÇn mÒm vµ söa ®æi phÇn mÒm theo nhu cÇu c¸ nh©n (cã quyÒn truy cËp m· nguån cña phÇn mÒm), cho phÐp tù do ph©n phèi b¶n sao phÇn mÒm cho mäi ng­êi, tù do c¶i tiÕn phÇn mÒm vµ tù do c«ng bè c¶i tiÕn cña m×nh. PhÇn mÒm tù do còng kh¸c so víi phÇn mÒm miÔn phÝ. + PhÇn mÒm miÔn phÝ (Freeware): Lµ phÇn mÒm cã chñ së h÷u, kh«ng cã m· nguån tù do, ®­îc cung cÊp miÔn phÝ d­íi nhiÒu h×nh thøc nh­ cho phÐp down load. Nh­ vËy sù kh¸c biÖt c¬ b¶n gi÷a PhÇn mÒm nguån më vµ PhÇn mÒm tù do lµ sù kh¸c nhau trong viÖc b¶o vÖ b¶n quyÒn; tøc lµ OSS th× ®­îc b¶o vÖ bëi luËt b¶n quyÒn cña mét sè Tæ chøc, cßn PhÇn mÒm tù do th× kh«ng nhÊt thiÕt ph¶i cã m· nguån vµ kh«ng cã copyright-kh«ng ®­îc b¶o vÖ. Theo Tæ chøc s¸ng kiÕn m· nguån më quèc tÕ - Open Source Initiative- ( ) ®Þnh nghÜa m· nguån më nh­ sau: (Xem nguyªn b¶n TiÕng Anh trong phÇn Phô lôc): Mét OSS kh«ng cã nghÜa lµ cã thÓ truy cËp trùc tiÕp vµo m· nguån cña ch­¬ng tr×nh; OSS ®­îc ®¶m b¶o ph©n phèi bëi mét sè Tæ chøc m· nguån më, vµ ph¶i ®¶m b¶o ®­îc mét sè néi dung : (1). Ph©n phèi tù do; (2). M· nguån vµ c¶ ch­¬ng tr×nh hoµn thiÖn; (3). Nguån gèc; (4). T«n träng b¶n quyÒn cña t¸c gi¶ m· nguån; (5). Kh«ng ph©n biÖt ®èi xö víi nhãm hay nhiÒu ng­êi; (6). Kh«ng ph©n biÖt trong môc ®Ých sö dông; (7). §­îc ph©n phèi d­íi sù b¶o hé cña c¸c lo¹i giÊy phÐp; (8). C¸c lo¹i giÊy phÐp dùa theo môc ®Ých cña nhµ s¶n xuÊt; (9). GiÊy phÐp sÏ kh«ng h¹n chÕ c¸c phÇn mÒm kh¸c; (10). C¸c giÊy phÐp lµ ®éc lËp so víi mÆt c«ng nghÖ. Cã rÊt nhiÒu lo¹i giÊy phÐp cña c¸c tæ chøc M· nguån më kh¸c nhau, nh­ Apache, GNU/GPL, Mozilla, hay cña Tæ chøc BSD (Berkely Software Distribution) vv… sÏ ®­îc tr×nh bµy chi tiÕt trong phÇn “C¸c luËt vÒ M· nguån më”. Theo David Wheeler thì “OSS là những chương trình mà quy trình cấp phép sẽ cho người dùng quyền tự do chạy chương trình theo bất kỳ mục đích nào, quyền nghiên cứu và sửa đổi chương trình, quyền sao chép và tái phát hành phần mềm gốc hoặc phần mềm đã sửa đổi (mà không phải trả tiền cho những người lập trình trước)”. Xét về phương diện phí đăng ký, OSS gần như miễn phí hoàn toàn. Đa số các sản phẩm của OSS có thể tải từ Internet về mà không phải mất một chút phí nào. Tuy nhiên, hiểu OSS luôn luôn miễn phí là hoàn toàn chưa đúng, bởi vì người sử dụng còn phải trả các chi phí nhân sự, yêu cầu về phần cứng, chi phí đào tạo, chi phí cho các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn…, tức là những dịch vụ thực sự đã thực hiện để  phục vụ người dùng. Nhưng nếu xét tất cả các chi phí thì OSS cũng rẻ hơn, kinh tế hơn phần mềm có bản quyền rất nhiều. Tóm lại OSS là những phần mềm được cung cấp miễn phí về bản quyền và mã nguồn chương trình, người dung có thể sao chép, chỉnh sửa, phân phối, đóng gói và phát hành; nhưng phải tuân thủ những quy định của các laoị giấy phép nhất định và được bảo vệ bản quyền. II. Lịch sử phần mềm nguồn mở (OSS) Những năm 1945-1975: Phần mềm thường được trao đổi giữa các nhà lập trình. Năm 1969: Đánh dấu sự ra dơid của Unix, trao đổi tự do. Bắt đầu những năm 1970, mã nguồn dần “đóng lại”. Năm 1984 phiên bản Unix thương mại (có bản quyền và giấy phép). Năm 1984, Richard Stalhan thành lập GNU phát triển các phần mềm tự do trên Unix. Năm 1989 FSF (Free Software Foundation) định nghĩa giấy phép GNU GPL (General Puplic Licesne ) và Copyleft. Năm 1991, Linus Torvald công bố mã nguồn của nhân một hệ điều hành mới trên Internet. Năm 1992, Linux sử dụng giấy phép GPL GNU/Linux = Nhân Linux + tiện ích GNU. Năm 1994, Linux được cài đặt lên các Proceessor của Intel: Alpha, ARM, RISC, PowerPC, Sparc,… Năm 1995 ra đời Apache Web Server 2/3 Web servers trên Internet. Năm 1999 ra đời giao diện đồ họa KDE, GNOME. Xfree86 phiên bản GNU của X-Windows. Năm 2002: Sun Microsystem công bố OpenOffice.org. 1/2006: Cộng đồng mã nguồn mở GNU đưa ra phiên bản mới của Luật mã nguồn mở GPL v3. Lịch sử của OSS gắn liền với Richard Stalhman, làm việc tại phòng thí nghiệm Trí tuệ nhân tạo MIT, là người đầu tiên thấy được sức mạnh của các phần mềm “tự do”, tự do ở đây hiểu theo nghĩa tự do thay đổi mã nguồn không hẳn theo nghĩa tự do về giá cả (hay miễn phí), người được coi như là một “vị thánh” trong cộng đồng GNU/Linux, và là người sáng lập Hiệp hội phần mềm miễn phí (FSF) tại Mĩ, lập giấy phép nguồn mở GPL (General Public License), và tạo nền tảng cho Linus Torvalds viết hệ điều hành Linux. Tuy khái niệm mã nguồn mở được Richard Stalhman nêu ra từ những năm 1970, nhưng thực sự trở thành một khuynh hướng rõ rệt trong lĩnh vực phần mềm khoảng từ năm 1991, sau khi Linux ra đời. Mét sè tæ chøc OSS Có rất nhiều các tổ chức OSS hoạt động phi lợi nhuận, dưới đây chỉ sin được nêu ra 5 tổ chức lớn nhất: - Tổ chức phần mềm tự do FSF - Tổ chức phần mềm quốc tế OSI - Tổ chức phần mềm Apache - Tổ chức Mozilla - Viện nghiên cứu phần mềm mã mở và tự do BSD III. Ưu – Nhược điểm của OSS 3.1.Ưu điểm Lợi ích của OSS thể hiện rõ nhất ở tính kinh tế của nó, sử dụng OSS thực sự đã tiết kiệm được khoản tiền khổng lồ. Song đó không phải là tất cả, bởi đôi khi lựa chọn phần mềm, người ta không quá chú trọng duy nhất vào vấn đề kinh phí, cái mà họ quan tâm là tiện ích sử dụng, chất lượng phần mềm. Xét về mặt này OSS có những ưu việt đáng kể như: Tính an toàn; Tính ổn định/ đáng tin cậy; Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp; Giảm phụ thuộc vào nhập khẩu; Phát triển năng lực ngành công nghiệp địa phương; Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ; tính tuân thủ WTO; Nội địa hoá. - Tính an toàn: Thực tế cho thấy không hề tồn tại một hệ điều hành nào mà tính an toàn của nó được hoàn hảo. Song, so với phần mềm nguồn đóng (PMNĐ) thì OSS ưu việt hơn hẳn về độ an toàn, bởi vì: + Thứ nhất, mã nguồn được phổ biến rộng rãi giúp người lập trình và người sử dụng dễ phát hiện và khắc phục những lỗ hổng an toàn trước khi chúng bị lợi dụng. Các OSS thường có quy trình rà soát chủ động chứ không phải rà soát đối phó. + Thứ hai, ưu tiên tính an toàn đặt trên tiêu chí tiện dụng. Trước khi thêm bất cứ tính năng nào vào ứng dụng OSS, bao giờ người ta cũng cân nhắc đến khía cạnh an toàn và tính năng đó sẽ chỉ được đưa vào nếu không làm yếu đi tính an toàn của hệ thống. + Thứ ba, các hệ thống OSS chủ yếu dựa trên mô hình của Unix, nhiều người sử dụng, thuận tiện cho kết nối mạng. Vì vậy, chúng được thiết kế với một cấu trúc an toàn bảo mật cao, để một người sử dụng bất kỳ không thể đột nhập vào máy chủ, ăn trộm dữ liệu cá nhân của người khác hoặc làm cho mọi người không thể tiếp cận được với các dịch vụ do hệ thống cung cấp. - Tính ổn định / đáng tin cậy: Các OSS nổi tiếng là ổn định và đáng tin cậy. Đây là kết luận rút ra sau khi các nhà nghiên cứu đã tiến hành thử nghiệm so sánh với các PMNĐ khác. - Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp: OSS thực chất dựa trên ba trụ cột “mở”: Nguồn mở, chuẩn mở, nội dung mở. OSS luôn sử dụng các chuẩn mở bởi hai lý do sau : + Một là sẵn có mã nguồn. Với mã nguồn phổ biến công khai, người ta lúc nào cũng có 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 tùy biến đều đã thể hiện rõ trong mã nguồn, khiến không ai có thể dấu một chuẩn riêng trong một hệ thống OSS. + Hai là chủ động tương thích chuẩn. Khi đã có những chuẩn đã được thừa nhận rộng rãi thì các dự án OSS luôn chủ động bám sát những chuẩn này. Đặc biệt, khi sử dụng các sản phẩm OSS, người sử dụng không còn phải lệ thuộc vào nhà cung cấp nữa. - Giảm lệ thuộc vào xuất khẩu: Trước kia, mỗi quốc gia đang phát triển muốn có một PMNĐ thì họ phải trả chi phí khổng lồ để có được giấy phép sử dụng chúng. Điều này làm tiêu hao quỹ dự trữ ngoại tệ quốc gia. Giải pháp OSS ra đời đã giúp các quốc gia này dễ dàng giải quyết khó khăn vừa nêu. - Phát triển năng lực ngành công nghiệp phần mềm địa phương: Phát triển OSS tạo năng lực đổi mới của một nền kinh tế. Bởi vì OSS, theo nguyên lý khuyến khích sửa đổi và lưu hành tự do, rất dễ tìm, dễ sử dụng và dễ học hỏi. OSS cho phép các nhà lập trình phát huy kiến thức và những nhân tố hiện có để tiếp tục sáng tạo nên những phần mềm mới, giống như phương pháp tiến hành nghiên cứu cơ bản. Bản chất mở và tính phối hợp cao của quy trình phát triển OSS cho phép người học có thể tìm hiểu và thí nghiệm với các khái niệm phần mềm mà hầu như không gây tốn kém trực tiếp cho xã hội. - Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ và tính tuân thủ WTO: Tỷ lệ sao chép phần mềm trên thế giới nói chung là rất cao, ngay cả ở những nước phát triển cũng vậy, như Mỹ là 24%, châu Âu là 35%. Nạn sao chép phần mềm này làm thiệt hại cho các quốc gia trên nhiều phương diện. OSS ra đời là giải pháp hữu ích cho vấn đề này. - Bản địa hoá: Đây là lĩnh vực mà OSS tỏ rõ nhất ưu thế của mình. Người sử dụng OSS có thể tự do sửa đổi để phần mềm trở nên thích ứ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 cứ OSS nào. 3.2. Nhược điểm Không tồn tại phần mềm nào hoàn hảo và thích hợp cho mọi tình huống, OSS cũng còn những hạn chế nhất định, đó là : - Thiếu các ứng dụng kinh doanh đặc thù: Mặc dù có rất nhiều dự án OSS đang được tiến hành, vẫn còn nhiều lĩnh vực chưa có một sản phẩm phần mềm hoàn thiện, đặc biệt là trong kinh doanh. Đó là do thiếu những người vừa giỏi về kỹ thuật lại vừa thạo về kinh doanh. - Tính tương hỗ với các phần mềm đóng: Các OSS nhất là khi cài trên máy để bàn, thường không hoàn toàn tương thích với PMNĐ. Đến lúc nào đó, khi các công ty đã chuyển từ hệ thống chuẩn đóng sang chuẩn mở thì vấn đề này sẽ được khắc phục. OSS thiếu mất tính tiện dụng vốn là đặc trưng của phần mềm thương mại. Ngoài việc thiếu vắng một hệ thống hỗ trợ có chất lượng cao thì giao diện đồ họa với người sử dụng (GUI – Graphical User Interface) của OSS cũng không thân thiện. Vì giao diện đồ họa trong đa số các hệ thống OSS không phải là một nhân tố riêng lẻ mà là một tập hợp kết quả từ nhiều dự án khác nhau, các yếu tố của giao diện thường hoạt động theo trình tự rất khác nhau. Chỉ riêng lệnh “lưu dữ liệu” của chương trình này cũng đã khác chương trình kia, đây là điểm khác biệt so với các hệ điều hành nguồn đóng như Microsoft Windows. Mặc dù khá nhiều công sức đang được bỏ ra để thống nhất giao diện cho các chức năng cấu thành nhưng hệ điều hành OSS có thể sẽ vẫn ở tình trạng thiếu đồng bộ trong một thời gian nữa. Tuy nhiên, cùng với sự phát triển của OSS, tất cả những hạn chế này sẽ dần được khắc phục. IV. Luật phần mềm nguồn mở 4.1.Giấy phép của cộng đồng GNU (The GNU General Public License – GNU/GPL) Giấy phép công cộng GNU Phiên bản 2, tháng 6/1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Mọi người đều được phép sao chép và lưu hành bản sao nguyên bản nhưng không được phép thay đổi nội dung của giấy phép này. Lời nói đầu Giấy phép sử dụng của hầu hết các phần mềm đều được đưa ra nhằm hạn chế bạn tự do chia sẻ và thay đổi nó. Ngược lại, Giấy phép Công cộng của GNU có mục đích đảm bảo cho bạn có thể tự do chia sẻ và thay đổi phần mềm (tự do) - tức là đảm bảo rằng phần mềm đó là tự do đối với mọi người sử dụng. Giấy phép Công cộng này áp dụng cho hầu hết các phần mềm của Tổ chức Phần mềm Tự do và cho tất cả các chương trình khác mà tác giả của chúng cho phép áp dụng. (Đối với một số phần mềm khác của Tổ chức Phần Mềm Tự do, có thể nên áp dụng Giấy phép Công cộng Hạn chế của GNU thay cho giấy phép này ). Bạn cũng có thể áp dụng nó cho các chương trình của mình. Khi nói đến phần mềm tự do, chúng ta nói đến sự tự do sử dụng chứ không quan tâm về giá cả. Giấy phép Công cộng của chúng tôi được thiết kế để đảm bảo rằng bạn hoàn toàn tự do cung cấp các bản sao của phần mềm tự do (và thu tiền đối với dịch vụ này nếu bạn muốn), rằng bạn có thể nhận được mã nguồn nếu bạn có yêu cầu, rằng bạn có thể thay đổi phần mềm hoặc sử dụng các thành phần của phần mềm đó cho những chương trình tự do mới; và rằng bạn biết chắc là bạn có thể làm được những điều này. Để bảo vệ các quyền của bạn, chúng tôi cần đưa ra những hạn chế để ngăn chặn những ai chối bỏ quyền của bạn, hoặc yêu cầu bạn chối bỏ quyền của mình. Những hạn chế này đồng thời cũng là những trách nhiệm nhất định của bạn khi bạn cung cấp các bản sao phần mềm hoặc khi bạn chỉnh sửa các phần mềm đó. Ví dụ, nếu bạn cung cấp các bản sao của một chương trình, dù miễn phí hay không, bạn phải cho người nhận tất cả các quyền mà bạn có. Bạn cũng phải đảm bảo rằng họ cũng nhận được hoặc tiếp cận được mã nguồn. Và bạn phải thông báo những điều khoản này để họ biết rõ về quyền của mình. Chúng tôi bảo vệ quyền của bạn với hai bước: (1) xác lập bản quyền đối với phần mềm, và (2) cấp giấy phép này để bạn có thể sao chép, lưu hành và/hoặc chỉnh sửa phần mềm một cách hợp pháp. Ngoài ra, để bảo vệ các tác giả cũng như để bảo vệ chính mình, chúng tôi muốn chắc chắn rằng tất cả mọi người đều hiểu rõ rằng phần mềm tự do không hề có bảo hành. Nếu phần mềm được chỉnh sửa thay đổi bởi một người khác và sau đó chuyển tiếp sang người khác nữa, thì chúng tôi muốn người tiếp nhận nó biết rằng phiên bản họ đang có không phải là bản gốc, do đó tất cả những trục trặc do những người khác gây ra hoàn toàn không ảnh hưởng tới uy tín của tác giả ban đầu. Cuối cùng, bất kỳ một chương trình tự do nào cũng đều thường xuyên có nguy cơ bị đe doạ về bản quyền phần mềm. Chúng tôi muốn tránh nguy cơ khi những người cung cấp lại một chương trình tự do có thể có được giấy phép bản quyền cho bản thân họ, từ đó trở thành độc quyền đối với chương trình. Để ngăn ngừa trường hợp này, chúng tôi đã nêu rõ rằng mỗi giấy phép bản quyền hoặc phải được cấp cho tất cả mọi người sử dụng một cách tự do hoặc hoàn toàn không được cấp phép. Dưới đây là những điều khoản và điều kiện cho việc sao chép, lưu hành và chỉnh sửa. Những điều khoản và điều kiện đối với việc sao chép, lưu hành và chỉnh sửa Giấy phép này áp dụng cho bất kỳ một chương trình hay sản phẩm nào mà người giữ bản quyền công bố rằng nó có thể được cung cấp trong khuôn khổ những điều khoản của Giấy phép Công cộng này. Từ “Chương trình” dưới đây có nghĩa là bất cứ chương trình hay sản phẩm nào như vậy, và “sản phẩm dựa trên Chương trình” có nghĩa là Chương trình hoặc bất kỳ một sản phẩm nào bắt nguồn từ Chương trình đó tuân theo luật bản quyền, tức là một sản phẩm dựa trên Chương trình hoặc một phần của nó, dù là đúng nguyên bản hoặc có một số chỉnh sửa và/hoặc được dịch ra một ngôn ngữ khác. (Dưới đây, việc dịch cũng được hiểu trong khái niệm “chỉnh sửa”). Mỗi người được cấp phép được gọi là “bạn”. Các hoạt động khôn