Đề 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ơ q
Trang 1CỤ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
TRIỂN ỨNG DỤNG BẰNG PHẦN MỀM MÃ NGUỒN MỞ TẠI BỘ
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
Trang 2MỤ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
Trang 31.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
Trang 4LỜ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
Trang 5CHƯƠ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
Trang 6mã 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
Trang 7CHƯƠ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
Trang 81.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
Trang 9Như 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
Trang 10a Có thể lưu trữ trên đĩa mà không
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
h Mã nhị phân có thể được nhân
i Mã nhị phân có thể phân phối lại
j Mã nhị phân có thể được sử dụng
k Người sử dụng mới luôn có mã
l Người sử dụng mới có toàn quyền
Trang 11m Người sử dụng mới có toàn
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à:
Trang 12• 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
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
Trang 13chứ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ọ
Trang 14chỉ 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
Trang 15phầ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
Trang 16cho 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ợ
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:
Trang 17• 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ó
Trang 18nhữ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à
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 http://www-106.ibm.com/developerworks/linux/library/l-rel/
Trang 19• 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 Group4 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
Trang 20dạ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
Trang 21gia 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
Trang 22hữ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ự
Trang 23phẩ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ể
Trang 24sẽ 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ở
Trang 252.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ọ
Trang 26• Google, hãng cung cấp dịch vụ tìm kiếm Internet hàng đầu thế giới với hơn 1
tỷ trang web được đánh chỉ mục và 20 triệu lệnh tìm kiếm trong một ngày hiện đang sử dụng 6000 máy chủ chạy RedHat Linux Nhiều ứng dụng lớn của Google như Google Earth, Picasa… đều có phiên bản chạy trên Linux
• PayPal, hãng thanh toán trực tuyến qua mạng, xử lý 1.571$/giây bằng 17 loại tiền khác nhau trên khoảng 4.000 máy chủ chạy Linux
• Công ty sản xuất phần mềm y tế McKesson Provider Technologies đã quyết định chuyển phần lớn các phần mềm y tế của mình từ chạy trên máy chủ cỡ lớn (mainframe) dùng Unix sang chạy trên nền Linux nhằm giảm bớt chi phí cho các bệnh viện và cơ sở y tế Mọi loại phần mềm từ lập hóa đơn thuốc, quản lý nhân sự, quản lý bệnh nhân, lập y lệnh, lập lịch giải phẫu đều chuyển sang chạy trên RedHat Linux Khách hàng của công ty là khoảng 2.500 bệnh viện, phần lớn ở Mỹ Chi phí IT sẽ giảm được khoảng 60% so với trước Các phần mềm sẽ chạy trên các máy chủ RedHat Linux Các máy trạm vẫn dùng Microsoft Windows
• Năm 2009, tất cả các máy tính tại các trường học của Nga sẽ chạy Linux Quyết định này được đưa ra sau khi Nga gia nhập WTO và vấn đề bảo vệ bản quyền trở nên quan trọng
• Cảnh sát quốc gia Thụy điển sẽ xây dựng toàn bộ hạ tầng công nghệ thông tin của mình dựa trên các sản phẩm nguồn mở: Linux, MySQL và JBOSS Ước tính sẽ tiết kiệm được 50% kinh phí so với dùng sản phẩm nguồn đóng
• Bộ Năng lượng Mỹ quyết định thiết lập 8 siêu máy tính Linux tại các phòng thí nghiệm vũ khí quốc gia thuộc Cục an ninh hạt nhân quốc gia: Lawrence Livermore National Laboratory, Los Alamos National Laboratory và Sandia National Laboratories Nhiệm vụ của các máy tính đó là đảm bảo an toàn, an ninh và độ tin cậy của hệ thống ngăn chặn hạt nhân quốc gia mà không phải thử hạt nhân Các siêu máy tính đó gồm 12.096 bộ vi xử lý và 96,8 TeraByte
bộ nhớ
• Wind River cho biết hệ điều hành Wind River Platform for Network Equipment phiên bản Linux của hãng đã được hãng hàng không vũ trụ Honeywell chọn dùng cho một chương trình của NASA Hợp đồng này đánh dấu lần đầu tiên Linux được lựa chọn cho một chương trình không gian vũ trụ, dùng xử lý các dữ liệu khoa học và thí nghiệm trên trạm không gian ST8
• 59% các công ty Đức hiện đang dùng phần mềm nguồn mở Đó là kết quả
Trang 27tin học trong các công ty Đức, Mỹ/Canađa và Anh Tỷ lệ tương ứng là 48% đối với các công ty Anh và 38% - các công ty Mỹ/Canađa
• Thị trường Linux Trung quốc tăng trưởng 30% trong quý 1/2007 theo một báo cáo của hãng nghiên cứu thị trường CCID
• Chính phủ Hàn Quốc đã chỉ định thành phố Gwangju là thành phố phần mềm nguồn mở Gwangju là thành phố 1,4 triệu dân, lớn thứ năm ở Hàn quốc sẽ ứng dụng, phát triển phần mềm nguồn mở theo một kế hoạch 3 giai đoạn trị giá 45,7 triệu USD từ 2006 đến 2010
• Chính phủ Hà Lan đã đặt thời hạn từ tháng 4/2008, các cơ quan chính phủ bắt đầu chuyển sang dùng phần mềm nguồn mở Các trường hợp còn dùng phần mềm nguồn đóng phải có luận chứng được duyệt
• Hãng nghiên cứu thị trường IDC cho biết: Sự ủng hộ dành cho Linux và các ứng dụng nguồn mở đã trở thành xu hướng chủ đạo tại Tây Âu Ít nhất 98 triệu USD đã được các công ty và chính phủ tại đây rót cho những dịch vụ hỗ trợ hệ thống Linux của mình trong năm 2004 Đến năm 2008, IDC dự đoán con số này sẽ tăng lên tới 228 triệu USD
Tại Việt Nam
Phần mềm nguồn mở hiện đang là vấn đề được rất nhiều người quan tâm, đặc biệt là khi vấn đề bản quyền phần mềm đang được đề cập tới như một thách thức
mà Việt Nam bắt buộc phải vượt qua khi đã là thành viên của Tố chức Thương mại Thế giới (WTO) Theo thống kê của Liên minh Phần mềm Doanh nghiệp BSA (vào tháng 03 năm 2006), tỷ lệ vi phạm bản quyền phần mềm ở Việt Nam là 92 %, đến tháng 5/2009 tỷ lệ này giảm xuống còn 85%), kết quả đó trực tiếp đóng góp một tỷ USD vào GDP, tạo ra 4.097 việc làm trong lĩnh vực công nghệ cao cũng như đóng góp thêm 43 triệu USD tiền thuế và ngân sách các địa phương và 762 triệu USD doanh thu cho các công ty phần mềm trong nước
• Năm 2004, Chính phủ phê duyệt “Dự án tổng thể về ứng dụng và phát triển phần mềm nguồn mở Việt Nam giai đoạn 2004-2008” Quyết định số 235/QĐ-TTg ngày 02/03/2004 có nêu “ Khuyến khích hình thành các doanh nghiệp kinh doanh và phát triển Phần mềm nguồn mở, các công ty và các trường học, cơ sở giáo dục cung cấp các dịch vụ hỗ trợ ứng dụng phần mềm nguồn mở” Lợi ích lớn nhất mà chương trình này mang lại là Việt Nam sẽ
có được một đội ngũ cán bộ hiểu môi trường tính toán đa dạng, hữu ích Cả người sử dụng, những người chuyên nghiệp có điều kiện làm chủ công nghệ,
Trang 28• Ngày 6/4/2005, Bộ trưởng Bộ Khoa học và Công nghệ Hoàng Văn Phong ký quyết định 02/2005/QĐ-BKHCN thành lập Ban chỉ đạo Dự án tổng thể “Ứng dụng và phát triển phần mềm nguồn mở ở Việt Nam giai đoạn 2004 - 2008”
• Ngày 27 tháng 12 năm 2007, Bộ Thông tin và Truyền thông đã ban hành Quyết định số 08/2007/QĐ-BTTTT về việc ban hành Danh mục các sản phẩm phần mềm mã nguồn mở đáp ứng được yêu cầu sử dụng trong các cơ quan, tổ chức nhà nước
• Tháng 11/2008, Bộ Thông tin và Truyền thông đã cùng với Trung tâm Hợp tác quốc tế về tin học hóa Nhật Bản (CICC) ký kết Biên bản ghi nhớ hợp tác thúc đẩy ứng dụng phần mềm nguồn mở tại Việt Nam Hai bên đã xác định các nội dung cùng quan tâm trong hợp tác gồm: Xây dựng danh mục ứng dụng phần mềm nguồn mở để khuyến khích sử dụng trong các cơ quan và tổ chức của Chính phủ; Nghiên cứu đề xuất các chính sách thúc đẩy sử dụng và phát triển phần mềm nguồn mở ở Việt Nam; Xây dựng nội dung đào tạo phần mềm nguồn mở và Tổ chức các hội thảo về thúc đẩy ứng dụng phần mềm nguồn mở tại Việt Nam
• Ngày 30/12/2008, Bộ trưởng Bộ TTTT Lê Doãn Hợp đã ký ban hành chỉ thị
số 07/2008/CT-BTTTT về việc đẩy mạnh sử dụng phần mềm nguồn mở (PMNM) trong hoạt động của các cơ quan, tổ chức nhà nước Theo đó, các đơn vị chuyên trách về CNTT của các Bộ, cơ quan ngang Bộ và các Sở TT&TT trên cả nước triển khai cài đặt và tổ chức tập huấn, hướng dẫn sử dụng các PMNM đã được Bộ TT&TT khuyến cáo sử dụng Cụ thể, đó là các phần mềm văn phòng OpenOffice.org, thư điện tử trên máy trạm Mozilla ThunderBird, trình duyệt web Mozilla FireFox và bộ gõ tiếng Việt Unikey
• Văn phòng Trung ương Đảng sẽ chuyển Microsoft Office sang OpenOffice Theo lộ trình, đến hết năm 2008, toàn bộ 20 ngàn máy tính của các cơ quan Đảng trên cả nước sẽ chuyển sang OpenOffice Ngoài ra, nhiều cơ quan, đơn
vị khác như Sở BCVT Khánh Hoà, Sở BCVT, Sở KHCN và Sở Thương mại của TP.HCM cũng đang thử nghiệm OpenOffice trong nội bộ cơ quan với tham vọng nhân rộng khi mô hình này thành công
• Thị trường đã bắt đầu xuất hiện những doanh nghiệp cung cấp phần mềm và dịch vụ hỗ trợ dựa trên phần mềm nguồn mở như FPT, CMC và vô số các công ty khác
• Nói chung, thị trường phần mềm nguồn mở tại Việt Nam chưa phát triển mạnh Tỷ lệ vi phạm bản quyền còn rất cao và các cấp lãnh đạo chưa có biện pháp với vấn đề vi phạm này
Trang 30CHƯƠNG 3 GIỚI THIỆU MỘT SỐ PHẦN MỀM MÃ NGUỒN MỞ
Trong phần này, chúng tôi trình bầy những phần mềm nguồn mở chất lượng cao, được ưa chuộng sử dụng, và có khả năng đáp ứng được nhu cầu của người dùng trong Bộ Công Thương, cũng như là có khả năng thay thế phần mềm mã nguồn đóng có cùng chức năng
1.1 Phần mềm cho hạ tầng và dịch vụ mạng
1.1.1 Hệ điều hành
• Giới thiệu chung
Hệ điều hành mạng nổi tiếng nhất trong thế giới phần mềm nguồn mở là hệ điều hành Linux
Linux là một hệ điều hành dạng UNIX (Unix-like Operating System) chạy trên máy PC với bộ điều khiển trung tâm Intel 80386 trở lên, hay các bộ vi xử lý tương thích AMD, Cyrix Linux ngày nay còn có thể chạy trên các máy Macintosh hoặc SUN Sparc Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh nào của Unix để tránh vấn đề bản quyền của Unix Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của hệ điều hành Unix Vì vậy nếu một người nắm được Linux thì sẽ nắm được UNIX và ngược lại
Linux là hệ điều hành đa nhiệm, đa người dùng, có độ ổn định và an toàn cao Linux có thể sử dụng với nhiều mục đích khác nhau: sử dụng làm hệ điều hành máy trạm cho người dùng cuối, sử dụng làm các máy chủ chạy các dịch vụ mạng, hoặc
có thể sử dụng làm hệ điều hành cho các thiết bị chuyên dụng, làm hệ điều hành cho điện thoại di động… Với cộng đồng phát triển rộng lớn trên toàn thế giới, các phần mềm và tiện ích hỗ trợ chạy trên hệ điều hành Linux ngày càng phong phú và đa dạng, Linux ngày càng trở thành đối thủ nặng ký của Windows
• Lịch sử phát triển
Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần Lan, bắt đầu xem xét Minix, một phiên bản của Unix làm ra với mục đích nghiên cứu cách tạo ra một hệ điều hành Unix chạy trên máy PC rẻ tiền với bộ vi xử lý Intel
80386
Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo trên comp.os.minix của Internet về dự định của mình về Linux
Trang 31Vào tháng 1 năm 1992, Linus cho ra version 0.12 với shell và C compiler Linus không cần Minix nữa để biên dịch lại hệ điều hành của mình Linus đặt tên hệ điều hành của mình là Linux Đến năm 1994, phiên bản chính thức 1.0 được phát hành Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU (GNU’s Not Unix), đó là chương trình phát triển các Unix có khả năng chạy trên nhiều nền tảng khác nhau Đến năm 2008, phiên bản mới nhất của Linux kernel
là 2.6.x, có khả năng điều khiển các máy đa bộ vi xử lý và hỗ trợ rất nhiều các tính năng khác
• Các phiên bản của Linux
Các phiên bản của hệ điều hành Linux được xác định bởi hệ thống số dạng X.YY.ZZ Nếu YY là số chẵn thì đây là phiên bản ổn định, còn nếu YY là số lẻ thì
đó phiên bản phát triển Phiên bản ổn định thường có số hiệu phiên bản nhỏ hơn một so với phiên bản phát triển ZZ là số hiệu phiên bản chỉ “mức bổ sung”, mức bổ sung này xác định những hiệu chỉnh đặc biệt đối với phiên bản kernel, với số hiệu càng lớn biểu thị những hiệu chỉnh càng mới
Các bản phân phối (distribution) của Linux phổ biến trên thế giới bao gồm RedHat, Fedora Core, Debian, SUSE, Slakware, Caldera, Ubuntu…
RedHat và Fedora Core
Là bản Linux thịnh hành nhất trên thế giới phát hành bởi công ty RedHat Từ năm 2003, Redhat Inc chuyển hướng kinh doanh Họ đầu tư phát triển dòng sản phẩm Redhat Interprise Linux (RHEL) với mục đích thương mại nhằm vào các công ty xí nghiệp Đối với người dùng bình thường, họ mở một dự án tên là Fedora Redhat bỏ tiền và một số kỹ sư của mình hỗ trợ cho dự án này đồng thời kêu gọi các nhà phát triển trên khắp thế giới quy tụ lại để phát triển Fedora Core Bản Linux của Redhat cuối cùng dùng ở phiên bản 9.0 Version của Fedora được đếm từ 1 Có thể coi Fedora Core 1 tương ứng với Redhat 10, Fedora Core 2 tương ứng với Redhat
11 Thực tế thì khác nhiều, đặc biệt từ Fedora Core 2 được xây dựng trên Linux kernel 2.6
CentOS Linux
CentOS là phiên bản Enterprise Linux được biên dịch sử dụng các gói của RHEL 5.0 nhằm cung cấp một bản Redhat Interprise Linux miễn phí Ngoài ra, cộng đồng CentOS còn bổ sung thêm các gói phần mềm không có trong RHEL bằng cách sử dụng CentOS Plus repository
Trang 32Bản clone của Linux Redhat Enterprise Linux 3.0 Build trên source code của RHEL bởi một nhóm các kỹ sư ở Mỹ
SuSE Linux
Là bản Linux cực kỳ thịnh hành ở châu Âu và Bắc Mỹ Năm 2003, công ty SuSE được Novell mua lại Novell đang dốc sức đầu tư cho SuSE nhắm vào những người dùng chuyên nghiệp hòng dành lại thị phần từ tay Redhat
Gentoo Linux
Gentoo Linux là một bản phân phối Linux được đặt tên theo loài chim cánh cụt Gentoo Nó được thiết kế cho các thiết bị xách tay, dễ bảo dưỡng, linh hoạt và có khả năng tùy biến theo máy tính của người sử dụng
Mandriva Linux
Còn gọi là Mandrake Linux, là bản Linux rất thịnh hành ở châu Âu, Mỹ và Việt
Nam Đây cũng là bản dành được nhiều sự quan tâm và đầu tư trong vấn đề Việt hoá
nó
Ubuntu Linux
Là bản Linux được phát triển từ một nhánh của Debian Linux, phát hành lần đầu vào ngày 20/10/2004 Bản phân phối này được phát triển thành hai phiên bản: một cho người dùng thông thường và một chuyên dùng cho các dịch vụ mạng Ngoài hai phiên bản dành cho máy trạm và máy chủ, người sử dụng còn có thể lựa chọn một trong số các biến thể khác như: Xubuntu, Kubuntu, Edubuntu, Gobuntu tuỳ theo mục đích sử dụng hay để nghiên cứu, phát triển, giảng dạy…
Vine Linux
Là bản Linux cực kỳ được ưa chuộng tại Nhật Được phát triển trên nền Redhat
Trang 33Nhật 100% Vine Linux cũng được tích hợp thêm một số tính năng của Debian như apt-get
Là bản linux chạy trên CD được Việt hóa taòn bộ, tích hợp hầu hết các tính năng
cơ bản cho người dùng cuối, có giao diện thân thiện, dễ sử dụng
Ngoài ra còn có nhiều bản Linux khác
3.1.2 Web server
Web server được dùng để host các trang Web trên mạng Có nhiều sản phẩm khác nhau nhưng web server được dùng phổ biến và có thị phần lớn nhất hiện nay là Apache Web server
Apache là web server nguồn mở miễn phí, có thể chạy trên nhiều nền tảng khác nhau, trên cả Windows, Linux, Unix
Ngoài khả năng chạy trên nhiều nền tảng khác nhau, Apache còn rất an toàn và
ổn định, chính vì vậy Apache là web server được sử dụng rộng rãi nhất trên thế giới
3.2 Phần mềm cho người dùng văn phòng
3.2.1 Bộ soạn thảo văn phòng – Open Office
Trình soạn thảo OpenOffice.org Writer
Bộ OpenOffice được xây dựng trong Linux dùng để phát triển những ứng dụng văn phòng trong Linux tạo những ứng dụng quen thuộc đối với người sử dụng Windows OpenOffice là bộ chương trình hoàn toàn miễn phí, có giao diện và tính năng tương tự như bộ MS Office của Microsoft
Trang 34Khởi động và giao diện chương trình:
Từ menu Application -> Office -> OpenOffice.org Write (hoặc có thể khởi động OpenOffice từ biểu tượng trên Toolbar)
Các chức năng cơ bản của bộ OpenOffice.org Write tương tự như Word trong bộ
MS Office Các file văn bản được lưu ở dạng mặc định có đuôi là sxw Ngoài ra nó còn hỗ trợ lưu dưới các định dạng khác như: MS Word 95/97/2000/XP (.doc), MS Word 6.0, Rich Text Format (.rtf), StarWrite 5.0 (.sdw), StarWrite 5.0 Template (.vor), Text (.txt), HTML (.html, htm)
Trang 35Dữ liệu thu được có thể lưu lại dưới dạng sxc, ngoài ra chương trình OpenOffice.org Calc còn hỗ trợ lưu dữ liệu theo các định dạng khác như trong bộ
MS Excel 95/97/2000/XP (.xls, xlw, xlt), Text CSV (.csv, txt), HTML Document (.html, htm)
Trình diễn slide - OpenOffice.org Impress
Trong các cuộc hội thảo, trình diễn slide là một điều không thể thiếu Trong Linux có chương trình OpenOffice org Impress Với các chức năng tương tự như
bộ PowerPoint trong Windows, OpenOffice org Impress làm cho người dùng có thể hoàn toàn yên tâm và không cảm thấy khó khăn khi chuyển sang dùng Linux
Ngoài định dạng mặc định là sxi, OpenOffice.org Impress còn hỗ trợ các định dạng khác của trình PowerPoint trong Windows như ppt, pps, pot Điều này tạo thuận lợi cho người sử dụng có thể chuyển các chương trình của mình từ hệ điều hành Windows sang Linux mà không gặp nhiều khó khăn về định dạng dữ liệu
Để khởi động và sử dụng chương trình, từ menu Application -> Office -> OpenOffice.org Impress
Trang 36Ngoài OpenOffice, còn có một số phần mềm soạn thảo văn phòng khác như
StarOffice Cả 2 sản phẩm này đều do Sun phát triển, có chung mã nguồn nhưng
OpenOffice thì hoàn toàn miễn phí còn StarOffice thì mất phí Thực sự StarOffice
không có nhiều tính năng đáng kể hơn với OpenOffice
OpenOffice StarOffice
một số plug-in không miễn phí của các hãng thứ ba
Mã nguồn bao gồm cả mã nguồn của OpenOffice
Một số tính năng hơn:
- Có một số phông Châu Á
- Có sử dụng cơ sở dữ liệu (Adabas D)
- Có một số template có sẵn
- Thư viện Clip Art lớn hơn
- Phiên bản cho Châu Á có thêm chức năng sắp xếp
Trang 373.2.2 Phần mềm quản lý dự án – Open Workbench
Open Workbench chính là công cụ để lên kế hoạch thực thi hoàn chỉnh Phần mềm này hoàn toàn miễn phí nhưng các chức năng lại giống sản phẩm thương mại khác như MS Project
Open Workbench cho phép người dùng Windows lập lịch và quản lý công việc của một hay nhiều dự án Nó sử dụng để phân tích, đánh giá thời gian và nhân lực phải bỏ ra cũng như cho phép người quản lý tùy biến các thông tin liên quan cần theo dõi
Dưới đây là các tính năng cơ bản của Open Workbench:
• Tạo và quản lý một hoặc nhiều dự án Các dự án có thể chia sẻ thông tin chung với nhau Open Workbench cho phép lưu các dự án trên cả máy chủ lẫn trên mạng cục bộ Trong Open Workbench, người dùng có thể tạo ra các công việc, gắn các công việc với các tài nguyên và nhân lực, chỉ ra lượng thời gian cho thực hiện các công việc đó và đặt ra mối quan hệ giữa các công việc Người dùng cũng có thể xác định các đường mốc, các đường tối ưu để
sử dụng nhân lực và chi phí cho phù hợp
• Cho phép quản lý tiến độ dự án được tạo ra và điều chỉnh cho thích hợp để
dự án diễn ra đúng tiến độ bao gồm việc thay đổi nhân lực, thay đổi thời gian thực hiện công việc trong một ngày…
• Cho phép tạo ra các bộ lọc các công việc, nguồn nhân lực… để tiện cho việc
Trang 38Open Workbench cung cấp một giải pháp tương đối mạnh có thể thay thế cho Microsoft Project bao gồm đầy đủ các chức năng cho Được viết trên nền của Java, Open Workbench khởi động khá nhanh (nhanh hơn MS Project 2003) và rất ổn định Tuy nhiên, phần mềm này không hỗ trợ tốt các tài liệu hướng dẫn sử dụng như
MS Project
3.2.3 Phần mềm nén file – 7 ZIP
7-Zip là một trình quản lý file, nén và giải nén file hiệu quả, chủ yếu dùng cho hệ điều hành Windows Nó có thể hoạt động bằng dòng lệnh hoặc với giao diện đồ họa người dùng Nó cũng có tính năng tích hợp cùng môi trường Windows 7-Zip là phần mềm miễn phí, phát triển bởi Igor Pavlov và phân phối dưới giấy phép nguồn
mở của GNU Nó là đối thủ nặng ký cho các phần mềm thương mại như WinZip và WinRAR (cả hai đều là phần mềm nguồn đóng) 7-Zip có phiên bản 64-bit dành cho bản Windows XP Professional x64 Dưới cái tên p7zip, 7-Zip đã được mang sang
sử dụng trên hệ thống họ Unix như Linux và FreeBSD
7-Zip hỗ trợ nhiều tính năng có thể không có trong các chương trình nén thương mại thông dụng
• Đối với định dạng tập tin 7z, 7-Zip hỗ trợ mã hóa theo chuẩn mã hóa tiên tiến 256-bit (tiếng Anh: Advanced Encryption Standard) cả tập tin và cấu trúc thư mục, ngăn người dùng không có mật khẩu xem nội dung được lưu trữ
Trang 39• 7-Zip hỗ trợ chia khối (tiếng Anh: volume) kích thước tập tin động, tiện dụng
để sao lưu dữ liệu vào các thiết bị lưu trữ ngoài như CD và DVD
• Trong chế độ 2 cửa sổ, 7-Zip giống như trình quản lý tập tin chính thống
• Phiên bản đặc biệt 64-bit hỗ trợ ánh xạ bộ nhớ lớn để nén nhanh hơn
• Cho phép tạo lưu trữ đông đặc (solid archive) để có tỉ lệ nén cao hơn (khó sửa đổi tập tin nén hơn)
• Có thể giải nén để xem nhanh 1 tập tin trong solid archive thay vì giải nén toàn bộ như các chương trình khác
Bảng sau đây so sánh hiệu quả nén các file trong hệ thống Mozilla FireFox và Google Earth của các 7-Zip với các phần mềm nguồn đóng hàng đầu khác
Mozilla Firefox Google Earth
Phần mềm nén 161 tệp với dung
lượng 15,684,168 bytes
115 tệp với dung lượng 23,530,652 bytes
Trang 40WinZip 10.0 beta
3.2.4 Phần mềm xử lý đồ họa - The Gimp
The GIMP, hay còn gọi là GNU Image Manipulation Program Đây là một chương trình mã nguồn mở cho phép tạo và hiệu chỉnh ảnh The GIMP tương thích với nhiều hệ điều hành và hỗ trợ nhiều ngôn ngữ
Chức năng cơ bản:
• Vẽ (Painting): Bản đầy đủ cho công cụ vẽ bao gồm Brush, Pencil, Airbrush, Clone, v.v
• Hỗ trợ bộ soạn gradient và cộng cụ blend
• Không giới hạn số lượng ảnh được mở ra cùng một lúc
• Hỗ trợ alpha Layers và channels Multiple Undo/Redo, Có khả năng chỉnh sửa text layer
• Các công cụ điều chỉnh (Transformation tools) bao gồm rotate, scale, shear and fli.p
• Tiện ích lựa chọn vùng (Selection tools) bao gồm rectangle, ellipse, free, fuzzy và intelligent
• Công cụ dẫn đường nâng cao lựa chọn bezier và polygonal Có khả năng chuyển đổi đường dẫn, và các lựa chọn vùng
• Đánh dấu nhanh (Quickmask) để vẽ trong một vùng lựa chọn
• Cho phép gọi chức năng bên trong GIMP từ các chương trình bên ngoài tại Script-fu Khả năng scripting nâng cao
• Các Plug-in cho phép dễ dàng thêm định dạng mới và các bộ lọc mới
• Tải và lưu hình ảnh động rất tiện dụng với định dạng frame-as-layer
• Thao tác với file (File Handling) Định dạng file hỗ trợ bmp, gif, jpeg, mng, pcx, pdf, png, ps, psd, svg, tiff, tga, xpm và nhiều định dạng khác
• Tải, hiển thị, chuyển đổi, lưu vào nhiều định dạng đường dẫn SVG xuất/nhập