Tìm hiểu phần mềm nguồn mở
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
1
Tìm hiểu phần mềm nguồn mở
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
* 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, 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ố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.
4
Tỡm hiu phn mm ngun m
*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ớ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 ngha 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
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;
6
Tỡm hiu phn mm ngun m
(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 nhng chng trỡnh m quy trỡnh cp
phộp s cho ngi dựng quyn t do chy chng trỡnh theo bt k mc ớch
no, quyn nghiờn cu v sa i chng trỡnh, quyn sao chộp v tỏi phỏt hnh
phn mm gc hoc phn mm ó sa i (m khụng phi tr tin cho nhng
ngi lp trỡnh trc).
Xột v phng din phớ ng ký, OSS gn nh min phớ hon ton. a s
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
8
Tìm hiểu phần mềm nguồn mở
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
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 :
10
Tìm hiểu phần mềm nguồn mở
+ 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ả ở
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.
12
Tìm hiểu phần mềm nguồn mở
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
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
14
Tìm hiểu phần mềm nguồn mở
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
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ú
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,
16
Tìm hiểu phần mềm nguồn mở
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
phầ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
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,
18
Tìm hiểu phần mềm nguồn mở
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.
5. 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
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.
20
Tìm hiểu phần mềm nguồn mở
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ỳ
mộ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
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.
22
Tìm hiểu phần mềm nguồn mở
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ỉ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
ý 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ông
qua 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
bạn") - You (or "Your") - chỉ một Cá nhân hoặc Thực thể hợp pháp sẽ sử dụng các
quyề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ạng
Nguồ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ần
này đợc cung cấp trong phần Phụ lục phía dới). "Sản phẩm cấu thành" - Derivative
Works - 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ác
giả. 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ác
sả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ện
của, Sản phẩm và Sản phẩm cấu thành từ đó. "Đóng góp" - Contribution - là tất cả các
Sả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 đổi
hoặ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ản
phẩ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ợp
phá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, nh-
ng khô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át mã 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