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
Trang 1Giá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
Trang 2LỜ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.
Trang 3M c l c ục lục ục lục
PHẦN I PHẦN MỀM NGUỒN MỞ 8
I Khỏi niệm OSS 8
1.1 Một số kiểu phần mềm hiện nay 8
1.2 Định nghĩa OSS 9
II Lịch sử phần mềm nguồn mở (OSS) 11
III Ưu – Nhược điểm của OSS 13
3.1.Ưu điểm 13
3.2 Nhược điểm 16
IV Luật phần mềm nguồn mở 17
4.1.Giấy phộp của cộng đồng GNU 17
4.2 Giấy phộp của tổ chức phần mềm APACHE 28
4.3 GIấY PHéP CủA Tổ CHứC BSD 34
V Để một chương trỡnh trở thành một PMNM 37
5.1 Tiếp cận mó nguồn mở bắt đầu từ đõu? 37
5.2 Khái quát chung 38
VI Hiện trạng sử dụng OSS ở Việt Nam hiện nay 45
VI Một số phần mềm nguồn mở phổ biến 48
6.1 Trong lĩnh vực Văn phòng và đồ họa 49
6.2 Trong thế giới Đa phơng tiện và Giải trí 53
6.3 Trong lĩnh vực Internet và truyền thông 53
Dowload tại http://www.mozilla.org/ 55
VII Xu hớng vủa ngành phần mềm thế giới và Việt Nam 58
7 1 Xu hớng của PMNM trên thế giới thời gian tới 58
PHẦN II ỨNG DỤNG PHP 62
I Giới thiệu về bộ công cụ mã nguồn mở MySQL+ PHP+ Apache 62
1.1.Cơ sơ dữ liệu My SQL 62
1.1.1 Tổng quan về MySQL 62
1.1.2.Cài đặt MySQL 63
1.1.3 Bảo mật trong MySQL 64
1.2 Ngôn ngữ PHP 64
1.2.1 Tổng quan về PHP 64
1.2.2 Cài đặt PHP 65
1.2.3 Tại sao sử dụng PHP và MySQL 66
1 3.Phần mềm máy chủ web Apache (Webserver Apache) 68
II BÀI TOÁN ỨNG DỤNG MÃ NGUỒN MỞ PHP 69
(QUẢN LÍ ĐĂNG KÍ SỬ DỤNG TÀI SẢN) 69
2.1 Thực trạng và hướng phỏt triển đề tài 69
2.2 Sơ đồ chức năng 70
PHỤ LỤC……….69
Trang 4PHẦ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ầnmề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ỉ đợccung cấp ở dạng mã nhị phân, ngời dùng phải mua và không có quyền phần phốilạ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ấpmiễ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ùngquyế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ớihạ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, nhng 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 Nhng các tổ chức kinh tế, thí dụ các doanh nghiệp, muốndù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, nhng ngời dùng không đợc phép sửa đổi Thí dụ: các th viện lớphọc, các tệp “header”, vv
Trang 5* 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
(http://www.oss.gov.vn ) 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- http://www.opensource.org ) 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, nhng 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.
Trang 6Có 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ềmtheo 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ự dophâ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ềncủ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-(http://www.opensource.org ) định nghĩa mã nguồn mở nh sau: (Xem nguyên bảnTiế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ếpvà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ệ.
Trang 7Có rất nhiều loại giấy phép của các tổ chức Mã nguồn mở khác nhau, nhApache, 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.
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”.
Trang 8- Năm 1984 phiên bản Unix thương mại (có bản quyền
- 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 theonghĩ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
Trang 9Richard Stalhman nêu ra từ những năm 1970, nhưng thực sự trở thành một khuynhhướng rõ rệt trong lĩnh vực phần mềm khoảng từ năm 1991, sau khi Linux ra đời.
- 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á.
Trang 10- 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
Trang 11+ 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.
Trang 123.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.
Trang 13IV 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
Trang 14Để 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
Trang 15Dướ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
0 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ông phải là sao chép, lưu hành và chỉnh sửa thì không được
đề cập ở đây; chúng nằm ngoài phạm vi của Giấy phép này Hành động chạy chương trình không bị ngăn cấm, và những kết quả thu được từ việc chạy Chương trình chỉ thuộc phạm vi áp dụng của Giấy phép này nếu nội dung của
nó tạo thành một sản phẩm dựa trên Chương trình (cho dù nhờ có việc chạy Chương trình mà mới có được nó) Khả năng này có xảy ra hay không là phụ thuộc vào công việc mà Chương trình thực hiện
1 Bạn có thể sao chép và lưu hành những bản sao nguyên bản của mã nguồn Chương trình đúng như khi bạn nhận được nó, qua bất kỳ phương tiện phân phối nào, với điều kiện rằng trên mỗi bản sao bạn đều kèm theo một ghi chú bản quyền rõ ràng và từ chối bảo hành; giữ nguyên tất cả những nội dung thông báo đề cập đến Giấy phép này và về việc không có bất kỳ một sự bảo hành nào; và cùng với Chương trình, bạn cung cấp cho người sử dụng một bản sao của Giấy phép này
Trang 16Bạn có thể tính phí cho việc cung cấp vật lý một bản sao nào đó, và tuỳ theo quyết định của mình bạn có thể đưa ra một cam kết bảo hành để lấy một khoản phí tương ứng
2 Bạn có thể chỉnh sửa bản sao của bạn hoặc các bản sao của Chương trình hoặc của bất kỳ phần nào của nó, từ đó hình thành một sản phẩm dựa trên Chương trình, và sao chép cũng như lưu hành sản phẩm hoặc những chỉnh sửa
đó theo các điều khoản tại Mục 1 ở trên, với điều kiện bạn cũng đáp ứng tất cả những điều kiện dưới đây:
• a) Bạn phải có ghi chú rõ ràng trong những tập tin đã chỉnh sửa là bạn đã chỉnh sửa nó, và ngày tháng của bất kỳ một thay đổi nào
• b) Đối với các sản phẩm nào bạn cung cấp hoặc phát hành mà bao gồm hoặc bắt nguồn hoàn toàn hay một phần từ Chương trình hoặc bất cứ phần nào của
nó thì Bạn phải cấp phép miễn phí cho tất cả các bên thứ ba theo những điều khoản của Giấy phép này
• c) Nếu chương trình đã chỉnh sửa thường đọc lệnh tương tác trong khi chạy, bạn phải thực hiện sao cho khi bắt đầu chạy để sử dụng tương tác theo cách thông thường nhất, chương trình phải in ra hoặc hiện ra một thông báo về bản quyền và thông báo về việc không có bảo hành (hoặc thông báo bạn là người cung cấp bảo hành), và rằng người sử dụng có thể cung cấp lại Chương trình theo những điều kiện đã nêu, và thông báo để người sử dụng biết làm thế nào
để có thể xem bản sao của Giấy phép này (Ngoại lệ: nếu bản thân Chương trình là tương tác nhưng bình thường nó không đưa ra một thông báo nào như trên, thì sản phẩm của bạn dựa trên Chương trình đó cũng không bắt buộc phải
có thông báo như vậy)
Những yêu cầu trên áp dụng cho toàn bộ sản phẩm chỉnh sửa Nếu có những phần xác định được của sản phẩm rõ ràng là không bắt nguồn từ Chương trình,
và có căn cứ hợp lý để có thể được xem là những sản phẩm độc lập và riêng biệt, thì Giấy phép này và các điều khoản của nó sẽ không áp dụng cho những
Trang 17phần đó khi bạn cung cấp chúng như những sản phẩm riêng biệt Nhưng khi bạn cung cấp những phần đó như những phần nhỏ trong cả một sản phẩm dựa trên Chương trình thì việc cung cấp toàn bộ sản phẩm này phải tuân theo
những điều khoản của Giấy phép này, mà giá trị cấp phép của nó đối với người được cấp phép sẽ áp dụng đối với toàn bộ sản phẩm và do đó, đối với từng và tất cả các phần trong đó, bất kể ai đã viết ra nó
Như vậy, phần quy định này không nhằm mục đích xác nhận quyền hoặc tranh giành quyền của bạn đối với những sản phẩm hoàn toàn do bạn viết; mà mục đích của nó là nhằm thực hiện quyền kiểm soát đối với việc cung cấp những sản phẩm bắt nguồn từ hoặc tập hợp thành nhóm dựa trên Chương trình
Ngoài ra, việc kết hợp thuần tuý Chương trình (hoặc một sản phẩm dựa trên Chương trình) với một sản phẩm khác không dựa trên Chương trình trên một tập hợp nào đó của một phương tiện lưu trữ hoặc quảng bá sẽ không làm cho sản phẩm khác đó rơi vào phạm vi áp dụng của Giấy phép này
3 Bạn có thể sao chép và cung cấp Chương trình (hoặc một sản phẩm dựa trên Chương trình, theo Mục 2) dưới hình thức mã đã biên dịch hoặc dạng có thể thực thi được trong khuôn khổ các điều khoản nêu trong Mục 1 và 2 ở trên, nếu như bạn:
• a) Kèm theo đó một bản mã nguồn tương ứng dạng đầy đủ có thể biên dịch được, và mã nguồn này phải được cung cấp theo các điều khoản trong Mục 1
và 2 nêu trên thông qua một phương tiện mang tin thông thường vẫn được sử dụng cho mục đích trao đổi phần mềm; hoặc
• b) Kèm theo đó một đề nghị bằng văn bản có giá trị ít nhất 3 năm về việc cung cấp cho bất kỳ một bên thứ ba một bản sao đầy đủ của mã nguồn tương ứng, và việc cung cấp này phải được thực hiện thông qua một phương tiện thông thường vẫn được sử dụng để trao đổi phần mềm, với chi phí không cao hơn giá chi phí vật lý của hành vi cung cấp và căn cứ theo các điều khoản tại các Mục 1 và 2 nêu trên; hoặc
Trang 18• c) Kèm theo đó những thông tin bạn đã nhận được về đề nghị cung cấp mã nguồn tương ứng (Phương án này chỉ được phép đối với việc phân phối phi thương mại và chỉ với điều kiện nếu bạn nhận được Chương trình dưới hình thức mã đã biên dịch hoặc dạng có thể thực thi được cùng với lời đề nghị như vậy, theo phần b trong điều khoản nêu trên)
Mã nguồn của một sản phẩm là một dạng của sản phẩm thường được dùng cho việc chỉnh sửa nó Với một sản phẩm có thể thi hành, mã nguồn hoàn chỉnh có nghĩa là toàn bộ các mã nguồn cho tất cả các môđun trong sản phẩm đó, cùng với tất cả các tệp tin định nghĩa giao diện đi kèm , cùng với tập lệnh dùng để kiểm soát việc biên dịch và cài đặt các tập tin thi hành Tuy nhiên, có một ngoại lệ đặc biệt là mã nguồn được cung cấp không cần chứa những thành phần mà bình thường vẫn được cung cấp (dưới hình thức mã nguồn hoặc dạng nhị phân) cùng với những thành phần chính (chương trình biên dịch, nhân, và những phần tương tự) của hệ điều hành mà các chương trình sẽ chạy trong đó, trừ khi bản thân thành phần đó lại đi kèm với một tập tin thi hành
Nếu việc cung cấp mã đã biên dịch hoặc tập tin thi hành được thực hiện qua việc cho phép tiếp cận để sao chép từ một địa điểm được chỉ định, thì việc cho phép tiếp cận theo một phương thức tương đương để sao chép mã nguồn từ cùng địa điểm cũng được tính như việc cung cấp mã nguồn, kể cả khi các bên thứ ba không bị buộc phải sao chép mã nguồn cùng với mã đã biên dịch
4 Bạn không được phép sao chép, chỉnh sửa, cấp phép hoặc cung cấp Chương trình trừ phi phải tuân thủ một cách chính xác các điều khoản trong Giấy phép này Bất kỳ ý định sao chép, chỉnh sửa, cấp phép hoặc cung cấp Chương trình theo cách khác đều làm mất hiệu lực và tự động huỷ bỏ quyền của bạn trong khuôn khổ Giấy phép này Tuy nhiên, những bên nào đã nhận được bản sao hoặc quyền từ bạn căn cứ theo Giấy phép này sẽ không bị mất bản quyền, chừng nào các bên đó vẫn tuân thủ đầy đủ các điều khoản của giấy phép này
Trang 195 Bạn không bắt buộc phải chấp nhận Giấy phép này khi bạn chưa ký vào đó Tuy nhiên, thiếu nó bạn sẽ không được phép chỉnh sửa hoặc cung cấp Chương trình hoặc các sản phẩm bắt nguồn từ Chương trình Những hành động này bị luật pháp nghiêm cấm nếu bạn không chấp nhận Giấy phép này Do vậy, bằng việc chỉnh sửa hoặc cung cấp Chương trình (hoặc bất kỳ một sản phẩm nào dựa trên Chương trình), bạn đã thể hiện sự chấp thuận Giấy phép này, cùng với tất cả các điều khoản và điều kiện đối với việc sao chép, cung cấp hoặc chỉnh sửa Chương trình hoặc các sản phẩm dựa trên nó
6 Mỗi khi bạn cung cấp lại Chương trình (hoặc bất kỳ một sản phẩm nào dựa trên Chương trình), người nhận sẽ tự động nhận được giấy phép từ người cấp phép đầu tiên cho phép sao chép, cung cấp và chỉnh sửa Chương trình theo các điều khoản và điều kiện này Bạn không thể áp đặt bất cứ hạn chế nào khác đối với quyền của những người tiếp nhận ở đây Bạn cũng không phải chịu trách nhiệm bắt buộc các bên thứ ba tuân thủ theo Giấy phép này
7 Nếu như, theo quyết định của toà án hoặc với những khiếu nại về việc vi phạm bản quyền hoặc vì bất kỳ lý do nào khác (không chỉ giới hạn trong các vấn đề về bản quyền), mà bạn phải tuân theo các điều kiện (nêu ra trong lệnh của toà án, biên bản thoả thuận hoặc theo cách khác) trái với các điều kiện của Giấy phép GPL, thì chúng cũng không thể miễn cho bạn khỏi những điều kiện của Giấy phép này Nếu bạn không thể đồng thời thực hiện các nghĩa vụ của mình trong khuôn khổ Giấy phép này và các nghĩa vụ thích đáng khác, thì hậu quả là bạn hoàn toàn không được cung cấp Chương trình Ví dụ, nếu giấy phép bản quyền không cho phép những người nhận có được bản sao của Chương trình trực tiếp hoặc gián tiếp qua bạn một cách miễn phí thì trong trường hợp này cách duy nhất bạn có thể thoả mãn cả hai điều kiện là hoàn toàn không cung cấp Chương trình
Nếu bất kỳ một phần nào trong điều khoản này không có hiệu lực hoặc không thể thi hành trong một hoàn cảnh cụ thể, thì phần nội dung còn lại của điều
Trang 20khoản vẫn được áp dụng, và toàn bộ điều khoản sẽ được áp dụng trong những hoàn cảnh khác
Mục đích của điều khoản này không nhằm buộc bạn phải vi phạm bất kỳ bản quyền nào hoặc các quyền sở hữu khác hoặc tranh luận về giá trị hiệu lực của bất kỳ quyền hạn nào như vậy; mục đích duy nhất của điều khoản này là nhằm bảo vệ sự toàn vẹn của hệ thống cung cấp phần mềm tự do đang được thực hiện theo những thực tiễn chung về giấy phép công cộng Nhiều người đã đóng góp một cách tích cực vào hàng loạt các phần mềm tự do được cung cấp thông qua hệ thống này với sự tin tưởng rằng hệ thống được sử dụng một cách thống nhất; tác giả/người cung cấp có quyền quyết định về việc họ có cung cấp phần mềm thông qua hệ thống nào khác hay không, và người được cấp phép không thể tác động tới sự lựa chọn này
Điều khoản này nhằm làm rõ những vấn đề được cho là hậu quả tiếp theo của các phần còn lại của Giấy phép này
8 Nếu việc cung cấp và/hoặc sử dụng Chương trình bị cấm ở một số nước nhất định bởi quy định về sáng chế hoặc bản quyền, và người giữ bản quyền gốc đã quyết định áp dụng Giấy phép này cho Chương trình thì có thể bổ sung một điều khoản cụ thể hạn chế việc cung cấp theo phạm vi lãnh thổ để loại trừ các nước đó ra, tức là việc cung cấp chỉ được phép ở các nước không nằm trong danh sách hạn chế Trong trường hợp đó, điều khoản loại trừ sẽ được coi như một thành phần của Giấy phép này
9 Tổ chức Phần mềm Tự do có thể tuỳ từng thời điểm mà công bố những phiên bản chỉnh sửa và/hoặc phiên bản mới của Giấy phép Công cộng Những phiên bản đó sẽ đồng nhất với tinh thần của phiên bản hiện này, nhưng có thể khác ở một số chi tiết nhằm giải quyết những vấn đề hay những quan ngại mới.
Mỗi phiên bản sẽ có một mã số phiên bản riêng Nếu Chương trình và "bất kỳ
Trang 21một phiên bản nào sau đó" có áp dụng một phiên bản Giấy phép cụ thể, thì bạn
có quyền lựa chọn tuân theo những điều khoản và điều kiện của phiên bản giấy phép đó hoặc của bất kỳ một phiên bản nào sau đó do Tổ chức Phần mềm Tự
do công bố Nếu Chương trình không nêu cụ thể mã số phiên bản giấy phép, bạn có thể lựa chọn bất kỳ một phiên bản nào đã từng được công bố bởi Tổ chức Phần mềm Tự do
10 Nếu bạn muốn kết hợp các phần của Chương trình vào các chương trình tự
do khác mà điều kiện cung cấp khác với chương trình này, hãy viết cho tác giả
để được phép Đối với các phần mềm được cấp bản quyền bởi Tổ chức Phầm mềm Tự do, hãy đề xuất; đôi khi chúng tôi cũng có những ngoại lệ Quyết định của chúng tôi sẽ dựa trên hai mục tiêu là bảo hộ tình trạng tự do của tất cả các sản phẩm bắt nguồn từ phần mềm tự do của chúng tôi, và thúc đẩy việc chia sẻ
và tái sử dụng phần mềm nói chung
KHÔNG BẢO HÀNH
DO CHƯƠNG TRÌNH ĐƯỢC CẤP PHÉP MIỄN PHÍ NÊN KHÔNG CÓ MỘT CHẾ ĐỘ BẢO HÀNH NÀO TRONG MỨC ĐỘ CHO PHÉP CỦA LUẬT PHÁP TRỪ KHI ĐƯỢC CÔNG BỐ KHÁC ĐI BẰNG VĂN BẢN, NHỮNG NGƯỜI GIỮ BẢN QUYỀN VÀ/HOẶC CÁC BÊN CUNG CẤP CHƯƠNG TRÌNH "NGUYÊN TRẠNG" SẼ KHÔNG BẢO HÀNH DƯỚI BẤT KỲ HÌNH THỨC NÀO DÙ CÓ QUY ĐỊNH RÕ HAY NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN TRONG CÁC HÌNH THỨC BẢO
HÀNH ĐỐI VỚI TÍNH THƯƠNG MẠI CŨNG NHƯ TÍNH THÍCH HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ BẠN LÀ NGƯỜI CHỊU TOÀN BỘ RỦI
RO VỀ CHẤT LƯỢNG CŨNG NHƯ VIỆC VẬN HÀNH CHƯƠNG TRÌNH TRONG TRƯỜNG HỢP CHƯƠNG TRÌNH CÓ KHIẾM KHUYẾT, BẠN PHẢI CHỊU TOÀN BỘ CHI PHÍ CHO NHỮNG DỊCH VỤ SỬA CHỮA CẦN THIẾT
TRONG TẤT CẢ CÁC TRƯỜNG HỢP TRỪ KHI CÓ YÊU CẦU CỦA
Trang 22LUẬT PHÁP HOẶC CÓ THOẢ THUẬN BẰNG VĂN BẢN, NHỮNG
NGƯỜI NẮM BẢN QUYỀN HOẶC BẤT KỲ MỘT BÊN NÀO CHỈNH SỬA VÀ/HOẶC CUNG CẤP LẠI CHƯƠNG TRÌNH THEO SỰ CẤP PHÉP NHƯ TRÊN ĐỀU KHÔNG CÓ TRÁCH NHIỆM VỚI BẠN VỀ CÁC LỖI HỎNG HÓC, BAO GỒM CÁC LỖI THÔNG THƯỜNG HAY ĐẶC BIỆT, NGẪU NHIÊN HAY TẤT YẾU NẢY SINH DO VIỆC SỬ DỤNG HOẶC KHÔNG SỬ DỤNG ĐƯỢC CHƯƠNG TRÌNH (BAO GỒM NHƯNG
KHÔNG GIỚI HẠN TRONG VIỆC MẤT DỮ LIỆU, DỮ LIỆU THIẾU CHÍNH XÁC HOẶC CHƯƠNG TRÌNH KHÔNG VẬN HÀNH ĐƯỢC VỚI CÁC CHƯƠNG TRÌNH KHÁC), THẬM CHÍ CẢ KHI NGƯỜI NẮM BẢN QUYỀN VÀ CÁC BÊN KHÁC ĐÃ ĐƯỢC THÔNG BÁO VỀ KHẢ NĂNG XẢY RA NHỮNG THIỆT HẠI ĐÓ
KẾT THÚC CÁC ĐIỀU KIỆN VÀ ĐIỀU KHOẢN.
Áp dụng những điều khoản trên như thế nào đối với chương trình của bạn
Nếu bạn xây dựng một chương trình mới, và bạn muốn cung cấp một cách tối
đa cho công chúng sử dụng, thì biện pháp tốt nhất để đạt được điều này là phát triển chương trình đó thành phần mềm tự do để ai cũng có thể cung cấp lại và thay đổi theo những điều khoản như trên
Để làm được việc này, hãy đính kèm những ghi chú như sau vào chương trình của mình An toàn nhất là đính kèm chúng trong phần đầu của tập tin mã nguồn để thông báo một cách hiệu quả nhất về việc không có bảo hành; và mỗi tệp tin đều phải có ít nhất một dòng về “bản quyền” và trỏ đến toàn văn nội dung thông báo
Một dòng đề tên chương trình và nội dung của nó.
Bản quyền (C) năm, tên tác giả.
Trang 23Chương trình này là phần mềm tự do, bạn có thể cung cấp lại và/hoặc chỉnh sửa nó theo những điều khoản của Giấy phép Công cộng của GNU do Tổ chức Phần mềm Tự do công bố; phiên bản 2 của Giấy phép, hoặc bất kỳ một phiên bản sau đó (tuỳ sự lựa chọn của bạn).
Chương trình này được cung cấp với hy vọng rằng nó sẽ hữu ích, tuy nhiên KHÔNG CÓ BẤT KỲ MỘT BẢO HÀNH NÀO; thậm chí kể cả bảo hành về KHẢ NĂNG THƯƠNG MẠI hoặc TÍNH THÍCH HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ Xin xem Giấy phép Công cộng của GNU để biết thêm chi tiết.
Bạn phải nhận được một bản sao của Giấy phép Công cộng của GNU kèm theo chương trình; nếu bạn chưa nhận được, xin gửi thư về Tổ chức Phần mềm Tự
do, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Bạn cũng phải bổ sung thông tin về địa chỉ liên lạc của bạn (thư điện tử và bưu điện)
Nếu chương trình chạy tương tác, hãy cho nó đưa ra một thông báo ngắn khi bắt đầu chạy chương trình như sau:
Gnomovision phiên bản 69, Copyright (C) năm, tên tác giả.
Gnomovision HOÀN TOÀN KHÔNG CÓ BẢO HÀNH; để xem chi tiết hãy
gõ `show w' Đây là một phần mềm tự do, bạn có thể phân phối tiếp với những điều kiện nhất định, gõ ‘show c’ để xem chi tiết.
Các lệnh có tính giả thiết `show w' và `show c' sẽ cho xem những phần tương ứng trong Giấy phép Công cộng Tất nhiên những lệnh mà bạn dùng có thể khác với ‘show w' và `show c'; những lệnh này có thể là nhấn chuột hoặc lệnh trong thanh công cụ - tuỳ theo chương trình của bạn
Trang 24Khi cần thiết, bạn cũng cần phải lấy chữ ký của người phụ trỏch (nếu bạn là người lập trỡnh) hoặc của trường học (nếu cú) xỏc nhận từ chối bản quyền đối với chương trỡnh Sau đõy là vớ dụ:
Yoyodyne, Inc., bằng văn bản này từ chối tất cả cỏc quyền lợi bản quyền đối với chương trỡnh `Gnomovision' viết bởi James Hacker.
chữ ký của Ty Coon, 1 thỏng 4 năm 1989
Ty Coon, Phú Tổng Giỏm đốc.
Giấy phộp Cụng cộng này khụng cho phộp đưa chương trỡnh của bạn vào trong cỏc chương trỡnh độc quyền Nếu chương trỡnh của bạn là một thư viện thủ tục phụ, bạn cú thể thấy nú hữu ớch hơn nếu cho thư viện liờn kết với cỏc ứng dụng độc quyền Nếu đõy là việc bạn mong muốn, hóy sử dụng Giấy phộp Cụng cộng Hạn chế của GNU thay cho Giấy phộp này.
4.2 Giấy phộp của tổ chức phần mềm APACHE
ĐIỀU KHOẢN VÀ ĐIỀU KIỆN VỀ SỬ DỤNG VÀ SAO
sự chi phối của thực thể nắm quyền Trong định nghĩa này, "chi phối" (control) mang
ý nghĩa (i) quyền, trực tiếp hoặc gián tiếp, định hớng hoặc quản lý các thực thể, thôngqua hợp đồng hoặc một cách nào đó, hoặc (ii) sở hữu ít nhất năm mơi phần trăm(50%) cổ phần hiện tại, hoặc (iii) sở hữu lợi nhuận của thực thể "Bạn" (hoặc "của
Trang 25bạn") - You (or "Your") - chỉ một Cá nhân hoặc Thực thể hợp pháp sẽ sử dụng cácquyền hạn mà Chứng chỉ cho phép.
"Nguồn" - Source - là dạng thờng đợc u tiên sử dụng trong việc sửa đổi, nó bao gồm, nhng không giới hạn trong các dạng sau, mã nguồn phần mềm, văn bản nguồn, và các file cấu hình (configuration files)
"Đối tợng" - Object - là bất kỳ dạng nào đợc sinh ra từ sự biến đổi hoặc biên dịch cơ học từ dạng Nguồn, bao gồm, nhng không giới hạn trong, mã linh dịch, văn bản phát sinh, các chuyển đổi sang các dạng phơng tiện khác
"Sản phẩm" - Work - chỉ sản phẩm của nguồn tác giả (authorship), dới dạngNguồn hay dạng Đối tợng, có giá trị theo các điều khoản nêu trong Chứng chỉ, nh đợc
đề cập đến trong phần thông cáo về bản quyền đi kèm với sản phẩm (Thí dụ về phầnnày đợc cung cấp trong phần Phụ lục phía dới) "Sản phẩm cấu thành" - DerivativeWorks - là bất kỳ sản phẩm nào, dới dạng Nguồn hay dạng Đối tợng, đợc dựa trên(hoặc dẫn xuất từ) Sản phẩm mà vì nó mà các hiệu đính, chú giải, chọn lọc và các thay
đổi khác nói chung, phải đại diện cho Sản phẩm gốc (original work) của nguồn tácgiả Trong phần nội dung của chứng chỉ này, Sản phẩm cấu thành không bao gồm cácsản phẩm mà không có liên hệ hoặc chỉ có liên quan (hoặc chỉ giống tên) với giao diệncủa, Sản phẩm và Sản phẩm cấu thành từ đó "Đóng góp" - Contribution - là tất cả cácSản phẩm của nguồn tác giả, bao gồm phiên bản gốc của Sản phẩm và mọi thay đổihoặc bổ sung cho Sản phẩm hoặc Sản phẩm cấu thành, có nghĩa là những thành phần
đợc đệ trình tới Ngời cấp chứng chỉ một cách có chủ đích để đợc tích hợp trong Sảnphẩm, đợc đệ trình bởi Chủ sở hữu bản quyền hoặc bởi một Cá nhân hay Thực thể hợppháp đợc cấp quyền đệ trình trên danh nghĩa của Chủ sở hữu bản quyền Trong phần
định nghĩa này, "đệ trình" bao gồm bất kỳ dạng giao tiếp nào, điện tử, truyền miệng,hoặc viết, đợc chuyển tới cho Ngời cấp chứng chỉ hoặc đại diện của họ, bao gồm, nhngkhông giới hạn trong, các giao tiếp thông qua danh sách th điện tử, hệ thống kiểm soátmã nguồn, và hệ thống theo dõi vấn đề, đợc điều hành bởi, hoặc dới danh nghĩa của,Ngời cấp chứng chỉ với mục đích thảo luận và cải tiến Sản phẩm, nhng không bao gồmcác giao tiếp đã đợc đánh dấu một cách rõ ràng bởi Chủ sở hữu bản quyền: "Không
"Ngời đóng góp" - Contributor - bao gồm Ngời cấp chứng chỉ và bất kỳ Cá nhân hoặcThực thể hợp pháp mang danh nghĩa của những ngời mà đóng góp của họ đã đợc Ngờicấp chứng chỉ ghi nhận và tích hợp vào trong Sản phẩm
2 Việc cấp chứng chỉ bản quyền
Dựa theo các điều khoản và điều kiện trong Chứng chỉ này, mỗi Ngời đóng gópcung cấp cho Bạn một Chứng chỉ bản quyền (Copyright License) vĩnh viễn, toàn cầu,không riêng biệt, miễn phí, miễn phí bản quyền và không bị huỷ bỏ, về việc sao chép,chuẩn bị các Sản phẩm cấu thành cho, trng bày công khai, trình diễn công khai, các
Trang 26chứng chỉ phụ (sublicense), và phân phối Sản phẩm và Sản phẩm cấu thành dới dạngmã Nguồn hoặc Đối tợng.
3 Việc cấp chứng chỉ sáng chế
Dựa theo các điều khoản và điều kiện trong Chứng chỉ này, mỗi Ngời đóng góp cung cấp cho Bạn một Chứng chỉ sáng chế (Patent License) vĩnh viễn, toàn cầu, không riêngbiệt, miễn phí, miễn phí bản quyền và không bị huỷ bỏ (ngoại trừ những gì đợc đề cập
đến trong phần này), để tạo, sử dụng, chào bán, bán, nhập, và chuyển giao Sản phẩm, trong đó Chứng chỉ áp dụng chỉ cho những Sáng chế (patent), đợc đánh giá là có thể chứng chỉ hoá đợc, của những Ngời đóng góp mà các Đóng góp của họ (dạng đơn lẻ hoặc kết hợp) có thể bị xung đột với Sản phẩm nơi mà những Đóng góp này đợc đệ trình tới Trong trờng hợp nếu Bạn khởi kiện về quyền sáng chế chống lại bất kỳ thực thể nào (bao gồm sự chồng chéo hoặc mâu thuẫn theo luật) với lý lẽ là Sản phẩm hoặc
Đóng góp đợc tích hợp trong Sản phẩm trực tiếp hoặc góp phần tạo nên sự vi phạm về quyền sáng chế, thì mọi Chứng chỉ sáng chế đợc cấp cho Bạn theo chứng chỉ này cho Sản phẩm này sẽ chấm dứt vào thời điểm vụ kiện đợc đệ trình
4 Tái phân phối
Bạn có thể sao chép và phân phối các bản sao của Sản phẩm và các Sản phẩm cấu thành dới bất kỳ phơng tiện nào, có hoặc không có sửa đổi, dới dạng mã Nguồn hay
Đối tợng, miễn là Bạn thoả mãn những điều kiện sau:
1 Bạn phải cung cấp cho những ngời nhận Sản phẩm hoặc Sản phẩm cấu thành mộtbản sao của Chứng chỉ này; và
2 Bạn phải gắn kèm vào bất kỳ file bị sửa đổi nào một thông cáo rõ ràng về việc Bạn
đã thay đổi file này; và
3 Bạn phải giữ nguyên, dới dạng mã Nguồn của bất kỳ Sản phẩm cấu thành nào màBạn đã phân phối, tất cả các thông cáo về bản quyền, nhãn hiệu thơng mại, quyền hạn
có trong dạng mã Nguồn của Sản phẩm, ngoại trừ những thông cáo hoàn toàn khôngliên quan đến bất kỳ phần nào của Sản phẩm cấu thành; và
4 Nếu Sản phẩm có kèm theo một file text "NOTICE" nh là một phần trong việc phân phối, thì bất kỳ Sản phẩm cấu thành nào mà bạn phân phối cũng phải bao gồm một bản sao có thể đọc đợc của những thông cáo về quyền hạn đợc chứa trong file
"NOTICE" này, ngoại trừ những thông cáo hoàn toàn không liên quan đến bất kỳ phầnnào của Sản phẩm cấu thành, ít nhất là phải nằm trong một trong những vị trí sau: trong một file "NOTICE" đợc phân phối nh là một phần của Sản phẩm cấu thành; trong mã Nguồn hoặc văn bản tài liệu, trong trờng hợp chúng đợc cung cấp kèm theo Sản phẩm cấu thành; hoặc, trong phần trình bày đợc tạo ra bởi Sản phẩm cấu thành, và
Trang 27trong những nơi thông cáo của bên thứ ba (third-party) thờng xuất hiện Nội dung của file NOTICE chỉ dành cho mục đích cung cấp thông tin và không đợc làm thay đổi nộidung Chứng chỉ Bạn có thể gắn thêm những thông cáo riêng của bạn về quyền hạn trong Sản phẩm cấu thành mà Bạn phân phối, cùng với hoặc nh một phần phụ lục cho phần NOTICE text của Sản phẩm, miễn là những thông cáo về quyền hạn gắn kèm thêm này sẽ không thể bị phân tích đợc nh là một sự sửa đổi của Chứng chỉ.
Bạn có thể gắn kèm thêm tuyên bố về bản quyền của riêng bạn cho những phần bạn sửa đổi, và có thể cung cấp những điều khản và điều kiện bổ sung khác, về việc sử dụng, sao chép, hoặc phân phối cho những sửa đổi của Bạn, hoặc cho bất kỳ một tổng thể Sản phẩm cấu thành nào, miễn là việc Bạn sử dụng, sao chép, và phân phối Sản phẩm tuân thủ với các điều kiện đợc nêu trong Chứng chỉ này
6 Nhãn hiệu thơng mại
Chứng chỉ này không hề cấp phép cho việc sử dụng các tên thơng mại (tradenames), nhãn hiệu thơng mại (trademarks), nhãn hiệu dịch vụ (servicemarks) hay tênsản phẩm của Ngời cáp chứng chỉ, trừ khi đợc yêu cầu cho việc sử dụng có chừng mực
và theo thông lệ để mô tả nguồn gốc của Sản phẩm và trong việc sao chép nội dungcủa file NOTICE
7 Miễn trách nhiệm bảo hành
Ngoại trừ trờng hợp bị đòi hỏi bởi các điều luật khả dụng hoặc các văn bản thoả thuận,Ngời cấp chứng chỉ sẽ cung cấp Sản phẩm (và mỗi Ngời đóng góp sẽ cung cấp Đóng góp của họ) trên cơ sở “nh vốn có”, KHÔNG Có BấT Kỳ BảO HàNH HAY ĐIềU KIệN Gì, rõ ràng hay ngầm định, bao gồm, và không giới hạn trong, mọi bảo hành hay điều kiện về TIÊU Đề, Sự KHÔNG Vị PHạM LUậT, KHả NĂNG THƯƠNG MạI, hay KHả NĂNG TƯƠNG THíCH CHO MộT MụC ĐíCH Cụ THể Bạn là ngời sẽ phải chịu hoàn toàn mọi trách nhiệm về việc xác định tính thích hợp cuả việc
sử dụng hay phân phối lại Sản phẩm, và phải chấp nhận bất kỳ rủi ro nào gắn với việc Bạn thực hiện các quyền hạn theo Chứng chỉ này
8 Giới hạn về Trách nhiệm pháp lý
Trang 28Không trong mọi trờng hợp và không theo bất kỳ nguyên tắc pháp lý nào, cho
dù đó là một sai lầm (bao gồm cả sự bất cẩn), một hợp đồng hoặc một dạng nào khác,ngoại trừ những trờng hợp đợc yêu cầu bởi luật khả dụng (ví dụ nh đạo luật về sự cốtình và bất cẩn trầm trọng) hoặc đã đợc thoả thuận băng văn bản, Ngời đóng gópkhông phải chịu trách nhiệm pháp lý đối với Bạn về bất kỳ h hại nào, bao gồm h hạitrực tiếp, gián tiếp, cá biệt, vô tình, hay hệ quả của sự h hại của bất kỳ vấn đề nào nảysinh từ Chứng chỉ này, từ việc không sử dụng đợc hoặc không có khả năng sử dụngSản phẩm (bao gồm, nhng không bị giới hạn trong, những h hại hoặc thiệt hại về sự tínnhiệm của khách hàng, sự đình trệ hoạt động, trục trặc hoặc hỏng máy tính, và tất cảcác dạng h hại hay mất mát về thơng mại khác), kể cả khi Ngời đóng góp đã đợckhuyến cáo về khả năng xảy ra của những h hại này
9 Chấp nhận Bảo hành hay Trách nhiệm pháp lý bổ sung
Trong quá trình tái phân phối Sản phẩm hoặc Sản phẩm cấu thành từ đó, Bạn có thểchọn chào hàng và thu phí cho việc hỗ trợ, bảo hành, bồi thờng hoặc những giao ớcpháp lý khác và/hoặc những quyền phù hợp với Chứng chỉ này Tuy nhiên, khi chấpnhận những giao ớc đó, Bạn chỉ có thể đợc thực thi trên danh nghĩa của Bạn và chínhBạn phải chịu hoàn toàn trách nhiệm, chứ không phải trên danh nghĩa của bất kỳ Ngời
đóng góp nào khác, và chỉ khi nào mà Bạn đồng ý bồi thờng, bảo vệ, và giữ gìn sự vôtội của Ngời đóng góp trớc những trách nhiệm pháp lý mà Ngời đóng góp sẽ có thểphải gánh chịu hoặc những khiếu nại Ngời đóng góp do việc Bạn chấp nhận những bảohành và những trách nhiệm pháp lý bổ sung
PHụ LụC: Cách áp dụng Chứng chỉ Apache cho sản phẩm của bạn
Để áp dụng Chứng chỉ Apache cho sản phẩm của bạn, hãy đính kèm thông báodới đây, trong đó những phần nằm trong ngoặc vuông "[ ]" đợc thay thế bởi thông tinnhận diện của chính bạn (Và bỏ các dấu ngoặc vuông đi) Phần văn bản nên đợc để d-
ới dạng cú pháp chú thích phù hợp với định dạng file Chúng tôi cũng khuyến cáo rằngmột file hay tên lớp và phần mô tả mục đích nên đợc để trong cùng một trang khi in ra
nh thông báo bản quyền để dễ xác định trong hồ sơ lu trữ của bên thứ ba (third-party)
Bản quyền [yyyy] [tên của Chủ sở hữu bản quyền]
Đợc chứng nhận theo Chứng chỉ Apache, Phiên bản 2.0 ("Chứng chỉ"); bạnkhông thể sử dụng file này nếu không làm đúng theo Chứng chỉ Bạn có thể lấy mộtbản sao của Chứng chỉ tại địa chỉ: http://www.apache.org/licenses/LICENSE-2.0
Ngoại trừ trờng hợp bị đòi hỏi bởi các điều luật khả dụng hoặc các văn bản thoảthuận, phần mềm phân phối theo Chứng chỉ này sẽ đợc phân phối trên cơ sở “NHƯVốN Có”, KHÔNG Có BấT Kỳ BảO HàNH HAY ĐIềU KIệN Gì, rõ ràng hayngầm định Xem Chứng chỉ để biết thêm thông tin về ngôn ngữ cụ thể chi phối cácquyền hạn cho phép và về những giới hạn theo Chứng
Trang 29(Bản dịch từ: http://www.oss.gov.vn )
4.3 GIấY PHéP CủA Tổ CHứC BSD
Bản quyền Mọi quyền lợi đã đợc bảo lu
Đợc phép tái phân phối và sử dụng dới dạng mã nguồn (source form) và mã nhịphân (binary form), có hoặc không có sửa đổi, với điều kiện các qui định sau đợc thoả mãn:
• Tái phân phối mã nguồn phải đảm bảo giữ nguyên phần thông cáo về bản quyền (copyright notice) đã nêu ở trên, các qui định (conditions) đang đợc nêu ở đây, và điềukhoản "Miễn trách nhiệm" (disclaimer) dới đây
• Tái phân phối mã nhị phân cần phải sao chép lai phần thông cáo về bản quyền đã nêu
ở trên, các qui định đang đợc nêu ở đây, và điều khoản " Miễn trách nhiệm" dới đâyvào trong phần văn bản hớng dẫn (doccumentation), và/hoặc các tài liệu đi kèm vớisản phẩm đợc phân phối
• Nghiêm cấm sử dụng tên của tổ chức <ORGANIZATION> hay của nhà phân phối(CONTRIBUTORS) cho mục đích chứng thực hoặc quảng bá các sản phẩm đợc tạo ra
từ phần mềm này, khi không có sự chấp nhận trớc bằng văn bản viết
PHầN MềM NàY ĐƯợC CUNG CấP BởI NGƯờI GIữ BảN QUYềN Và NHàCUNG CấP "NHƯ VốN Có", Và KHÔNG PHảI CHịU TRáCH NHIệM Vể BấT
Kỳ MộT BảO ĐảM Rõ RàNG HAY NGầM ĐịNH, BAO GồM (NHƯNGKHÔNG Bị GIớI HạN BởI) NHữNG BảO ĐảM NGầM ĐịNH Về KHả NĂNGTHƯƠNG MạI, HOặC Sự TƯƠNG THíCH CHO MộT CÔNG VIệC Cụ THể.TRONG MọI TRƯờNG HợP, NGƯờI GIữ BảN QUYềN Và NHà CUNG CấP SẽKHÔNG PHảI CHịU TRáCH NHIệM CHO BấT Kỳ MộT HƯ HạI TRựC TIếP,GIáN TIếP, TìNH Cờ, Cá BIệT HOặC ĐIểN HìNH NàO, HAY Hệ QUả CủA
Sự HƯ HạI (BAO GồM, NHƯNG KHÔNG Bị GIớI HạN BởI, VIệC MUA SảNPHẩM HOặC DịCH Vụ THAY THế; TổN THấT Về Sự Sử DụNG, Dữ LIệU,HOặC LợI NHUậN; HOặC Sự ĐìNH TRệ TRONG HOạT ĐộNG) Có THể Có,
Và KHÔNG PHảI CHịU BấT Kỳ GIả ĐịNH NàO Về TRáCH NHIệM, Kể CảTRONG HợP ĐồNG, Về CáC NGHĩA Vụ BắT BUộC, HAY Về CáC SAI LầM(BAO GồM Sự BấT CẩN Về MặT NàY HAY MặT KHáC) PHáT SINHTRONG BấT Kỳ QUá TRìNH Sử DụNG NàO CủA PHầN MềM NàY, Kể CảKHI Đ Có NHữNG KHUYếN CáO Về KHả Nã Có NHữNG KHUYếN CáO Về KHả N ĂNG XảY RA CủA NHữNGHƯ HạI NàY (Theo bản dịch của: http:// www.oss.gov.vn )
Sự kiện ngày 16/01/2006 GNU ra bản GPLv3 (Bản nguyên gốc xem thêmtrong phần phụ lục) về cơ bản GPL v3 vẫn giữ nguyên những điều luật của GPLv2 tuynhiên có một số thay đổi nhằm tăng cờng tính thơng mại hóa của PMNM Sự khác biệt
Trang 30cơ bản trong bản v3 của GNU/GPL đợc ban hành so với bản v2 đã ban hành trong hơn
10 năm qua đó là GPLv3 đã có nhiều điều khoản trong hệ thống luật mới đã phản ánhthái độ chống đối gay gắt với phần mềm quản lý bản quyền kỹ thuật số (DRM) đang
đợc ngành công nghiệp giải trí áp dụng rộng rãi.
Do công nghệ DRM kiểm soát việc khách hàng xem phim, nghe nhạc và thởngthức những nội dung giải trí khác nên nó đã xâm phạm nghiêm trọng đến sự tự do, vềcơ bản là không tơng đồng với nguyên tắc của FSF
Quan điểm chống DRM trong GPL 3 gây sự chú ý lớn do ngành công nghiệpgiải trí vẫn thờng sử dụng hệ thống máy tính Linux trong quá trình sản xuất nhằm tăngkhả năng đồ họa và tạo các hiệu ứng riêng
Trong bản GPL v3 này Moglen và Richard Stallman - nhà sáng lập FSF - cũ ng
đặc biệt chú ý đến TiVo (dùng Linux) bởi hãng sản xuất đầu ghi video kỹ thuật số nàychuyên thu thập thông tin về các hoạt động của ngời sử dụng "Sẽ là không tôn trọngkhách hàng nếu công ty phát hành những máy ghi hình có khả năng thông báo mọithao tác của ngời dùng trên điều khiển từ xa tới trụ sở của họ, hoặc ngng hoạt độngnếu mọi ngời chỉnh sửa hệ thống chỉ để hạn chế nguy cơ bị rình mò",và “Phần mềmGPL sẽ không hạn chế khả năng giải trí của ngời sử dụng chỉ để làm hài lòng một số
đối tợng nào đó Mục đích của chúng tôi là bảo vệ quyền ngời dùng chứ không phảiquyền các hãng phim"- Moglen
Tổng kết:
Trên đây là ba loại giấy phép đợc a dùng nhất trong Cộng đồng mã nguồn mở quốc tế đặc biệt là Giấy phép GNU/GPL của GNU Để đọc giả có cái nhìn toàn cảnh
và cô đọng nhất về các loại giấy phép, dới đây là tóm tắt của một số loại giấy phép đó:
1.Giấy phép GNU/GPL(Gnu’s Not Unix/ General Public Licence) hay còn gọi
là PMNM kiểu CopyLeft hay kiểu Linux (Open Source CopyLeft, Linux-style):
PMNM kiểu CopyLeft (trò chơi chữ của Free Software Foundation – FSF – và GNU– Gnu’s Not Unix, để đối nghịch hoàn toàn với CopyRight !) là một bớc tiến quantrọng theo hớng tự do hóa của các giấy phép phần mềm Giấy phép GPL yêu cầukhông những mã nguồn gốc phải đợc phân phối theo các qui định của GPL mà mọisản phẩm dẫn xuất cũng phải tuân thủ GPL GPL cho ngời dùng tối đa quyền hạn và tự
do đối với các PMNM theo GPL, cụ thể ngời dùng có quyền không những sao chép,sửa đổi, mua bán các PMNM dới CopyLeft mà còn đợc quyền tự do nh vậy đối với cácphần mềm dẫn xuất Tóm lại nếu PMNM gốc đã theo CopyLeft thì mọi PMNM dẫnxuất của nó cũng đơng nhiên theo CopyLeft Do là phần mềm miễn phí nên tác giảcũng nh ngời phát triển không chịu trách nhiệm về rủi ro mà phần mềm có thể manglại
Trang 312 Giấy phép BSD (Berkely Software Distribution) PMNM kiểu BSD Một nhóm nhỏ khép kín (closed team) đã phát triển các PMNM theo giấy phép phânphối Berkely (BSD) cho phép sử dụng và phân phối lại các phần mềm này dới dạng mãnhị phân và mã nguồn Tuy ngời dùng có quyền sửa đổi mã, nhng về nguyên tắc nhómphát triển không cho phép ngời dùng tự do lấy mã nguồn từ kho mã ra sửa (check-out)
và đa mã đã sửa vào lại kho mã mà không đợc họ kiểm tra trớc (check-in) BSD cònnghêm cấm việc dới danh nghĩa các Tổ chức để quảng bá hay chứng thực cho việc tạo
ra sản phẩm từ việc sử dụng phần mềm này Giấy phép cũng khuyến cáo sẽ không hạnchế trong việc thơng mại hóa phấn mềm nhng cũng không chịu trách nhiệm trong cáctrờng hợp xảy ra h hại
3 Giấy phép PMNM kiểu Apache (Open Source Apache-style) Chấpnhận nguồn mở kiểu BSD nhng cho phép những ngời ngoài nhóm phát triển xâm nhậpvào lõi của mã nền (core codebase), tức là đợc phép thực hiện các “check-in”
4 Còn một số loại Giấy phép khác nh Giấy phép PMNM kiếu Mozilla(Open Source Mozilla-stype) - http://www.opensource.org/licenses/mozilla1.1.php ; Giấy
phép PMNM kiếu Eclipse Public License-
http://www.eclipse.org/legal/epl-v10.html ;hay Giấy phép PMNM kiếu MIT License( The MIT-Mansanchuses
Imformation Technology- License)- http://opensource.org/licenses/mit-license.html:
Cơ bản cũng giống nh với GPL hay BSD đó là không giới hạn việc phát triển hay
th-ơng mại hóa và đợc bảo vệ bản quyền dới các loại giấy phép đó
Sau khi lựa chọn xong Sourceforge.net sẽ xem xét có nên tiếp tục cho Projectcủa bạn có hợp lệ hay không và sau hai ngày họ sẽ gửi cho bạn một thông báo về việcProject của bạn có đợc tiếp tục hay không Nếu đợc chấp thuận bạn sẽ đợc phép postchơng trình (dạng mã nguồn và ứng dụng) vào trang My SourceForge.net Projects củabạn; để từ đây bạn là một thành viên của cộng đồng mã nguồn mở SF.net và từ đây ch-
ơng trình của bạn là một chơng trình nguồn mở, đợc bảo vệ bản quyền
V Để một chương trỡnh trở thành một PMNM
5.1 Tiếp cận mó nguồn mở bắt đầu từ đõu?
Bạn là người yờu thớch lập trỡnh, bạn muốn tiếp cận OSS, bạn hóy quan tõm và trả lời một số cõu hỏi sau:
Trang 32<1> Mó nguồn mở cú thớch hợp cho người dựng thụng thường?
<2.>Vậy cần bắt đầu mó nguồn mở từ đõy?
<3> Làm thế nào để gia nhập cộng đồng OSS một cỏch nhanh nhất?.
<4> Bạn cú lợi gỡ khi tham gia mó nguồn mở?
<5> Cỏc ngụn ngữ nào thụng dụng trong thế giới mó nguồn mở?
<6> Cỏc loại giấy phộp trong mó nguồn mở?
<7> Mó nguồn mở ở Việt Nam hiện ra sao?
<8> Chỳng ta cú thể kiếm tiền từ OSS?
5.2 Khái quát chung
Mã nguồn mở hiểu theo nghĩa rộng là một khái niệm chung đợc sử dụng cho
tất cả các phần mềm mà mã nguồn của nó đợc công bố rộng rãi công khai và cho phép mọi ngời tiếp tục phát triển phần mềm đó Vì thế để một chơng trình phần mềm
trở thành một phần mềm mã nguồn mở, thì ngay tên của nó đã thể hiện phải “mở mã”
và công bố mã nguồn đó Tất cả các chơng trình có sử dụng PMNM thì đều phải khaibáo xuất xứ, tác giả, địa chỉ, … của mã nguồn Nh là đoạn code ví dụ sau đây:
Trang 33 Tuy nhiên thì ngời làm phần mềm mã nguồn mở cũng nh ngời sử dụng phần
mềm mã nguồn mở đó phải tuân theo một loại Giấy phép (License) của một số tổ chứcnhất định :
Cho phép phát triển, sử dụng và bán tùy ý miễn là giữ nguyên các dòng vềnguồn gốc sản phẩm; nh trong giấy phép của tổ chức BSDL– Berkely SoftwareDistribution
Hay một số bắt buộc tất các sản phẩm làm ra từ đó cũng phải là open-sourcetheo tổ chức GNU/General Public License
Một số khác đòi hỏi phải công bố trọn vẹn mã nguồn : Mozilla Public License
Một số khác không cho phép sử dụng vào mục đích thơng mại nh : Sun SolarisSource Code License
Một số khác lại không có ràng buộc gì đáng kể (public domain, MIT X11license) v.v
Trong phần “ Các luật mã nguồn mở ” đã giới thiệu chi tiết về các giấy phép
đó Ví dụ bạn là một lập trình viên chuyên nghiệp hay nghiệp d, bạn có tinh thần cộng
đồng và muồn chia sẻ Khi đó bạn phải làm gì để hiến tặng sản phẩm của mình mộtcách hợp pháp và đợc bảo vệ về bản quyền, thì cách đơn giản nhất là bạn gửi phầnmềm (bao gồm cả mã nguồn) đế tổ chức mà bạn muốn sản phẩm của mình sẽ đợcphân phối theo các điều khoản quy định của Tổ chức đó nh : Apache, Mozilla,BSD,vv
Nh trong Giấy phép của GNU/GPL cũng đã nêu:
"áp dụng những điều khoản trên nh thế nào đối với chơng trình của bạn
Để làm đợc việc này, hãy đính kèm những thông báo nh sau cùng với
ch-ơng trình của mình An toàn nhất là đính kèm chúng trong phần đầu của tập tin mãnguồn để thông báo một cách hiệu quả nhất về việc không có bảo hành; và mỗi tệptin đều phải có ít nhất một dòng về “bản quyền” và trỏ đến toàn bộ thông báo
Một dòng đề tên chơng trình và nội dung của nó.
Bản quyền (C) năm, tên tác giả.
Chơng trình này là phần mềm tự do, bạn có thể cung cấp lại và/hoặc chỉnhsửa nó theo những điều khoản của Giấy phép Công cộng của GNU do Tổ chức
Trang 34Phần mềm Tự do công bố; phiên bản 2 của Giấy phép, hoặc bất kỳ một phiên bảnsau đó (tuỳ sự lựa chọn của bạn).
Chơng trình này đợc cung cấp với hy vọng nó sẽ hữu ích, tuy nhiên không
có bất kì một bảo hành nào; thậm chí kể cả bảo hành về khả năng th ơng mại hoặctính thích hợp cho một mục đích cụ thể Xin xem Giấy phép Công cộng của GNU
để biết thêm chi tiết
Bạn phải nhận đợc một bản sao của Giấy phép Công cộng của GNU kèmtheo chơng trình này; nếu bạn cha nhận đợc, xin gửi th về Tổ chức Phần mềm Tự
do, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Xin hãy bổ sung thông tin về địa chỉ liên lạc của bạn (th điện tử và bu điện)
Nếu chơng trình chạy tơng tác, hãy đa một thông báo ngắn khi bắt đầu chạy chơngtrình nh sau:
Gnomovision phiên bản 69, Copyright (C) năm, tên tác giả
Gnomovision hoàn toàn không có bảo hành; để xem chi tiết h ãy gõ `showw' Đây là một phần mềm miễn phí, bạn có thể cung cấp lại với những điều kiệnnhất định, gõ ‘show c’ để xem chi tiết Giả thiết lệnh `show w' và `show c' choxem những phần tơng ứng trong Giấy phép Công cộng Tất nhiên những lệnh màbạn dùng có thể khác với ‘show w' và `show c'; những lệnh này có thể là nhấnchuột hoặc lệnh trong thanh công cụ - tuỳ theo chơng trình của bạn
Bạn cũng cần phải lấy chữ ký của ngời phụ trách (nếu bạn là ngời lập trình) hoặc của trờng học (nếu có) xác nhận từ chối bản quyền đối với chơng trình Sau
đây là vídụ:
Yoyodyne, Inc., tại đây từ chối tất cả các quyền lợi bản quyền đối với ch ơng trình
`Gnomovision' viết bởi James Hacker
Chữ ký của Ty Coon, 1 April 1989
Ty Coon, Phó Tổng Giám đốc."
Có một cách rất thông dụng để một chơng trình trở thành một chơng trình phầnmềm mã nguồn mở đó là gửi chơng trình và mã nguồn của nó vào diễn đànSourceforge.net – diễn đàn mã nguồn mở lớn nhất thế giới hiện nay:
http://www.sourceforge.net
+ Muốn gửi đợc bạn cần phải đăng ký làm thành viên và sử dụng accout đó của mình
nh một tài khoản lu trữ thông tin cá nhân, thông tin sản phẩm
Trang 35+ Khi gửi vào Sourceforge.net cho phép bạn lựa chọn giấy phép nào mà sản phẩmcủa bạn sẽ tuân theo.
5 3 Chi tiết của cách gửi phần mềm vào trang Sourceforge.net
Cách để tạo một accout trên diễn đàn:
Trớc hết bạn phải là một thành viên của diễn đàn; bạn hãy tạo một accout cho
minh bằng cách nhấp Creat account (Hình 1)
đủ thông tin nh username sử dụng khi đăng nhập, họ tên đầy đủ, quốc gia,vv (Hình
ảnh)
Trang 36
Sau khi hoàn thành việc này bạn hãy nhấn “Verify details” và hoàn thànhviệc tạo một Accout Và từ đây bạn đã là thành viên của diễn đàn và có quyền thamgia vào các dự án (Project) trên Sourceforge.net
Cách gửi một phần mềm để trở thành một phần mềm mã nguồnn mở:
Trang 37Khi là thành viên của Sourceforge.net bạn có quyền đăng nhập (Login) là mộtthành viên:
Sau đăng nhập Sf.net dẫn đến cho
bạn một trang dành riêng cho mỗi thành
viên; tại đây bạn có thể chỉnh sửa thông tin
các nhân, tạo Project mới; sourceforge
quản lý theo các Project và mỗi tài khoản
có thể có nhiều Project Tại đây bạn nhấp
“New Project” để tạo một Project mới, bạn
có thể sẽ phải mất 15-30 phút để hoàn thành công việc Project có thể chỉ là một đề
án, hay một ý tởng mà không nhất thiết phải là một chơng trình hoàn chỉnh
Tiến trình của công việc để hoàn thành theo từng bớc:
1.Tổng quan 2 Lựa chọn tên dự án UNIX phù hợp 3 Đọc và đồng ý với
định nghĩa về mã nguồn mở của Tổ chức Open Source Initiative (OSI) 4 Lựa chọn kiểu đề tài 5 Thỏa thuận những điều luật 6 Những yêu cầu chính 7 Phân loại lựa chọn 8 Phần mô tả chi tiết về dự án 9 Phần đăng kí chi tiết về dự án
10 Lựa chọn những đặc tả về dự án 11 Kết thúc 12 Hoàn thành việc đăng kí
Sau đây là một số bớc cần lu ý:
Tại bớc 3: Định nghĩa mã nguồn mở
của Tổ chức Opensource- OSI:
Yêu cầu các thành viên của diễn đàn
phải đọc kỹ định nghĩa này và tuân theo
những điều luật mà Tổ chức mã nguồn mở
OSI đa ra
Bớc 4: Lựa chọn loại dự án đăng kí với SourceForge.net: Một dự án về PMNM;
Một dự án phần mềm theo kiểu giấy phép thơng mại mà không giống với mã mở; Haymột đề án phần mềm (chỉ trên kế hoạch) cho máy chủ của SourceForge.net; Một đề ánphần mềm cho các ứng dụng khác; Một website cá nhân; Một dự án đang phát triển
đợc tuân theo giấy phép của PMNM; Hay một cái gì đó khác
Trang 38Tại bớc 5,6: Sourceforge.net yêu cầu bạn điền đầy đủ tên “True Identify”,
những điều khoản cần chú ý khi đăng ký (Hình ảnh), sau khi đồng ý tiếp đó là cáctiêu chuẩn của một số Tổ chức phần mềm mà bạn muốn phần mềm của bạn sẽ theoGiấy phép của Tổ chức nào; để từ sau đó phần mềm đó sẽ đợc bảo vệ dới theo giấyphép mà bạn lựa chọn.(bớc 7)
Bớc 7: có một số lựa chọn nh: giấy phép mà phần mềm sẽ tuân theo, ngôn ngữ
lập trình, lựa chọn loại hệ điều hành, lựa chọn giao diện, ngôn ngữ thể hiện, và cơ sơ dữ liệu phần mềm sử dụng.
Sau khi lựa chọn xong Sourceforge.net sẽ xem xét có nên tiếp tục cho Projectcủa bạn có hợp lệ hay không và sau hai ngày họ sẽ gửi cho bạn một thông báo về việcProject của bạn có đợc tiếp tục hay không Nếu đợc chấp thuận bạn sẽ đợc phép postchơng trình (dạng mã nguồn và ứng dụng) vào trang My SourceForge.net Projects củabạn; để từ đây bạn là một thành viên của cộng đồng mã nguồn mở SF.net và từ đây ch-
ơng trình của bạn là một chơng trình nguồn mở, đợc bảo vệ bản quyền
Trang 39VI Hiện trạng sử dụng OSS ở Việt Nam hiện nay
Trong những năm qua, Chính phủ Việt Nam đã chủ trương tích cực tham gia các hoạt động về OSS trong khu vực và trên thế giới Cụ thể đã triển khai tổ chức rất nhiều cuộc hội thảo, toạ đàm, đối thoại về OSS trong nước, tham gia diễn đàn châu Á về OSS… Điều này giúp chúng ta tranh thủ tiếp cận và tận dụng được tri thức và tài sản trí tuệ cộng đồng OSS trên thế giới một cách nhanh chóng, hiệu quả, đồng thời có thể thừa hưởng và học tập kinh nghiệm của các nước Kết quả là OSS ở Việt Nam cũng tương đối phát triển Sự phát triển này thể hiện ở việc Bộ Khoa học và Công nghệ (KH&CN) bắt đầu cho triển khai thực hiện dự án tổng thể “Ứng dụng và phát triển OSS ở Việt Nam giai đoạn 2004 - 2008” Bộ Giáo dục và Đào tạo đã ký thoả thuận với Sun về
sử dụng Star Office là bước đệm quan trọng trong việc chuyển sang các ứng dụng nguồn mở trong ngành Giáo dục Một số trường đã có kế hoạch sử dụng
hệ điều hành Linux trong công tác giảng dạy và học tập như: Đại học Quốc gia
Hà Nội, Đại học Cần Thơ, Đại học Huế Ngày 17-1-2006, tại trường Đại học Bách Khoa Hà Nội đã diễn ra lễ ký kết biên bản ghi nhớ Hợp tác giữa Bộ KH&CN và Trường Đại học Bách Khoa Hà Nội về việc hợp tác thành lập Trung tâm nguồn lực về OSS Việt Nam Một số tổ chức như Văn phòng Trung ương Đảng, Trung tâm APTECH, một số công ty cũng đã có những định hướng
và cam kết tham gia vào phát triển các ứng dụng OSS, trong đó nổi bật có công
ty Vietsoftware đã ứng dụng “Cổng thông tin điện tử” trên nền nguồn mở, bắt đầu ở Hà Nội, nay đã nhân rộng cho hơn 10 tỉnh, thành trên cả nước Từ năm
2005, Bộ Giáo dục và Đào tạo đã đưa nội dung thi về OSS thành nội dung chính trong cuộc thi Olimpic tin học sinh viên Việt Nam được tổ chức hàng năm Đây cũng là dấu ấn quan trọng trong phát triển OSS ở Việt Nam
Tuy nhiên trên thực tế, việc phát triển OSS tại các công ty máy tính ở nước ta còn gặp rất nhiều khó khăn Một trong những nguyên nhân là do sức ép bản quyền chưa đủ mạnh để OSS phát triển Hiện nay, tỉ lệ vi phạm bản quyền phần mềm của Việt Nam được cảnh báo ở mức cao nhất thế giới Việc dễ dàng
Trang 40mua một PMNĐ cần thiết chứa trong đĩa CD chỉ với giỏ 7.000đ làm cho OSS hầu như khụng được người dựng quan tõm
Theo thống kê số liệu mới nhất thì tỉ lệ sử dụng phần mềm không có bản quyền
ở Việt Nam là 92%, còn ở Trung Quốc từ tháng 11/2005 đã tiến hành một chiến dịchphòng chống tội phạm vi phạm sở hữu trí tuệ trên phạm vi toàn quốc Khoảng 340 tr-ờng hợp đã bị phát hiện với số nghi phạm là 419 Tổng số tiền thu đ ợc là 100 triệuNDT (tơng đơng 12 triệu USD) Xu hớng toàn cầu hóa buộc các nớc phải xích lại gầnnhau hợp tác với nhau và phụ thuộc với nhau nhiều hơn, trong sân chơi chung đó cần
có một khung pháp lí rõ ràng mà mọi thành viên khi tham gia phải tuân thủ Trớc tìnhhình sử dụng phần mềm trái phép nh hiện nay thì khi tham gia Công ớc Berne về luậtbản quyền thì những nớc có nền kinh tế còn kém phát triển nh nớc ta sẽ phải trả một
số tiền không nhỏ khoảng 200-300 triệu USD, và không đến mức nh là một “một cửathoát hiểm duy nhất”(nh một số ngời thờng nói) thì một xu hớng tất yếu đó là OSS
Đến đõy, xin trở lại với cõu hỏi đó nờu ở trờn: Cú thể xem phần mềm nguồn mở như một cứu cỏnh? Một số người cho rằng nếu sử dụng phần mềm nguồn mở, tớnh chất “mở” và “chia sẻ” cụng khai của phần mềm nguồn mở sẽ khắc phục được nạn sao chộp lậu phần mềm Thế nhưng đõy lại là một sai lầm nghiờm trọng về nhận thức Tổng giỏm đốc của Red Hat đó từng phỏt biểu:
“Phần mềm nguồn mở trao đổi tự do khụng cú nghĩa là miễn phớ” Nú chỉ miễn phớ về mó nguồn chứ khụng miễn phớ đối với sản phẩm hoàn chỉnh Khi
đó được phỏt triển thành sản phẩm phần mềm hoàn chỉnh, phần mềm nguồn
mở cũng sẽ được thương mại húa Trờn thực tế, một số cụng ty chế tạo mỏy tớnh thương hiệu Việt Nam đó phải trả tiền bản quyền cho nhúm Vietkey để cú thể cài đặt hệ điều hành Vietkey Linux trờn cỏc mỏy tớnh bỏn ra thị trường Do giỏ thành của phần mềm nguồn mở rẻ, một số người khỏc cho rằng việc sử dụng cỏc phần mềm nguồn mở sẽ giỳp Nhà nước và doanh nghiệp tiết kiệm chi phớ đầu tư cho CNTT Tuy chi phớ mua phần mềm nguồn mở rẻ hơn phần mềm thương mại, song chưa chắc chi phớ sở hữu phần mềm nguồn mở (bao gồm: chi phớ mua phần mềm ban đầu, chi phớ chuyển đổi từ ứng dụng cũ sang ứng dụng mới, chi phớ đào tạo huấn luyện người sử dụng, chi phớ bảo trỡ hệ thống) đó rẻ hơn phần mềm thương mại.
Theo một nghiờn cứu của hóng Gartner Group, tổng chi phớ của việc