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

Bài giảng phần mềm mã nguồn mở

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN

THS. PHAN NHƯ MINH
(Bộ mơn truyền thơng và mạng máy tính)

BÀI GIẢNG
PHẦN MỀM MÃ NGUỒN MỞ
DÙNG CHO SINH VIÊN KHOA CÔNG NGHỆ THÔNG TIN

LƯU HÀNH NỘI BỘ
Hà nội 2022


GNUFDL • PID_00148386

Phần mềm tự do

Mục lục
1 Giới thiệu.............................................................................................................................................25
1.1 Khái niệm về sự tự do của phần mềm..........................................................................................25
1.1.1 Định nghĩa............................................................................................................................26
1.1.2 Các khái niệm có liên quan ..................................................................................................27
1.2 Động lực.......................................................................................................................................28
1.3 Hệ quả của sự tự do của phần mềm..............................................................................................29
1.3.1 Đối với người sử dụng đầu cuối...........................................................................................29
1.3.2 Đối với nền hành chính nhà nước.........................................................................................30
1.3.3 Đối với lập trình viên............................................................................................................30
1.3.4 Đối với nhà tích hợp ............................................................................................................31
1.3.5 Đối với các nhà cung cấp và duy trì dịch vụ........................................................................31
1.4 Tóm lược......................................................................................................................................31


2 Một chút về lịch sử...............................................................................................................................32
2.1 Phần mềm tự do trước phần mềm tự do.......................................................................................32
2.1.1 Và lúc ban đầu nó từng là tự do............................................................................................33
2.1.2 Những năm 70 và đầu những năm 80...................................................................................34
2.1.3 Sự phát triển ban đầu của Unix.............................................................................................35
2.2 Sự bắt đầu: BSD, GNU................................................................................................................36
2.2.1 Richard Stallman, GNU, FSF: phong trào PMTD ra đời.....................................................36
2.2.2 CSRG của Berkeley..............................................................................................................37
2.2.3 Sự khởi đầu của Internet.......................................................................................................39
2.2.4 Các dự án khác......................................................................................................................40
2.3 Mọi thứ đều theo cách của nó.......................................................................................................40
2.3.1 Yêu cầu về một nhân kernel.................................................................................................41
2.3.2 Họ *BSD...............................................................................................................................41
2.3.3 Sự ra đời của GNU/Linux.....................................................................................................42
2.4 Thời gian chín muồi.....................................................................................................................43
2.4.1 Kết thúc những năm 90.........................................................................................................43
2.4.2 Thập niên 2000.....................................................................................................................46
2.5 Tương lai: Một tiến trình đầy trở ngại?........................................................................................52
2.6 Tóm lược......................................................................................................................................53
3 Các khía cạnh pháp lý..........................................................................................................................55
3.1 Giới thiệu ngắn gọn về sở hữu trí tuệ...........................................................................................55
3.1.1 Bản quyền.............................................................................................................................56
3.1.2 Bí mật thương mại................................................................................................................58
3.1.3 Các bằng sáng chế và các mơ hình tiện ích..........................................................................58
3.1.4 Thương hiệu và logo được đăng ký......................................................................................59
3.2 Các giấy phép của PMTD............................................................................................................60
3.2.1 Các loại giấy phép................................................................................................................61

Trang 20/218



GNUFDL • PID_00148386

Phần mềm tự do

3.2.2 Những giấy phép dễ dãi........................................................................................................62
3.2.3 Các giấy phép mạnh..............................................................................................................64
3.2.4 Phân phối theo vài giấy phép................................................................................................68
3.2.5 Tài liệu chương trình............................................................................................................68
3.3 Tóm lược......................................................................................................................................70
4 Các lập trình viên và những động lực của họ.......................................................................................71
4.1 Giới thiệu......................................................................................................................................71
4.2 Các lập trình viên là những ai?.....................................................................................................71
4.3 Lập trình viên làm gì?..................................................................................................................72
4.4 Phân bố theo địa lý.......................................................................................................................73
4.5 Sự cống hiến.................................................................................................................................74
4.6 Những động lực............................................................................................................................75
4.7 Sự lãnh đạo...................................................................................................................................76
4.8 Tóm lược và các kết luận.............................................................................................................78
5 Kinh tế..................................................................................................................................................79
5.1 Cấp vốn cho các dự án PMTD.....................................................................................................79
5.1.1 Vốn nhà nước........................................................................................................................79
5.1.2 Việc cấp vốn khơng vì lợi nhuận của tư nhân.......................................................................81
5.1.3 Cấp vốn bởi ai đó yêu cầu những cải tiến.............................................................................82
5.1.4 Việc cấp vốn với những lợi ích liên quan.............................................................................82
5.1.5 Việc cấp vốn như một sự đầu tư nội bộ ...............................................................................84
5.1.6 Các phương thức cấp vốn khác.............................................................................................85
5.2 Các mơ hình kinh doanh dựa trên PMTD....................................................................................86
5.2.1 Hiểu biết tốt hơn...................................................................................................................88
5.2.2 Hiểu biết tốt hơn với những hạn chế....................................................................................89

5.2.3 Nguồn của một sản phẩm PMTD.........................................................................................90
5.2.4 Nguồn sản phẩm với những hạn chế....................................................................................91
5.2.5 Các giấy phép đặc biệt..........................................................................................................92
5.2.6 Bán thương hiệu....................................................................................................................93
5.3 Những phân loại mơ hình kinh doanh khác..................................................................................93
5.3.1 Phân loại theo Hecker...........................................................................................................93
5.4 Ảnh hưởng lên vị thế độc quyền..................................................................................................94
5.4.1 Các yếu tố thiên vị cho các sản phẩm áp đảo.......................................................................95
5.4.2 Thế giới của PMSHĐQ.........................................................................................................96
5.4.3 Tình trạng với PMTD...........................................................................................................96
5.4.4 Các chiến lược cho việc trở thành một sự độc quyền với PMTD.........................................97
6 PMTD và hành chính nhà nước...........................................................................................................99
6.1 Ảnh hưởng lên các cơ quan hành chính nhà nước.......................................................................99
6.1.1 Những ưu điểm và những ảnh hưởng tích cực ..................................................................100
6.1.2 Những khó khăn của việc áp dụng và những vấn đề khác.................................................103
6.2 Hành động của cơ quan hành chính nhà nước trong thế giới PMTD.........................................105
6.2.1 Làm sao thỏa mãn nhu cầu của các cơ quan hành chính nhà nước?..................................105
6.2.2 Khuyến khích xã hội thông tin............................................................................................107

Trang 21/218


GNUFDL • PID_00148386

Phần mềm tự do

6.2.3 Thúc đẩy nghiên cứu ..........................................................................................................108
6.3 Những ví dụ của những sáng kiến về pháp lý............................................................................109
6.3.1 Các dự luật tại Pháp............................................................................................................109
6.3.2 Dự luật của Brazil...............................................................................................................110

6.3.3 Các dự luật tại Peru.............................................................................................................111
6.3.4 Các dự luật tại Tây Ban Nha...............................................................................................112
7 Kỹ thuật của PMTD...........................................................................................................................114
7.1 Giới thiệu....................................................................................................................................114
7.2 Nhà thờ lớn và cái chợ................................................................................................................114
7.3 Sự lãnh đạo và ra quyết định trong cái chợ................................................................................116
7.4 Các qui trình của PMTD.............................................................................................................118
7.5 Chỉ trích về “Nhà thờ lớn và cái chợ”........................................................................................119
7.6 Các nghiên cứu có tính định lượng............................................................................................120
7.7 Cơng việc tương lai....................................................................................................................122
7.8 Tóm lược....................................................................................................................................123
8 Các môi trường và công nghệ phát triển............................................................................................125
8.1 Mô tả các môi trường, công cụ và hệ thống...............................................................................125
8.2 Các ngơn ngữ và cơng cụ có liên quan.......................................................................................125
8.3 Các mơi trường phát triển tích hợp............................................................................................127
8.4 Các cơ chế cộng tác cơ bản........................................................................................................127
8.5 Quản lý mã nguồn......................................................................................................................129
8.5.1 Hệ thống Phiên bản Đồng thời...........................................................................................129
8.5.2 Các hệ thống quản lý nguồn khác.......................................................................................132
8.6 Tài liệu........................................................................................................................................134
8.6.1 DocBook.............................................................................................................................135
8.6.2 Wikis...................................................................................................................................136
8.7 Quản lý lỗi và các vấn đề khác...................................................................................................137
8.8 Hỗ trợ cho các kiến trúc khác.....................................................................................................138
8.9 Các site hỗ trợ phát triển............................................................................................................139
8.9.1 SourceForge........................................................................................................................139
8.9.2 Những người kế thừa của SourceForge..............................................................................141
8.9.3 Các site và chương trình khác.............................................................................................141
9 Các trường hợp điển hình...................................................................................................................143
9.1 Linux..........................................................................................................................................144

9.1.1 Lịch sử của Linux...............................................................................................................145
9.1.2 Cách thức làm việc của Linux............................................................................................146
9.1.3 Hiện trạng của Linux..........................................................................................................147
9.2 FreeBSD.....................................................................................................................................149
9.2.1 Lịch sử của FreeBSD..........................................................................................................149
9.2.2 Sự phát triển trong FreeBSD..............................................................................................150
9.2.3 Qui trình ra quyết định trong FreeBSD..............................................................................150
9.2.4 Các công ty làm việc xung quanh FreeBSD.......................................................................151
9.2.5 Hiện trạng của FreeBSD.....................................................................................................151

Trang 22/218


GNUFDL • PID_00148386

Phần mềm tự do

9.2.6 Bức tranh X quang của FreeBSD.......................................................................................152
9.2.7 Các nghiên cứu hàn lâm về FreeBSD.................................................................................154
9.3 KDE............................................................................................................................................154
9.3.1 Lịch sử của KDE................................................................................................................154
9.3.2 Sự phát triển của KDE........................................................................................................155
9.3.3 Liên đồn KDE...................................................................................................................156
9.3.4 Hiện trạng của KDE............................................................................................................157
9.3.5 Hình ảnh X quang của KDE...............................................................................................158
9.4 GNOME.....................................................................................................................................160
9.4.1 Lịch sử của GNOME..........................................................................................................160
9.4.2 Quỹ GNOME......................................................................................................................161
9.4.3 Giới công nghiệp làm việc xung quanh GNOME..............................................................162
9.4.4 Hiện trạng của GNOME.....................................................................................................164

9.4.5 Hình ảnh X quang của GNOME.........................................................................................164
9.4.6 Các nghiên cứu hàn lâm về GNOME.................................................................................166
9.5 Apache........................................................................................................................................166
9.5.1 Lịch sử của Apache.............................................................................................................167
9.5.2 Sự phát triển của Apache....................................................................................................168
9.5.3 Hình ảnh X quang của Apache...........................................................................................168
9.6 Mozilla........................................................................................................................................169
9.6.1 Lịch sử của Mozilla............................................................................................................170
9.6.2 Hình ảnh X quang của Mozilla...........................................................................................172
9.7 OpenOffice.org...........................................................................................................................173
9.7.1 Lịch sử của OpenOffice.org................................................................................................174
9.7.2 Tổ chức của OpenOffice.org...............................................................................................174
9.7.3 Hình ảnh X quang của OpenOffice.org..............................................................................175
9.8 Red Hat Linux............................................................................................................................176
9.8.1 Lịch sử của Red Hat...........................................................................................................176
9.8.2 Hiện trạng của Red Hat.......................................................................................................178
9.8.3 Bức tranh X quang của Red Hat.........................................................................................178
9.9 Debian GNU/Linux....................................................................................................................180
9.9.1 Hình ảnh X quang của Debian............................................................................................181
9.9.2 So sánh với các hệ điều hành khác.....................................................................................183
9.10 Eclipse......................................................................................................................................184
9.10.1 Lịch sử của Eclipse...........................................................................................................185
9.10.2 Hiện trạng của Eclipse......................................................................................................185
9.10.3 Hình ảnh X quang của Eclipse..........................................................................................187
10 Các nguồn tự do khác.......................................................................................................................189
10.1 Những tài nguyên tự do quan trọng nhất..................................................................................189
10.1.1 Các tài liệu khoa học.........................................................................................................189
10.1.2 Luật pháp và chuẩn...........................................................................................................190
10.1.3 Bách khoa tồn thư...........................................................................................................191
10.1.4 Các khóa học.....................................................................................................................193


Trang 23/218


GNUFDL • PID_00148386

Phần mềm tự do

10.1.5 Các bộ sưu tập và các cơ sở dữ liệu..................................................................................193
10.1.6 Phần cứng.........................................................................................................................194
10.1.7 Văn học và nghệ thuật......................................................................................................194
10.2 Các giấy phép cho những tài nguyên tự do khác......................................................................195
10.2.1 Giấy phép tài liệu tự do GNU...........................................................................................195
10.2.2 Các giấy phép chung sáng tạo..........................................................................................196

Trang 24/218


GNUFDL • PID_00148386

Phần mềm tự do

1 Giới thiệu
“Nếu bạn có một quả táo và tơi có một quả táo và chúng ta trao đổi táo cho nhau, thì bạn và tơi sẽ vẫn
mỗi người có một quả táo. Nhưng nếu bạn có một ý tưởng và tơi có một ý tưởng và chúng ta trao đổi cho
nhau những ý tưởng đó, thì mỗi người chúng ta sẽ có 2 ý tưởng”.
Bernard Shaw.

Phần mềm tự do (PMTD) là gì? Nó là gì và những ảnh hưởng của một giấy phép chương trình tự do là
gì? PMTD được phát triển như thế nào? Các dự án PMTD được cấp vốn như thế nào và các mơ hình

kinh doanh nào có liên quan tới chúng mà chúng ta đang trải nghiệm? Cái gì thơi thúc các lập trình
viên, đặc biệt là những tình nguyện viên, để tham gia vào trong các dự án PMTD? Các lập trình viên
này thích cái gì? Các dự án của họ được điều phối như thế nào, và các phần mềm mà họ sản xuất ra
giống thứ gì? Ngắn gọn, bức tranh tồn cảnh của PMTD là gì? Đây là dạng các câu hỏi mà chúng ta sẽ
cố gắng trả lời trong tài liệu này. Mặc dù vì PMTD đang gia tăng sự hiện diện của nó trên các phương
tiện thông tin đại chúng và trong các tranh cãi giữa những người chuyên nghiệp về công nghệ thông tin
(IT), và dù ngay cả các cơng dân nói chung đang bắt đầu nói về nó, thì điều này đối với hầu hết mọi
người vẫn còn lạ lẫm chưa rõ. Và ngay cả những người mà đã quen với nó vẫn thường nhận thức được
chỉ về một trong những tính năng của nó, và hầu hết bỏ qua về những thứ khác. Để bắt đầu, trong
chương này chúng tôi sẽ trình bày những khía cạnh đặc thù của PMTD, tập trung chủ yếu vào việc giải
thích nền tảng cơ bản của nó cho những người tiếp cận chủ đề này lần đầu tiên, và nhấn mạnh tới tầm
quan trọng của nó. Như một phần của nền tảng cơ bản, chúng tôi sẽ phản ánh về định nghĩa của khái
niệm này (để biết chúng ta đang nói về cái gì) và về những hậu quả chính của việc sử dụng (và chỉ là sự
tồn tại của) PMTD.

1.1 Khái niệm về sự tự do của phần mềm
Kể từ đầu những năm 70 chúng ta đã bắt đầu quen với thực tế là bất kỳ ai thương mại hóa một chương
trình có thể áp đặt (và đang áp đặt) những điều kiện theo đó chương trình có thể được sử dụng. Việc
cho một bên thứ 3 mượn có thể sẽ bị cấm, ví dụ vậy. Dù thực tế là các phần mềm là khái niệm của cơng
nghệ hầu như mềm dẻo và có thể thích nghi được mà chúng ta có, thì nó có thể áp đặt sự ngăn cấm (và
nó thường bị cấm) áp dụng nó cho những nhu cầu cụ thể nào đó, hoặc sửa các lỗi của nó, mà khơng có
sự đồng ý rõ ràng của nhà sản xuất, người thường giữ quyền riêng cho những khả năng này. Nhưng
điều này chỉ là một trong những khả năng mà pháp luật hiện hành đưa ra: PMTD, mặt khác, đưa ra
những sự tự do mà các phần mềm sở hữu độc quyền từ chối.
Phần mềm sở hữu độc quyền (PMSHĐQ)
Trong tài liệu này chúng tôi sẽ sử dụng khái niệm PMSHĐQ để chỉ tới bất kỳ chương trình nào mà nó
khơng được coi là PMTD theo định nghĩa mà chúng tôi sẽ đưa ra sau đây.

Trang 25/218



GNUFDL • PID_00148386

Phần mềm tự do

1.1.1 Định nghĩa
Vì thế, khái niệm PMTD, như được hiểu bởi Richard Stallman trong định nghĩa của ông (FSF, “Định
nghĩa PMTD” [120]), tham chiếu tới các quyền tự do
được đảm bảo cho người nhận nó, được nhắc tới 4 quyền sau:
1. Tự do chạy chương trình ở bất cứ đâu, vì bất kỳ mục đích gì và vĩnh viễn.
2. Tự do nghiên cứu cách mà nó làm việc và để áp dụng nó cho các nhu cầu của chúng ta. Điều
này cần tới sự truy cập vào mã nguồn.
3. Tự do phân phối lại các bản sao, sao cho chúng ta có thể giúp được những bạn bè và hàng xóm
của chúng ta.
4. Tự do cải tiến chương trình và đưa những cải tiến đó ra cho cơng chúng. Điều này cũng cần tới
mã nguồn.
Cơ chế mà đảm bảo cho những quyền tự do này, theo pháp luật hiện hành, là sự phân phối theo một
giấy phép đặc biệt như chúng ta sẽ thấy sau (trong chương 3). Thông qua giấy phép này, tác giả trao các
quyền cho người nhận chương trình để thi hành các quyền tự do này, cũng như bổ sung thêm bất kỳ sự
hạn chế nào mà tác giả có thể mong muốn áp dụng (như để công nhận các tác giả ban đầu trong trường
hợp của một sự phân phối lại). Để giấy phép được xem là tự do, những hạn chế này phải không làm
mất tác dụng các quyền tự do đã được nêu ở trên.
Sự không rõ nghĩa của khái niệm tự do
Khái niệm PMTD trong tiếng Anh là “Free” (“Tự do”), ám chỉ 'sự tự do', nhưng khái niệm này có thể
cịn có nghĩa là 'miễn phí' hoặc 'biếu khơng', mà nó gây ra nhiều sự hiểu lầm. Chính vì thế mà vì sao
trong một số trường hợp tiếng Anh mượn các từ tiếng Tây Ban Nha hoặc Pháp và ám chỉ tới PMTD, đối
nghịch lại với phần mềm biếu khơng.

Vì thế, những định nghĩa của PMTD khơng tham chiếu tới thực tế rằng nó có thể bị hiểu là miễn phí:
PMTD và phần mềm biếu không là 2 thứ rất khác nhau. Tuy nhiên, để nói về điều này, chúng tơi cũng

phải giải thích rằng vì quyền tự do thứ 3, nên bất kỳ ai cũng có thể phân phối lại một chương trình mà
khơng cần phải hỏi sự cho phép hoặc sự thưởng công bằng tài chính, mà chúng làm cho khơng thể, trên
thực tế, để đạt được những lợi nhuận lớn chỉ bằng cách phân phối PMTD: bất kỳ ai mà đã có được
PMTD đều có thể phân phối lại nó với một giá thấp hơn, hoặc là hoàn toàn tự do.
Lưu ý
Bất chấp thực tế là bất kỳ ai cũng có thể thương mại hóa một chương trình cho trước ở bất kỳ giá nào, và
việc về mặt lý thuyết thì điều này có nghĩa là giá thành của việc phân phối lại có xu hướng trở thành giá
cho việc sao chép chương trình, vẫn có các mơ hình doanh nghiệp dựa chính xác trên việc bán PMTD, vì
có nhiều hồn cảnh trong đó khách hàng sẽ được chuẩn bị để trả tiền để có được những lợi ích cụ thể
khác nào đó, ví dụ như một sự đảm bảo, dù là một sự đảm bảo tưởng tượng, cho các phần mềm được
mua hoặc một giá trị gia tăng được lựa chọn, việc nâng cấp và tổ chức của một tập hợp các chương trình.

Từ quan điểm thực tế, một vài văn bản xác định chính xác hơn những điều kiện gì một giấy phép phải
đáp ứng để được xem là một giấy phép PMTD.

Trang 26/218


GNUFDL • PID_00148386

Phần mềm tự do

Trong số đó, chúng tơi có thể nhấn mạnh tới tầm quan trọng lịch sử của chúng, định nghĩa PMTD của
FSF ( 120], mà Debian chỉ dẫn cho việc quyết định liệu
một chương trình có là tự do hay không ( [104]
và định nghĩa khái niệm nguồn mở bởi tổ chức Sáng kiến Nguồn Mở
( [215], mà nó rất tương tự như những thứ nêu ở
trên.
Lưu ý
Ví dụ, các chỉ dẫn của Debian đi vào chi tiết của việc cho phép tác giả yêu cầu rằng các mã nguồn được

phân phối sẽ không được sửa trực tiếp, mà thay vào đó là bản gốc được đi kèm với các bản vá riêng rẽ
và rằng các chương trình nhị phân được tạo ra phải với các tên khác so với bản gốc. Họ cũng yêu cầu
rằng các giấy phép không được làm xấu đi các chương trình khác được phân phối theo cùng cách này.

1.1.2 Các khái niệm có liên quan
Khái niệm Phần mềm nguồn mở (PMNM), được khởi xướng bởi Eric Raymond và tổ chức Sáng kiến
Nguồn Mở (OSI) là tương đương với khái niệm PMTD. Về mặt triết học mà nói, thì khái niệm này là
rất khác vì nó nhấn mạnh tới tính sẵn sàng của mã nguồn và không nhấn mạnh về sự tự do, nhưng định
nghĩa này về mặt thực tế là y hệt như của Debian ("Định nghĩa nguồn mở", 1998
[183]. Khái niệm này về mặt chính trị là vơ
trùng hơn và nhấn mạnh khía cạnh kỹ thuật, mà nó có thể đưa ra những lợi ích về kỹ thuật, như các mơ
hình phát triển và kinh doanh được cải thiện, an ninh tốt hơn, vân vân. Bị chỉ trích mạnh mẽ bởi
Richard Stallman (“Vì sao PMTD là tốt hơn nguồn mở”) [204] và FSF () [27], nó đã
cộng hưởng tốt hơn nhiều với văn hóa thương mại và với các chiến lược của các công ty mà bằng một
cách nào đó khác hỗ trợ mơ hình này.
Những khái niệm có liên quan theo cách nào đó tới PMTD là như sau:

Freeware
Phần mềm quảng bá

Đây là các chương trình biếu không. chúng thường chỉ được phân phối ở dạng
nhị phân, và có thể lấy được miễn phí. Đơi khi nó có khả năng có được phép
để phân phối lại, và đơi khi khơng, nghĩa là sau đó nó chỉ có thể có được từ
site “chính thức” được duy trì cho mục đích đó. Nó thường được sử dụng để
quảng bá cho các chương trình (thường với chức năng hồn chỉnh hơn) hoặc
dịch vụ khác. Các ví dụ của dạng chương trình này bao gồm Skype, Google
Earth hoặc Microsoft Messenger.

Shareware
Phần mềm chia sẻ


Đây không phải là phần mềm biếu không, mà là một phương thức phân phối
khi mà các chương trình có thể được sao chép một cách tự do, thường là
khơng có mã nguồn, nhưng khơng được sử dụng một cách liên tục mà không
phải trả tiền cho chúng. Yêu cầu trả tiền có thể có động lực hoặc chỉ là sự lôi
cuốn tới đạo đức của người sử dụng. Hơn nữa, những khái niệm pháp lý của
giấy phép này có thể được sử dụng chống lại người vi phạm.

Trang 27/218


GNUFDL • PID_00148386

Phần mềm tự do

Charityware, careware Đây thường là phần mềm chia sẻ mà nó địi hỏi trả tiền để được chỉ tới một tổ
Phần mềm từ thiện
chức từ thiện được bảo trợ. Trong nhiều trường hợp, thay vì yêu cầu trả tiền,
một đóng góp tự nguyện có thể sẽ được yêu cầu. Một số PMTD, như Vim,
yêu cầu những đóng góp tự nguyện theo cách này (Brian Molenaar, “Ngữ
cảnh của phần mềm từ thiện là gì?”) [173].
Public domain
Miền cơng cộng

Ở đây, tác giả hồn tồn khơng thừa nhận tất cả các quyền của mình vì lợi ích
của miền cộng đồng, và điều này cần phải được tuyên bố chắc chắn trong
chương trình vì nếu khơng, chương trình sẽ bị cho là sở hữu độc quyền và
khơng có gì có thể được làm với nó. Trong trường hợp này, nếu mã nguồn bổ
sung được cung cấp, thì chương trình cũng là tự do.


Copyleft
Đây là một trường hợp đặc biệt của PMTD nơi mà giấy phép đòi hỏi bất kỳ
Ngược của từ bản sửa đổi được phân phối nào cũng phải là tự do.
quyền (Copyright)
Proprietary, locked-in, Những khái niệm này được sử dụng để tham chiếu tới các phần mềm mà
non-free
chúng không phải là tự do và cũng không phải là nguồn mở.
Sở hữu độc quyền, bị
khóa trói, khơng tự do

1.2 Động lực
Như chúng ta đã thấy, có 2 dịng động lực lớn cho sự phát triển PMTD, mà cũng đưa ra 2 cái tên được
biết tới như:


Động lực về đạo đức, được bênh vực bởi FSF () [27], mà nó đã kế thừa được
văn hóa của các cao thủ (hacker) và hỗ trợ sử dụng khái niệm tự do, viện lý rằng phần mềm là
tri thức mà phải được chia sẻ khơng có trở ngại gì, rằng việc dấu nó là phản xã hội và nói thêm
rằng khả năng để sửa đổi các chương trình là một dạng tự do diễn đạt. Bạn có thể nghiên cứu
điều này sâu hơn bằng cách đọc (PMTD, xã hội tự do. Những tiểu luận chọn lọc của Richard
M. Stallman) [211] hoặc phân tích của Pekka Himanen (Đạo đức và tinh thần cao thủ của kỷ
ngun thơng tin. Random House, 2001) [144].



Động cơ thực dụng, được bảo vệ bởi tổ chức OSI () [54] mà nó ủng
hộ sử dụng khái niệm nguồn mở, và viện lý trường hợp này là về những ưu thế về kỹ thuật và
tài chính mà chúng tơi sẽ thảo luận trong phần tiếp sau.

Bên cạnh 2 động lực chính này, mọi người làm việc về PMTD có thể làm thế vì nhiều lý do khác, bao

gồm cả vì thú vui (Linus Torvalds và David Diamond, Texere, 2001) [217] hoặc vì tiền, đa phần với
các mơ hình kinh doanh bền vững. Chương 4 nghiên cứu những động lực này một cách chi tiết trên cơ
sở các phân tích khách quan.

Trang 28/218


GNUFDL • PID_00148386

Phần mềm tự do

1.3 Hệ quả của sự tự do của phần mềm
PMTD đưa ra nhiều ưu điểm và, trong một số ít các nhược điểm, thì nhiều cái đã được cường điệu hóa
(hoặc được sáng tạo ra) bởi các đối thủ cạnh tranh sở hữu độc quyền. Những nhược điểm dễ thấy nhất
là về tài chính, vì như chúng ta đã thấy là không thể kiếm nhiều tiền từ sự phân phối nó, mà có thể và
có xu hướng sẽ được làm bởi ai đó khác chứ khơng phải tác giả. Điều này giải thích vì sao các mơ hình
kinh doanh và các cơ chế tài chính khác là cần thiết, mà chúng ta sẽ xem trong chương 5. Những nhược
điểm khác, như thiếu sự hỗ trợ hoặc chất lượng kém, sẽ liên quan tới việc cung cấp tài chính nhưng
cũng trong nhiều trường hợp là khơng đúng, vì ngay cả các phần mềm khơng có dạng cung cấp tài
chính cũng có xu hướng đưa ra các mức hỗ trợ tốt nhờ các nhóm thảo luận của người sử dụng và các
lập trình viên, và thường chất lượng là rất cao.
Ghi tạc trong tâm trí những cân nhắc về tài chính, chúng ta phải lưu tâm rằng mơ hình giá thành của
PMTD rất khác so với mơ hình giá thành của PMSHĐQ, vì một số lượng lớn của nó phát triển bên
ngồi nền kinh tế tiền tệ chính thống, và thường sử dụng các cơ chế trao đổi/đổi chác: “Tơi đưa cho anh
một chương trình mà anh quan tâm, và anh thích nghi nó vào kiến trúc của anh và tiến hành các cải tiến
mà anh cần”. Chương 7 thảo luận về các cơ chế kỹ thuật phần mềm đúng đắn để làm cho hầu hết các
tài nguyên còn chưa được khai thác của con người với những tính năng đặc biệt của riêng họ, trong khi
chương 8 nghiên cứu các công cụ được sử dụng để làm cho sự hợp tác này có hiệu quả. Hơn nữa, một
phần lớn giá thành được giảm thiểu bởi thực tế rằng nó là tự do, vì các chương trình mới khơng cần bắt
đầu từ đầu, vì chúng có thể sử dụng lại ngay các phần mềm đã có sẵn. Sự phân phối cũng có giá thành

thấp hơn nhiều, vì nó được phân phối thơng qua Internet và với việc quảng cáo tự do thơng qua các
nhóm thảo luận cơng cộng được thiết kế cho mục đích này.
Một kết luận nữa về các quyền tự do là chất lượng có được từ sự hợp tác tự nguyện của những người
đóng góp hoặc phát hiện và thơng báo các lỗi trong các mơi trường hoặc tình huống mà chúng là khơng
thể tưởng tượng được đối với người lập trình phát triển ban đầu. Hơn nữa, nếu một chương trình khơng
đưa ra chất lượng đủ, thì sự cạnh tranh có thể nắm lấy nó và cải tiến nó trên cơ sở những gì đã có. Đây
là cách mà sự hợp tác và cạnh tranh, 2 cơ chế hùng mạnh, kết hợp được để sản xuất ra chất lượng tốt
hơn.
Bây giờ hãy xem xét những hệ quả có lợi đối với người nhận.

1.3.1 Đối với người sử dụng đầu cuối
Người sử dụng đầu cuối, bất kể là cá nhân hay cơng ty, có thể thấy sự cạnh tranh thực sự trong thị
trường với một xu thế độc quyền. Để chính xác, khơng cần thiết phải phụ thuộc vào sự hỗ trợ của nhà
sản xuất phần mềm, vì có thể có một số cơng ty, ngay cả là nhỏ với mã nguồn và tri thức mà chúng cho
phép họ kinh doanh trong khi vẫn giữ các chương trình cụ thể nào đó là tự do.
Việc cố gắng tìm kiếm chất lượng của một sản phẩm khơng cịn dựa q nhiều vào tính đáng tin cậy
của nhà sản xuất như trong chỉ dẫn được đưa ra bởi sự chấp nhận và tính sẵn sàng của cộng đồng đối
với mã nguồn. Hơn nữa, chúng ta có thể quên về các hộp đen, mà phải được tin cậy “vì chúng tơi nói
thế”, và các chiến lược của các nhà sản xuất mà họ có thể quyết định một cách đơn phương liệu có bỏ

Trang 29/218


GNUFDL • PID_00148386

Phần mềm tự do

qua hay duy trì một sản phẩm cụ thể nào đó hay khơng.
Việc đánh giá các sản phẩm trước khi chúng được áp dụng được thực hiện dễ dàng hơn nhiều hiện nay,
vì tất cả những gì chúng ta phải làm là cài đặt các sản phẩm thay thế trong môi trường thực tế của

chúng ta và thử nghiệm chúng, trong khi đối với các PMSHĐQ thì chúng ta phải dựa vào những báo
cáo hoặc cố gắng thương thảo bên ngoài với các nhà cung cấp mà khơng phải lúc nào cũng có thể. Vì
sự tự do để sửa đổi chương trình vì sự sử dụng của riêng mình, nên người sử dụng có khả năng tùy biến
nó hoặc thích nghi nó vào những u cầu sửa các lỗi của riêng mình nếu có. Q trình sửa lỗi được
thấy bởi những người sử dụng các PMSHĐQ thường là đặc biệt gian khổ, nếu khơng nói là khơng thể,
vì nếu chúng ta định làm cho các lỗi được sửa, thì sự sửa đúng thường sẽ phải được kết hợp trong phiên
bản tiếp sau, mà có thể mất nhiều năm để được tung ra, và hơn nữa chúng ta sẽ phải mua chúng một lần
nữa. Mặt khác, với PMTD, chúng ta có thể tiến hành sửa lỗi hoặc tự mình sửa lỗi, nếu chúng ta có khả
năng, hoặc nếu khơng thì cũng có thể đưa nhờ làm dịch vụ bên ngồi. Chúng ta cịn có thể, trực tiếp
hoặc bằng việc ký hợp đồng các dịch vụ bên ngồi, tích hợp chương trình này với các chương trình
khác hoặc kiểm thử chất lượng của nó (ví dụ như các vấn đề về an ninh). Mở rộng hơn nữa, sự kiểm
soát được đi qua từ nhà cung cấp cho tới người sử dụng, chứ khơng chỉ nằm ở phía nhà cung cấp như
thường thấy đối với các PMSHĐQ.

1.3.2 Đối với nền hành chính nhà nước
Nền hành chính nhà nước là một người sử dụng lớn với những đặc tính đặc thù, vì nó có một bổn phận
đặc biệt hướng tới các cơng dân của mình, liệu có hay khơng để đưa ra các dịch vụ có thể truy cập
được, trung lập trong quan hệ đối với các nhà sản xuất, hay để đảm bảo tính tồn vẹn, tính có ích, tính
riêng tư và an ninh các dữ liệu của họ về lâu dài. Tất cả những thứ trên là bổn phận đối với nền hành
chính nhà nước sẽ phải tôn trọng hơn đối với các chuẩn nếu đem so với các cơng ty tư nhân và duy trì
các dữ liệu trong các định dạng mở và để xử lý các dữ liệu với các phần mềm mà chúng phụ thuộc
thường vào các chiến lược của các công ty nước ngoài, được chứng thực là an ninh bởi một sự kiểm tra
nội bộ. Sự áp dụng đối với các chuẩn là một tính năng đáng lưu ý của PMTD mà PMSHĐQ khơng
quan tâm đúng mức y hệt như vậy, vì nó thường nóng lịng để tạo ra các thị trường bị giam cầm.
Hơn nữa, nền hành chính phục vụ như một dạng trình diễn và chỉ dẫn đối với nền cơng nghiệp, có
nghĩa là nó có một ảnh hưởng to lớn, mà phải được định hướng vào việc đan kết các cơ cấu công nghệ
để tạo ra được sự thịnh vượng của quốc gia. Sự thịnh vượng này có thể được tạo ra bởi việc khuyến
khích sự phát triển của các công ty chuyên về việc phát triển PMTD mới cho nền hành chính, hoặc duy
trì, áp dụng hoặc kiểm tra các phần mềm hiện đang tồn tại. Trong chương 6, chúng ta sẽ xem xét vấn đề
này sâu hơn.


1.3.3 Đối với lập trình viên
Đối với lập trình viên và người sản xuất phần mềm, sự tự do đáng kể sẽ thay đổi các qui định của cuộc
chơi. Nó làm cho dễ dàng hơn để tiếp tục cạnh tranh trong khi vẫn là nhỏ và để có được cơng nghệ hiện
đại. Nó cho phép chúng ta tận dụng được ưu thế công việc của những người khác, cạnh tranh ngay cả

Trang 30/218


GNUFDL • PID_00148386

Phần mềm tự do

với sản phẩm khác bằng việc sửa đổi mã nguồn của riêng mình, dù đối thủ cạnh tranh sao chụp được có
thể sau đó cũng tận dụng được ưu thế về mã nguồn của chúng ta (nếu nó là copyleft). Nếu dự án được
quản lý tốt, thì có khả năng có được sự hợp tác tự do của một số lượng người lớn, hơn nữa, để có được
sự truy cập tới một hệ thống phân phối gần như hoàn toàn tự do và toàn cầu. Dẫu rằng, vấn đề còn lại là
làm thế nào để có được những tài ngun về tài chính, nếu phần mềm khơng phải là sản phẩm để bán vì
tiền hoa hồng. Chương 5 làm việc với khía cạnh này.

1.3.4 Đối với nhà tích hợp
Đối với các nhà tích hợp, PMTD là thiên đường. Nó có nghĩa là khơng cịn các hộp đen mà cần phải
khớp được cùng nhau, thường sử dụng tới kỹ thuật nghịch đảo. Những góc cạnh thơ ráp có thể được
làm trơn và các phần của các chương trình có thể được tích hợp để có được sản phẩm tích hợp theo u
cầu, vì có một kho khổng lồ các PMTD từ đó có các phần có thể được trích ra.

1.3.5 Đối với các nhà cung cấp và duy trì dịch vụ
Việc có mã nguồn làm thay đổi mọi thứ và đặt chúng ta vào vị trí y hệt như nhà sản xuất. Nếu vị trí này
là khơng y hệt, thì là vì chúng ta thiếu một tri thức sâu về chương trình mà chỉ các lập trình viên mới
có, mà nó có nghĩa là được khuyến cáo cho các nhà cung cấp sự duy trì để tham gia vào các dự án mà

chúng đòi hỏi sự duy trì. Giá trị gia tăng của các dịch vụ được đánh giá cao hơn nhiều vì giá thành của
chương trình là thấp. Hiện nay thì đây là việc kinh doanh rõ ràng nhất đối với PMTD và là một nơi có
sự cạnh tranh nhất có thể.

1.4 Tóm lược
Chương đầu tiên này đã phục vụ như là một cuộc gặp gỡ mào đầu với thế giới của PMTD. Khái niệm
này được xác định bởi Richard Stallman dựa trên 4 quyền tự do (tự do chạy, tự do nghiên cứu, tự do
phân phối lại và tự do cải tiến), 2 trong số đó địi hỏi sự truy cập tới mã nguồn. Tính có thể truy cập
được này và những ưu thế của nó đã tạo động lực cho quan điểm ít đạo đức hơn và thực dụng hơn,
được bảo vệ bởi OSI, mà đã đưa ra khái niệm khác: PMNM. Chúng ta cũng lưu ý những khái niệm
khác tương tự có liên quan hoặc đối nghịch để làm rõ các khái niệm khác nhau này. Cuối cùng, chúng
ta đã thảo luận các hệ quả của PMTD đối với các bên chủ chốt có liên quan.

Trang 31/218


GNUFDL • PID_00148386

Phần mềm tự do

2 Một chút về lịch sử
“Khi tơi đã bắt đầu làm việc tại Phịng thí nghiệm Trí tuệ Nhân tạo của MIT vào năm 1971, thì tơi đã trở
thành một phần của một cộng đồng chia sẻ phần mềm mà nó đã tồn tại nhiều năm. Việc chia sẻ phần
mềm từng không bị hạn chế đối với cộng đồng cụ thể của chúng tơi; nó cũng lâu đời như những chiếc
máy tính vậy, hệt như việc chia sẻ các công thức cũng lâu đời như việc nấu ăn. Nhưng chúng tơi đã thực
hiện nó nhiều hơn so với hầu hết mọi người. […] Chúng tôi đã không gọi các phần mềm của chúng tôi là
PMTD, vì khái niệm đó đã chưa từng tồn tại; mà đó là những gì đã từng thế. Bất kỳ khi nào mọi người từ
trường đại học khác hoặc từ một công ty khác muốn đưa vào sử dụng một chương trình, thì chúng tơi vui
vẻ để cho họ làm. Nếu bạn từng thấy ai đó sử dụng một chương trình khơng quen biết và thú vị, thì bạn
ln có thể yêu cầu cho xem mã nguồn, sao cho bạn có thể đọc được nó, thay đổi được nó, hoặc tháo

tung các phần của nó ra để làm một chương trình mới”.
Richard Stallman, “Dự án GNU” (ban đầu được xuất bản trong cuốn sách Nguồn Mở) [208].

Dù tất cả lịch sử có liên quan tới IT là vắn tắt cần thiết, thì lịch sử của PMTD vẫn là dài nhất. Trên thực
tế, chúng ta có thể nói rằng lúc ban đầu hầu hết tất cả phần mềm được phát triển đã thỏa mãn định
nghĩa của PMTD, ngay cả dù khái niệm này đã cịn chưa tồn tại. Sau này tình thế đã thay đổi hoàn
toàn, và PMSHĐQ đã áp đảo sân chơi, hầu như là độc chiếm, một thời gian khá dài. Chính trong thời
gian này các quỹ đã được sắp đặt cho PMTD như chúng ta biết nó ngày nay, và khi mà từng chút một
các chương trình tự do đã bắt đầu xuất hiện. Cùng với thời gian, những thứ này bắt đầu tăng trưởng
thành một xu thế mà đã tiến bộ và chín muồi tới ngày hơm nay, khi mà PMTD là một khả năng đáng để
xem xét trong gần như tất cả các lĩnh vực.
Lịch sử này là không được biết tới một cách rộng rãi, mà đối với nhiều người chuyên nghiệp về IT thì
PMSHĐQ là phần mềm “ở tình trạng tự nhiên của nó”. Tuy nhiên, tình hình là ngược lại và những
mầm mống của sự thay đổi có thể được thấy trong thập kỷ đầu tiên của thế kỷ 21 đã được gieo trong
những năm đầu 1980.
Thư mục tham khảo
Khơng có nhiều câu chuyện chi tiết về PMTD, và những câu chuyện mà chúng có, thường là những tài
liệu hạn chế đối với chủ đề chính của chúng. Trong nhiều trường hợp, các độc giả có quan tâm có thể mở
rộng tri thức của họ về những gì chúng tơi đã mơ tả trong chương này bằng việc đọc “Sáng kiến Nguồn
Mở. Lịch sử của OSI” [146] ( mà nó nhấn mạnh ảnh hưởng
của PMTD lên cộng đồng doanh nghiệp vào những năm 1998 và 1999; “Một câu chuyện ngắn về phong
trào PMTD/PMNM” [190], của Chris Rasch, mà nó bao trùm lịch sử của PMTD cho tới năm 2000, hoặc
“Nguồn gốc và tương lai của PMNM” (1999) [177], của Nathan Newman, mà nó tập trung vào một sự
mở rộng rộng lớn trong sự khuyến khích khơng trực tiếp của chính phủ Mỹ về PMTD hoặc các hệ thống
tương tự trong các thập nhiên 1970 và 1980.

2.1 Phần mềm tự do trước phần mềm tự do
PMTD như một khái nhiệm đã không xuất hiện cho tới đầu những năm 1980.

Trang 32/218



GNUFDL • PID_00148386

Phần mềm tự do

Tuy nhiên, lịch sử của nó có thể được dõi ngược lại vài năm trước.

2.1.1 Và lúc ban đầu nó từng là tự do
Trong những năm 60, toàn cảnh IT đã bị áp đảo bởi các máy tính lớn, chủ yếu được cài đặt trong các
cơng ty và cơ quan chính phủ. IBM từng là nhà sản xuất hàng đầu, con đường phía trước đối với sự
cạnh tranh của hãng. Trong thời kỳ này, khi mua một máy tính (phần cứng), thì phần mềm được bổ
sung vào. Cho tới khi hợp đồng duy trì được thanh tốn, thì việc truy cập được trao cho catalog phần
mềm của nhà sản xuất. Hơn nữa, ý tưởng của các chương trình là thứ gì đó “tách biệt” khỏi một quan
điểm thương mại từng là khác thường.
Trong giai đoạn này, phần mềm thường được phân phối cùng với mã nguồn của nó (trong nhiều trường
hợp chỉ như là mã nguồn), và nói chung, khơng có bất kỳ hạn chế thực tế nào.
Các nhóm người sử dụng như SHARE (những người sử dụng các hệ thống của IBM) hoặc DECUS
(những người sử dụng của DEC) đã tham gia vào những trao đổi này, và ở mức độ nào đó, đã tổ chức
ra chúng. Khu vực “các thuật toán” của tạp chí Communication of the ACM từng là một ví dụ tốt khác
về một diễn đàn trao đổi. Chúng tơi có thể nói rằng trong những năm đầu đó của IT, phần mềm từng là
tự do, ít nhất theo nghĩa là những ai mà đã có được sự truy cập tới nó thì có thể thường có được sự truy
cập tới mã nguồn, và đã được sử dụng cho việc chia sẻ nó, sửa đổi nó và cũng chia sẻ những sửa đổi
đó.
Vào ngày 30/09/1969, IBM đã cơng bố rằng từ năm 1970, hãng có thể bán một phần phần mềm của
hãng một cách riêng rẽ (Burton Grad, 2002) [131]. Điều này có nghĩa là các khách hàng của hãng có
thể khơng cịn có được các chương trình cần thiết được đưa vào trong giá thành của phần cứng nữa.
Phần mềm đã bắt đầu sẽ được cảm nhận như thứ gì đó với một giá trị thực bên trong, và hậu quả là, sự
truy cập hạn chế một cách cực kỳ kỹ lưỡng tới các chương trình và khả năng của người sử dụng để chia
sẻ, sửa đổi hoặc nghiên cứu phần mềm đã bị hạn chế càng nhiều càng tốt (cả về mặt kỹ thuật và pháp

lý) ngày càng trở nên phổ biến. Nói một cách khác, tình hình đã thay đổi tới mức mà nó tiếp tục là tình
trạng trong thế giới phần mềm lúc bắt đầu thế kỷ 21.
Thư mục tham khảo
Các độc giả có quan tâm trong việc tìm hiểu về giai đoạn chuyển đổi này, có thể đọc, ví dụ như “ICP
Directory đã bắt đầu như thế nào” [226] (1998), trong đó Larry Welke thảo luận cách mà một trong
những catalog phần mềm khơng có liên quan tới một nhà sản xuất đã được sinh ra thế nào, và làm thế
nào mà trong quá trình này nó đã được phát hiện ra rằng các cơng ty có thể được chuẩn bị để trả tiền cho
các chương trình khơng được làm ra bởi các nhà sản xuất máy tính của chúng.

Vào giữa những năm 1970 thì PMSHĐQ đã hoàn toàn là phổ biến trong lĩnh vực IT. Điều này có nghĩa
là một sự thay đổi văn hóa khổng lồ giữa những người chuyên nghiệp mà đã làm việc với phần mềm và
là điểm khởi đầu cho một sự thịnh vượng của một số lượng lớn các công ty chuyên về việc kinh doanh
mới này. Nó có thể vẫn còn là hầu hết một thập kỷ trước khi những gì mà chúng ta biết như PMTD đã
bắt đầu xuất hiện theo cách có tổ chức và như một phản ứng đối với tình trạng này.

Trang 33/218


GNUFDL • PID_00148386

Phần mềm tự do

2.1.2 Những năm 70 và đầu những năm 80
Ngay cả khi xu thế áp đảo này đã khai thác được mơ hình PMSHĐQ, thì cũng đã có những sáng kiến
mà chúng đã chỉ ra một số đặc tính của những gì có thể sau đó được xem là PMTD. Trên thực tế, một
số trong số họ đã sản xuất PMTD như chúng ta có thể xác định được nó ngày hơm nay. Tất nhiên,
chúng ta có thể nhắc tới SPICE, TeX và Unix, mà là trường hợp phức tạp hơn nhiều.
SPICE (Chương trình Mơ phỏng với việc Nhấn mạnh Mạng Tích hợp) là một chương trình được phát
triển bởi Đại học Berkeley, California để mơ phỏng các đặc tính điện tử của một mạng tích hợp. Nó đã
được phát triển và đặt trong miền cơng cộng bởi tác giả của nó, Donald O. Pederson, năm 1973. SPICE

ban đầu từng là một công cụ đào tạo, và đã nhanh chóng lan truyền tới các trường đại học trên tồn thế
giới. Ở đó nó đã được sử dụng bởi các sinh viên của những gì mà sau này đã là một nguyên lý mới nổi
lên: thiết kế mạng tích hợp. Vì nó nằm trong miền cơng cộng, nên SPICE có thể được phân phối lại,
sửa đổi, nghiên cứu. Nó cịn có thể được áp dụng cho những yêu cầu cụ thể nào đó, và phiên bản đó có
thể được bán như một sản phẩm sở hữu độc quyền (mà nó là những gì mà một số lượng lớn các công ty
đã làm trong một thời gian qua lịch sử của họ). Với những đặc tính này, SPICE đã có tất cả các tấm thẻ
để trở thành chuẩn cơng nghiệp với các phiên bản khác nhau của nó. Và quả thực, đó là những gì đã
xảy ra. Đây có thể đã là chương trình đầu tiên có những đặc tính của PMTD mà trong một giai đoạn
nào đó đã chiếm lĩnh được một thị trường, phần mềm về trình mơ phỏng các mạng tích hợp, và khơng
cịn nghi ngờ gì là đã có khả năng để làm được chính xác như vậy nhờ vào những đặc tính đó (bổ sung
thêm vào những phẩm chất kỹ thuật không thể chối cãi được của nó).
Thư mục tham khảo
Thơng tin nhiều hơn về lịch sử của SPICE có thể tra cứu trong “Cuộc sống của SPICE”, được trình bày
trong cuộc Gặp gỡ Công nghệ và Mạng Lưỡng cực, Minneapolis, MN, Mỹ, vào tháng 09/1996 [175].
Bạn có thể thấy trang web của SPICE tại />
Donald Knuth đã bắt đầu phát triển TeX trong một kỳ nghỉ của năm 1978. TeX là một hệ thống mẫu
trình bày kiểu in điện tử thường được sử dụng để tạo ra các tài liệu chất lượng cao. Từ ban đầu, Knuth
đã sử dụng một giấy phép mà ngày nay có thể được xem là một giấy phép PMTD. Khi hệ thống này
được xem là đủ ổn định, vào năm 1985, ơng đã duy trì giấy phép đó. Khi đó, TeX từng nằm trong
những hệ thống nổi tiếng nhất và rộng lớn nhất mà chúng có thể được xem là PMTD.
Thư mục tham khảo
Bạn có thể thấy một số cột mốc trong lịch sử của TeX bằng việc tra cứu trực tuyến tại
[39]. Chi tiết hơn, bài viết trên Wikipedia
cũng cực kỳ hữu dụng, [233].

Trang 34/218


GNUFDL • PID_00148386


Phần mềm tự do

2.1.3 Sự phát triển ban đầu của Unix
Unix, một trong những hệ điều hành có thể khả chuyển được đầu tiên, ban đầu đã được tạo ra bởi
Thompson và Ritchie (cùng những người khác) từ Bell Labs của AT&T. Nó đã tiếp tục phát triển kể từ
khi ra đời khoảng năm 1972, giúp tạo ra những biến thể bất tận được bán (theo nghĩa đen) bởi hàng
chục công ty.
Vào những năm 1973 và 1974, Unix đã tới nhiều trường đại học và trung tâm nghiên cứu trên khắp thế
giới, với một giấy phép mà đã cho phép sử dụng nó cho các mục đích hàn lâm. Dù đã có những hạn chế
nhất định mà chúng đã ngăn trở sự phân phối tự do của nó, thì trong số các tổ chức mà đã đặt ra một
giấy phép mà việc hoạt động là rất giống với những gì sau này được coi là có trong nhiều cộng đồng
PMTD.
Những người mà đã truy cập vào mã nguồn của Unix đã làm việc với một hệ thống mà họ có thể
nghiên cứu, cải tiến và mở rộng. Một cộng đồng các lập trình viên đã nổi lên xung quanh nó, mà sớm
bị hút vào CSRG của Đại học California, tại Berkeley. Cộng đồng này đã phát triển văn hóa riêng của
mình, mà như chúng ta thấy sau này, đã là rất quan trọng trong lịch sử của PMTD. Unix, ở một mức độ
nào đó, từng là một sự thí điểm sớm cho những gì mà chúng ta có thể thấy với GNU và Linux vài năm
sau đó. Nó đã được đưa vào trong một cộng đồng nhỏ hơn nhiều, và giấy phép của AT&T đã là cần
thiết, nhưng trong tất cả các khía cạnh, sự phát triển của nó là rất tương tự (trong một thế giới liên kết ít
hơn nhiều).
Các phương pháp phát triển cố hữu của PMTD
Trong Các công dân mạng (Netizens). Trong lịch sử và ảnh hưởng của Usenet và Internet (IEEE
Computer Society Press, 1997 [139], page 139) chúng ta có thể đọc một ít dịng mà chúng có thể tham
chiếu tới nhiều dự án PMTD: “Việc đóng góp cho giá trị của Unix trong sự phát triển ban đầu của nó, sự
thực là việc mã nguồn đã được mở và sẵn sàng. Nó có thể được kiểm tra, cải thiện và tùy biến”.
Trang 142 của cùng thứ này nói rằng: “Những người tiên phong như Henry Spencer đồng ý về tầm quan
trọng của việc phải có mã nguồn để có thể xác định và sửa các lỗi được phát hiện. […] Ngay cả trong
những năm cuối 1970 và đầu những năm 1980, thực tế là mỗi site Unix đều đã có các nguồn hồn
chỉnh”.
Văn bản của Marc Rochkind “Phỏng vấn với Dick Haight” còn chi tiết hơn (Unix Review, tháng

05/1986) [198]: “đó là một trong những thứ tuyệt vời về Unix trong những ngày đầu: mọi người thực sự
được chia sẻ cho nhau mọi thứ. […] Không chỉ chúng tôi đã học được nhiều trong những ngày xưa ấy từ
việc chia sẻ tư liệu, mà chúng tơi cịn khơng bao giờ có lo lắng về mọi thứ thực sự đã làm việc như thế
nào vì chúng tơi ln có thể đi đọc mã nguồn”.

Qua thời gian, Unix cũng trở thành một ví dụ sớm về các vấn đề mà có thể nảy sinh từ các hệ thống sở
hữu độc quyền mà ban đầu được coi là “đã có một số tính năng của PMTD”. Về cuối những năm 1970
và đặc biệt trong thập kỷ 1980, AT&T đã thay đổi chính sách của mình và sự truy cập tới các phiên bản
mới của Unix trở nên khó khăn và đắt đỏ. Triết lý của những năm đầu mà đã làm cho Unix quá là phổ
biến trong các lập trình viên, đã thay đổi hồn tồn ở một mức độ mà trong năm 1991 AT&T đã cịn cố
gắng kiện Đại học Berkeley vì việc xuất bản mã nguồn Unix BSD mà CSRG của Berkeley đã tạo ra.
Nhưng đây là một câu chuyện khác mà chúng tôi sẽ kể sau.

Trang 35/218


GNUFDL • PID_00148386

Phần mềm tự do

2.2 Sự bắt đầu: BSD, GNU
Tất cả mọi trường hợp được bàn luận trong phần trên từng hoặc là những sáng kiến riêng lẻ hoặc đã
không tuân thủ nghiêm ngặt với những yêu cầu của PMTD. Điều này đã không xảy ra cho tới đầu
những năm 1980 mà các dự án có tổ chức và có ý thức đầu tiên để tạo ra những hệ thống chứa PMTD
đã xuất hiện. Trong giai đoạn này, những nền tảng về đạo đức, pháp lý và ngay cả tài chính của các dự
án này đã bắt đầu được thiết lập (có lẽ cịn quan trọng hơn), với chúng đang được phát triển và hoàn
thiện cho tới tận ngày hơm nay. Và vì hiện tượng mới này đã cần tới một cái tên, điều đã xảy ra khi
khái niệm PMTD lần đầu tiên sinh ra.

2.2.1 Richard Stallman, GNU, FSF: phong trào PMTD ra đời

Đầu năm 1984, Richard Stallman, người khi đó được th bởi Phịng thí nghiệm AI của MIT, đã rời bỏ
công việc của ông để bắt đầu làm việc về dự án GNU. Stallman tự coi bản thân là một cao thủ máy tính
mà sung sướng chia sẻ những mối quan tâm về công nghệ và mã nguồn của ơng. Ơng đã khơng thích
cái cách mà ơng từ chối ký các hợp đồng độc quyền và không chia sẻ đã làm cho ông trở thành một kẻ
bị ruồng bỏ trong thế giới riêng của ông, và cách sử dụng PMSHĐQ trong môi trường của ông đã làm
cho ơng bất lực đối mặt với tình trạng mà có thể dễ dàng được giải quyết trước đó.
Ý tưởng của ông khi ông rời bỏ MIT là để xây dựng một hệ điều hành hoàn chỉnh, để sử dụng chung,
mà hoàn toàn tự do (“Dự án GNU”, DiBona et al.) [208]. Hệ thống này (và dự án mà có thể có trách
nhiệm trong việc tạo ra nó đã trở thành đúng đắn) đã được gọi là GNU (“GNU không phải là Unix”,
một từ viết tắt đệ qui). Dù ngay từ đầu dự án GNU đã đưa các phần mềm vào trong hệ thống của mình
mà nó đã sẵn sàng (như TeX hoặc, sau này, hệ X Window), thì đã cịn có nhiều thứ phải xây dựng.
Richard Stallman đã bắt đầu bằng việc viết một trình biên dịch C (GCC) và một trình soạn thảo
(Emacs), cả 2 đều vẫn cịn được sử dụng ngày nay (và rất phổ biến).
Ngay từ đầu dự án GNU, Richard Stallman đã quan tâm về sự tự do mà những người sử dụng các phần
mềm này có thể có. Ơng đã muốn khơng chỉ những người đã nhận được các chương trình trực tiếp từ
dự án GNU tiếp tục tận hưởng y hệt những quyền (sửa đổi, phân phối lại, …), mà cả những người mà
nhận được nó sau bất kỳ số lượng phân phối lại nào và sửa đổi (có thể) nào. Vì lý do này ơng đã phác
thảo ra giấy phép GPL, có lẽ là giấy phép PMTD đầu tiên được thiết kế đặc biệt để đảm bảo rằng một
chương trình có thể là tự do theo cách này.
Richard Stallman đã gọi cơ chế chung mà các giấy phép dạng GPL này sử dụng để đạt được những
đảm bảo này, copyleft, mà nó tiếp tục sẽ trở thành cái tên của một họ lớn các giấy phép của PMTD
(FSF, Giấy phép Công cộng Chung GNU, phiên bản 2, tháng 06/1991) [118].
Richard Stallman cũng đã sáng lập ra FSF để có được các đầu tư vốn, mà ông sử dụng để phát triển và
bảo vệ PMTD, và đã thiết lập các nguyên tắc đạo đức của ơng với “Tun ngơn GNU” (FSF, 1985)
[117] và “Vì sao phần mềm phải khơng có chủ sở hữu” (Richard Stallman, 1998) [207].
Từ quan điểm kỹ thuật, dự án GNU được nhận thức như một nỗ lực có cấu trúc cao với các mục tiêu rất

Trang 36/218



GNUFDL • PID_00148386

Phần mềm tự do

rõ ràng. Phương pháp thường được dựa vào các nhóm người khá nhỏ (thường là những người tự
nguyện) phát triển một trong những công cụ mà nó có thể sau đó phù hợp tuyệt vời trong một trị chơi
ghép hình hồn chỉnh (hệ GNU). Tính được phân thành các module của Unix, trong đó dự án này đã
được truyền cảm hứng, trùng hợp hoàn toàn với ý tưởng đó. Phương pháp làm việc này thường mặc
nhiên sử dụng Internet, nhưng vì vào lúc đó nó còn chưa được thâm nhập vào một cách tuyệt đối, nên
FSF cũng cịn bán được các băng từ trên đó nó ghi lại các ứng dụng, mà có nghĩa là nó đã có thể là một
trong những tổ chức đầu tiên có được sự cân đối tài chính (dù theo một cách khá hạn chế) từ việc tạo ra
PMTD. Vào đầu những năm 90, khoảng 6 năm sau khi dự án này được hình thành, GNU đã rất gần đạt
tới việc có một hệ thống hồn chỉnh tương tự như Unix. Tuy nhiên, tại thời điểm đó nó cịn chưa sản
xuất ra được một trong những phần chủ chốt: nhân của hệ điều hành (còn được biết tới như là nhân
kernel), một phần của hệ điều hành mà nó điều khiển các phần cứng, chiết tách nó, và cho phép các
ứng dụng chia sẻ tài nguyên, và cơ bản là chạy được).
Tuy nhiên, phần mềm GNU đã là rất phổ biến trong những người sử dụng một số biến thể khác nhau
của Unix, vào lúc đó hầu hết các hệ điều hành được sử dụng phổ biến trong các doanh nghiệp. Hơn
nữa, dự án GNU đã trở thành khá nổi tiếng trong số những người chuyên nghiệp về IT, và đặc biệt là
trong số những người làm việc tại các trường đại học. Trong giai đoạn đó, các sản phẩm của nó đã có
được một uy tín xứng đáng cho tính ổn định và chất lượng tốt.

2.2.2 CSRG của Berkeley
Từ năm 1973, Nhóm Nghiên cứu Khoa học Máy tính CSRG (Computer Science Research Group) của
Đại học California tại Berkeley đã là một trong những trung tâm nơi mà hầu hết các phát triển liên
quan tới Unix đã được làm ra, đặc biệt giữa những năm 1979-1980. Không chỉ những ứng dụng được
đưa ra và những ứng dụng mới khác được xây dựng để chạy trên Unix, mà còn cả những cải tiến quan
trọng đã được làm cho nhân và nhiều chức năng đã được bổ sung. Ví dụ, trong những năm 80, một vài
hợp đồng của DARPA (của Bộ Quốc phòng Mỹ) đã cấp tiền cho việc triển khai cài đặt TCP/IP mà cho
tới hôm nay đã được xem là tham chiếu cho các giao thức mà chúng tạo ra cơng việc của Internet

(trong q trình, việc liên kết sự phát triển của Internet và sự mở rộng của các máy trạm Unix). Nhiều
công ty đã sử dụng các phát triển của CSRG như những nền tảng cho các phiên bản Unix của họ để tạo
ra những hệ thống nổi tiếng khi đó, như SunOS (Sun Microsystems) hoặc Ultrix (Digital Equipment).
Điều này giải thích tại sao Berkeley đã trở thành một trong 2 nguồn Unix cơ bản, cùng với một nơi
“chính hiệu” nữa là AT&T.
Để sử dụng được tất cả các mã nguồn mà CSRG đã tạo ra (và mã nguồn của những người cộng tác của
cộng đồng Unix này mà trong một chừng mực nào đó họ đã phối hợp), cần thiết phải có giấy phép Unix
của AT&T, mà nó ngày càng trở nên khó khăn (và đắt giá) để có được, đặc biệt nếu sự truy cập tới mã
nguồn của hệ thống được yêu cầu. Một phần theo một dự định để vượt qua được vấn đề này, vào tháng
06/1989 CSRG đã tung ra phần Unix có liên quan tới TCP/IP (triển khai cài đặt của các giao thức trong
nhân và các tiện ích), mà nó đã khơng bao gồm các mã nguồn của AT&T. Nó đã được gọi là Phiên bản
Mạng 1 (Net-1). Giấy phép mà nó được đưa ra là giấy phép nổi tiếng BSD, giấy phép này loại bỏ một
số vấn đề với các mệnh đề của nó về các bổn phận quảng cáo, đã ln được xem là một ví dụ về một
giấy phép PMTD của những người thiểu số (mà nó bổ sung việc cho phép phân phối lại, cũng cho phép

Trang 37/218


GNUFDL • PID_00148386

Phần mềm tự do

kết hợp vào các sản phẩm của sở hữu độc quyền). Hơn nữa CSRG đã thử nghiệm một mơ hình tài
chính mới (mà FSF đã thí điểm thành cơng); nó đã bán các đầu băng với phát tán của mình với giá mỗi
băng 1,000 USD. Dù thực tế là bất kỳ ai tới lượt mình cũng có thể phân phối lại được nội dung của các
cuốn băng cho hàng ngàn tổ chức để có được tiền để tiếp tục phát triển.
Đã chứng kiến sự thành công của phát tán Net-1, Keith Bostic đã đề xuất để viết lại tất cả các mã
nguồn mà vẫn còn giữ được từ Unix gốc của AT&T. Dù có sự nghi ngờ của một số thành viên của
CSRG, thì ơng vẫn đã tuyên bố công khai yêu cầu trợ giúp để hoàn thành nhiệm vụ này, và từng chút
một các tiện ích (được viết lại trên cơ sở của các đặc tả kỹ thuật) đã trở nên tích hợp được vào trong hệ

thống của Berkeley. Trong khi đó, q trình y như vậy đã được thực hiện với nhân, theo đúng cái cách
mà hầu hết các mã nguồn đã được sản xuất bởi Berkeley hoặc các cộng tác viên tình nguyện đã được
viết một cách độc lập. Vào tháng 06/1991, sau khi có được phép từ cơ quan quản lý là Đại học
Berkeley thì Phiên bản Mạng 2 (Net-2) đã được tung ra, với hầu như tất cả mã nguồn của nhân và tất
cả các tiện ích của một hệ điều hành Unix hoàn chỉnh.
Bộ này một lần nữa đã được phân phối theo giấy phép BSD và hàng ngàn các đầu băng đã được bán
với giá mỗi băng 1,000 USD. Chỉ 6 tháng sau khi tung ra Net-2, Bill Jolitz đã viết mã nguồn mà đã bị
mất đối với nhân để hoạt động trên kiến trúc i386, tung ra 386BSD, mà nó đã được phân phối qua
Internet. Trên cơ sở của mã nguồn này sau đó đã nổi lên, như một biên dịch của các bản vá mà đã được
đóng góp qua Net để cải tiến 386BSD; sau này FreeBSD đã xuất hiện, như một nỗ lực để tập trung vào
hỗ trợ kiến trúc i386; một vài năm sau đó dự án OpenBSD đã được hình thành, với một sự nhấn mạnh
vào an ninh. Và cũng đã có một phiên bản sở hữu độc quyền dựa trên Net-2 (dù nó chắc chắn là bản
gốc, vì nó đã chào cho các khách hàng của nó tất cả các mã nguồn như một phần của phát tán cơ bản
này), mà đã được thực hiện một cách độc lập bởi một công ty tới nay đã chết BSDI (Berkeley Software
Design Inc.).
Phần vì như một phản ứng đối với phát tán được làm ra bởi BSDI, bộ phận phụ của AT&T mà đã giữ
các quyền của giấy phép Unix này, các Phịng thí nghiệm Hệ thống Unix USL (Unix System
Laboratories), đã cố kiện BSDI đầu tiên và sau đó là Đại học California. Việc tố cáo là việc BSDI đã
phân phối sở hữu trí tuệ của AT&T mà khơng có phép. Sau một loạt vận động pháp lý (mà bao gồm cả
một vụ kiện ngược của Đại học California chống lại USL), thì Novell đã mua các quyền Unix từ USL,
và vào tháng 01/1994 đã đạt được một vụ dàn xếp ngồi tịa án với Đại học California. Như là kết quả
của sự dàn xếp này, CSRG đã phân phối phiên bản 4.4BSD-Lite, mà nó đã sớm được sử dụng bởi tất cả
các dự án của họ *BSD. Ngay sau đó (sau khi tung ra phiên bản 4.4BSD-Lite Phiên bản 2), thì CSRG
đã biến mất. Tại thời điểm đó, một số đã sợ rằng nó có thể sẽ là sự kết thúc của các hệ thống *BSD,
nhưng thời gian đã chỉ ra rằng chúng vẫn còn sống và biến theo một dạng quản lý mới mà đặc thù hơn
đối với các dự án PMTD. Ngay cả trong thập kỷ đầu tiên của năm 2000 các dự án được quản lý bởi họ
*BSD là những dự án lâu đời nhất và vững chắc nhất trong thế giới PMTD.
Thư mục tham khảo
Lịch sử của Unix BSD là bức tranh minh họa một cách khác thường về phát triển phần mềm trong thời
kỳ những năm 1970 và 1980. Bất kỳ ai quan tâm tới nó có thể thưởng thức đọc “Hai mươi năm Berkeley

Unix” (Marshall Kirk McKusick, 1999) [170], mà nó đi theo sự tiến hóa từ đầu băng mà Bob Fabry đã
lấy cho Berkeley với ý tưởng làm ra một trong những phiên bản đầu tiên các mã nguồn của Thompson
và Ritchie hoạt động trên một PDP-11 (được mua cùng bởi các khoa toán, thống kê và thông tin), qua tới

Trang 38/218


GNUFDL • PID_00148386

Phần mềm tự do

các vụ kiện được đệ trình bởi AT&T và những phiên bản mã nguồn mới nhất mà chúng đã tạo ra họ các
hệ điều hành *BSD.

2.2.3 Sự khởi đầu của Internet
Hầu hết từ sự tạo ra của nó trong thập kỷ những năm 1970, Internet đã từng gắn chặt với PMTD. Một
mặt, ngay từ đầu, cộng đồng các lập trình viên mà họ xây dựng Internet đã có vài nguyên tắc rõ ràng
mà chúng sau này đã trở thành kinh điển trong thế giới của PMTD; ví dụ, tầm quan trọng của người sử
dụng có khả năng giúp sửa các lỗi hoặc chia sẻ mã nguồn. Tầm quan trọng của BSD Unix trong sự phát
triển của nó (bằng việc cung cấp trong những năm 1980 hầu hết sự triển khai cài đặt phổ biến của các
giao thức TCP/IP) làm cho nó dễ dàng truyền đi nhiều tập quán và cách thức của việc làm ra những thứ
từ một cộng đồng - các lập trình viên đã tập trung xung quanh CSRG - đối với cộng đồng khác - các lập
trình viên mà đã từng xây dựng những gì khi đó là NSFNet và có thể sau này đã trở thành Internet - và
ngược lại. Nhiều ứng dụng cơ bản cho sự phát triển Internet, như Sendmail (máy chủ thư điện tử) hoặc
BIND (triển khai cài đặt của các dịch vụ tên miền) đã là tự do và, ở một mức độ nào đó, là kết quả của
sự hợp tác giữa 2 cộng đồng này.
Cuối cùng, về cuối những năm 80 và trong thập niên 90, cộng đồng PMTD từng là một trong những
cộng đồng đầu tiên khai thác sâu những khả năng được đưa ra bởi Internet cho việc hợp tác của các
nhóm phân tán về mặt địa lý. Ở một mức độ nào đó, thì sự khai thác này đã tạo ra sự tồn tại có thể của
cộng đồng BSD, FSF hoặc sự phát triển của GNU/Linux.

Một trong những khía cạnh thú vị nhất của sự phát triển Internet, từ quan điểm của PMTD, là sự quản
lý mở hoàn toàn các tài liệu và qui định của nó. Dù nó có thể được xem là bình thường ngày hơm nay
(vì nó là quen rồi, ví dụ, trong IETF hoặc nhóm World Wide Web), lúc này, tính sẵn sàng tự do của tất
cả các đặc tả kỹ thuật của nó, và các tài liệu thiết kế bao gồm các chuẩn mà xác định các giao thức, là
thứ gì đó cách mạng và cơ bản đối với sự phát triển của nó. Trong những năm 90. Trong lịch sử và ảnh
hưởng của Usenet và Internet [139] (trang 106) chúng ta có thể đọc:
“Q trình mở này đã xảy ra và dẫn tới sự thay đổi về thông tin. Sự phát triển kỹ thuật chỉ thành công
khi thông tin được phép chảy một cách tự do và dễ dàng giữa các bên liên quan. Việc khuyến khích sự
tham gia là nguyên tắc chính đã tạo ra sự phát triển của Net có thể được”.

Chúng ta có thể thấy vì sao đoạn này có thể hầu như được hỗ trợ một cách chắc chắn bởi bất kỳ lập
trình viên nào tham chiếu tới dự án PMTD trong đó anh ta có liên quan.
Trong một trích dẫn khác, về “Sự tiến hóa của chuyển mạch gói” [195] (trang 267) chúng ta có thể đọc:
“Vì ARPANET từng là một dự án công cộng kết nối nhiều trường đại học và viện nghiên cứu chính, nên
sự triển khai cài đặt và các chi tiết về tốc độ thực thi đã được công bố một cách rộng rãi”.

Rõ ràng, đây là những gì có xu hướng xảy ra với các dự án PMTD, nơi mà tất cả các thơng tin có liên
quan tới một dự án (và không chỉ tới sự triển khai cài đặt của nó) thường là cơng khai.
Trong bối cảnh này, và trước khi Internet, vâng trong những năm 90, trở thành một việc kinh doanh
hồn tồn, thì cộng đồng những người sử dụng và mối quan hệ của nó với các lập trình viên đã là mang

Trang 39/218


GNUFDL • PID_00148386

Phần mềm tự do

tính sống cịn. Trong giai đoạn này nhiều tổ chức đã học được để tin tưởng không chỉ một nhà cung cấp
đơn nhất các dịch vụ giao tiếp dữ liệu, mà còn là một sự kết hợp phức tạp của các công ty dịch vụ, các

nhà sản xuất thiết bị, các lập trình viên chuyên nghiệp, và các tình nguyện viên, … Những triển khai
cài đặt tốt nhất của nhiều chương trình đã khơng phải là những thứ mà tới với hệ điều hành được mua
cùng với phần cứng, mà là những triển khai cài đặt tự do mà có thể nhanh chóng thay thế chúng.
Những phát triển đổi mới sáng tạo nhất đã không xuất phát từ các kế hoạch nghiên cứu của các công ty
lớn mà là sản phẩm của các sinh viên hoặc những người chuyên nghiệp mà họ đã thử nghiệm các ý
tưởng và đã thu thập những ý kiến phản hồi cho họ bởi hàng loạt những người sử dụng các chương
trình tự do của họ.
Như chúng tơi đã nhắc tới ở trên, Internet cũng đã đưa ra cho PMTD các công cụ nền tảng cho sự hợp
tác từ xa. Thư điện tử, nhóm tin, các dịch vụ truyền tệp FTP nặc danh (mà từng là những nơi lưu trữ
khổng lồ đầu tiên của PMTD) và, cuối cùng, các hệ thống phát triển tích hợp dựa trên web đã từng là
cơ bản (và không thể thiếu được) cho sự phát triển của cộng đồng PMTD như chúng ta biết nó hôm
nay, và đặc biệt, cho việc hoạt động của đa số lớn các dự án PMTD. Ngay từ đầu, các dự án như là
GNU hoặc BSD đã tạo ra sự sử dụng đông đảo và mạnh mẽ của tất cả các cơ chế này, việc phát triển,
cùng lúc như họ sử dụng chúng, các công cụ và hệ thống mới mà tới lượt chúng đã cải thiện cho
Internet.
Thư mục tham khảo
Các độc giả có quan tâm trong sự tiến bộ của Internet, được viết bởi vài người giữ vai trò chủ đạo chính
của nó, có thể tự xem “Lịch sử ngắn gọn về Internet” (được xuất bản bởi ACM, 1997) [166].

2.2.4 Các dự án khác
Trong những năm 1980 nhiều dự án PMTD quan trọng khác đã thấy được ánh sáng ban ngày. Chúng
tôi nhấn mạnh về tầm quan trọng và sự thích hợp trong tương lai của chúng, X Window (hệ thống cửa
sổ cho các hệ điều hành dạng Unix), được phát triển tại MIT, một trong những ví dụ đầu tiên về việc
đầu tư tài chính phạm vi rộng cho một dự án tự do được cấp tiền bởi một nhóm các doanh nghiệp.
Cũng đáng để nhắc tới là Ghostscript, một hệ thống quản lý tài liệu PostScript được phát triển bởi một
công ty được gọi là Aladdin Software, mà nó đã là một trong những trường hợp đầu tiên về việc tìm
kiếm một mơ hình kinh doanh dựa trên việc sản xuất PMTD.
Về cuối những năm 1980, đã cịn có một chịm sao tồn là những dự án PMTD nhỏ (và không nhỏ lắm)
được thực hiện. Tất cả chúng, cùng với những dự án lớn mà chúng tôi đã nhắc tới cho tới nay, đã thiết
lập nên những cơ sở của các hệ thống hoàn toàn tự do đầu tiên, mà chúng đã xuất hiện trong đầu những

năm 1990.

2.3 Mọi thứ đều theo cách của nó
Khoảng những năm 1990, hầu hết các thành phần của một hệ thống hoàn chỉnh đã sẵn sàng như là
PMTD. Một mặt, dự án GNU và các phát tán BSD đã hoàn chỉnh hầu hết các ứng dụng mà chúng tạo
ra một hệ điều hành. Mặt khác, các dự án như X Window hoặc bản thân GNU đã xây dựng từ những

Trang 40/218


GNUFDL • PID_00148386

Phần mềm tự do

mơi trường cửa sổ cho các trình biên dịch, mà chúng thường đã là trong số những thứ tốt nhất trong
loại hạng của chúng (ví dụ, nhiều quản trị viên của các hệ thống SunOS hoặc Ultrix có thể thay thế các
ứng dụng sở hữu độc quyền các hệ thống của họ cho các phiên bản tự do của GNU hoặc BSD cho
những người sử dụng của họ). Để có một hệ thống hồn tồn được xây dựng chỉ với PMTD, chỉ có một
thành phần còn thiếu: nhân kernel. 2 nỗ lực độc lập và riêng rẽ này đã tới để điền đầy khoảng trống:
386BSD và Linux.

2.3.1 Yêu cầu về một nhân kernel
Về cuối những năm 1980 và bắt đầu những năm 1990, dự án GNU đã có một loạt cơ sở tiện ích và
cơng cụ có khả năng tạo ra một hệ điều hành hồn chỉnh. Ngay cả khi đó, nhiều ứng dụng tự do, bao
gồm cả trường hợp đặc biệt thú vị của X Window, đã là tốt nhất trong lĩnh vực của chúng (các tiện ích
của Unix, các trình biên dịch...). Tuy nhiên, để hồn tất trị chơi xếp hình thì một mảnh sống còn vẫn
còn thiếu: nhân của hệ điều hành. Dự án GNU đã tìm kiếm mảnh cịn thiếu đó bằng một dự án được
biết tới là Hurd, mà nó định xây dựng một nhân có sử dụng các cơng nghệ tiên tiến.

2.3.2 Họ *BSD

Thực tế cùng một lúc, cộng đồng BSD cũng đã trên đường hướng tới một nhân tự do. Phát tán Net-2 đã
chỉ thiếu có 6 tệp để hồn tất nó (phần cịn lại đã được xây dựng bởi CSRG hoặc các cộng tác viên của
nó). Vào đầu năm 1992, Bill Jolitz đã hoàn tất những tệp này và đã phân phối 386BSD, một hệ thống
mà nó đã hoạt động trên kiến trúc i386 và đúng lúc có để nâng tầm cho các dự án NetBSD, FreeBSD
và OpenBSD. Sự tiến bộ trong các tháng tiếp sau là nhanh chóng, và vào cuối năm đó nó đã đủ ổn định
để được sử dụng trong các môi trường sản xuất khơng mang tính sống cịn, mà bao gồm, ví dụ, một
môi trường cửa sổ nhờ vào dự án XFree (mà nó đã cung cấp X Window cho kiến trúc i386) hoặc một
trình biên dịch chất lượng tuyệt vời, GCC. Dù vẫn còn những thành phần đã sử dụng các giấy phép
khác (như những giấy phép từ các dự án GNU, mà chúng đã sử dụng GPL), hầu hết hệ thống này đã
được phân phối theo giấy phép BSD.
Thư mục tham khảo
Một vài câu chuyện của giai đoạn này minh họa cho khả năng của mơ hình phát triển PMTD. Có trường
hợp nổi tiếng của Linus Torvalds, người đã phát triển Linux trong khi còn là một sinh viên năm thứ 2
của Đại học Helsinki. Nhưng đây không chỉ là trường hợp duy nhất một sinh viên mà đã tạo ra con
đường của mình nhờ vào những phát triển tự do. Ví dụ, Thomas Roel đã chuyển X11R4 (một phiên bản
của hệ thống X Window) sang một máy tính cá nhân PC dựa trên một vi xử lý 386. Sự phát triển này đã
dẫn anh ta tới làm việc tại Dell, và sau này đã trở thành người sáng lập của các dự án X386 và Xfree, mà
đã là những nền tảng cho việc nhanh chóng trao cho GNU/Linux và họ *BSD một mơi trường cửa sổ.
Bạn có thể đọc nhiều hơn về câu chuyện về XFree và vai trò của Roel trong “Lịch sử của xFree86” (Tạp
chí Linux, tháng 12/1991) [135].

Rồi tới vụ kiện từ USL, mà nó đã làm cho nhiều người sử dụng tiềm năng sợ những vụ kiện chống lại
họ trong trường hợp nếu Đại học California bị thua kiện hoặc đơn giản, rằng dự án đi tới chỗ bế tắc. Có
lẽ điều này đã là một lý do vì sao sau này, nền tảng cài đặt của GNU/Linux tuyệt vời hơn nhiều so với

Trang 41/218


GNUFDL • PID_00148386


Phần mềm tự do

tất cả họ *BSD cộng lại. Nhưng chúng ta không thể biết điều này một cách chắc chắn.

2.3.3 Sự ra đời của GNU/Linux
Tháng 07/1991 Linus Tovalds (một sinh viên Phần Lan 21 tuổi) đã đưa ra thông điệp đầu tiên nhắc tới
dự án của anh ta (khi đó) để xây dựng một hệ điều hành tự do tương tự như Minix. Vào tháng 09 anh ta
đã đưa ra phiên bản đầu tiên nhất (0.01), và sau mỗi ít tuần các phiên bản mới đã xuất hiện. Vào tháng
03/1994 phiên bản 1.0 đã xuất hiện, lần đầu tiên một phiên bản được gọi là ổn định, dù nhân mà Linus
đã xây dựng đã có thể sử dụng được từ vài tháng trước. Trong giai đoạn này, đúng là hàng trăm lập
trình viên đã chuyển sang Linux, tích hợp tất cả các phần mềm của GNU xung quanh nó, cũng như
XFree và nhiều chương trình tự do khác nữa. Không giống như họ *BSD, nhân Linux và một số lượng
lớn các thành phần được tích hợp xung quanh nó đã được phân phối bằng giấy phép GPL.
Thư mục tham khảo
Câu chuyện về Linux có lẽ là một trong những câu chuyện thú vị nhất (và nổi tiếng) trên thế giới của
PMTD. Bạn có thể thấy nhiều đường liên kết tới các thơng tin về nó từ những trang đánh dấu 10 năm kỷ
niệm tuyên bố của nó, dù có lẽ một trong những câu chuyện thú vị nhất là “Lịch sử của Linux”, của
Ragib Hasan [138]. Vì tị mị, bạn có thể xem dịng trong đó Linus Torvalds đã công bố rằng ông đã bắt
đầu tạo ra những gì sau này trở thành Linux (trên nhóm thảo luận comp.os.minix) tại
Ở đó ơng giải thích cách mà ông đã từng làm
việc trên nhân của mình từ tháng 04 và cách mà ông đã đưa một số công cụ của dự án GNU lên nó (đặc
biệt nhắc tới Bash và GCC).

Về nhiều phát triển đã nổi lên xung quanh Linux, một trong những câu chuyện thú vị nhất là khái niệm
phát tán1. Những phát tán đầu tiên đã sớm xuất hiện, trong năm 1992 (MCC Interim Linux, của Đại
học Manchester; TAMU, của Texas A&M, và nổi tiếng nhất, SLS, mà sau này làm nổi tiếng cho
Slackware, mà vẫn còn được phân phối trong thập niên đầu tiên của năm 2000), gây ra sự cạnh tranh
trong thế giới các hệ điều hành đóng gói xung quanh Linux. Mỗi phát tán cố gắng đưa ra một
GNU/Linux sẵn sàng để sử dụng, và bắt đầu từ nền tảng của cùng các phần mềm phải cạnh tranh được
bằng việc tạo ra những cải tiến được cho là quan trọng bởi nền tảng người sử dụng của họ. Hơn nữa để

cung cấp các gói sẵn sàng sử dụng được đã được biên dịch trước, thì các phát tán cũng có xu hướng
đưa ra các công cụ của riêng họ cho việc quản lý sự lựa chọn, cài đặt, thay thế và bỏ cài đặt các gói này,
bổ sung vào việc cài đặt ban đầu lên máy tính, cùng với sự quản lý và quản trị hệ điều hành.
Qua thời gian, các phát tán đã kế tiếp nhau như những phát tán khác nhau đã trở thành nổi tiếng nhất.
Trong số tất cả chúng, chúng tơi có thể nhấn mạnh những phát tán sau:
1. Debian, được phát triển bởi một cộng đồng những người sử dụng tự nguyện.
2. Red Hat Linux, mà lần đầu tiên được phát triển nội bộ bên trong công ty Red Hat, nhưng sau đó
đã áp dụng một mơ hình dựa trên cộng đồng, làm nổi cho Fedora Core.
3. SuSE, mà làm nổi cho OpenSuSE, sau một sự tiến bộ tương tự như của Red Hat.
1 Khái niệm này được giải thích chi tiết trong bài viết tương ứng trong Wikipedia,
www.wikipedia.org/wiki/Linux_distribution

Trang 42/218


GNUFDL • PID_00148386

Phần mềm tự do

4. Mandriva, (hậu duệ của Mandrake Linux và Conectiva).
5. Ubuntu, bắt nguồn từ Debian và được phát triển trên cơ sở của Debian bởi hãng Canonical.

2.4 Thời gian chín muồi
Nửa những năm đầu thập kỷ 2000, GNU/Linux, OpenOffice.org hoặc Firefox đã được trình diễn trên
các phương tiện rất thường xuyên. Đa số áp đảo các cơng ty sử dụng PMTD cho ít nhất một số qui trình
IT của họ. Khó mà thành một sinh viên IT mà không sử dụng một số lượng lớn các PMTD. PMTD
khơng cịn là một lời chú ở cuối trang trong lịch sử IT và đã trở thành thứ gì đó rất quan trọng cho khu
vực này. Các cơng ty IT, các công ty trong khu vực thứ cấp (những cơng ty mà sử dụng phần mềm một
cách tích cực, ngay cả dù hoạt động hàng đầu của họ là khác) và các nền hành chính nhà nước đang bắt
đầu coi nó là thứ gì đó mang tính chiến lược.

Và dù chậm nhưng chắc chắn nó đang đi tới những người sử dụng gia đình. Ở nghĩa rộng lớn hơn,
chúng ta đang đi vào một giai đoạn chín muồi.
Và trong sâu thẳm của tất cả những thứ này, một câu hỏi quan trọng bắt đầu nảy sinh, mà nó đúc kết
theo một cách mà những gì đang xảy ra: “liệu chúng ta có đang đối mặt với một mơ hình mới của nền
cơng nghiệp phần mềm hay khơng?”. Có lẽ, nó có thể xảy ra việc PMTD trở nên khơng còn là một xu
hướng thoảng qua để được nhớ tới một cách vấn vương một ngày nào đó. Mà nó có thể cũng sẽ là một
mơ hình mới (và điều này hình như đang gia tăng) mà tồn tại ở đây, và có lẽ sẽ thay đổi một trong
những nền công nghiệp non trẻ nhất nhưng cũng gây ảnh hưởng nhất của thời đại chúng ta.

2.4.1 Kết thúc những năm 90
Vào giữa những năm 1990, PMTD đã đưa ra những mơi trường hồn chỉnh (các phát tán của
GNU/Linux, các hệ thống *BSD...) mà chúng đã hỗ trợ công việc hàng ngày của nhiều người, đặc biệt
là các lập trình viên phần mềm. Vẫn còn nhiều việc còn chưa được giải quyết xong (chủ yếu là để có
các giao diện đồ họa cho người sử dụng tốt hơn tại thời điểm khi mà Windows 95 đã được coi là
chuẩn), nhưng đã có vài ngàn người trên thế giới đã sử dụng hồn tồn các PMTD cho cơng việc hàng
ngày của họ. Các dự án mới đã được công bố theo sự kế tục liên tục và PMTD đã cập bến được trên
con đường dài hướng tới nhận thức nói chung của các công ty, phương tiện truyền thông và của công
chúng.
Giai đoạn này cũng liên quan tới việc Internet cất cánh như một mạng cho mọi người, trong nhiều
trường hợp đã được dẫn dắt bởi bàn tay của các chương trình tự do (đặc biệt trong nền tảng của nó). Sự
ập tới của mạng vào trong các ngôi nhà của hàng triệu người sử dụng đầu cuối đã tăng cường cho tình
trạng này, ít nhất về phương diện các máy chủ: hầu hết các máy chủ web (HTTP) đã luôn là tự do (đầu
tiên là máy chủ NCSA, tiếp theo là Apache). Có lẽ khởi đầu con đường cho PMTD cho tới phiên bản
đầy đủ trong công chúng được mô tả tốt nhất trong bài viết nổi tiếng của Eric Raymond, “Nhà thờ lớn
và cái chợ” (Eric S. Raymond, 2001) [192]. Dù nhiều thứ trong đó được mơ tả đã là nổi tiếng trong
cộng đồng các lập trình viên PMTD, thì việc đặt nó vào trong bài viết và phân phối nó một cách tích

Trang 43/218



×