Tải bản đầy đủ (.doc) (192 trang)

giáo trình nhập môn quản trị hệ thống linux

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 (5.94 MB, 192 trang )

Giáo trình
NHẬP MÔN QUẢN TRỊ HỆ THỐNG LINUX
Trần Huy Thắng
()
Do điều kiện thời gian, cuốn sách còn một phần chưa được viết.
> Rất mong bạn đọc có thể tham gia viết tiếp để hoàn thiện cuốn sách.
Tài liệu này có thể download tại: www.fita.hua.edu.vn/thangtran
Bạn có thể trích đăng lại (một phần hay toàn bộ) nội dung cuốn sách với chú thích về nơi
download cuốn sách và thông báo tìm người viết tiếp này. Nếu có ý định thương mại xin nhắn
trước với tác giả.
1/192
Lề của sách được đặt chế độ mirror margin để bạn có thể in 2 mặt.
2/192
Lời nói đầu
Cuốn “Nhập môn Quản trị Hệ thống Linux” được viết với mục đích làm giáo trình cho một lớp Linux
3 hoặc 6 tín chỉ (45 hoặc 90 giờ) học thực hành trên phần mềm máy ảo VMware Workstation. Nội
dung cuốn sách gồm 3 phần:
Phần 1 (phần phụ): Giới thiệu về luật bản quyền, phần mềm tự do/nguồn mở (FOSS), các hệ điều
hành *nix. Phần này tuy không liên quan đến các thao tác kỹ thuật và các sách về quản trị hệ thống
cũng không đề cập nhiều nhưng chúng tôi nghĩ rất nên đưa vào. Đặc biệt trong các trường đại học ở
Việt Nam, (theo sự quan sát cá nhân) vấn đề “bản quyền”, “nguồn mở” chưa được dạy một cách đúng
mực do đó chúng tôi cho rằng cơ hội tốt nhất để bổ sung phần thiếu sót này là lồng nó vào trong các
lớp/giáo trình về Linux.
(Phần này chỉ nên nói trong buổi đầu tiên giới thiệu môn học.)
Phần 2 và 3 (phần chính): Các câu lệnh quản trị Linux trên máy đơn và trong môi trường mạng. Cuốn
sách chỉ nói về các câu lệnh mà không đề cập đến các công cụ có giao diện đồ họa bởi: thứ nhất, người
mới học (vốn đang dùng Windows) nên tập làm quen với việc gõ lệnh; thứ hai, cái vỏ giao diện đồ họa
nhiều khi không khai thác hết được các lệnh mà nó gọi đến. Các câu lệnh trong sách được thực thi trên
Redhat/Fedora nhưng hoàn toàn có thể chạy bình thường trên Debian, Ubuntu, OpenSuse (trừ phần cài
đặt gói phần mềm.)
Tài liệu này được dạy trên VMware Workstation (nên cũng có một bài hướng dẫn nhỏ về mạng ảo của


phần mềm này.)
(Chúng tôi cũng cho rằng phần Shell script để tự động hóa các thao tác quản trị là phần nâng cao chỉ
dành cho những người đã quen với Linux nên không đề cập đến trong cuốn sách nhập môn này.)
Do điều kiện thời gian, chúng tôi chưa viết được phần 3 cũng như còn thiếu một số điểm ở phần
1 và phần 2 nên rất mong bạn đọc có thể tham gia viết tiếp để lắp ghép thành một cuốn sách
hoàn chỉnh.
Trần Huy Thắng ()
Bạn có thể trích đăng lại (một phần hay toàn bộ) nội dung cuốn sách với chú thích về nơi
download cuốn sách và thông báo tìm người viết tiếp này. Nếu có ý định thương mại xin nhắn
trước với tác giả.
Mục lục sơ lược
Bài 1. Khái niệm FOSS và *nix 9
Bài 2. Bổ túc kiến thức về HDD. Cài đặt Linux, FreeBSD (chưa xong) 33
Bài 3. Làm quen với Linux command 39
Bài 4. Devices - Filesystems – Mounting 64
Bài 5. Install softwares 81
Bài 6. Quản trị user. File permission 92
Bài 7. Advanced partitioning: RAID & LVM 111
Bài 8. Quản lý process, daemon 126
Bài 9. Quá trình khởi động (grub, kernel, init) và tắt máy của Linux 144
Bài 10. Tạo mạng ảo bằng VMware Workstation 161
Bài 11. Bổ túc kiến thức về TCP/IP 175
Bài 12. Configure card mạng (chưa xong) 185
Tài liệu tham khảo 192

3/192
Mục lục
Bài 1. Khái niệm FOSS và *nix 9
I. FOSS 14
1. Sở hữu trí tuệ 14

Sở hữu trí tuệ (intelectual property) 14
Sở hữu công (public domain) 14
Đối ngược với sở hữu trí tuệ là sở hữu công 14
Khi sở hữu trí tuệ trở thành sở hữu công 14
Copyright (bản quyền) © 15
Thương hiệu (trademark) 16
2. Phân loại phần mềm theo quyền của người sử dụng 16
EULA và các quyền của người sử dụng 16
Proprietary softwares hay FOSS 17
Disclaimer of warranty (chối bỏ bảo đảm) 18
3. Free/Open source softwares (FOSS) 18
a. Định nghĩa Free/Open source softwares 18
Free software 18
Open source software 19
Free softwares vs Open source 20
b. FOSS và chuyện “miễn phí” 21
FOSS thì miễn phí ? 21
FOSS thương mại ? 22
c. Các mẫu giấy phép FOSS 22
4. Các giấy phép FOSS kiểu public domain: BSD, MIT, Apache 24
BSD (copycenter) 24
MIT licence 25
Apache 26
5. Các giấy phép FOSS kiểu weak copyleft: LGPL và Perl (chưa viết) 26
6. Giấy phép (strong) copyleft: GPL (chưa xong) 26
Ý tưởng của giấy phép GPL: 26
Ý nghĩa của giấy phép GPL: 27
Áp dụng các điều khoản của GPL 27
7. Mô hình phát triển phần mềm FOSS (chưa viết) 27
8. Mô hình kinh doanh phần mềm FOSS (chưa viết) 27

9. Những quan niệm sai lầm thường thấy về FOSS (chưa viết) 27
II. *nix 27
1. Giới thiệu UNIX, BSD 27
UNIX 28
BSD 28
2. UNIX và UNIX-like (*nix) 29
3. Chuẩn POSIX (SUS) 29
4. Nhân Linux và Dự án GNU 30
5. Linux distribution 30
Bài 2. Bổ túc kiến thức về HDD. Cài đặt Linux, FreeBSD (chưa xong) 33
1. Hiểu về HDD 37
1.a. Cấu trúc vật lý của HDD 37
1.b. Cấu trúc logic của HDD 38
1.c. Quá trình khởi động OS của máy tính 38
2. Công cụ máy ảo để học thực hành Linux. Một số chú ý về Vmware Workstation 38
3. Các cách để có được một bản Linux distro và trường hợp của Redhat 38
4. Cài đặt Linux, FreeBSD 38
4.a. Cài đặt Linux 38
4.b. Cài đặt FreeBSD 38
4.c. Tự động hóa quá trình cài đặt 38
5. Vấn đề multi OS 38
Bài 3. Làm quen với Linux command 39
1. Đăng nhập và tắt máy 43
2. Kernel, Shell 44
4/192
3. Virtual Console và Terminal 45
4. Lệnh trong Linux 45
a. Cách viêt lệnh 45
b. Thực thi executable file 46
c. Dừng một lệnh 46

c. Shell script 46
d. Metacharacters 47
e. Help 47
f. History 48
5. su 48
6. Làm việc với file và thư mục trên *nix 48
a. Cấu trúc file và thư mục của Linux khác với của Windows 48
b. Đường dẫn thư mục của Linux – kí hiệu /, thói quen TAB, thư mục . ~ 49
Hãy cẩn thận với dấu / 49
Thư mục home, thư mục hiện hành, thư mục ~ . 50
Muốn nhanh thì bấm TAB hoặc TAB TAB 50
Khi tên file, thư mục chứa kí tự đặc biệt 50
c. Lệnh ls –l, xem thông tin về file, thư mục 51
d. Các lệnh xem, tạo mới, xóa, di chuyển, đổi tên file và thư mục 52
Hiển thị nội dung file 52
Tạo thư mục mới 52
Tạo file mới 52
Đổi tên/di chuyển file và thư mục 52
Copy file và thư mục 52
Xóa file hoặc thư mục 53
e. Midnight Commander (mc) 53
f. Link 53
g. Archive và Compress file 53
h. Tìm kiếm file và thư mục 54
7. Filesystem Hierarchy standard 55
8. Trong *nix, mọi thứ đều là file 57
9. Redirection và xargs 58
a. Redirect stdin, stdout, stderr to file 58
b. Pipe và kết hợp với grep, wc, sort, less 60
c. xargs 61

10. VIM editor 61
11. Regular expression 62
Bài 4. Devices - Filesystems – Mounting 64
1. Device 68
a. Peripheral device và Driver 68
Peripheral device 68
Phân loại device: block, character, virtual 68
Driver 69
b. Device file (special file) 69
c. Sử dụng storage device 71
2. Filesystem 71
a. Filesystem của block device 71
b. Format 71
i) fdisk – edit partition table 71
ii) mkfs (make filesystem) 72
3. Mounting 73
a. Lệnh mount 73
b. file cấu hình /etc/fstab 74
c. file cấu hình /etc/mtab 75
4. Hai partition đặc biệt của Linux 75
5. dd và loop device 76
a. Lệnh dd 76
5/192
b. loop device 77
6. Một số thao tác khác với storage device 78
7. Thực hành với Vmware 78
Bài 5. Install softwares 81
I. RPM 85
I.1 Tên file package và tên software 85
I.2 RPM database và rpm tool 86

I.3 Install 86
I.4 Query 87
I.5 Upgrade 88
I.6 Erase 88
I.7 Verify 88
II. DEB (chưa viết) 89
III. Cài đặt phần mềm từ source code 89
Bài 6. Quản trị user. File permission 92
1. Quản trị user 96
1.1 Users 96
1.2 Group 98
1.3 Reset password của root 99
2. File permission 100
Chủ sở hữu, nhóm chủ sở hữu mặc định 101
Thay đổi chủ sở hữu, nhóm chủ sở hữu bằng lệnh chown, chgrp 101
Thay đổi quyền truy cập r, w, x với các đối tượng u, g, o 101
SUID, SGID, sticky bit 103
Set UID và Set GID cho file khả thi 103
Set GID cho thư mục 104
Sticky bit 105
Kí hiệu SUID, SGID, Sticky bit bằng chữ số 105
3. Quota 106
1-Cài đặt phần mềm quota 106
2-Mount partition với thuộc tính usrquota 107
3-Khởi tạo quota database trên partition bằng lệnh quotacheck 107
4-enable (disable) quota bằng quotaon (quotaoff) 108
5-Đặt limit, grace cho user bằng lệnh edquota 108
6-Xem lại thông tin về quota 109
7-Thử nghiệm quota 109
Bài 7. Advanced partitioning: RAID & LVM 111

I. Redundant Array of Inexpensive Disks 115
1. Khái niệm RAID 115
2. Thiết lập và sử dụng RAID 117
3. Xem thông tin về array 118
4. Quản lý disk trong array 119
5. Hủy RAID array 119
6. File /etc/mdadm.con 120
7. Stripe hay Linear 120
II. Logical Volume Management 120
1. Thiết lập LVM 120
Thiết lập và sử dụng LV 120
Enable LVM 122
LVM on RAID (chưa xong) 122
2. Xem thông tin về volume 123
Khái niệm PE, LE 123
Xem thông tin bằng pvdisplay, vgdisplay, lvdisplay 123
3. Quản lý các volume 124
Disable/Remove volume 124
Thêm vào/Rút ra/Hoán chuyển PV 124
Resize LV 124
4. Các mục linh tinh khác: 125
6/192
Bài 8. Quản lý process, daemon 126
I. Tiến trình 130
I.1 Tiến trình là chương trình khi nó đang được thực thi 130
Tiến trình cha, tiến trình con. Số ID của tiến trình 131
Phân bổ CPU và độ ưu tiên (số nice) của tiến trình 131
Trạng thái của tiến trình 131
Chủ sở hữu của tiến trình 132
Các signal mà tiến trình bắt 132

I.2 Các thao tác với tiến trình 132
In ra trạng thái các tiến trình bằng lệnh ps 132
Theo dõi các tiến trình bằng lệnh top (hoặc prstat, topas) 133
Tìm kiếm một tiến trình 135
Điều chỉnh số nice của tiến trình 135
I.3 Signal và lệnh kill, killall, pkill 135
Lệnh kill 135
Lệnh killall và pkill 136
I.4 Các tiến trình có tương tác. Chế độ background, foreground 136
II. Quản lý daemon 138
Các daemon nằm ở đâu ? 138
Trực tiếp bật/tắt daemon 138
/etc/rc.d/rc[0-6].d – tập daemon cho mỗi run level 139
Các công cụ quản lý daemon 140
III. Lập lịch (scheduling) 142
cron 142
System cron jobs 142
User cron jobs 143
at 143
Bài 9. Quá trình khởi động (grub, kernel, init) và tắt máy của Linux 144
I. GRUB 148
1. Chức năng của GRUB 148
2. Quá trình tải GRUB 149
3. Cài lại GRUB 150
4. File grub.conf (menu.lst) 151
II. Nạp hệ điều hành từ GRUB 152
Truy xuất device 153
Qui ước kí hiệu device của GRUB 153
Truy xuất file của GRUB 153
Tải nhân Linux 154

Ba lệnh để tải nhân Linux: kernel, root, initrd 154
Tải nhân Linux thủ công 155
Tải nhân FreeBSD 156
Nạp bootloader của các hệ điều hành khác 156
III. init 157
1./sbin/init chạy và đọc file /etc/initab 157
2./etc/inittab 157
3.Thực thi các script khởi tạo hệ thống trong thư mục /etc/rc.d 158
IV. Tắt máy 159
Bài 10. Tạo mạng ảo bằng VMware Workstation 161
1. Nối máy thật/ máy ảo vào các switch ảo 165
1.1 Nối máy thật với các switch ảo: 165
a. Nối NIC thật vào switch ảo: 166
b. Nối NIC ảo trên máy thật vào switch ảo: 166
1.2 Nối máy ảo với switch ảo: 168
2. VMnet0 (Bridged mode) và Virtual Bridge 168
3. VMnet1 (Host only mode) và Virtual DHCP server 169
4. VMnet8 (NAT mode) và Virtual NAT device 172
5. VM team và LAN segment 174
7/192
6. Tự tạo mạng WAN bằng VMware Workstation 174
Bài 11. Bổ túc kiến thức về TCP/IP 175
I. Khái niệm mạng máy tính. Phần cứng mạng và Giao thức mạng (chưa viết) 179
II. Mạng LAN và WAN (chưa viết) 179
III. TCP/IP (chưa viết) 179
IV. Địa chỉ IP 179
Địa chỉ IP theo cách phân lớp A, B, C (cũ) 180
Subnet 181
Tính nhẩm với địa chỉ IP 182
Địa chỉ loopback 183

IP trên Internet, IP tĩnh, IP động và ICANN 183
Địa chỉ IP riêng (private IP) 184
Bài 12. Configure card mạng (chưa xong) 185
Cài đặt driver cho card mạng 189
Lệnh ifconfig 190
Hiển thị trạng thái của card mạng 190
Gán địa chỉ IP cho card mạng 190
Gán địa chỉ IP alias cho card mạng 191
Bật tắt card mạng 191
Bộ công cụ ip 191
Tài liệu tham khảo 192
8/192
Đây là một bài của bản thảo “Giáo trình Nhập môn Quản trị Hệ thống Linux” đang viết dở. © Trần Huy Thắng ,
Rất mong bạn đọc có thể tham gia viết nốt phần còn lại của cuốn sách. Bạn đọc có thể đăng lại một phần hay toàn bộ tập bản thảo này nhưng cần ghi
rõ nguồn và thông báo tìm người viết tiếp này. Nếu đăng lại với ý định thương mại thì xin nhắn trước cho tác giả.
Bài 1. Khái niệm FOSS và *nix
Bài 1. Khái niệm FOSS và *nix 9
I. FOSS 14
1. Sở hữu trí tuệ 14
Sở hữu trí tuệ (intelectual property) 14
Sở hữu công (public domain) 14
Đối ngược với sở hữu trí tuệ là sở hữu công 14
Khi sở hữu trí tuệ trở thành sở hữu công 14
Copyright (bản quyền) © 15
Thương hiệu (trademark) 16
2. Phân loại phần mềm theo quyền của người sử dụng 16
EULA và các quyền của người sử dụng 16
Proprietary softwares hay FOSS 17
Disclaimer of warranty (chối bỏ bảo đảm) 18
3. Free/Open source softwares (FOSS) 18

a. Định nghĩa Free/Open source softwares 18
Free software 18
Open source software 19
Free softwares vs Open source 20
b. FOSS và chuyện “miễn phí” 21
FOSS thì miễn phí ? 21
FOSS thương mại ? 22
c. Các mẫu giấy phép FOSS 22
4. Các giấy phép FOSS kiểu public domain: BSD, MIT, Apache 24
BSD (copycenter) 24
MIT licence 25
Apache 26
5. Các giấy phép FOSS kiểu weak copyleft: LGPL và Perl (chưa viết) 26
6. Giấy phép (strong) copyleft: GPL (chưa xong) 26
Ý tưởng của giấy phép GPL: 26
Ý nghĩa của giấy phép GPL: 27
Áp dụng các điều khoản của GPL 27
7. Mô hình phát triển phần mềm FOSS (chưa viết) 27
8. Mô hình kinh doanh phần mềm FOSS (chưa viết) 27
9. Những quan niệm sai lầm thường thấy về FOSS (chưa viết) 27
II. *nix 27
1. Giới thiệu UNIX, BSD 27
UNIX 28
BSD 28
2. UNIX và UNIX-like (*nix) 29
3. Chuẩn POSIX (SUS) 29
4. Nhân Linux và Dự án GNU 30
5. Linux distribution 30
Bài 2. Bổ túc kiến thức về HDD. Cài đặt Linux, FreeBSD (chưa xong) 33
1. Hiểu về HDD 37

1.a. Cấu trúc vật lý của HDD 37
1.b. Cấu trúc logic của HDD 38
1.c. Quá trình khởi động OS của máy tính 38
2. Công cụ máy ảo để học thực hành Linux. Một số chú ý về Vmware Workstation 38
3. Các cách để có được một bản Linux distro và trường hợp của Redhat 38
4. Cài đặt Linux, FreeBSD 38
4.a. Cài đặt Linux 38
4.b. Cài đặt FreeBSD 38
4.c. Tự động hóa quá trình cài đặt 38
5. Vấn đề multi OS 38
Bài 3. Làm quen với Linux command 39
9/192
1. Đăng nhập và tắt máy 43
2. Kernel, Shell 44
3. Virtual Console và Terminal 45
4. Lệnh trong Linux 45
a. Cách viêt lệnh 45
b. Thực thi executable file 46
c. Dừng một lệnh 46
c. Shell script 46
d. Metacharacters 47
e. Help 47
f. History 48
5. su 48
6. Làm việc với file và thư mục trên *nix 48
a. Cấu trúc file và thư mục của Linux khác với của Windows 48
b. Đường dẫn thư mục của Linux – kí hiệu /, thói quen TAB, thư mục . ~ 49
Hãy cẩn thận với dấu / 49
Thư mục home, thư mục hiện hành, thư mục ~ . 50
Muốn nhanh thì bấm TAB hoặc TAB TAB 50

Khi tên file, thư mục chứa kí tự đặc biệt 50
c. Lệnh ls –l, xem thông tin về file, thư mục 51
d. Các lệnh xem, tạo mới, xóa, di chuyển, đổi tên file và thư mục 52
Hiển thị nội dung file 52
Tạo thư mục mới 52
Tạo file mới 52
Đổi tên/di chuyển file và thư mục 52
Copy file và thư mục 52
Xóa file hoặc thư mục 53
e. Midnight Commander (mc) 53
f. Link 53
g. Archive và Compress file 53
h. Tìm kiếm file và thư mục 54
7. Filesystem Hierarchy standard 55
8. Trong *nix, mọi thứ đều là file 57
9. Redirection và xargs 58
a. Redirect stdin, stdout, stderr to file 58
b. Pipe và kết hợp với grep, wc, sort, less 60
c. xargs 61
10. VIM editor 61
11. Regular expression 62
Bài 4. Devices - Filesystems – Mounting 64
1. Device 68
a. Peripheral device và Driver 68
Peripheral device 68
Phân loại device: block, character, virtual 68
Driver 69
b. Device file (special file) 69
c. Sử dụng storage device 71
2. Filesystem 71

a. Filesystem của block device 71
b. Format 71
i) fdisk – edit partition table 71
ii) mkfs (make filesystem) 72
3. Mounting 73
a. Lệnh mount 73
b. file cấu hình /etc/fstab 74
c. file cấu hình /etc/mtab 75
4. Hai partition đặc biệt của Linux 75
10/192
5. dd và loop device 76
a. Lệnh dd 76
b. loop device 77
6. Một số thao tác khác với storage device 78
7. Thực hành với Vmware 78
Bài 5. Install softwares 81
I. RPM 85
I.1 Tên file package và tên software 85
I.2 RPM database và rpm tool 86
I.3 Install 86
I.4 Query 87
I.5 Upgrade 88
I.6 Erase 88
I.7 Verify 88
II. DEB (chưa viết) 89
III. Cài đặt phần mềm từ source code 89
Bài 6. Quản trị user. File permission 92
1. Quản trị user 96
1.1 Users 96
1.2 Group 98

1.3 Reset password của root 99
2. File permission 100
Chủ sở hữu, nhóm chủ sở hữu mặc định 101
Thay đổi chủ sở hữu, nhóm chủ sở hữu bằng lệnh chown, chgrp 101
Thay đổi quyền truy cập r, w, x với các đối tượng u, g, o 101
SUID, SGID, sticky bit 103
Set UID và Set GID cho file khả thi 103
Set GID cho thư mục 104
Sticky bit 105
Kí hiệu SUID, SGID, Sticky bit bằng chữ số 105
3. Quota 106
1-Cài đặt phần mềm quota 106
2-Mount partition với thuộc tính usrquota 107
3-Khởi tạo quota database trên partition bằng lệnh quotacheck 107
4-enable (disable) quota bằng quotaon (quotaoff) 108
5-Đặt limit, grace cho user bằng lệnh edquota 108
6-Xem lại thông tin về quota 109
7-Thử nghiệm quota 109
Bài 7. Advanced partitioning: RAID & LVM 111
I. Redundant Array of Inexpensive Disks 115
1. Khái niệm RAID 115
2. Thiết lập và sử dụng RAID 117
3. Xem thông tin về array 118
4. Quản lý disk trong array 119
5. Hủy RAID array 119
6. File /etc/mdadm.con 120
7. Stripe hay Linear 120
II. Logical Volume Management 120
1. Thiết lập LVM 120
Thiết lập và sử dụng LV 120

Enable LVM 122
LVM on RAID (chưa xong) 122
2. Xem thông tin về volume 123
Khái niệm PE, LE 123
Xem thông tin bằng pvdisplay, vgdisplay, lvdisplay 123
3. Quản lý các volume 124
Disable/Remove volume 124
Thêm vào/Rút ra/Hoán chuyển PV 124
11/192
Resize LV 124
4. Các mục linh tinh khác: 125
Bài 8. Quản lý process, daemon 126
I. Tiến trình 130
I.1 Tiến trình là chương trình khi nó đang được thực thi 130
Tiến trình cha, tiến trình con. Số ID của tiến trình 131
Phân bổ CPU và độ ưu tiên (số nice) của tiến trình 131
Trạng thái của tiến trình 131
Chủ sở hữu của tiến trình 132
Các signal mà tiến trình bắt 132
I.2 Các thao tác với tiến trình 132
In ra trạng thái các tiến trình bằng lệnh ps 132
Theo dõi các tiến trình bằng lệnh top (hoặc prstat, topas) 133
Tìm kiếm một tiến trình 135
Điều chỉnh số nice của tiến trình 135
I.3 Signal và lệnh kill, killall, pkill 135
Lệnh kill 135
Lệnh killall và pkill 136
I.4 Các tiến trình có tương tác. Chế độ background, foreground 136
II. Quản lý daemon 138
Các daemon nằm ở đâu ? 138

Trực tiếp bật/tắt daemon 138
/etc/rc.d/rc[0-6].d – tập daemon cho mỗi run level 139
Các công cụ quản lý daemon 140
III. Lập lịch (scheduling) 142
cron 142
System cron jobs 142
User cron jobs 143
at 143
Bài 9. Quá trình khởi động (grub, kernel, init) và tắt máy của Linux 144
I. GRUB 148
1. Chức năng của GRUB 148
2. Quá trình tải GRUB 149
3. Cài lại GRUB 150
4. File grub.conf (menu.lst) 151
II. Nạp hệ điều hành từ GRUB 152
Truy xuất device 153
Qui ước kí hiệu device của GRUB 153
Truy xuất file của GRUB 153
Tải nhân Linux 154
Ba lệnh để tải nhân Linux: kernel, root, initrd 154
Tải nhân Linux thủ công 155
Tải nhân FreeBSD 156
Nạp bootloader của các hệ điều hành khác 156
III. init 157
1./sbin/init chạy và đọc file /etc/initab 157
2./etc/inittab 157
3.Thực thi các script khởi tạo hệ thống trong thư mục /etc/rc.d 158
IV. Tắt máy 159
Bài 10. Tạo mạng ảo bằng VMware Workstation 161
1. Nối máy thật/ máy ảo vào các switch ảo 165

1.1 Nối máy thật với các switch ảo: 165
a. Nối NIC thật vào switch ảo: 166
b. Nối NIC ảo trên máy thật vào switch ảo: 166
1.2 Nối máy ảo với switch ảo: 168
2. VMnet0 (Bridged mode) và Virtual Bridge 168
3. VMnet1 (Host only mode) và Virtual DHCP server 169
12/192
4. VMnet8 (NAT mode) và Virtual NAT device 172
5. VM team và LAN segment 174
6. Tự tạo mạng WAN bằng VMware Workstation 174
Bài 11. Bổ túc kiến thức về TCP/IP 175
I. Khái niệm mạng máy tính. Phần cứng mạng và Giao thức mạng (chưa viết) 179
II. Mạng LAN và WAN (chưa viết) 179
III. TCP/IP (chưa viết) 179
IV. Địa chỉ IP 179
Địa chỉ IP theo cách phân lớp A, B, C (cũ) 180
Subnet 181
Tính nhẩm với địa chỉ IP 182
Địa chỉ loopback 183
IP trên Internet, IP tĩnh, IP động và ICANN 183
Địa chỉ IP riêng (private IP) 184
Bài 12. Configure card mạng (chưa xong) 185
Cài đặt driver cho card mạng 189
Lệnh ifconfig 190
Hiển thị trạng thái của card mạng 190
Gán địa chỉ IP cho card mạng 190
Gán địa chỉ IP alias cho card mạng 191
Bật tắt card mạng 191
Bộ công cụ ip 191
Tài liệu tham khảo 192

Linux, UNIX thì có liên quan gì đến chuyện “bản quyền”, “nguồn mở” với “miễn phí” ?
Hàng ngày chúng ta nghe thấy phương tiện truyền thông nói nhiều về “Linux”, “bản quyền”, “nguồn
mở”, “miễn phí” … thấy những thứ này rất mơ hồ, rối rắm. Chìa khóa để gỡ rối mớ bòng bong này
là khái niệm “bản quyền”.
(Dưới đây là mấy dòng ngẫu hứng giúp bạn đọc đối chiếu nhanh hiểu biết của mình về vấn đề.)
Linux là một phần mềm tự do (free software) (“free” là “tự do” chứ không phải “miễn phí”) và do đó
người dùng có thể sử dụng miễn phí nhưng để có được một bản phân phối Linux (Linux distro) có thể
vẫn phải mất phí.
Phần mềm nguồn mở (open source softwares) theo cách hiểu thông thường chỉ là phần mềm có mã
nguồn được công bố. Nhưng đây mới chỉ là phần nổi, phần chìm của tảng băng chính là những ràng
buộc về mã nguồn này. Tổ chức OSI đã đưa ra định nghĩa về phần mềm nguồn mở với 10 tiêu chí chặt
chẽ (mà cũng gần tương đương với phần mềm tự do). Khi bàn luận về phần mềm nguồn mở người ta
có ý hướng đến những tiêu chí này hơn là cách hiểu giản đơn thường thấy.
Khái niệm phần mềm tự do hay nguồn mở (free/open source softwares) đều được xây dựng trên luật
bản quyền. Có thể bạn đã từng nghe thấy có người nói “dùng Linux để tránh tình trạng sử dụng
Windows không có bản quyền” nhưng xin thưa Linux hay Windows hay phần lớn các phần mềm (trừ
public domain – sẽ nói sau) dù nguồn mở, nguồn đóng, miễn phí hay trả phí đều là phần mềm có bản
quyền ! Tôi đã từng thấy có một cách hiểu sai như sau: “Linux và những thứ như phần mềm nguồn mở
thì không có bản quyền do đó được dùng miễn phí còn Windows là phần mềm có bản quyền nên
không được sao chép lậu cho nhau mà phải mua” (cách hiểu sai) !!!.
Linux không là UNIX. UNIX là một thương hiệu mà Linux hay BSD tuy tương thích với UNIX nhưng
không thể được gọi là UNIX.
Bản quyền hay thương hiệu là 2 nhánh con của luật sở hữu trí tuệ, do đó để hiểu các khía cạnh pháp lý
của Linux và UNIX chúng ta sẽ bắt đầu bằng khái niệm sở hữu trí tuệ rồi đến phần mềm tự do/nguồn
mở và cuối cùng mới là đích *nix.
13/192
I. FOSS
1. Sở hữu trí tuệ
Sở hữu trí tuệ (intelectual property)
Trong đời sống hàng ngày ta đã quen với khái niệm “sở hữu”: nếu tôi có một chiếc xe (hay tôi là chủ

sở hữu của chiếc xe) thì luật pháp qui định tôi có toàn quyền với chiếc xe: tôi có thể sử dụng, sửa
chữa, cho mượn hoặc nhượng lại và người khác không có quyền gì với chiếc xe của tôi. Chiếc xe là tài
sản hữu hình, quyền sở hữu chiếc xe đã được luật pháp bảo hộ; tương tự như vậy với những tài sản
không hữu hình khác như ca khúc, phần mềm, tiểu thuyết thì quyền sở hữu chúng cũng cần được luật
pháp bảo hộ. Những tài sản không hữu hình này có 2 đặc điểm:
- Chúng được tạo ra bởi trí tuệ con người nên được gọi là tài sản trí tuệ (intellectual property).
Giá trị của chúng nằm ở nội dung trừu tượng chứ không nằm ở phương tiện thể hiện vật lý. Ví
dụ: một ca khúc có thể được lưu trữ bằng một bản chép tay nốt nhạc hay một file MP3 trong
máy tính hay thể hiện trong giọng hát của ca sĩ.
- Chúng rất dễ bị nhân bản (sao chép). Ví dụ: một cuốn tiểu thuyết rất dễ bị photocopy ra thành
nhiều bản. Điều này khác với tài sản hữu hình, bạn không thể nhân bản chiếc xe của anh hàng
xóm để dùng.
Chính vì đặc tính dễ bị nhân bản nên quyền sở hữu tài sản trí tuệ rất dễ bị xâm phạm. Tôi mất công
làm ra một phần mềm, phần mềm đó là tài sản của tôi bạn không được động vào nhưng có khi chỉ với
vài thao tác bạn đã sao chép được nó và phát tán lên Internet cho ngàn người dùng gây thiệt hại cho tôi
là không bán được phần mềm đó cho ngàn người kia.
Để bảo vệ quyền sở hữu đối với tài sản trí tuệ, từ thế kỉ XX luật sở hữu trí tuệ ra đời. Ngày nay quốc
gia nào (trong đó có Việt Nam) cũng có luật sở hữu trí tuệ trong hệ thống luật pháp của mình.
Trong luật sở hữu trí tuệ, tài sản trí tuệ thường được phân thành 5 loại: bản quyền (copyright), sáng
chế (patent), thương hiệu (trademark), kiểu dáng công nghiệp (industrial design), bí mật kinh doanh
(trade secret). Tài liệu này chỉ đề cập đến bản quyền, thương hiệu.
Sở hữu công (public domain)
Đối ngược với sở hữu trí tuệ là sở hữu công
Ở trên khi ta nói về tài sản (hữu hình - chiếc xe hay trí tuệ - ca khúc, phần mềm) thì muốn nhấn mạnh
nó thuộc quyền sở hữu của một cá nhân cụ thể nào đó nhưng có những tài sản lại không thuộc về một
cá nhân cụ thể nào mà thuộc về tất cả mọi người (hay nôm na là “của chung”) và được gọi là sở hữu
công cộng (public domain).
Cái gì không là sở hữu cá nhân (của riêng) thì là sở hữu công (của chung) và ngược lại. Một khi là tài
sản sở hữu công thì ai cũng có quyền sử dụng, sửa đổi, hưởng lợi bằng cách kinh doanh trên nó.
Ví dụ: tiếng Anh, định luật cơ học Newton là sở hữu công. Ai cũng có thể sử dụng và phát triển tiếng

Anh cũng như kinh doanh sách viết về định luật cơ học Newton. Nhưng với một cuốn tiểu thuyết vừa
viết xong của anh X thì chỉ mình anh X có quyền xuất bản.
Khi sở hữu trí tuệ trở thành sở hữu công
Anh X là chủ sở hữu tài sản trí tuệ A nhưng liệu A vĩnh viễn thuộc về X ? Điều này là không cần thiết
vì anh X cũng chỉ sống được hữu hạn một số năm. Quan trọng hơn tài sản trí tuệ A có thể là tài sản rất
hữu ích cho cộng đồng nếu anh X giữ quyền sở hữu và người khác không có quyền động tới X thì điều
này lại trở thành nhân tố cản trở sự phát triển của cộng đồng. Vì 2 lí do này luật sở hữu trí tuệ qui định
tài sản trí tuệ chỉ thuộc về chủ sở hữu trong một thời gian hữu hạn. Ví dụ với 3 loại tài sản trí tuệ:
- Sáng chế, ở châu Âu, được bảo hộ trong 20 năm kể từ khi đăng kí
- Kiểu dáng công nghiệp, ở Canda, được bảo hộ trong 10 năm kể từ khi đăng kí
14/192
- Bản quyền, ở hầu hết các nước, được bảo hộ trong thời gian chủ sở hữu sống cho đến khoảng
70 năm sau khi chết.
Hết thời gian bảo hộ, tài sản trí tuệ không còn chủ sở hữu nữa, nó trở thành sở hữu công. Tài sản trí
tuệ cũng trở thành sở hữu công nếu như chủ sở hữu tự thân từ bỏ quyền sở hữu của mình.
Ví dụ: kịch của Shakespears ban đầu là Shakespear giữ bản quyền nhưng đến ngày nay đã rất lâu sau
khi Shakespears mất nên kịch Shakespear hết hiệu lực bảo hộ bản quyền và trở thành sở hữu công. Ai
cũng có thể in sách kịch Shakespears mà không cần hỏi xin ai.
Copyright (bản quyền) ©
– Bản quyền là 1 tài sản trí tuệ (trong 5 loại tài sản trí tuệ) được luật sở hữu trí tuệ bảo
hộ.
Bản quyền là các quyền như quyền sao chép, quyền phân phối lại, quyền sửa đổi với một tác
phẩm; các quyền này là độc nhất của tác giả, những người khác không thể có được hoặc muốn có
phải hỏi xin tác giả. Tác phẩm ở đây có thể là một cuốn sách, một bộ phim, một phần mềm, … hay
bất cứ một sáng tạo nào. Do phạm vi của tài liệu này là về phần mềm nên từ đây trở đi ta sẽ dùng
từ “phần mềm” thay vì “tác phẩm” mà không mất tính tổng quát.
Khi một người vừa sáng tạo ra một tác phẩm thì tự động bản quyền tác phẩm thuộc về (duy nhất)
người sáng tạo. Người sáng tạo thậm chí không cần đăng kí bản quyền với một tổ chức nào. Tuy
không phải đăng ký nhưng một số quốc gia có luật bản quyền yêu cầu tác giải phải ghi dòng chú
thích bản quyền vào tác phẩm của mình. Nếu bạn mở Help/About của một phần mềm thì sẽ gặp

chú thích bản quyền của nó:
• Copyright © <năm>, <tên người giữ bản quyền>
• All rights resevered
Ký hiệu © là ký hiệu của bản quyền (chữ “c” trong vòng tròn là viết tắt của copyright).
Bởi tất cả các quyền đều bị tác giả giữ, người nào muốn có quyền gì phải hỏi xin tác giả nên mới
có câu “All right reserved” - “Tất cả các quyền đã được giữ lại”. Nhắc lại rằng dù không ghi chú
thích bản quyền thì bản quyền vẫn thuộc về tác giả.
Luật pháp sẽ bảo hộ bản quyền tức là luật pháp cấm việc sao chép, sửa đổi phần mềm khi chưa có
sự đồng ý của người giữ bản quyền. Thời gian bản quyền có hiệu lực: kể từ khi phần mềm được
công bố + 70 năm sau khi tác giả qua đời hoặc 90 năm cho công ty. Hết hạn trên tự động phần
mềm trở thành public domain, không có ai giữ bản quyền.
Bản quyền có thể được chuyển nhượng từ người này sang người khác; người giữ bản quyền phần
mềm có thể không là người làm ra phần mềm. Người giữ bản quyền có quyền cấp phép cho những
người khác quyền sử dụng, sao chép, sửa đổi tác phẩm của của mình. Nếu anh A đang giữ bản
quyền phần mềm của mình làm ra mà nhượng lại bản quyền cho anh B thì lúc đó anh A muốn sử
dụng phần mềm do mình làm ra cũng phải hỏi xin anh B cấp phép. (Chú ý phân biệt bản quyền
phần mềm và các quyền với phần mềm).
– Tác quyền. Thuật ngữ “bản quyền” (copyright) thường được các quốc gia theo hệ thống luật án lệ
kiểu Anh-Mỹ dùng, trong khi đó các nước châu Âu tham gia công ước Berne lại dùng thuật ngữ
“tác quyền” (hay “quyền tác giả”) (author’s right). Tác quyền tập trung vào quyền lợi của tác giả
(người sáng tác ra tác phẩm) trong khi đó bản quyền tập trung vào quyền lợi kinh tế của người giữ
bản quyền (có thể không phải là tác giả). Sự khác nhau giữa 2 khái niệm này còn ở quyền nhân
thân (moral rights) nhưng tài liệu này không đề cập đến.
– Công ước Berne hay đầy đủ hơn là “Công ước Berne về bảo hộ các tác phẩm văn học và nghệ
thuật” là công ước về tác quyền (chú ý “tác quyền” chứ không phải “bản quyền”) giữa các quốc
gia. Trước đây các quốc gia thường từ chối tác quyền của các tác phẩm ngoại quốc, công ước
Berne ra đời đảm bảo các quốc gia tham gia công ước Berne phải công nhận tác quyền này. Công
ước Berne chủ yếu được các nước châu Âu tham gia và Việt Nam cũng đã tham gia công ước này
15/192
từ năm 2004. Công ước Berne chỉ bảo hộ tác phẩm văn học và nghệ thuật, không bảo hộ phần

mềm. Giới làm phần mềm không có việc gì với công ước Berne !
− Một phát biểu thừa thường thấy: “Tôi dùng windows có bản quyền” hay “vấn nạn sử dụng
phần mềm không có bản quyền”
Các phần mềm mà mọi người đã quen thuộc như Windows hay Linux, Office hay OpenOffice,
Bitdefender hay Bkav bản basic (miễn phí), … hiển nhiên đều là những phần mềm có bản quyền,
không phải là public domain. Dù người dùng xài phần mềm crack hay không thì những phần mềm
này luôn có bản quyền; chỉ có điều nếu dùng crack thì gọ là “vi phạm bản quyền”, nếu mua thì là
sử dụng phần mềm đúng luật bản quyền.
Không nên nói “Tôi đang dùng windows có bản quyền” vì phần mềm nào mà chả có bản quyền
(trừ pulic domain). Thay vào đó hãy nói “Tôi đang dùng windows có mua quyền sử dụng”. Có
người nói “Tôi đang dùng windows có mua bản quyền”, cách nói này tuy ngắn gọn hơn nhưng
cũng không chính xác vì theo câu chữ (chứ không theo ý định của người nói) thì Micosoft đã
nhượng lại bản quyền Windows cho tôi ?!
Cũng không nên nói “vấn nạn sử dụng phần mềm không có bản quyền”. Phần mềm mà không có
bản quyền thì là phần mềm public domain, ai cũng có quyền dùng, sửa đổi, bán lại, … do đó chẳng
có vấn đề gì cả. Ý của người nói là “vấn nạn sử dụng phần mềm vi phạm bản quyền”.
Thương hiệu (trademark)
Thương hiệu là một tài sản trí tuệ được luật sở hữu trí tuệ bảo hộ.
Thương hiệu là một dấu hiệu đặc biệt như tên, biểu tượng để nhận biết sản phẩm, dịch vụ của một cá
nhân hay tổ chức. Nôm na thì thương hiệu là cái tên được gắn cho một sản phẩm hoặc một nhà sản
xuất. Thuật ngữ tiếng anh cho thương hiệu là trademark hoặc cũng có khi là brand name, logo.
Để tránh trùng lặp thương hiệu thì mỗi quốc gia thường có Cơ quan Bảo hộ Thương hiệu làm nhiệm
vụ quản lý thương hiệu. Một cá nhân hay tổ chức muốn thương hiệu của mình không bị người khác
dùng lại thì nên đăng kí thương hiệu (có trả phí duy trì thương hiệu) với Cơ quan Bảo hộ Thương
hiệu. Có thể không đăng kí thương hiệu nhưng khi xảy ra tranh chấp thương hiệu sẽ rất khó phân xử.
Nếu muốn chỉ rõ trạng thái đăng kí của một thương hiệu (điều này có thể không cần thiết) thì thêm kí
hiệu:
- ® vào sau tên thương hiệu đã được đăng kí (chữ R viết tắt của registered)
-
TM

hoặc
SM
vào sau tên thương hiệu của hàng hóa hoặc dịch vụ đã được dùng trong thực tế
nhưng chưa đăng kí. (viết tắt: TM cho trademark, SM cho service mark)
Việc đăng kí thương hiệu cho một sản phẩm chỉ đảm bảo thương hiệu đó không bị dùng lại chứ không
đảm bảo cá nhân/tổ chức khác sản xuất sản phẩm tương tự nhưng với thương hiệu khác đi.
Ví dụ: hãng AT&T có làm ra một hệ điều hành và đăng kí thương hiệu cho nó là UNIX. Có những tổ
chức hoặc cá nhân khác làm ra những hệ điều hành có chức năng tương tự như UNIX nhưng vì thương
hiệu UNIX đã được đăng kí nên không thể dùng tên UNIX được nữa. Tuy nhiên người ta vẫn muốn
dùng một cái tên thể hiện sự tương tự với UNIX nên đã dùng tên “UNIX-like” hoặc cẩn thận hơn nữa
dùng tên “*nix” để chỉ những hệ điều hành có chức năng tương tự UNIX nhưng không phải do AT&T
làm.
2. Phân loại phần mềm theo quyền của người sử dụng
EULA và các quyền của người sử dụng
Nhắc lại rằng theo luật sở hữu trí tuệ, với một phần mềm (dĩ nhiên không xét phần mềm public
domain) thì người chủ sở hữu (có thể là tác giả hoặc công ty mà tác giả đã nhượng lại quyền sở hữu)
giữ bản quyền tức là nắm giữ tất cả các quyền như là quyền sử dụng, quyền sao chép, quyền sửa đổi
v.v … ; mọi người khác không có những quyền này. Người giữ bản quyền thường:
16/192
- Hoặc kinh doanh các quyền này, chả hạn như bán quyền sử dụng thông qua việc đặt CD key
lên phần mềm, ai muốn sử dụng phần mềm thì phải mua CD key từ chủ sở hữu. Việc bán/mua
phần mềm là bán/mua quyền sử dụng phần mềm chứ không phải bán/mua công sức làm
phần mềm.
- Hoặc “cho không” các quyền này cho người sử dụng do chủ sở hữu muốn muốn chia sẻ niềm
đam mê làm phần mềm với người khác, muốn phục vụ cộng đồng, muốn nổi tiếng, v.v
Danh sách các quyền được cấp và các ràng buộc kèm theo được ghi trong hợp đồng giữa người giữ
bản quyền và người sử dụng, còn gọi là giấy phép sử dụng, thuật ngữ tiếng Anh là “Licence
Agreement”. Giấy phép này có thể ở dạng giấy hoặc được hiển thị khi người dùng bắt đầu cài đặt phần
mềm - ở dạng này được gọi là End user Licence Agreement (EULA). Người dùng phải bấm “accept”
để chấp thuận các quyền và ràng buộc thì mới tiếp tục cài được phần mềm, điều này tương đương với

việc kí vào bản hợp đồng giấy.
Proprietary softwares hay FOSS
Dựa vào phạm vi quyền của người sử dụng được chủ sở hữu cấp (ghi trong EULA), có thể chia phần
mềm thành 2 loại:
Proprietary softwares (phần mềm độc quyền): người giữ bản quyền đồng ý cho người dùng một số
rất ít quyền và thu lợi từ việc cấp các quyền này. Thông thường người sử dụng chỉ được cấp mỗi
quyền sử dụng và phải mua quyền này thông qua mua CD key/serial để cài. Để hạn chế việc nghiên
cứu, sửa đổi phần mềm của người sử dụng thì mã nguồn của phần mềm độc quyền không được công
bố.
• EULA của phần mềm độc quyền thương mại (người dùng phải trả tiền) thường ghi:
• Người dùng không được dịch ngược, sửa chữa phần mềm.
• Người dùng không được sao chép phần mềm thành nhiều bản cài trên nhiều máy. Nếu
người dùng mua phần mềm với số lượng n máy thì chỉ tối đa n máy được cài đặt và
chạy phần mềm. (Ví dụ: nếu người dùng mua phần mềm với số lượng 1 máy mà cài cả
trên máy tính ở văn phòng lẫn máy tính ở nhà thì tại một thời điểm chỉ có thể chạy phần
mềm hoặc trên máy ở nhà hoặc trên máy ở văn phòng mà không đồng thời cả hai
được). Người dùng có thể sao chép lại phần mềm thành một bản dự phòng để cài đặt lại
khi phần mềm bị hỏng.
• Người dùng có thể nhượng lại phần mềm cho người khác với điều kiện người được
nhượng lại chấp thuận các điều khoản của EULA và chỉ được phép có 1 bản copy được
dùng (tức là nếu nhượng lại thì người dùng ban đầu không được dùng nữa.)
• Có 2 loại phần mềm độc quyền hay gặp là:
• Freeware (phần mềm miễn phí): người dùng không phải trả tiền mua quyền sử dụng,
quyền sử dụng được “cho không” tuy nhiên thường kèm theo giới hạn “for individual
/educational use” (chỉ được cá nhân (chứ không phải tổ chức) dùng hoặc dùng với mục
đích giáo dục) hoặc “non-commercial/non-profit use” (chỉ dùng với mục đích không
sinh lời).
• Shareware (phần mềm chia sẻ): người dùng được dùng thử miễn phí phần mềm trong
thời gian chả hạn 30 ngày. Hết thời gian dùng thử phần mềm bị khóa lại muốn dùng
tiếp phải mua quyền sử dụng qua việc mua số serial để mở khóa cho phần mềm chạy.

Cũng có khi người dùng được quyền phát tán lại phần mềm shareware cho người khác
dùng thử.
Free/Open source software (FOSS) (phần mềm Tự do/Nguồn mở): Người giữ bản quyền cho phép
người dùng đủ các quyền của mình như quyền sử dụng, sao chép, nghiên cứu, sửa đổi phần mềm. Để
đảm bảo người sử dụng có thể nghiên cứu, sửa đổi phần mềm thì mã nguồn của các phần mềm loại
này phải được công bố. Người ta đưa ra khoảng 30 mẫu EULA cho phần mềm loại này trong đó phổ
biến nhất là GPL, BSD (sẽ nói ở phần sau).
17/192
Richard Stallman (biệt danh RSM) là
người khởi xướng phong trào phần
mềm tự do. Ông đã:
- đưa ra triết lý tự do cho phần mềm
- phát động dự án GNU, thành lập tổ
chức FSF
- viết ra phần mềm Emacs và GCC
- đưa ra giấy phép GPL
(ảnh lấy từ

Disclaimer of warranty (chối bỏ bảo đảm)
Dù phần mềm độc quyền hay tự do/nguồn mở thì trong EULA, người giữ bản quyền luôn tuyên bố là
sẽ không chịu trách nhiệm về các thiệt hại do phần mềm gây ra và người sử dụng phải chịu mọi rủi ro
của phần mềm. Ví dụ EULA của một phần mềm WinRAR ghi:
“WinRAR archiver is distributed "as is". No warranty of any kind is expressed or implied.
You use at your own risk. Neither the author nor the agents of the author will be liable for data
loss, damages, loss of profits or any other kind of loss while using or misusing this software.”
(“as is” như những gì hiện có)
3. Free/Open source softwares (FOSS)
a. Định nghĩa Free/Open source softwares
Bên cạnh phần mềm độc quyền hạn chế quyền của người dùng, còn có loại phần mềm cho người sử
dụng các quyền của tác giả (dĩ nhiên tác giả vẫn giữ bản quyền). Với những phần mềm này, người sử

dụng không phải trả mất tiền mua quyền mà vẫn có quyền sử dụng, phân phối lại, nghiên cứu, sửa đổi
và phân phối lại phần mềm phái sinh (phần mềm sửa đổi). Các phần mềm này khi phát hành luôn kèm
mã nguồn hoặc chỉ dẫn đến nơi có thể download mã nguồn để đảm bảo người dùng có thể nghiên cứu,
sửa đổi. Có 2 tên gọi và tiêu chí được sử dụng rộng rãi cho loại phần mềm này đó là: free softwares và
open source softwares.
Free soware
Richard Stallman đưa ra thuật ngữ “free software” (phần
mềm tự do) với tiêu chí: một phần mềm là “phần mềm tự do”
nếu người dùng có 4 quyền tự do cơ bản:
o Tự do chạy chương trình (0)
o Tự do nghiên cứu và sửa đổi chương trình (1)
o Tự do phân phối lại bản sao của chương trình (2)
o Tự do cải tiến và phân phối lại cải tiến của chương
trình (3)
Tự do (1), (3) đòi hỏi mã nguồn của chương trình
phải được công bố.
Triết lý của Richard Stallman ở đây là “tự do” (chứ không
phải miễn phí): người dùng được thoải mái sử dụng, nghiên
cứu mã nguồn, sửa đổi, phân phối lại phần mềm gốc và phần
mềm sửa đổi mà không bị ràng buộc phải hỏi xin hoặc trả
tiền mua những quyền này từ tác giả. Để người dùng có 4
quyền tự do trên thì trong bản EULA của phần mềm, người
giữ bản quyền phải tuyên bố cho người dùng những quyền
này.
Chữ “free” trong free softwares có nghĩa là “tự do” (không bị ràng buộc) như trong “tự do ngôn luận”
(free speech) chứ không có nghĩa “miễn phí” (giá tiền bằng 0) như trong “bia miễn phí” (free beer).
Trên thực tế một người bất kì (dù người nói tiếng Anh bản xứ hay người nước ngoài) khi lần đầu gặp
từ “free softwares” thì luôn luôn nghĩ rằng “free” là “miễn phí” do đó vô tình đánh đồng “free
software” với “freeware” (phần mềm miễn phí). Cần hiểu rằng freeware (phần mềm miễn phí) là một
thuật ngữ chỉ một loại phần mềm đặc thù khác hoàn toàn với free software.

– Freeware là phần mềm độc quyền, chỉ cho người dùng mỗi quyền sử dụng và người
dùng không phải mua quyền này (do đó mới nói là miễn phí), các quyền khác là sửa
đổi, phân phối lại thường không được cấp trong khi đó Free softwares thì cho người
dùng hết các quyền trên.
18/192
– Mã nguồn freeware thường không được công bố trong khi mã nguồn của free software
luôn được công bố.
Để thực hành triết lý tự do cho phần mềm, năm 1983, Richard Stallman đã phát động phong trào làm
phần mềm tự do (free software movement) bằng cách kêu gọi mọi người tham gia dự án làm một hệ
điều hành GNU có chức năng tương tự như UNIX nhưng với điều khoản “tự do” để thay thế cho hệ
điều hành UNIX độc quyền bấy giờ. Ông cũng thành lập tổ chức Free Software Foundation để quản lý
dự án và tuyên truyền triết lý tự do. Dự án đã sản sinh ra rất nhiều phần mềm tự do cho cộng đồng,
trong đó chính Richard Stallman đã viết ra phần mềm xử lý văn bản Emacs, và đặc biệt trình biên dịch
GCC mà tất cả các lập trình viên phần mềm tự do sau này dùng. Dự án không hoàn thành nhưng các
phần mềm viết cho GNU có thể kết hợp với nhân Linux thành một hệ điều hành hoàn chỉnh mà sau
này phát triển hẳn thành ngành công nghiệp Linux. Năm 1990, Richard Stallman cũng làm ra giấy
phép phần mềm tự do GPL mà hầu hêt các phần mềm GNU, bản thân nhân Linux, cũng như vô vàn
phần mềm sau này dùng.
Open source soware
Đến năm 1998, phong trào phần mềm tự do bắt đầu bị chia tách, tất cả cũng chỉ tại cái tên “’free
softwares”. Thứ nhất, chữ “free” trong tên gọi dễ gây hiểu nhầm là “miễn phí” hơn là “tự do”. Thứ
hai, theo triết lý “tự do” của mình, Richard Stallman chỉ trích cay nghiệt các công ty làm phần mềm
độc quyền là đã tước đoạt quyền tự do của người dùng, điều này gây ra sự căng thẳng giữa phong trào
phần mềm tự do và các công ty phần mềm. Với niềm tin rằng
cần thiết phải lôi kéo các công ty vào việc phát triển phần
mềm tự do hơn là đối lập với họ, Eric S. Raymond, Bruce
Perens, Linus Torvald và một số người khác đã họp bàn để
chọn một cái tên khác thay thế cho tên “free softwares” và cái
tên “open source softwares” đã được chọn. Theo Eric S.
Raymond, cái tên này có ý nghĩa tiếp thị cho phần mềm tự do,

vốn chỉ được biết đến và sử dụng bởi một thiểu số những
hacker/những người say mê lập trình, đến với thị trường phần
mềm. Bruce Perens cũng không dùng triêt lý tự do cũ nữa mà
viết ra định nghĩa mới cho open source software, gọi là Open
Source Definition (OSD) gồm 10 tiêu chí như ở dưới đây. Eric
S. Raymond và Bruce Perens cũng thành lập tổ chức Open
Source Initiatives để ủng hộ cho xu hướng mới này.
Năm 1997 Eric S. Raymond đã xuất bản cuốn sách “The
Cathedral and the Bazaar” (nhà thờ và cửa hàng tạp hóa) trong
đó chỉ ra mô hình phát triển phần mềm Open source mới hiệu
quả. Chịu ảnh hưởng từ cuốn sách này công ty Netscape đã
công bố mã nguồn phần mềm trình duyệt web Netscape của mình với hi vọng mô hình phát triển mới
sẽ giúp Netscape giành thêm được thị phần trong chiến với IE của Microsoft. Sự kiện này đánh dấu
thời đại mới của phần mềm nguồn mở khi các công ty bắt đầu tham gia. Eric S. Raymond trở thành
phát ngôn viên của phong trào nguồn mở.
Nội dung của Open Source Definition (OSD): một phần mềm là open source softwares nếu như giấy
phép sử dụng (EULA) của nó thỏa mãn 10 tiêu chí - xem nguyên văn tại ,
dưới đây là tóm tắt:
1. Free Redistribution (tự do phân phối lại): Giấy phép phải cho phép người dùng phân phối lại
phần mềm dù việc phân phối này thu phí hay miễn phí.
2. Source Code (mã nguồn): Phần mềm (ở dạng binary form) phải kèm theo mã nguồn hoặc mã
nguồn phải được công bố sao cho người dùng có thể dễ dàng lấy về và sửa đổi được.
3. Derived Works (phần mềm phái sinh): Giấy phép phải cho người dùng quyền sửa đổi phần mềm
và phân phối lại phần mềm phái sinh.
4. Integrity of The Author's Source Code (tính toàn vẹn của mã nguồn của tác giả phần mềm): Người
dùng được phép sửa đổi mã nguồn và công bố lại mã nguồn phái sinh nhưng cần chỉ rõ ra đấy
19/192
Eric S. Raymond (biệt danh ESR),
người viết cuốn “The Cathedral
and the Bazaar” đã có ảnh hưởng

lớn đến phong trào “Open source
softwares” và cũng là đồng sáng
lập OSI.
Ảnh lấy từ:
/>không phải là mã nguồn của phần mềm ban đầu để không ảnh hưởng tới danh tiêng của tác giả
phòng trường hợp mã nguồn phái sinh có chất lượng tồi. Để phân biệt thì có thể dùng tên hoặc
phiên bản khác đi so với phần mềm ban đầu.
5. No Discrimination Against Persons or Groups (không phân biệt đối tượng sử dụng): Giấy phép
không được ràng buộc người sử dụng chỉ là cá nhân hay chỉ là tổ chức hoặc bất cứ một nhóm
người cụ thể nào.
6. No Discrimination Against Fields of Endeavor (không phân biệt lĩnh vực sử dụng): Giấy phép
không được ràng buộc phần mềm chỉ được dùng trong lĩnh vực kinh doanh hoặc chỉ được dùng
trong nghiên cứu/giáo dục hoặc bất cứ một lĩnh vực cụ thể nào.
7. Distribution of License (sự phân phối giấy phép): Khi cá nhân/tổ chức A nhận được phần mềm từ
tay cá nhân/tổ chức X thì tất cả các quyền trong giấy phép được tự động cấp cho A; A không cần
phải kí thêm một giấy phép gì với X nếu chỉ để có các quyền này.
8. License Must Not Be Specific to a Product (giấy phép không được định hướng việc sử dụng tới
một ngữ cảnh nào đặc biệt): Giấy phép này không được giới hạn phần mềm chỉ được sử dụng khi
nó đi kèm với một phần mềm cụ thể nào.
9. License Must Not Restrict Other Software (giấy phép không được đặt ràng buộc lên các phần mềm
khác): Giấy phép không được đặt ràng buộc lên các phần mềm khác được phân phối cùng với
phần mềm chẳng hạn như không được yêu cầu các phần mềm đi cùng cũng phải là phần mềm
nguồn mở
10. License Must Be Technology-Neutral (giấy phép phải trung lập về mặt công nghệ): giấy phép phải
cho phần mềm được phân phối dưới bất kì phương tiện gì như CD, FTP …
Về việc dễ gây hiểu nhầm thì cái tên “open source” cũng chẳng khá
hơn cái tên “free software”, tuy nó tránh được “vỏ dưa” là chữ
“free” (miễn phí/tự do ?) nhưng nó lại gặp “vỏ dừa” là trước khi
OSI ra đời, người ta đã quen dùng cái tên “open source” rồi. Khi
một người dân nghe thấy phương tiện truyền thông nhắc đến open

source softwares (phần mềm nguồn mở), họ chỉ đơn giản nghĩ ngay
rằng: “open source softwares” là phần mềm có mã nguồn được
công bố (ai cũng có thể xem được mã nguồn) chứ không hề biết
đến định nghĩa 10 điều khoản của tổ chức OSI. Cách suy nghĩ giản
đơn này không xét đến việc khi công bố mã nguồn thì người dùng
mã nguồn đó có quyền gì, chả hạn liệu có thể cải tiến mã nguồn đó
rồi công bố lại cải tiến được không ? Chính vì việc cái tên Open
source softwares vốn là thuật ngữ riêng của OSI bị trùng vào danh
từ chung của mọi người nên câu đầu tiên trong bản định nghĩa 10
tiêu chí, OSI phải nói ngay là “Open source doesn't just mean
access to the source code”. Tóm lại định nghĩa Open source
softwares là không tương đương với “phần mềm có mã nguồn được
công bố”. Khi người ta bàn về phần mềm nguồn mở là muốn nhắc đến định nghĩa 10 tiêu chí kia chứ
không phải cách hiểu thiếu chặt chẽ thường ngày.
Free sowares vs Open source
Nhìn lại lịch sử, cộng đồng phần mềm tự do được hình thành bắt đầu từ năm 1983 qua dự án xây dựng
hệ điều hành GNU, đến năm 1998 khi thuật ngữ “open source softwares” ra đời thì cộng đồng này bị
tách thành 2 xu hướng: free softwares và open source softwares
- “Free softwares”: những người của
phong trào này, đứng đầu là tổ chức Free
Softwares Foundation, tiếp tục đề cao triết
lý “tự do”, nỗ lực vận động để
“quyền” của người sử dụng (tự do
chạy, sao chép) và của lập trình viên (tự do sửa đổi và phân phối lại sửa đổi) khỏi bị phần
20/192
Biểu tượng của Free Software Foundation – tổ
chức ủng hộ “free software”
Bruce Peren, người viết ra
Open Source Definition (OSD)
Ảnh lấy từ trang web cá nhân của Bruce

Peren:
mềm và các công ty phần mềm độc quyền tước đoạt. Có rất nhiều EULA phần mềm thỏa mãn
triết lý tự do, trong số đó, những người này ủng hộ nhất là giấy phép GPL do chính FSF đưa ra.
Đây là giấy phép phần mềm tự do yêu cầu mọi phần mềm phái sinh từ nó cũng phải là phần
mềm tự do. Nhìn chung các công ty rất sợ giấy phép GPL và ác cảm với cái tên “free
softwares”, còn giới truyền thông thì vẫn hay nhầm free softwares thành freeware.
- “Open source softwares”: phong trào này được tách ra từ free
softwares với mục đích phát triển free softwares thành thành một
xu hướng trong nền công nghiệp phần mềm chứ không chỉ bó hẹp
là của riêng những người say mê lập trình/hackers. Tổ chức OSI
đứng đằng sau phong trào này, mục đích của nó là thu hút được
nhiều công ty tham gia phong trào. Khi một công ty nào đó muốn
công bố mã nguồn nhưng không muốn đặt dưới giấy phép GPL, nó
có thể tự đưa ra giấy phép của mình và đến để OSI chứng nhận thỏa
mãn điều kiện Open source. Ngày nay các công ty phần mềm độc
quyền khổng lồ đều đã tham gia phát triển phần mềm open source.
Ví dụ Microsoft có hẳn trung tâm Open Source, nó cũng đưa ra
giấy phép riêng của mình là Microsoft Public License và đã được OSI chứng nhận là phần
mềm nguồn mở. Mô hình phát triển phần mềm của phong trào được phân tích trong cuốn “The
cathedral and Bazaar” của Eric S. Raymond.
Nhìn chung người ta thường ví “free softwares” là mục tiêu còn “open source” là phương tiện. Tuy
triết lý 2 xu hướng khác nhau nhưng điều khoản của 2 định nghĩa “free softwares” và “open source
softwares” là gần tương đương nhau; cả OSI và Richard Stallman đều công nhận điều này. Hầu như
một EULA nào được tổ chức Free Softwares Foundation chứng nhận là thỏa mãn free softwares thì
cũng được OSI xác nhận là thỏa mãn Open Source Definition và ngược lại thế nên trong thực tế việc
phân biệt 2 định nghĩa này không còn quan trọng nữa. Để tránh một sự thiên vị nào người ta đã đưa ra
cái tên Free and Open Source (FOSS hoặc F/OSS) hoặc Open Source and Free Softwares (OSS/FS)
thậm chí Free/Libre/Open Source (FLOSS) để chỉ những phần mềm của cả 2 phong trào này. Cái tên
Free and Open Source Softwares đã được dùng rất phổ biến hiện nay.
Thuật ngữ đối ngược với FOSS là proprietary softwares hoặc closed source softwares.

b. FOSS và chuyện “miễn phí”
FOSS thì miễn phí ?
Nếu bạn nghĩ “FOSS thì miễn phí”, điều này đúng nhưng cần lưu ý thêm mấy điểm tinh tế sau:
Cách mà FOSS “miễn phí” khác với cách mà một phần mềm độc quyền “miễn phí”. Mục đích của
FOSS là cấp quyền cho người dùng khác với mục đích của phần mềm độc quyền là giá tiền.
Chúng ta đã quen thuộc với việc công ty bán và chúng ta mua phần mềm độc quyền; việc bán hay mua
ở đây thực chất là bán hay mua quyền sử dụng phần mềm. Khi chúng ta gặp loại phần mềm độc quyền
có giá tiền bằng không mà thuật ngữ cho nó là freeware – phần mềm miễn phí thì tức là các công ty đã
tặng không quyền sử dụng cho người dùng. Tuy nhiên các quyền khác như quyền sao chép, nghiên
cứu và sửa đổi mã nguồn thì thường người dùng không được cấp và cũng không thể mua được. Với
FOSS thì người dùng được cấp quyền sử dụng, sao chép, nghiên cứu và sửa đổi mã nguồn, phân phối
lại phần mềm sửa đổi mà không phải trả khoản phí nào.
Nếu bạn lý sự rằng: “Tôi không phải là lập trình viên, tôi không quan tâm đến mã nguồn, tôi chỉ muốn
dùng phần mềm mà không phải trả tiền. Đều được sử dụng miễn phí nên tôi thấy freeware hay FOSS
đều như nhau cả”. Không hẳn, có những phần mềm freeware đặt giới hạn bạn chỉ được dùng phần
mềm cho mục đích cá nhân và không được phân phối lại. Khi đó nếu bạn là giám đốc của một công ty
bạn chỉ có thể cài đặt phần mềm cho laptop của bạn mà không thể sao chép ra cho tất cả các máy tính
ở của công ty để nhân viên dùng. Phần mềm FOSS thì ngược lại, bạn có thể sao chép ra bao nhiêu tùy
ý, được sử dụng thoải mái mà không bị hạn hẹp chỉ dùng cho cá nhân hay chỉ được dùng trong trường
học.
21/192
Biểu tượng của
Open Source
Initiative – tổ chức
ủng hộ Open source
software
Một lưu ý nữa là tuy “FOSS thì miễn phí” nhưng không được đánh đồng “FOSS là freewares (phần
mềm miễn phí)”. Freewares là một loại phần mềm độc quyền hoàn toàn đối nghĩa với FOSS.
Có thể bạn vẫn phải trả phí để có được phần mềm FOSS hoặc có thể bạn sẽ thấy với cùng một
phần mềm FOSS, chỗ thì người ta cho không, chỗ thì người ta rao “bán” với giá đắt. FOSS không

có ràng buộc gì về việc phân phối lại bản sao.
Việc phân phối lại phần mềm bằng cách in ra CD, cung cấp đường truyền Internet để download, …
nhìn chung là tốn kém. Một lập trình viên có thể hào phóng cho bạn quyền sử dụng, sao chép, sửa đổi
phần mềm của anh ta nhưng bước đầu tiên anh ta phải làm là phân phối phần mềm đó đến tay bạn đã
rồi thì sau đó bạn mới sử dụng, sửa đổi mà việc phân phối này thì tốn kém. Do đó không có gì là mâu
thuẫn với tinh thần hào hiệp của người lập trình viên khi anh ta thu phí cho việc phân phối phần mềm.
Cần hiểu ở đây anh ta tính phí đĩa CD, đường truyền Internet để download phần mềm … chứ không
phải là bán quyền sử dụng phần mềm. Định nghĩa Open source của Bruce Peren cũng ghi rõ trong tiêu
chí 1 là giấy phép của phần mêm Open source thì không được ràng buộc việc phân phối lại phần mềm
là phải tính phí hay không tính phí. Định nghĩa free softwares của Richar Stallman cũng không hề có
ràng buộc gì về giá tiền của việc phân phối phần mềm.
Đến đây bạn có thể lý sự rằng: “Anh bán cho tôi một CD phần mềm FOSS và bảo số tiền tôi phải bỏ ra
là tiền của đĩa CD chứ không phải tiền mua quyền sử dụng phần mềm. Nhưng tôi thấy có khác gì đâu
vì đằng nào tôi cũng phải mất tiền mua. Mà mua xong đĩa CD đó tôi cũng chỉ có biết chạy phần mềm
chứ tôi đâu quan tâm đến việc đọc và sửa mã nguồn phần mềm, nên với cách sử dụng của tôi thì FOSS
cũng bằng độc quyền, vẫn mất phí”. Một phần mềm FOSS với phí phân phối cao là khác với một phần
mềm độc quyền giá cao. Vấn đề ở đây là khi ai đó có được phần mềm FOSS trong tay thì người ấy có
thể sao chép cho người khác tùy ý với thu phí hay không thu phí. Điều này có nghĩa là bạn có thể tìm
được cách để không mất phí mà vẫn có phần mềm FOSS. Chả hạn nếu người hàng xóm của bạn phải
mất tiền để có được đĩa CD phần mềm FOSS, bạn hoàn toàn có quyền sao chép lại CD đó về dùng.
Tuy nhiên với phần mềm độc quyền thì đây là hành vi phạm pháp, nếu bạn bỏ tiền ra mua 1 bản sao
của phần mềm thì phần mềm đó chỉ được phép cài trên đúng 1 máy mà không thể sao ra để cài trên 2
máy.
Hệ quả quan trọng của việc tự do phân phối lại FOSS là người lập trình phần mềm FOSS khi lần đầu
tiên phân phối phần mềm FOSS nếu có tính phí phân phối rất cao thì cũng không cản trở việc nhiều
người dùng phần mềm đó. Lý do là chỉ cần có người có được 1 bản sao của phần mềm đó thì ngay lập
tức có thể phân phối lại phần mềm đó mà không đòi hỏi phí. Có thể bạn sẽ gặp tình huống: cùng một
phần mềm FOSS chỗ thì “bán” đĩa CD rất đắt, chỗ thì tặng không.
FOSS thương mại ?
Những gì có tính “thương mại” (commercial) là những gì có thể kiếm lời được từ nó. Commercial

softwares (phần mềm thương mại) là phần mềm mà người ta có thể hốt bạc nhờ nó, ví dụ như
Windows, Photoshop, Norton Antivirus, …
Cũng chỉ tại hiểu giản đơn “FOSS thì miễn phí” mà nhiều người cho rằng “không thể thương mại hóa
FOSS được” hoặc cho rằng “FOSS là loại phần mềm đối ngược với phần mềm thương mại”. Thực sự
phần lớn các phần mềm FOSS là phần mềm thương mại ! Vâng, phần lớn chứ không phải một vài.
Ví dụ cho việc kinh doanh FOSS chính là việc phân phối lại phần mềm FOSS bằng cách bán đĩa CD
hoặc cung cấp đường truyền Internet để download như đã nói ở trên. Đây chỉ là một hình thức kinh
doanh đơn giản nhất của FOSS, các hình thức cao cấp khác có thể xem ở mục “Mô hình kinh doanh
với FOSS”.
Nhắc lại rằng từ trái nghĩa với FOSS là “proprietary softwares” (phần mềm độc quyền), chứ không
phải là commercial softwares. Cả phần mềm độc quyền lẫn FOSS đều có thể là phần mềm thương mại.
c. Các mẫu giấy phép FOSS
Cho đến nay người ta đưa ra rất nhiều mẫu EULA cho phần mềm FOSS trong đó chỉ có khoảng 30
mẫu là phổ biến. Người ta thường khuyên: khi một người làm phần mềm FOSS thì nên lựa chọn 1
trong hàng tá mẫu EULA có sẵn kia làm EULA cho phần mềm của mình hơn là tự soạn ra một bản
22/192
EULA của riêng mình. Lý do: các mẫu EULA có sẵn đã trải qua một quá trình phát triển được cộng
đồng kiểm định và hiểu kĩ lưỡng, còn khi ai đó tạo ra một bản EULA của riêng mình thì có thể nó
không chặt chẽ, khó hiểu thậm chí tự mâu thuẫn với định nghĩa FOSS.
Các mẫu EULA, mà từ đây ta gọi là giấy phép sử dụng, phổ biến nhất hiện nay (theo thứ tự giảm dần
của thị phần sử dụng năm 2010):
• (63%) GPL licence (copyleft) gồm strong GPL và Lesser GPL của Free Sosftware Foundation
• (9%) Artistic licence (Perl) của Larry Wall
• (6%) BSD licence (copycenter) của đại học Berkeley
• (5%) MIT (X) licence của đại học MIT
• (4%) Apache Software licence của Apache Software Foundation
Thống kê chi tiết xem bảng xếp hạng của Black Duck Open Source Resource Center năm 2010
Rank License %
1 GNU General Public License (GPL) 63.07%
+

GNU General Public License (GPL) 2.0 47.22%
+
GNU Lesser General Public License (LGPL) 2.1 8.98%
+
GNU General Public License (GPL) 3.0 6.39%
+
GNU Lesser General Public License (LGPL) 3.0 0.48%
2. Artistic License (Perl) 8.96%
3. BSD License 2.0 6.23%
4. MIT License 5.15%
5. Apache License 2.0 4.36%
6. Code Project Open 1.02 License 2.87%
7. Microsoft Public License (Ms-PL) 1.66%
8. Mozilla Public License (MPL) 1.46%
+ Mozilla Public License (MPL) 1.0 0.25%
+ Mozilla Public License (MPL) 1.1 1.21%
9. Common Public License (CPL) 0.52%
10. Eclipse Public License (EPL) 0.51%
11. zlib/libpng License 0.41%
12. Academic Free License 0.39%
13.
Common Development and Distribution
License (CDDL)
0.33%
14. Open Software License (OSL) 0.29%
15. Ruby License 0.23%
16. PHP License Version 3.0 0.23%
Bảng xếp hạng thị phần sử dụng các EULA năm 2010 của Black Duck Open Source Resource Center
• Do Free software và Open source software là gần tương đương nhau nên các giấy phép nếu thỏa
mãn định nghĩa này thường thỏa mãn cả định nghĩa kia.

• Các giấy phép FOSS thường luôn có các các điều khoản sau:
i. Copyright <năm> <người giữ bản quyền> //Xác định rõ người giữ bản quyền phần
mềm.
23/192
ii. Cho phép người dùng: sử dụng, phân phối lại bản sao, đọc mã nguồn, sửa mã
nguồn, phân phối lại phần mềm phái sinh (phần mềm sửa đổi từ phần mềm gốc) mà
không phải trả khoản phí nào cho người giữ bản quyền
iii. Ràng buộc người dùng khi phân phối lại phần mềm:
o nếu phân phối lại phần mềm (mà không có sửa đổi) thì phải kèm theo giấy
phép này.
o nếu phân phối lại phần mềm phái sinh thì trong giấy phép của phần mềm
phái sinh phải ghi rõ: người giữ bản quyền phần mềm gốc, disclaimer of
warranties (mục iv), và ràng buộc này (*)
iv. Disclaimer of warranties (chối bỏ trách nhiệm về các thiệt hại do phần mềm gây ra)
(*): yêu cầu ghi lại “ràng buộc này” trong giấy phép để một cách đệ quy bắt các phần mềm phái
sinh tiếp theo cũng phải nêu lại chú thích bản quyền, disclaimer of warranties. Nếu không có yêu
cầu này thì xảy ra tình huống: phần mềm gốc A yêu cầu ghi chú thích bản quyền trong phần mềm
phái sinh, phần mềm phái sinh A1 của A tuân theo nên ghi chú thích bản quyền phần mềm gốc A
nhưng không bắt phần mềm phái sinh tiếp theo A2 ghi chú thích bản quyền. Lúc đó phần mềm
phái sinh A2 không cần phải ghi chú thích bản quyền phần mềm gốc A nữa.
• Trong định nghĩa FOSS không có qui định chặt chẽ về phần mềm phái sinh. Các giấy phép FOSS
khác nhau chủ yếu ở ràng buộc với phần mềm phái sinh (ngoài điểm chung là bắt phải ghi chú
người giữ bản quyền phần mềm gốc, disclaimer of warranties). Có thể chia làm các giấy phép
FOSS làm 3 loại:
• Kiểu gần với public domain: BSD, MIT, Apache … ràng buộc với phần mềm phái
sinh là rất lỏng lẻo.
• Copyleft: GPL - phmềm phái sinh phải đặt dưới cùng giấy phép phần mềm gốc,
không được liên kết với phần mềm độc quyền.
• Weak copyleft: LGPL, Artistics Licence (Perl) - phmềm phái sinh phải đặt dưới
cùng giấy phép phần mềm gốc, được phép liên kết với phần mềm độc quyền.

4. Các giấy phép FOSS kiểu public domain: BSD, MIT, Apache
Các giấy phép như BSD, MIT X11, Apache … ngoài ràng buộc chối bỏ bảo đảm và yêu cầu ghi chú
thích người giữ bản quyền phần mềm gốc khi phát hành lại, thì trao hết các quyền của tác giả cho
người sử dụng. Người sử dụng có các quyền như với phần mềm public domain (thế nên gọi là giấy
phép kiểu public domain), trong đó có thể bán lại phần mềm, kết hợp phần mềm với phần mềm khác
tạo thành phần mềm độc quyền. Điều khoản các giấy phép này rất dễ dãi nên các giấy phép này còn
được gọi là “permissive free software licence” (tính từ “permissive” nghĩa là: có xu hướng cho phép,
dễ dãi thoải mái)
BSD (copycenter)
Giấy phép này do đại học Berkeley lần đầu đưa ra kèm theo hệ điều hành BSD (Berkeley Software
Distribution). Ban đầu nó gồm 4 điều khoản (vì thế còn gọi là 4-clause BSD) trong đó có điều khoản
về quảng cáo vốn gây ra sự bất tiện trong thực tế nên đã bị bỏ đi và ngày nay người ta thường dùng
giấy phép BSD 3 điều khoản (còn gọi là BSD 2.0 hay 3 clause BSD) như dưới đây
Copyright (c) <year>, <copyright holder>
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
24/192
3. Neither the name of the <organization> nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

Giấy phép BSD chỉ với 2 điều khoản (1), (2) được gọi là giấy phép FreeBSD (hoặc 2 clause BSD) nó
được dùng cho hệ điều hành FreeBSD, NetBSD, OpenBSD, Darwin.
Hai điều khoản (1), (2) nói rõ người dùng được phép sử dụng và phân phối lại phần mềm ở dạng
source code và binary dù chưa hay đã sửa đổi với điều kiện phải kèm theo: ghi chú bản quyền phần
mềm, “điều khoản này” và chối bỏ đảm bảo (phần chữ in hoa). Ràng buộc ghi lại “điều khoản này”
nhằm một cách đệ quy bắt các phần mềm phái sinh sau này luôn ghi chú bản quyền phần mềm gốc và
chối bỏ bảo đảm.
Ở điều khoản (3), <organization> ở đây là organization của <copyright holder>, có thể
coi <organization> = <copyright holder>. Điều khoản (3) yêu cầu không được dùng tên
của tác giả phần mềm gốc để quảng cáo/xác nhận chất lượng cho phần mềm phái sinh khi tác giả phần
mềm gốc chưa cho phép. Điều này đảm bảo danh tiếng của tác giả phần mềm gốc không bị bôi nhọ
khi phần mềm phái sinh có chất lượng tồi.
Ngoài 3 điều khoản trên, giấy phép BSD không có ràng buộc gì thêm với phần mềm phái sinh nên
người sử dụng có thể biến phần mềm phái sinh thành phần mềm độc quyền và bán lại cho người khác
hoặc sử dụng phần mềm BSD như một thành phần trong phần mềm độc quyền khác (miễn là có ghi
chú bản quyền phần mềm BSD ban đầu). Ví dụ điển hình là một số đoạn mã về networking của hệ
điều hành BSD (giấy phép BSD) được sử dụng trong một số sản phẩm độc quyền của Microsoft, hoặc
rất nhiều thành phần của hệ điều hành FreeBSD được sử dụng trong hệ điều hành MAC OS X.
Người dùng không bị bắt buộc phải công bố lại mã nguồn của phần mềm phái sinh.
Các công ty làm phần mềm độc quyền thường thích giấy phép này.
Giấy phép BSD còn được gọi là copycenter để chơi chữ với copyright, copyleft (GPL). Từ copycenter
ngụ ý “bạn có thể đem phần mềm đến một trung tâm sao chép để tạo ra bao nhiêu bản copy tùy ý” tuy
nhiên hầu như mọi phần giấy phép FOSS đều có mục đích này.
MIT licence

Giấy phép này do đại học MIT lần đầu đưa ra kèm theo phần mềm X Windows System, nó cũng còn
được gọi là MIT X11. Điều khoản của nó tương đương với giấy phép BSD 2 điều khoản (1), (2)
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in the
Software without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
- The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
25/192

×