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

Nghiên cứu hệ thống phần mềm mã nguồn mở và phát triển ứng dụng bằng phần mềm mã nguồn mở tại bộ công thương

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 (2.29 MB, 155 trang )


CỤC THƯƠNG MẠI ĐIỆN TỬ VÀ CÔNG NGHỆ THÔNG TIN
TRUNG TÂM TIN HỌC
o0o






BÁO CÁO
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC

“NGHIÊN CỨU HỆ THỐNG PHẦN MỀM MÃ NGUỒN MỞ VÀ PHÁT
TRIỂN ỨNG DỤNG BẰNG PHẦN MỀM MÃ NGUỒN MỞ TẠI BỘ
CÔNG THƯƠNG”




Mã số :
Cơ quan chủ trì : Trung tâm Tin học - Cục TMDT & CNTT
Cơ quan chủ quản : Bộ Công Thương
Chủ nhiệm đề tài : CN. Nguyễn Hữu Thọ








8973


NĂM 2010
1
MỤC LỤC
MỤC LỤC 1
LỜI NHÓM TÁC GIẢ 3
CHƯƠNG I TỔNG QUAN ĐỀ TÀI 4
1.1. Cơ sở pháp lý và xuất xứ của đề tài 4
1.2. Tính cấp thiết và mục tiêu nghiên cứu của đề tài. 4
1.3. Đối tượng phạm vi nghiên cứu. 4
CHƯƠNG 2 GIỚI THIỆU CHUNG VỀ PHẦN MỀM NGUỒN MỞ 6
2.1. Lịch sử phát triển 6
1.2. Khải niệm phần mềm nguồn mở 7
2.3. Luật Copyleft và giấy phép lưu hành trong cộng đồng GNU 10
2.4. Cách xây dựng phần mềm nguồn mở 11
2.5. Phần mềm nguồn mở có thực sự miễn phí? 13
2.6. Các điểm mạnh của phần mềm nguồn mở 13
2.6.1. Tổng chi phí sở hữu thấp 14
2.6.2. Độ an toàn 15
2.6.3. Tính ổn định và tin cậy 16
2.6.4. Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp 17
2.6.5. Thúc đẩy sự phát triển của ngành công nghiệp phần mềm địa phương 19
2.6.6. Tuân thủ các quy định về bản quyền và sở hữu trí tuệ 20
2.6.7. Vấn đề bản địa hoá 21
2.7. Hạn chế của phần mềm nguồn mở 21
2.7.1. Thiếu các hỗ trợ kỹ thuật tin cậy 21
2.7.2. Thiếu các ứng dụng kinh doanh đặc thù 22
2.7.3. Không có cam kết bắt buộc phải hoàn thành một sản phẩm cụ thể 22

2.7.4. Sự tương thích với các hệ thống nguồn đóng 22
2.7.5. Chưa chú ý nhiều đến tính tiện dụng 23
2.8. Tình hình ứng dụng phần mềm nguồn mở trên thế giới và tại Việt Nam 24
CHƯƠNG 3 GIỚI THIỆU MỘT SỐ PHẦN MỀM MÃ NGUỒN MỞ 29
1.1. Phần mềm cho hạ tầng và dịch vụ mạng 29
2
1.1.1. Hệ điều hành 29
3.1.2. Web server 32
3.2. Phần mềm cho người dùng văn phòng 32
3.2.1. Bộ soạn thảo văn phòng – Open Office 32
3.2.2. Phần mềm quản lý dự án – Open Workbench 36
3.2.3. Phần mềm nén file – 7 ZIP 37
3.2.4. Phần mềm xử lý đồ họa - The Gimp 39
3.2.5. Trình duyệt Web – Mozila Firefox 41
3.2.6. Phần mềm quản lý thư điện tử cá nhân – Thunderbird 42
3.2.7. Bộ từ điển – StarDict 43
3.3. Phần mềm cho người phát triển ứng dụng 43
3.3.1. Hệ quản trị cơ sở dữ liệu – MySQL 43
3.3.2. Ngôn ngữ lập trình PHP 46
CHƯƠNG 4 ĐỀ XUẤT GIẢI PHÁP ỨNG DỤNG PHẦN MỀM NGUỒN MỞ
TẠI BỘ CÔNG THƯƠNG 48

4.1. Hiện trạng sử dụng phần mềm tại Bộ Công Thương 48
4. 2. Yêu cầu về sử dụng phần mềm bản quyền và ứng dụng phần mềm nguồn mở
tại Bộ Công Thương 51

4.3. Lợi ích và nguyên tắc ứng dụng nguồn mở cho Bộ Công Thương 52
4.4. Phạm vi ứng dụng phần mềm nguồn mở tại Bộ Công Thương 53
4.4.1. Phần mềm nguồn mở ứng dụng trong công tác văn phòng 53
4.4.2. Phần mềm nguồn mở ứng dụng cho phát triển phần mềm 55

4.5 Xây dựng phần mềm Quản lý đăng ký thực hiện các Nhiệm vụ, đề tài KHCN 60
CHƯƠNG 5: KẾT LUẬN 76
PHỤ LỤC 1:Tài liệu ISO của Bộ Công Thương 77
PHỤ LỤC 2 Giấy phép GNU – GPL 86
PHỤ LỤC 3 Định nghĩa các quyền cho phần mềm nguồn của tố chức OSI 89
PHỤ LỤC 4 Hướng dẫn sử dụng hệ điều hành Linux 93
PHỤ LỤC 5 Hướng dẫn sử dụng hệ quản trị cơ sở dữ liệu MySQL 127
PHỤ LỤC 6 Hướng dẫn sử dụng ngôn ngữ lập trình PHP 143
TÀI LIỆU THAM KHẢO 154
3
LỜI NHÓM TÁC GIẢ
Nhóm tác giả thực hiện đề tài xin được dành vị trí trân trọng nhất để bày tỏ
sự biết ơn chân thành đến Lãnh đạo Bộ Công Thương,Vụ Khoa học và Công nghệ,
Trung tâm Tin học đã hết lòng tạo điều kiện, động viên, khuyến khích chúng tôi
trong thời gian thực hiện đề tài này.
Nhóm tác giả cũng xin bày tỏ lời cảm ơn chân thành đến các anh chị, đồng
nghiệp, là những người trực tiếp tham gia, hỗ
trợ kiến thức, chia sẻ kinh nghiệm
quý báu trong quá trình tìm hiểu công tác nghiệp vụ, đồng thời cũng là những
chuyên gia tư vấn về hệ thống, những người trực tiếp hỗ trợ, thu thập, cung cấp tài
liệu, kiểm tra và đánh giá trong giai đoạn thực hiện đề tài.
Nhóm thực hiện đề tài
4

CHƯƠNG I
TỔNG QUAN ĐỀ TÀI

1.1. Cơ sở pháp lý và xuất xứ của đề tài.
Đề tài “Nghiên cứu hệ thống phần mềm mã nguồn mở và phát triển ứng dụng
bằng phần mềm mã nguồn mở tại Bộ Công Thương’’ được thực hiện theo Quyết

định số 6228/QĐ-BCT, ngày 10 tháng 12 năm 2009 về việc đặt hàng thực hiện các
nhiệm vụ khoa học và công nghệ năm 2010 cho Trung tâm Tin học thực hiện nghiên
cứ
u.
1.2. Tính cấp thiết và mục tiêu nghiên cứu của đề tài.
Với sự phát triển mạnh mẽ của khoa học công nghệ hiện nay, đặc biệt là ứng
dụng hệ thống Công nghệ Thông tin trong công việc quản lý hành chính. Công nghệ
thông tin đã trở thành một công cụ đắc lực, nó giúp giảm chi phí về thời gian và tiền
của, mang lại sự thuận tiện.
Mục tiêu nghiên cứu xuyên suốt của đề tài là làm sao nắm b
ắt được tổng quan
về phần mềm mã nguồn mở, nghiên cứu các phần mềm mã nguồn mở có tính khả
thi trong việc triển khai các ứng dụng phục vụ công tác tin học hóa quản lý hành
chính nhà nước tại Bộ Công Thương. Kết quả phải đạt được là:
- Báo cáo nghiên cứu tổng quan về phần mềm mã nguồn mở.
- Báo cáo đánh giá hiện trạng sử dụng phần mềm nguồ
n mở trong Bộ Công
Thương và đề xuất phạm vi ứng dụng các phần mềm nguồn mở trong Bộ
Công Thương.
- Xây dựng một ứng dụng bằng mã nguồn mở, áp dụng thực tế.
1.3. Đối tượng phạm vi nghiên cứu.
Đề tài “Nghiên cứu hệ thống phần mềm mã nguồn mở và phát triển ứng
dụng bằng phần mềm mã nguồn mở t
ại Bộ Công Thương’’ với mục đích chính đưa
phần mềm mã nguồn mở vào sử dụng trong cơ quan Bộ phục vụ công tác quản lí
hành chính nhà nước. Do đó, phạm vi nghiên cứu và thực hiện đề tài là trong cơ
quan Bộ Công Thương.
Trong quá trình thực hiện đề tài, nhóm thực hiện đề tài thu thập nguồn tài
liệu từ các các đơn vị, tổ chức liên quan. Áp dụng các điểm mạnh của phầ
n mềm

5
mã nguồn mở vào mô hình thực tiễn của Bộ Công Thương. Tham khảo một số mô
hình các đơn vị có uy tín về Công nghệ thông tin trong nước và khu vực.
Nội dung của đề tài được tập trung vào hai nhiệm vụ chính là nghiên cứu hệ
thống phần mềm mã nguồn mở và phát triển ứng dụng bằng phần mềm mã nguồn
mở. Qua đó các công việc phải làm là:
- Khảo sát hiện trạng sử dụng phầ
n mềm tại Bộ Công Thương.
- Nghiên cứu tổng quan về hệ thống phần mềm mã nguồn mở.
- Xây dựng ứng dụng trên nền phần mềm mã nguồn mở và ứng dụng thực tế
tại Bộ Công Thương.
6
CHƯƠNG 2
GIỚI THIỆU CHUNG VỀ PHẦN MỀM NGUỒN MỞ

2.1. Lịch sử phát triển
Lịch sử phát triển phần mềm nguồn mở có liên quan đến lịch sử phát triển của hệ
điều hành Unix. Năm 1969 hệ điều hành Unix ra đời tại trung tâm nghiên cứu Bell
Labs, do Ken Thompson viết cho riêng cho máy tính PDP-7 của hãng Digital
Equipment. Sau đó Unix được chỉnh sửa nhiều lần và cho đến năm 1973 thì Unix đa
phần được phát triển dựa trên C. Khi đó, Unix có thể dễ dàng được tích hợp trong
bất cứ mộ
t máy tính nào, miễn là có đủ bộ nhớ theo yêu cầu và trình biên dịch (trình
dịch C) phù hợp với loại máy đó. Unix và C trở thành hệ điều hành và ngôn ngữ rất
phổ biến được sử dụng trong công nghiệp và giảng dạy trong các trường đại học.
Sau những tranh chấp về bản quyền, năm 1984 Unix được thương mại hóa và mã
nguồn của Unix được bảo vệ rất chặt chẽ bởi luật sở h
ữu trí tuệ. Chính việc thương
mại hóa Unix đã thúc đẩy việc hình thành cộng đồng những người ủng hộ quan
điểm tự do hóa phần mềm.

Tự do ở đây hiểu theo nghĩa tự do “thay đổi mã nguồn” không hẳn theo nghĩa tự
do về giá cả (hay miễn phí). Đây chính là tiền đề tạo ra sự phát triển mạnh mẽ của
phần mềm nguồn mở sau này.
Người được coi là khai sinh ra ph
ần mềm mã nguồn mở là Richard Stallman, làm
việc ở phòng thí nghiệm Trí tuệ nhân tạo của MIT-Mỹ. Ông là người đầu tiên thấy
được sức mạnh của các phần mềm “tự do”. Ý tưởng của ông là:
Không giống như các sản phẩm khác, phần mềm cần giải phóng khỏi những hạn
chế như sao chép hay chỉnh sửa nhằm tạo nên những chương trình máy tính hiệu
năng và tốt hơn.
Công lao chính của ông là tạo ra gi
ấy phép nguồn mở GNU- viết tắt là GPL (năm
1983), chủ yếu nhằm bảo vệ quyền cho phép bất kỳ ai cũng có thể sử dụng, sửa đổi
và phân phối lại mã nguồn của chương trình gốc và các chương trình dẫn xuất.
Từ năm 1984, dự án GNU và Tổ chức Phần mềm Tự do (FSF - Free Software
Foundation) đã thực hiện một loạt chương trình phần mềm nguồn mở. Thông qua
dự án GNU c
ủa FSF, những công cụ lập trình như Emacs, GCC, GNU C++, GNU
Ada, GNU Pascal, G77, F2C v.v. và nhiều phần mềm khác đã đạt được những thành
công nhất định. Chính đề án GNU và giấy phép mã nguồn mở GPL là nền tảng then
chốt cho sự phát triển của thế giới mã nguồn mở sau này.
7
1.2. Khải niệm phần mềm nguồn mở
Một cách ngắn gọn, chương trình phần mềm nguồn mở là những chương trình
mà quy trình cấp phép sẽ cho người dùng quyền tự do chạy chương trình theo bất
kỳ mục đích nào, quyền nghiên cứu và sửa đổi chương trình, quyền sao chép và tái
phát hành phần mềm gốc hoặc phần mềm đã sửa đổi mà không phải trả tiền bản
quyề
n cho những người lập trình trước.
Có nhiều quan điểm khác nhau về phần mềm nguồn mở, nhưng nổi bật nhất

trong các quan điểm đó là tư tưởng của Tổ chức Phần mềm tự do FSF (Free
Software Foundation) và tư tưởng của Tổ chức Sáng kiến Nguồn mở OSI (Open
Source Initiative).
• FSF định nghĩa ra phần mềm tự do để nhằm mục
đích bảo vệ bốn quyền tự
do của người dùng. Đó là:
o Quyền tự do chạy một chương trình với bất kỳ mục đích nào.
o Quyền tự do nghiên cứu cách thức vận hành của một chương trình và
thích ứng nó cho phù hợp với nhu cầu của mình. Khả năng tiếp cận
mã nguồn là điều kiện tiên quyết cho việc này.
o Quyền tự do phân phát các phiên b
ản của phần mềm để giúp đỡ những
người xung quanh.
o Quyền tự do thêm mới các chức năng cho một chương trình và công
bố những tính năng mới đó đến công chúng để toàn cộng đồng được
hưởng lợi. Khả năng tiếp cận mã nguồn là điều kiện tiên quyết cho
việc này.
Tư tưởng chính của FSF là quyền tự do hợp tác, “tự do” (free) ở đây nghĩ
a là
freedom chứ không phải vấn đề giá cả. FSF còn phản đối việc cấp bằng
sáng chế phần mềm và những hạn chế khác theo luật bản quyền hiện hành.
Tất cả những điều này đều hạn chế bốn quyền tự do của người dùng như đã
nêu ở trên. Không có sự mâu thuẫn giữa việc bán những bản copy và những
phần mềm tự do. Việc bán nhữ
ng đĩa CD chứa tập hợp những phần mềm tự
do có ý nghĩa rất quan trọng đối với cộng đồng, và việc bán chúng là một
cách quan trọng để gây quỹ phát triển phần mềm tự do. Vì thế một chương
trình mà mọi người không được tự do tích vào tập hợp này thì không phải là
phần mềm tự do.
8

Như vậy phần mềm tự do là những chương trình mang lại cho người dùng
bốn quyền tự do: tự do sử dụng, tự do nghiên cứu, tự do sửa chữa và tự do
phân phối.
• OSI định nghĩa ra phần mềm nguồn mở không chỉ có nghĩa là truy cập vào
mã nguồn. Các điều khoản phân phối của phần mềm nguồn mở có thể tham
khảo phụ lục.
Ý t
ưởng chủ đạo đằng sau phần mềm nguồn mở rất đơn giản: khi người lập
trình có thể đọc, lưu hành, và sửa đổi mã nguồn của một phần mềm, thì
phần mềm đó ngày càng phát triển. Người lập trình sẽ đọc, điều chỉnh và
sửa các lỗi. Và quá trình này có thể diễn ra với một tốc độ rất nhanh so với
quy trình của việc phát triển phần mề
m theo phương thức truyền thống.
OSI coi trọng giá trị kỹ thuật của việc tạo những phần mềm mạnh, có độ tin
cậy cao, và phù hợp với giới kinh doanh hơn là FSF. OSI ít quan tâm tới
những giá trị đạo đức của phần mềm nguồn mở, và chú ý nhiều hơn vào
những ích lợi thực tiễn của phương pháp xây dựng và quảng bá phần mềm.
Do vậy, khái niệm phần mềm nguồ
n mở không thể chuẩn xác mà chủ yếu muốn
nói đến tính pháp lý của việc sử dụng các phần mềm mã nguồn mở. Hầu hết hần
mềm tuân theo định nghĩa của OSI thì cũng được bao trùm bởi định nghĩa của FSF.
Sự khác nhau chính giữa 2 xu hướng phần mềm tự do và phần mềm nguồn mở là
giá trị của chúng, cách chúng nhìn vào thế giới. Đối với xu hướng phần mềm nguồn
mở, phần mềm không tự do là một giải pháp không tối ưu trong khi đối với xu
hướng phần mềm tự do, phần mềm không tự do là một vấn đế của xã hội, và giải
quyết nó là chuyển sang phần mềm tự do. Hầu hết các phần mềm nguồn mở cũng
coi là phần mềm tự do và ngược lại. Do đó, trong đề tài này, chúng tôi thống nhất
một tên gọi chung cho những phầ
n mềm trên là “phần mềm nguồn mở”.
Mỗi một phần mềm mã nguồn mở được công bố và gắn với một loại giấy phép

khác nhau. Do vậy khi sử dụng các sản phẩm nguồn mở chúng ta cần phải quan tâm
đến các giấy phép đi kèm sản phẩm đó. Dưới đây là một số giấy phép.

Đặc tính GPL LGPL
BSD
&
MIT
Apache
Public
Domain
9
a. Có thể lưu trữ trên đĩa mà không
cần có dạng bản quyền nào
x x x x x
b. Có thể chạy cùng với các dạng
bản quyền khác
x x x x x
c. Có thể chạy trên tất cả các dạng
bản quyền khác
x x x x x
d. Có thể chạy bên cạnh các dạng
bản quyền khác
x x x x x
e. Mã nguồn có thể tích hợp với các
dạng bản quyền khác
x x x x
f. Người sử dụng quyết định nếu và
khi nào xuất bản mã nguồn liên
quan
x x x x x

g. Phần mềm có thể bán để thu lợi
nhuận
x x x x x
h. Mã nhị phân có thể được nhân
bản nếu người sử dụng muốn
x x x x x
i. Mã nhị phân có thể phân phối lại
nếu muốn
x x x x x
j. Mã nhị phân có thể được sử dụng
nếu người sử dụng muốn
x x x x x
k. Người sử dụng mới luôn có mã
nguồn gốc
x x
l. Người sử dụng mới có toàn quyền
sửa đổi toàn bộ mã nguồn gốc
x x
10
m. Người sử dụng mới có toàn
quyền phân phối lại mã nguồn
x x
n. Mã nhị phân có thể được phát
hành mà không có mã nguồn
x x x
o. Mã nguồn có thể có nhiều dạng
bản quyền khác nhau
x
p. Mã nguồn có thể được tích hợp
vào trong các sản phẩm nguồn đóng

x
Phần sau mô tả kỹ hơn giấy phép lưu hành trong công đồng GNU.
2.3. Luật Copyleft và giấy phép lưu hành trong cộng đồng GNU
GNU là viết tắt của đệ quy GNU’s Not Unix (GNU không là Unix) là một dự án
của tổ chức FSF. Mục tiêu của GNU là đem lại quyền tự do cho người dùng, vì thế
nó sử dụng một điều khoản phân phối nhằm mục đích ngăn chặn phần mềm GNU bị
biến thành phần mềm
độc quyền, điều khoản phân phối đó được gọi là “Copyleft”.
Copyleft dùng luật bản quyền (Copyright) nhưng đảo lại để phục vụ cho mục
đích giữ cho phần mềm được tự do. Ý tưởng chính của luật Copyleft là chúng ta cho
mọi người quyền chạy, quyền sao chép, quyền sửa chữa chương trình và phân phối
những phiên bản đã sửa đổi nhưng không cho phép thêm các hạn chế vào chương
trình. Vì thế nhữ
ng quyền tự do chủ yếu của phần mềm tự do sẽ được đảm bảo cho
tất cả những ai có bản copy và những bản sửa đổi.
Sự thi hành cụ thể luật Copyleft mà chúng ta dùng cho hầu hết các phần mềm
GNU gọi là giấy phép lưu hành trong cộng đồng GNU (GNU General Public
Lisence) hay viết gọn là GNU GPL.
Giấy phép Công cộng của GNU có mục đích đảm bảo cho bạn có thể tự do chia
sẻ và thay đổ
i phần mềm (tự do) - tức là đảm bảo rằng phần mềm đó là tự do đối với
mọi người sử dụng. Giấy phép Công cộng này áp dụng cho hầu hết các phần mềm
của Tổ chức Phần Mềm Tự Do và cho tất cả các chương trình khác mà tác giả của
chúng cho phép áp dụng. (Đối với một số phần mềm khác của Tổ chức Phần Mềm
Tự do, có th
ể nên áp dụng Giấy phép Công cộng Hạn chế của GNU thay cho GNU-
GPL). GPL có hai đặc điểm phân biệt, đó là:
11
• Tác giả gốc giữ bản quyền về phần mềm nhưng cho phép người dùng rất
nhiều quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng như

quyền khai thác thương mại sản phẩm. Tác giả sử dụng luật bản quyền để
bảo đảm các quyền đó không bao giờ bị vi phạm đối với tất cả mọi người,
trên mọi phần m
ềm có sử dụng mã nguồn của mình.
• Có một hiệu ứng xảy ra trong giới của các phần mềm tuân theo giấy phép
GPL thường được gọi là hiệu ứng virus (viral effect). Nó biến tất cả các phần
mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế
điều này có ý nghĩa: bất kỳ tác giả nào sử dụng dù chỉ một phần rất nhỏ mã
nguồn GPL trong chương trình của mình cũ
ng phải công bố chương trình đó
dưới điều kiện GPL. Điều kiện này quy định ví dụ:
o Mọi phần mềm GPL đều phải công bố mã nguồn của mình rộng rãi
công khai và phải tạo điều kiện cho mọi người truy cập được mã
nguồn ấy (thông qua web hoặc qua việc bán CD giá rẻ)
o Giữ nguyên mọi dòng chú thích về nguồn gốc tác giả, bản quyền của
h
ọ cũng như điều kiện được áp dụng đối với phần mềm (trong một file
có tên LICENSE)
o Cấm việc bán mã nguồn nhưng cho phép kinh doanh chương trình
được tạo ra từ mã nguồn ấy hoặc là các dịch vụ hỗ trợ liên quan.
2.4. Cách xây dựng phần mềm nguồn mở
Trong những năm gần đây, sự bùng nổ thông tin do Internet mang lại đã tạo điều
kiện cho sự phát triển c
ủa cộng đồng phần mềm nguồn mở. Các lập trình viên trên
khắp thế giới có thể dễ dàng trao đổi, đánh giá, nhận xét và cùng góp sức xây dựng
các chương trình phần mềm nguồn mở mà không bị những giới hạn bởi khoảng
cách địa lý và các vấn đề liên quan khác. Mô hình xây dựng phần mềm nguồn mở
là một mô hình độc đáo và nó được hiện thực hoá. Mô hình này khác với các
phương thức làm phần mềm truy
ền thống ở những điểm cơ bản sau:

• Theo quy trình làm phần mềm truyền thống thì các nhóm lập trình làm việc
riêng rẽ, theo sự quản lý và kế hoạch chi tiết, cho đến khi sản phẩm được
hoàn thành và công bố sản phẩm với thế giới. Sau khi đã phát hành, phần
mềm được coi là hoàn chỉnh và có ít thay đổi chỉnh sửa.
• Việc xây dựng và phát triển phần mềm nguồn mở được m
ở rộng một cách tự
phát. Quá trình xây dựng phần mềm nguồn mở khởi đầu một cách rất phi cấu
trúc. Những người lập trình đầu tiên chỉ đưa ra với cộng đồng một số mã
12
chức năng tối thiểu của chương trình dự định xây dựng, rồi sau đó chỉnh sửa
dần trên cơ sở các ý kiến phản hồi. Trong quá trình phát triển có thể có thêm
những nhà lập trình khác tới, thay đổi hoặc xây thêm trên cơ sở những mã
nguồn có sẵn. Cứ thế theo thời gian, cả một hệ điều hành hay bộ ứng dụng sẽ
hình thành và không ngừng phát triển.
Phương thức tiế
n hành xây dựng phần mềm nguồn mở đã chứng tỏ tính ưu việt
của mình trên một số khía cạnh sau:
• Giảm sự trùng lặp nguồn lực: Bằng cách công bố sớm phần mềm và trao
cho người sử dụng quyền chỉnh sửa cũng như lưu hành mã nguồn, các nhà
lập trình phần mềm nguồn mở sẽ được sử dụng kết quả làm việc củ
a toàn
cộng đồng. Tính kinh tế của quy mô trở nên rất lớn.
o Ví dụ như theo cách xây dựng phần mềm truyền thống thì năm nhà
lập trình ở mỗi trong số 10 công ty cùng viết một ứng dụng nhưng
không chia sẻ thông tin với nhau, khi đó sẽ cần tới 50 người, trong khi
đó khi xây dựng cùng chương trình đó theo quy trình xây dựng phần
mềm nguồn mở, triển vọng là sẽ kết hợp được công sứ
c của cả 50
người. Việc giảm sự trùng lặp trong phân bổ nguồn lực cho phép quá
trình xây dựng một phần mềm đạt tới quy mô rất lớn, liên kết một số

lượng lớn các nhà lập trình trên toàn thế giới.
• Tiếp thu kế thừa: Với việc có sẵn mã nguồn để tiếp tục phát triển các ứng
dụng thì thời gian để hoàn thành một chương trình sẽ giảm đi
đáng kể. Nhiều
dự án phần mềm nguồn mở dựa trên các phần mềm là kết quả của những dự
án khác để cung cấp những chức năng cần thiết.
o Ví dụ, thay vì viết chương trình bảo mật riêng cho mình, dự án máy
chủ Apache đã sử dụng lại chương trình của dự án OpenSSL, do đó
mà tiết kiệm được hàng ngàn giờ viết mã hoá và thử nghiệm. Trong
trường hợ
p mã nguồn của các chương trình nguồn mở khác không thể
tích hợp trực tiếp vào chương trình , thì việc có sẵn các mã nguồn tự
do cung cho phép nhà lập trình nghiên cứu cách thức những dự án
khác giải quyết một vấn đề phát sinh tương tự.
• Quản lý chất luợng tốt hơn: Do có một lực luợng đông đảo những nhà lập
trình giỏi tham gia sử dụng và kiểm tra mã nguồn của các chương trình
nguồ
n mở, các lỗi chương trình sẽ sớm được phát hiện và sửa nhanh hơn.
Các ứng dụng có mã nguồn đóng cũng nhận được các thông báo lỗi từ phía
người dùng, nhưng do người sử dụng không có quyền tiếp cận mã nguồn, họ
13
chỉ có thể báo các triệu chứng lỗi chứ không thể chỉ ra nguồn gốc. Các nhà
lập trình phần mềm nguồn mở đã kết luận rằng khi người sử dụng có quyền
tiếp cận mã nguồn thì họ không những thông báo các trục trặc mà còn chỉ ra
đích xác nguyên do, và trong một số trường hợp, cung cấp luôn giải pháp.
Ðiều này giúp giảm đáng kể thời gian lập trình và kiểm tra chất luợng.
• Gi
ảm chi phí duy trì: Việc duy trì mọi phần mềm đều đòi hỏi một chi phí
bằng hoặc lớn hơn chi phí lập trình ban đầu. Khi một tổ chức tự bỏ tiền ra
duy trì phần mềm, việc này có thể trở nên gánh nặng chi phí cực lớn. Tuy

nhiên, với mô hình phát triển phần mềm nguồn mở, phí duy trì sẽ được san
đều ra cho hàng ngàn người sử dụng tiềm năng, làm giảm chi phí của từng tổ
chức riêng l
ẻ. Tương tự, việc nâng cấp sẽ được thực hiện bởi một tổ chức/cá
nhân có chuyên môn sâu nhất về vấn đề này, dẫn tới việc sử dụng hiệu quả
hơn nguồn lực.
2.5. Phần mềm nguồn mở có thực sự miễn phí?
Một trong những quan niệm phổ biến hay gặp về phần mềm nguồn mở/tự do là
các phần mềm này luôn luôn mi
ễn phí. Xét trên một số khía cạnh nào đó thì điều
này là chính xác. Các ứng dụng nguồn mở FOSS thường không lấy phí đăng ký của
người sử dụng. Hầu hết các sản phầm nguồn mở FOSS (Linux, Apache, MySQL,
BIND, OpenOffice…) đều có thể tải trực tiếp từ Internet về mà không mất phí đăng
ký, hoặc người sử dụng chỉ phải trả một khoản chi phí nhỏ cho việc mua các đĩa CD
có chứa các phần mềm này. Nh
ư vậy, trên phương diện phí đăng ký, các ứng dụng
FOSS hầu như luôn rẻ hơn rất nhiều so với các phần mềm có bản quyền.
Một đặc điểm nữa khi sử dụng các phần mềm nguồn mở (ví dụ GNU/Linux,
Open Office) là chi phí sử dụng hầu như tăng lên không đáng kể khi số người sử
dụng tăng. Ngược lại, đối với các phần mềm nguồ
n đóng (ví dụ như Windows,
Office của Microsoft) thì chi phí sử dụng sẽ tăng lên theo số người sử dụng.
Tuy nhiên, phí đăng ký không phải là chí phí duy nhất phát sinh với phần mềm
hay cơ sở hạ tầng máy tính. Còn phải cân nhắc tới các chi phí nhân sự, yêu cầu về
phần cứng, chi phí cơ hội, và phí đào tạo. Thường được biết đến duới khái niệm
Tổng chi phí sở hữu (TCO), những chi phí này mới thật sự là thướ
c đo cho tính kinh
tế của việc sử dụng phần mềm nguồn mở.
2.6. Các điểm mạnh của phần mềm nguồn mở
Phần mềm nguồn mở có rất nhiều ưu điểm. Ngoài yếu tố chi phí về bản quyền thấp,

còn nhiều lý do khác khiến các tổ chức nhà nước và tư nhân ngày càng ứng dụng
14
phần mềm nguồn mở một cách sâu rộng. Các điểm mạnh của phần mềm nguồn mở
bao gồm:
2.6.1. Tổng chi phí sở hữu thấp
Tổng chi phí sở hữu (Total cost of ownership - TCO) là một thước đo quan trọng
trong việc quyết định lựa chọn ản phẩm nào để sử dụng. Chi phí sử dụng phần mềm
không chỉ bao gồm chi phí về việc mua bản quyền sử dụng mà nó còn bao gồm các
chi phí triển khai, hỗ trợ, bảo trì, đào tạo và huấn luyện người dùng.
Theo nhiều nghiên cứu của các tổ chức độc lập khác nhau thì tổng chi phí để s

hữu phần mềm nguồn mở thấp hơn so với tổng chi phí sở hữu phần mềm nguồn
đóng thương mại cùng chức năng. Các phần mềm nguồn mở có nhiều lợi thế về giá
thành trong nhiều hạng mục khác nhau, kết quả là trong nhiều trường hợp chúng sẽ
có tổng chi phí sở hữu thấp nhất:
• Chi phí đầu tư ban đầu thấp. Chi phí ban đầu t
ư ban đầu cho các phần
mềm nguồn mở thấp. Phần mềm nguồn mở không phải là miễn phí, bạn vẫn
phải trả tiền cho các tài liệu, dịch vụ hỗ trợ, đào tạo và quản trị hệ thống.
Trong nhiều trường hợp các phần mềm nguồn mở có thể nhận được bằng
cách download chúng miễn phí. Tuy nhiên, phần lớn những người dùng
thường trả một kho
ản chi phí nhỏ để có được các bản đóng gói các chương
trình, các tài liệu hỗ trợ v.v. phân phối qua các đĩa CD-ROM. Và chi phí để
có được những thứ này thường rất nhỏ so với chi phí khi mua các phần mềm
nguồn đóng thương mại.
• Chi phí nâng cấp, bảo trì thấp hơn: Chi phí nâng cấp, bảo trì các hệ thống
phần mềm nguồn mở thường thấp hơn rất nhiều so với các sản phẩm thươ
ng
mại. Ví dụ như việc nâng cấp một hệ thống Microsoft có chi phí bằng xấp xỉ

một nửa chi phí đầu tư ban đầu. Ngược lại các hệ thống GNU/Linux có thể
download miến phí hoặc trả chi phí nhỏ (thường ít hơn 100$) và được sử
dụng để nâng cấp trên tất cả các hệ thống. Chi phí này không bao gồm việc
hỗ trợ kỹ thuật nhưng việc hỗ trợ kỹ thuậ
t có thể tùy chọn. Nếu không muốn
sự hỗ trợ từ các nhà hỗ trợ GNU/Linux, bạn có thể chọn một nhà hỗ trợ khác.
• Phần mềm nguồn mở không quản lý việc thu phí sử dụng, không đưa ra
những điều khoản hạn chế về việc cấp phép sử dụng và tránh hầu hết
các rủi ro về tranh chấp bản quyền. Các nhà cung cấp các sản phẩm
th
ương mại thường thu được tiền từ việc bán các giấy phép và làm tăng sự
phức tạp đối với các khách hàng trong việc quản lý các giấy phép đó. Các
khách hàng không được chậm trễ trong việc chứng minh rằng họ đã trả tiền
15
cho việc cài đặt các phần mềm thương mại, nếu không họ có thể bị phạt vì vi
phạm bản quyền. Ngược lại, không có sự quản lý việc cấp phép sử dụng, các
rủi ro tranh chấp khi sử dụng các phần mềm nguồn mở. Một số phần mềm
nguồn mở có yêu cầu về mặt pháp lý là nếu bạn thay đổi chương trình hoặc
nhúng chương trình vào một chương trình khác thì phải gi
ữ nguyên vẹn mọi
thông báo liên quan đến giấy phép phát hành của phần mềm gốc ban đầu.
• Khi tăng số lượng hệ thống và hiệu năng phần cứng, khác với chi phí
ban đầu chi phí cập nhật tăng không đáng kể. Khi số lượng các server
tăng, giải pháp sử dụng các sản phẩm thương mại sẽ làm tăng chi phí một
cách đáng kể. Nhiều hệ thống thương mại (trong đó có Microsoft) bán các
giấy phép theo mỗi máy khách (per-client). Điều đó có nghĩa là nếu phần
cứng của bạn hỗ trợ nhiều máy khách, bạn sẽ phải trả nhiều tiền hơn để thực
sự sử dụng phần cứng mà bạn đã mua. Hơn nữa, nếu bạn muốn sử dụng
nhiều máy tính hơn, bạn phải trả nhiều tiền hơn cho các giấy phép sử dụng
các h

ệ thống thương mại. Ngược lại, với hầu hết các bản phân phối của
GNU/Linux, bạn có thể cài đặt tùy thích các bản copy mà không phải trả
thêm tiền và không bị giới hạn hiệu năng được xây dựng bên trong phần
mềm. Điều này có thể cần thêm chi phí hỗ trợ nhưng bạn có thể tùy chọn các
nhà hỗ trợ.
2.6.2. Độ an toàn
Với sự bùng nổ của giới hacker trên Internet như hiện nay thì không có một hệ
điều hành nào được coi là an toàn một cách hoàn hảo. Định lượng để đánh giá độ
an toàn của một hệ thống là rất khó. Độ an toàn của một hệ thống phụ thuộc vào
nhiều yếu tố khác nhau như phương pháp triển khai, thiết kế chương trình và thị
trường mục tiêu. Những yếu tố này có thể tác động rấ
t nhiều đến tính an toàn của
một hệ thống và do đó làm nó dễ hoặc khó bị tấn công. Có nhiều nghiên cứu đã chỉ
ra rằng hệ điều hành dựa trên phần mềm nguồn mở ưu việt hơn các hệ điều hành
đóng xét về phương diện này. Theo nghiên cứu của Tổ chức đánh giá an ninh Công
nghệ thông tin phi lợi nhuận Honeynet Project cho thấy trung bình ba tháng các hệ
thống Linux mới rơi vào tình trạng b
ị tấn công, trong khi đó một hệ thống chạy
Windows chưa nâng cấp có thể bị đánh sập sau vài tiếng. Cũng theo một nghiên cứu
thực hiện vào tháng 5 năm 2004 được thực hiện bởi Sandvine, có tới 80% lượng
spam xuất phát từ những máy tính chạy Windows bị nhiễm trojan.
Có nhiều nguyên nhân giúp cho các phần mềm nguồn mở có độ an toàn cao, trong đó
có ba lý do sau thường được đưa ra để giải thích vì sao phần mềm nguồn mở
ưu
việt hơn về độ an toàn:
16
• Mã nguồn được phổ biến rộng rãi và công khai: Việc mã nguồn được phổ
biến rộng rãi giúp cho người lập trình và người sử dụng dễ phát hiện và khắc
phục các lỗ hổng an toàn truớc khi chúng bị lợi dụng. Ða phần những lỗi hệ
thống của phần mềm nguồn mở là những lỗi được phát hiện trong quá trình

rà soát định kỳ và được sửa truớc khi gây ra những thiệ
t hại lớn. Các hệ
thống phần mềm thương mại thường có quy trình rà soát lỗi một cách thụ
động. Các lỗi thường được phát hiện bởi người dùng và các hacker, sau đó
các thông báo lỗi sẽ được gửi đến nhà cung cấp để tiến hành sửa lỗi. Thời
gian từ khi phát hiện lỗi cho tới khi phát hành bản vá có thể kéo dài và lỗ
hổng an ninh đó có thể đã bị lợi dụng gây ra những thiệt hại l
ớn. Ngược
lại, các hệ thống phần mềm nguồn mở thường có quy trình rà soát các lỗi
một cách chủ động chứ không phải rà soát đối phó. Trước khi phát hành
phiên bản chính thức, mã nguồn của sản phẩm được công bố rộng rãi để cho
mọi người có thể xem xet đánh giá và phát hiện các lỗi. Các lỗi được phát
hiện sẽ được phản hồi lại và được sửa chữa trước khi phát hành bản chính
thứ
c. Trong quá trình sử dụng, nếu xuất hiện các lỗ hổng an ninh thì các lỗi
đó cũng được cộng đồng nguồn mở phát hiện và tiến hành sửa lỗi rất nhanh.
• Tính an toàn của phần mềm nguồn mở được đặt trên tiêu chí tiện
dụng: Có thể nói phần mềm nguồn mở được dùng để điều hành một phần
lớn mạng Internet và do đó khi thiết kế xây dựng các phần m
ềm nguồn mở
thường nhấn mạnh nhiều đến tính bền vững và chức năng vận hành thay vì
tính dễ sử dụng. Truớc khi thêm bất cứ tính năng nào vào một ứng dụng phần
mềm nguồn mở, bao giờ người ta cũng cân nhắc đến khía cạnh an toàn và
tính năng đó sẽ chỉ được đưa vào nếu không làm yếu đi tính an toàn của hệ
thống. Ví dụ như các server Linux chạy các d
ịch vụ mạng chỉ cần cài đặt
trong chế độ “text mode” với giao diện dòng lệnh mà không cần đến giao
diện đồ họa như trong các hệ thống thương mại. Độ tiện dụng khi quản trị
các hệ thống như vậy sẽ kém đi nhưng bù lại, hệ thống sẽ tiết kiện được tài
nguyên phần cứng và loại bỏ những lỗi có thể xảy ra khi sử

dụng giao diện
đồ họa.
2.6.3. Tính ổn định và tin cậy
Hệ thống các sản phẩm phần mềm nguồn mở được thiết kế theo quy trình khác
với việc xây dựng các phần mềm nguồn đóng thương mại và có tính ổn đinh và độ
tin cậy cao. Có khá nhiều giai thoại về độ tin cậy của phần mềm nguồn mở hoạt
động năm này qua năm khác mà không cần duy trì bảo duỡng. Tuy nhiên, để khẳng
định tính ổn định và độ tin cậy của các h
ệ thống phần mềm nguồn mở cần phải có
17
những nghiên cứu định lượng. Sau đây là một số nghiên cứu cho đến nay đã thực
hiện được
Theo nghiên cứu của IBM
1
, các hệ thống của GNU/Linux có tính ổn định và
độ tin cậy cao: IBM chạy một chuỗi các ứng dụng cực nặng để kiểm tra trong vòng
từ 30 đến 60 ngày và thấy rằng nhân Linux và các thành phần lõi khác của hệ điều
hành – bao gồm các thư viện, các trình điều khiển thiết bị, các hệ thống file, mạng,
IPC và trình quản lý bộ nhớ đã hoạt động ổn định và hoàn thành tất cả các tác vụ
trong thờ
i gian chạy mà không có lỗi hệ thống nào xảy ra. Hiệu năng của hệ thống
Linux không giảm trong khi chạy chúng trong khoảng thời gian dài. Nhân linux sử
dụng các tài nguyên phần cứng một cách hợp lý (CPU, bộ nhớ, đĩa) trên hệ thống
SMP, hệ thống Linux sử dụng toàn bộ hiệu năng của CPU (hơn 99%) và hiệu suất
sử dụng bộ nhớ rất tốt. Ngoài ra hệ thống Linux còn xử lý các trường hợp quá tải
một cách hợp lý.
Một nghiên cứu
2
được thực hiện bởi Coverity đã chỉ ra rằng Linux kernel
có ít lỗi hơn so với trung bình các hệ thống công nghiệp khác. Converity thực

hiện một nghiên cứu kéo dài 4 năm về phân tích mã đã chỉ ra rằng Linux kernel có
ít lỗi phần mềm hơn so với mức trung bình của các hệ thống công nghiệp khác.
Theo cách tiếp cận của Coverity, có 985 lỗi được tìm thấy trong 5,7 triệu dòng mã
lệnh trong Linux kernel. Cũng theo cách phân tích đó, dữ liệu từ đại họ
c Carnegie
Mellon cho biết một chương trình thông thường có kích thước tương tự thường có
hơn 5000 lỗi được tìm thấy. Coverity CEO Seth Hallem tổng kết lại rằng “Linux là
hệ thống rất tốt về tỷ lệ lỗi.”
Có đến 80% trong top 10 nhà cung cấp dịch vụ tin cậy nhất chạy OSS/FS,
theo nghiên cứu của Netcraft’s thực hiện vào tháng 5/2004. Báo cáo của
Netcraft
3
trong tháng 5 2004 về top 10 nhà cung cấp dịch vụ tin cậy nhất thì có 4
nhà cung cấp đang chạy GNU/Linux, 4 đang chạy FreeBSD, và chỉ có 2 là đang sử
dụng Microsoft Windows.
2.6.4. Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp
Việc Microsoft liên tục đối mặt với các vụ kiện chống độc quyền vì vi phạm bản
quyền và không chịu công khai các chuẩn cho các nhà sản xuất khác tiếp cận và viết
các ứng dụng chạy trên nền tảng của Microsoft càng làm cho các chuẩn mở ngày
càng được sử dụng rộng rãi.


1

2

3

18
• Các chuẩn mở trao cho người sử dụng, không phân biệt đó là cá nhân, công

ty hay chính phủ, sự linh hoạt và quyền tự do chuyển đổi giữa các phần
mềm, hệ điều hành và nhà cung cấp.
• Còn chuẩn đóng thì khiến người sử dụng chỉ có thể lựa chọn các phần mềm
của một công ty duy nhất và làm cho họ ngày càng lệ thuộc vào công ty này,
khi mà toàn bộ dữ liệu đã được lưu theo đị
nh dạng riêng của nhà cung cấp
và chi phí để chuyển chúng sang chuẩn mở sẽ rất tốn kém.
Cùng với sự phát triển nhanh chóng của các phần mềm nguồn mở trên thế giới,
các chính phủ, các tổ chức và các công ty thường phát triển các hệ thống thông tin
dựa trên các chuẩn mở, chứ không phải là các chuẩn đóng của từng công ty, từng
tập đoàn, từng nhà cung cấp riêng biệt. Một trong những tổ chức là Free Standards
Group
4
chuyên nghiên cứu về các chuẩn mở và cung cấp các chứng chỉ cho các hệ
thống dựa trên Linux phù hợp với các chuẩn mở.
Một ưu điểm nữa của các phần mềm nguồn mở là chúng hầu như luôn sử dụng
các chuẩn mở. Có hai lý do chính cho việc này:
• Sẵn có mã nguồn: Với mã nguồn được phổ biến công khai, người sử dụng
có thể tái thiết kế và tích hợp lại b
ộ chuẩn của một ứng dụng. Mọi khả năng
tuỳ biến đều thể hiện rõ trong mã nguồn, khiến cho không ai có thể giấu một
chuẩn riêng trong một hệ thống phần mềm nguồn mở. Còn với các phần
mềm đóng thì việc tái thiết kế sẽ khó hơn nhiều và trong một số trường hợp
các mã còn được viết để cố tình đánh lạc hướng ngườ
i dùng.
• Chủ động tương thích chuẩn: Khi đã có những chuẩn được thừa nhận rộng
rãi, ví dụ như HyperText Markup Language (HTML), thì các dự án phần
mềm nguồn mở luôn chủ động bám sát những chuẩn này. Tính tương thích
cao với các chuẩn hiện hành có được là do tập quán phát triển phần mềm
nguồn mở đề cao việc chia sẻ và phối hợp giữa nhiều ứng dụng khác nhau.

Ðồng thời, công cuộc hợ
p tác giữa một nhóm các nhà lập trình phân tán ở
quy mô toàn cầu cung sẽ dễ dàng hơn nếu có một bộ chuẩn thống nhất để
mọi người cùng theo.
Việc sử dụng các hệ thống phần mềm nguồn mở để không bị lệ thuộc vào nhà
cung cấp ngày càng được nhiều chính phủ, tổ chức và các công ty quan tâm. Hiện
nay nhiều tập đoàn lớn và các chính phủ đã tuyên bố ủng hộ cac chuẩn mở
nhằm
chống lại vị trí độc quyền của các phần mềm đóng. IBM tuyên bỗ hỗ trợ các định


4

19
dạng mở của OpenOffice nhằm đem lại lợi ích cho người tiêu dùng, giúp đỡ chính
phủ các nước đang phát triển và thúc đẩy sự phát triển của các phần mềm nguồn mở,
đồng thời cũng gây sức ép đối với Microsoft. Ấn Độ cũng đang theo đuổi một chiến
lược "Chuẩn mở và nguồn mở hóa" công nghệ, coi đây như động lực để nhanh
chóng triển khai chính phủ đ
iện tử tại nước này. Một báo cáo trình lên Chính phủ
Anh đã kết luận rằng “nếu có một phần mềm nguồn mở triển khai tham chiếu một
bộ chuẩn dữ liệu, thì thường là chuẩn đó sẽ đi vào cuộc sống nhanh hơn” và
khuyến nghị Chính phủ xem xét đỡ đầu một vài chương trình triển khai tham chiếu
phần mềm nguồn mở điển hình. Trước những sức ép từ các chính phủ và các đối th
ủ,
Microsoft đã phải nhượng bộ tuyên bố sẽ cung cấp các định dạng tài liệu Word,
Excel và PowerPoint dưới dạng chuẩn mở.
2.6.5. Thúc đẩy sự phát triển của ngành công nghiệp phần mềm địa phương
Việc nghiên cứu hệ thống phần mềm nguồn mở ngoài mục đích tiết kiệm chi phí
còn có tác dụng thúc đẩy sự phát triển của ngành công nghệ thông tin nói chung và

công nghiệp phần mềm của Việt Nam nói riêng. Qua đó sẽ hình thành đội ngũ cán
bộ kỹ thuật có năng lực, làm chủ công nghệ và phát huy tính sáng tạo trong ứng
dụng và phát triển phần mềm nguồn mở.
Theo báo cáo của Viện kinh tế tin học quốc tế
, mối quan hệ giữa mức tăng về
đội ngữ lập trình phần mềm nguồn mở và năng lực đổi mới của một nền kinh tế là
tỉ lệ thuận với nhau. Có ba lý do chính nhằm giải thích hiện tuợng này:
• Rào cản gia nhập thị trường thấp: Phần mềm nguồn mở thường được
khuyến khích sửa đổi và lưu hành tự do, rất dễ tìm, và d
ễ học hỏi. Phần
mềm nguồn mở cho phép các nhà lập trình phát huy kiến thức và những
nhân tố hiện có để tiếp tục sáng tạo và phát triển các phần mềm mới, giống
như phương pháp tiến hành nghiên cứu cơ bản.
• Phần mềm nguồn mở là một hệ thống đào tạo rất hiệu quả: Bản chất
mở của phần mềm nguồn m
ở là cho phép người học có thể tìm hiểu và thí
nghiệm với các phần mềm mà hầu như không gây tốn kém trực tiếp cho xã
hội. Tương tự, một sinh viên có thể khai thác những kiến thức vô tận từ
mạng lưới phối hợp phát triển phần mềm kiểu này trên toàn cầu, bao gồm cả
những kho lưu trữ đồ sộ các kiến thức kỹ thuật và phương tiện trao đổi tương
tác.
• Phần mềm nguồn mở là nguồn hình thành nên các chuẩn: Những phần
mềm này thường trở nên những chuẩn tự thân (de facto standard), do được
sử dụng rộng rãi trong một khu vực hay ngành kinh tế nhất định. Khi tham
20
gia vào quá trình xây dựng chuẩn cho một ứng dụng FOSS, địa phương liên
quan sẽ đảm bảo được rằng chuẩn đó phù hợp với các đặc điểm văn hoá và
như cầu thực tế của địa phương.
Phương pháp tiếp cận xây dựng phần mềm nguồn mở không chỉ thúc đẩy
sáng tạo và đổi mới, mà còn tạo điều kiện cho việc phổ biến những k

ết quả sáng
tạo đó. Một kỹ sư công nghệ thông tin có thể chủ động cải tiến ứng dụng phần mềm
cho phù hợp với mục tiêu của người sử dụng mà không phải bị động như đối với
các phần mềm thương mại tương đương. Những kết quả sáng tạo sẽ được cộng
đồng đóng góp xây dựng và ngày càng hoàn thiện, qua đó góp phần làm cho các
ứng dụng mã nguồn mở ngày càng được phổ biến và lớn mạnh.
2.6.6. Tuân thủ các quy định về bản quyền và sở hữu trí tuệ
Việc vi phạm bản quyền sử dụng phần mềm diễn ra tại hầu hết các quốc gia trên
thế giới với mức độ vi phạm khác nhau. Tại các quốc gia đang phát triển, nơi mà
mức thu nhập thấp khiến cho phần mềm trở thành một thứ hàng xa xỉ, thì tỷ lệ sao
chép có thể đạt trên 90%. Tại Việt Nam, theo thống kê của Hiệp hội Phần mềm Thế
giới (BSA), t
ỷ lệ vi phạm bản quyền phần mềm là 92%. Đây là là tỷ lệ vi phạm rất
lớn, tuy nhiên so sánh tổng giá trị thiệt hại và tỷ lệ thiệt hại giữa Việt Nam và nhiều
nước đang phát triển, thậm chí phát triển mạnh như Mỹ, Nhật, Trung Quốc, thì mức
độ thiệt hại của Việt Nam vẫn còn ở hàng thấp. Theo số liệu của BSA: 92% và 41
triệu USD là tỷ lệ vi ph
ạm và tổng giá trị thiệt hại trong việc vi phạm bản quyền
phần mềm ở Việt Nam, còn ở Mỹ: tỷ lệ vi phạm chỉ là 22%, nhưng giá trị thiệt hại
lên tới 6.496 triệu USD, Nhật thiệt hại 1.633 triệu USD, tỷ lệ vi phạm 29%, Trung
Quốc thiệt hại 3.823 triệu USD, chiếm tỷ lệ vi phạm lớn nhất thế giới là 92%.
Việt Nam đã chính thức gia nhập WTO, nạ
n sao chép và sử dụng các phần mềm
không có bản quyền sẽ gây thiệt hại cho quốc gia trên nhiều phương diện. Hiện nay
hầu hết các doanh nghiệp đều sử dụng các phần mềm không có bản quyền và trong
đó có không ít các doanh nghiệp phần mềm tham gia hoạt động liên quan tới phát
triển sản phẩm và gia công phần mềm. Nếu như giải quyết tất cả các vấn đề về bản
quyền phần m
ềm, mua tất cả các sản phẩm đó thì chi phí bỏ ra là một khoản rất lớn.
Thậm chí chi phí đó có thể vượt quá cả doanh số xuất khẩu phần mềm của các

doanh nghiệp. Một trong những lối thoát cho các doanh nghiệp là chuyển đổi qua
các nền tảng nguồn mở cũng như trong quá trình lựa chọn các công nghệ, nền tảng
phát triển phải chọn những sản phẩm phần mềm không vi phạ
m quyền sở hữu trí tuệ.
Quốc gia nào yếu trong việc thực thi bảo vệ quyền sở hữu trí tuệ sẽ kém hấp
dẫn với các nhà đầu tư nước ngoài. Các đối tác nước ngoài khi ký kết các hợp đồng
với các doanh nghiệp đều yêu cầu các doanh nghiệp phải tuân thủ đầy đủ quyền sở
21
hữu trí tuệ. Việc gia nhập WTO và khả năng tiếp cận những lợi ích mà tổ chức này
mang lại bị ảnh huởng khá nhiều bởi mức độ bảo vệ quyền sở hữu trí tuệ mà một
quốc gia đạt được. Ngoài ra, nạn sao chép phần mềm còn gây hại cho sự phát triển
của nền công nghiệp phần mềm nội địa, do các nhà lập trình địa phương giờ đây
không còn
động cơ để xây dựng những phần mềm bản địa.
2.6.7. Vấn đề bản địa hoá
“Bản địa hoá là thích ứng một sản phẩm, làm cho nó phù hợp về mặt ngôn ngữ
và văn hoá với thị trường mục tiêu (quốc gia hoặc địa phương), nơi sản phẩm được
tiêu thụ và sử dụng”.
Bản địa hoá là một trong những lĩnh vực nơi phần mềm nguồn mở tỏ rõ ưu
thế của mình. Người sử dụng phần mềm nguồn mở có th
ể tự do sửa đổi để phần
mềm trở nên thích ứng với những nhu cầu riêng biệt của một khu vực văn hoá đặc
thù, bất kể quy mô kinh tế của khu vực đó. Chỉ cần một nhóm những người có đủ
trình độ kỹ thuật là đã có thể tạo ra một phiên bản nội địa ở mức độ thấp cho bất
kỳ phần mềm nguồ
n mở nào. Việc xây dựng một hệ điều hành được bản địa hoá
hoàn chỉnh, mặc dù không đơn giản, nhưng ít ra cũng là khả thi. Đã có rất nhiều
quốc gia trên thế giới đã bản địa hoá thành công các hệ điều hành nguồn mở để sử
dụng, đặc biệt là các nước ở khu vực Châu Á Thái Bình Dương như Nhật Bản,
Trung Quốc… Tại Việt Nam, có nhiều dự án khác nhau

để Việt hóa một số sản
phẩm nguồn mở nhằm đem lại sự thuận lợi cho người dùng mà không phụ thuộc
vào các nhà sản xuất phần mềm thương mại như dự án Việt hóa Hệ điều hành Linux,
bộ phần mềm Open Office…
Với các chính phủ thì bốn điểm cuối cùng đặc biệt quan trọng vì chúng phù
hợp với những tiêu chí hoạt động riêng của khu vực nhà n
ước. Các công ty và
người sử dụng cuối cùng thường không quan tâm nhiều đến những vấn đề này.
2.7. Hạn chế của phần mềm nguồn mở
Phần mềm nguồn mở ngày càng được sử dụng rộng rãi trên thế giới, nhưng so
với các phần mềm thương mại thì thị phần của các phần mềm nguồn mở vẫn còn
khiêm tốn. Bỏi vì ngoài những ưu điểm nêu trên, ph
ần mềm nguồn mở không phải
là giải pháp phù hợp cho mọi tình huống. Vẫn còn những khía cạnh mà phần
mềm nguồn mở cần phải tiếp tục cải tiến.
2.7.1. Thiếu các hỗ trợ kỹ thuật tin cậy
Đối với các sản phẩm thương mại, khi người dùng gặp sự cố họ có thể yêu cầu sự
trợ giúp kỹ thuật từ nhà cung cấp. Nhưng đối với những người sử dụng các sản
22
phẩm nguồn mở, nếu gặp sự cố, tuy họ có thể sẽ nhận được sự giúp đỡ của cộng
đồng nguồn mở quốc tế, nhưng về mặt pháp lý, không ai bị bắt buộc phải có nghĩa
vụ cung cấp các dịch vụ hỗ trợ cho phần mềm nguồn mở như trong trường hợp sử
dụng các phần mềm thương mại. Nếu mu
ốn có sự hỗ trợ lâu dài của các tổ chức,
người dùng cần phải trả chi phí cho các dịch vụ hỗ trợ và bảo trì đó.
2.7.2. Thiếu các ứng dụng kinh doanh đặc thù
Mặc dù có rất nhiều dự án phần mềm nguồn mở đang được tiến hành, vẫn còn
nhiều lĩnh vực hoạt động chưa có được một sản phẩm phần mềm hoàn thiện, đặc
biệt là trong kinh doanh. Gần đây, sự ra đời của một số phần mềm quản lý nguồn
lực của doanh nghiệp (Enterprise Resource Planning) như SAP hay Peoplesoft đã

giúp đáp ứng phần nào nhu cầu của th
ị trường cao cấp, nhưng thị trường đành cho
các doanh nghiệp vừa và nhỏ thì hầu như vẫn bị bỏ trống. Những phần mềm cơ bản,
tiện lợi cho người dùng cho đến nay vẫn chưa có nhiều các phiên bản phần mềm
nguồn mở tương đương.
Việc thiếu các phần mềm đặc thù phục vụ cho các doanh nghiệp có nguyên nhân là
do thiếu những người vừa giỏi v
ề kỹ thuật vừa gỏi về chuyên môn nghiệp vụ kinh
doanh. Ða số các phần mềm nguồn mở hiện hành được tạo ra bởi những người có
chuyên môn về mặt kỹ thuật, đưa ra các giải pháp khi gặp bức xúc khi gặp
phải vấn đề nào đó trong quá trình phát triển phần mềm. Những giải pháp như thế
thường mang nặng tính kỹ thuật, mà không phải là những giải pháp phục vụ
cho nghiệp vụ kinh doanh.
2.7.3. Không có cam kết bắt buộc phải hoàn thành một sản phẩm cụ thể
Có những dự án về phần mềm nguồn mở sinh ra và chết đi hoặc biến mất dần vì
không thể tìm được kinh phí đầu tư, không có nhà tài trợ hoặc không đủ lập trình
viên tham gia. Cũng có các trường hợp khi dự án đã tương đối phổ biến, nhưng sự
phát triển tiếp tục của dự án đó có thể bị bỏ dở để tiến hành các dự án khác hoặc dự
án đó
được chuyển giao do một nhóm khác không nắm rõ được nó và ít nhiệt huyết
hơn đảm nhiệm.
2.7.4. Sự tương thích với các hệ thống nguồn đóng
Các phần mềm nguồn mở, nhất là khi cài trên máy để bàn, thường không hoàn
toàn tương thích với phần mềm đóng. Nguyên nhân của vấn đề này là do các phần
mềm nguồn đóng luôn giữ kín mã nguồn và các chuẩn đóng của họ. Với những tổ
chức đã đầu tư nhiều cho việc thiết lập các định dạng lưu trữ dữ liệu và ứng dụng
phần mềm đóng, việc c
ố gắng tích hợp những giải pháp phần mềm nguồn mở có thể
23
sẽ rất tốn kém. Ðến lúc nào đó, khi các công ty đã chuyển từ hệ thống chuẩn đóng

sang chuẩn mở, thì vấn đề này sẽ dần dần được khắc phục.
2.7.5. Chưa chú ý nhiều đến tính tiện dụng
Các phần mềm thương mại thường được phát triển dựa vào tiêu chí thuận tiện khi
sử dụng. Trong khi đó, tiêu chí này trong các phần mềm nguồn mở chưa được đề cao.
Các nhà lập trình phần mềm nguồn mở thường chỉ quan tâm chủ yếu đến tính
năng hoạt động của phần mềm. Việc tạo ra một chương trình hoạt động ổn định
và có hiệu quả là ưu tiên quan trọng h
ơn nhiều so với tính dễ sử dụng.
Ngoài việc thiếu vắng một hệ thống tư liệu bổ trợ có chất luợng cao, giao điện
đồ họa với người sử dụng (GUI – Graphical User Interface) của các phần mềm
nguồn mở cũng chưa thể so sánh với các phần mềm thương mại. Vì giao điện đồ
hoạ trong đa phần các hệ thống phần mềm ngu
ồn mở không phải là một nhân tố
riêng lẻ mà là tập hợp kết quả từ nhiều dự án khác nhau, các yếu tố của giao
diện thường hoạt động theo trình tự rất khác nhau. Đây là điểm khác biệt so với
các hệ điều hành nguồn đóng như Mac OS X hay Microsoft Windows. Mặc dù
khá nhiều công sức đang được bỏ ra để thống nhất giao diện cho các chức năng cấu
thành, hệ đi
ều hành, phần mềm nguồn mở có thể sẽ vẫn ở tình trạng thiếu đồng
bộ trong một thời gian nữa.
Mặt khác, ngoài những nguyên nhân trên, tính “ỳ” của người sử dụng cũng là
một nguyên nhân quan trọng làm giảm tốc độ phát triển và phổ biến của phần mềm
nguồn mở. Những người sử dụng cuối đã quen với các sản phẩm thương mại d

dùng, việc chuyển sang học và sử dụng những cái mới thường rất khó khăn và gây
tâm lý “ngại”. Vì vậy qua trình chuyển đổi từ các phần mềm thương mại sang sử
dụng các phần mềm nguồn mở sẽ tốn nhiều thời gian và chi phí đào tạo huấn luyện
người dùng.
Qua phân tích những thuận lợi và khó khăn của việc sử dụng phần mềm nguồn
mở trong các cơ

quan nhà nước và doanh nghiệp, ta thấy rằng ưu điểm của phần
mềm nguồn mở là rất lớn, còn những khó khăn hạn chế có thể dần dần được khắc
phục với sự nỗ lực của cộng đồng tin học cũng như của cơ quan quản lý và toàn xã
hội. Vì vậy, trong thời gian tới chúng ta cần nhận thức đúng những thuận lợi và khó
kh
ăn đối với từng vấn đề cụ thể để đề xuất một giải pháp đúng đắn và khả thi. Đây
chính là một nội dung cần phải giải đáp trong quá trình xây dựng và thực hiện kế
hoạch triển khai và khuyến khích dùng phần mềm nguồn mở.
24
2.8. Tình hình ứng dụng phần mềm nguồn mở trên thế giới và tại Việt Nam
Sự phát triển của phần mềm nguồn mở thu hút được sự chú ý và đầu tư của các tổ
chức và cá nhân trên thế giới cũng như là tại Việt Nam. Các thông tin dưới đây
nhằm tạo ra niềm tin cho việc sử dụng và triển khai phần mềm nguồn mở.
Trên thế giới
• Chính phủ Pháp quyế
t định cài đặt phần mềm nguồn mở cho các máy tính để
bàn trực thuộc bộ máy hành chính. Đây là một phần trong dự án ADELE,
nhằm tin học hoá các khâu hành chính từ 2004 cho đến năm 2007.
• Audi là một trong những hãng chế tạo ôtô Đức nổi tiếng thế giới hiện đang
chạy hệ thống mô phỏng tai nạn (130 máy chủ) và hệ thống tính toán khí
động học (80 máy chủ) dùng hệ điều hành Novell SUSE Linux Enterprise
Server.
• Trung tâm dữ
liệu của hãng chế tạo ôtô BMW hiện đang chạy hệ điều hành
Novell SUSE Linux Enterprise, phần mềm ảo hóa nguồn mở Xen trên các
máy chủ x86 có bộ xử lý lõi kép trang bị công nghệ ảo hóa của Intel.
• Peugeot Citroen là hãng chế tạo ôtô lớn thứ hai châu Âu đã quyết định trang
bị 2.500 máy chủ SUSE Linux Enterprise Server và 20.000 máy tính cá nhân
dùng SUSE Linux Enterprise Desktop.
• Một số ngân hàng hàng đầu thế giới như Credit Suisse, Deutsche Bank,

HSBC,… đều đang sử dụng hỗn hợp Linux – Windows (mixed-source
environement) trong h
ệ thống của mình. Tháng 3/2007, HSBC, một trong
những tổ chức ngân hàng – tài chính lớn nhất thế giới đã quyết định chuẩn
hóa hệ Linux của mình theo một hệ SUSE Linux. Hệ thống máy tính toàn
cầu của HSBC dùng Active Directory của Microsoft và sử dụng khoảng 4000
máy chủ Linux.
• Tháng 5/2007, sàn chứng khoán NewYork (The New York Stock Exchange -
NYSE) đã đầu tư mới 200 máy chủ HP’s ProLiant DL585 và 400 máy chủ
ProLiant BL685c blades, tất cả đều chạy Linux. Mục tiêu là để có được tính
linh hoạt, chi phí thấp và nhất là
độc lập về công nghệ, không bị phụ thuộc
vào một công nghệ độc quyền nào. Trước đó, NYSE dùng máy chủ
mainframe của IBM chạy hệ điều hành AIX. Sàn chứng khoán Tokyo mới
đây cũng đã quyết định dùng Linux trong hệ thống thông tin thế hệ mới của
họ.

×