PHẦN MỀM MÃ NGUỒN MỞ

Đăng lúc: Thứ tư - 03/12/2014 21:05 - Người đăng bài viết: Administrator
PHẦN MỀM MÃ NGUỒN MỞ

11.1. Định nghĩa phần mềm mã nguồn mở
Phần mềm mã nguồn mở (PMNM) là những phần mềm được cung cấp dưới dạng mã nguồn, không chỉ miễn phí tiền mua  mà chủ yếu là miễn phí về bản quyền. Do có được mã nguồn của phần mềm và có quy định về giấy phép PMNM (ví dụ General Public Licence – GPL), người sử dụng có quyền sửa đổi, cải tiến, phát triển và nâng cấp theo một số nguyên tắc chung đã được qui định mà không cần phải xin phép ai. Điều này trước đây không được phép làm đối với các phần mềm nguồn đóng (tức là phần mềm thương mại).

PMNN do một người, một nhóm người hay một tổ chức phát triển và đưa ra phiên bản đầu tiên cùng với mã nguồn, công bố công khai cho cộng đồng, thường là trên Internet. Trên cơ sở đó các cá nhân tham gia sử dụng sẽ đóng góp phát triển, sửa các lỗi (nếu có) và bổ sung để hoàn thiện sản phẩm cho các phiên bản tiếp theo. Tuy nhiên, người ta cũng được phép kinh doanh PMNM trên một số mặt. Nhà  cung cấp phần mềm nguồn mở có quyền yêu cầu người sử dụng phải trả một số chi phí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, v.v. tức là những dịch vụ thực sự đã thực hiện để phục vụ người sử dụng nhưng không được bán các mã nguồn mở vì nó là tài sản trí tuệ của chung, không phải là tài sản riêng của một nhà cung cấp nào. Xét về phương diện quyền sử dụng, phần mềm có nhiều loại giấy phép (licence) như sau:
ƒ
Phần mềm thương mại (Commercial Software) là phần mềm thuộc bản quyền  của tác giả hoặc các hãng phần mềm, chỉ được cung cấp dưới dạng mã nhị phân, người dùng phải mua và không có quyền bán lại. Windows, Microsoft Office, Oracle là các ví dụ về phần mềm thương mại.
ƒ
Phần mềm thử nghiệm giới hạn (Limited Trail Software) là các phiên bản giới hạn của phần mềm thương mại được cung cấp miễn phí với mục đích thử nghịêm, giới thiệu sản phẩm. Loại này có thể có giới hạn về mặt chức năng, tính năng mà còn giới hạn về thời gian được sử dụng. Chẳng hạn một phần mềm cho phép người dùng lấy từ Internet về dùng thử nhưng chỉ cho giới hạn sử dụng trong vòng 30 ngày, sau đó một khoá cài đặt ngầm sẽ vô hiệu hoá phần mềm.
ƒ
Phần mềm chia sẻ (Shareware) là loại phần mềm có tính năng như phần mềm  thương mại và được phân phối tự do nhưng có một số giấy phép khuyến cáo các cá nhân hoặc tổ chức được mua theo những điều kiện cụ thể .
Ví dụ phần mềm để nén dữ liệu Winzip là phần mềm chia sẻ.
ƒ
Phần mềm phi thương mại - phần mềm tự do (Free ware) là các phần mềm
được dùng tự do không phải trả tiền nhưng không có nghĩa là không phải tuân
thủ bất cứ điều kiện nào. Trong loại phần mềm này có loại phần mềm dưới
dạng mã nhị phân có thể cho không. Cũng có loại phần mềm cho không dưới
dạng mã gốc. Loại này gọi là phần mềm mã nguồn mở (PMNM). Trên thế giới đã có hàng ngàn sản phẩm PMNM, nhưng hiện nay phổ biến nhất là hệ điều hành nguồn mở LINUX (hoặc với tên gọi đầy đủ hơn là GNU/LINUX) và FreeBSD. PMNM dùng cho các ứng dụng văn phòng có Open Office, trình duyệt Web có FireFox, phần mềm máy chủ Web có  Apache, hệ quản trị cơ sở dữ liệu có MySQL và PostgreSQL, ứng dụng Java cho máy chủ có Jakarta và ngoài ra còn có các ngôn ngữ lập trình nguồn mở như Perl và Python. Nói đến mã nguồn mở, người ta hay nghĩ đến các sản phẩm chạy trên hệ điều hành LINUX. Thực ra thì không phải như vậy, trên Windows  cũng có rất nhiều PMNM.

11.2. Những ưu việt của PMNM

- Chi phí thấp: PMNM được dùng miễn phí về bản quyền và nếu có chi phí thì cũng chỉ là chi phí cho đóng gói sản phẩm và dịch vụ cho sản phẩm. Vì vậy, chi phí rất thấp so với các phần mềm thương mại. Ví dụ, chi phí cho mua bản quyền sử dụng một bộ Hệ điều hành Window XP và ứng dụng Văn phòng của Microsoft vào khoảng 560USD ((1) Theo giá của Châu Âu cuối năm 2002) trong khi đó PMNM cho Hệ điều hành Linux và ứng dụng văn phòng PMNM không phải chi trả phí bản quyền. Nhiều phần mềm mã nguồn mở cho quản trị cơ sở dữ liệu, trang chủ Web, quản lý thư tín điện tử… tuy hơi khó dùng hơn phần mềm thương mại (do chủ yếu chưa có đủ tài liệu hướng dẫn sử dụng, và không được hỗ trợ đầy đủ) nhưng được phép tải miễn phí từ Internet về để sử dụng,  trong khi đó những phần mềm thương mại như vậy thường có giá từ hàng nghìn đến hàng chục nghìn USD.

- Độc lập: PMNM không bị lệ thuộc vào bất kỳ một nhà cung cấp nào. Sự độc lập này là rất quan trọng vì các cơ quan Nhà nước đều cần có những giải pháp chung, chuẩn hóa và không muốn phụ thuộc vào các sản phẩm sở hữu riêng của các nhà cung cấp.

- Làm chủ công nghệ, đảm bảo an toàn và riêng tư: Sự sẵn sàng của phần mềm nguồn mở và việc có quyền thay đổi chúng cũng là một yếu tố quan trọng. Đó không chỉ vì do các nhu cầu phát triển đặc thù mà còn vì do không có các “hộp đen” khi sử dụng  PMNM. Hiểu rõ hệ thống làm việc như thế nào là yêu cầu cơ bản của các cơ quan công quyền. PMNM không có các “cửa hậu”, không có gián điệp điện tử lẩn ở đâu đó trong phần mềm. Do nắm được mã nguồn nên những người sử dụng và những nhà phát triển làm chủ được phần mềm, có khả năng thay đổi, bổ sung và phát triển các ứng dụng theo
yêu cầu riêng của mình, điều mà phần mềm thương mại không đáp ứng được.

- Tính thích ứng và sáng tạo: Thực tế đã cho thấy rất ít chương trình có thể tồn tại không cần thay đổi, nâng cấp trong một thời gian dài. Vì thế, khả năng cho phép lập trình viên xác định và sửa các lỗi cũng như thích ứng phần mềm với các yêu cầu mới phát sinh là một vấn đề rất quan trọng. Sự sẵn sàng có mã nguồn và có quyền thay đổi chúng giúp cho công việc này dễ dàng hơn. Việc có được mã nguồn cũng giúp những nhà lập trình sáng tạo ra phần mềm riêng của mình, đặc biệt đối với thế hệ trẻ và các doanh nghiệp phục vụ các yêu cầu đa dạng của khách hàng.

- Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy cao. Các PMNM khi đã hoàn thành thông thường sẽ được thử nghiệm, đánh giá, phát hiện lỗi và hoàn thiện bổ sung bởi nhiều rất nhiều nhà phát triển khác nhau trên toàn thế giới và công việc này cũng không bị áp lực về thời gian. Các nhà sản xuất phần mềm thương mại lại thường công bố thời điểm ra đời của một phiên bản nào đó rồi sau đó buộc phải tung ra thị trường những sản phẩm vẫn còn có lỗi để giữ đúng thời hạn  đã công bố.

- Tuân thủ các chuẩn: PMNM thông thường được phát triển tuân thủ theo các chuẩn tốt hơn. Đó là vì lợi ích của các nhà phát triển tự do cần thực hiện được những sản phẩm có tính liên tác tốt nhất. Để làm được việc đó họ không sử dụng các chuẩn sở hữu riêng. Sự tìm kiếm liên tục các chuẩn dùng chung làm cho các PMNM có khả năng liên tác lâu dài. Phần mềm thương mại có thể có những đặc tính rất tốt nhưng do một công ty tạo ra và đôi khi để đảm bảo hiệu quả, các công ty tạo ra các chuẩn riêng của mình. Chẳng hạn VBscript được dùng viết các ứng dụng WEB của Microsoft không chạy được
trên các trình duyệt khác nhưng lại rất tốt đối với các ứng dụng theo kiểu Windows

- Không bị hạn chế về quyền sử dụng: Quyền được dùng PMNM dưới bất kỳ hình thức nào làm yên tâm mọi nhà phát triển, nhà quản trị và người sử dụng. Do PMNM không bị giới hạn cho người sử dụng nên các cơ quan công quyền yên tâm cung cấp cho số lượng không giới hạn người sử dụng theo mục đích riêng của mình.

- Tính lâu dài: PMNM không có một chủ sở hữu duy nhất là lý do bảo đảm để không ai có thể làm ngừng hoặc “giết chết” sản phẩm này. Việc sản phẩm bị ngừng hay bị “giết chết” dễ dàng xảy ra đối với phần mềm thương mại như ở trong các trường hợp sau: công ty bị phá sản, hoặc sát nhập, hoặc bán lại cho một công ty khác, hoặc thay đổi chiến lược và phương hướng kinh doanh. Do đó người sử dụng PMNM sẽ không bị lo ngại xảy ra trường hợp bị bắt buộc chuyển sang giải pháp khác như đối với phần mềm thương mại khi nhà cung cấp phần mềm thương mại quyết định ngừng hỗ trợ kỹ thuật.

- Tự do: Các kết quả phát triển PMNM theo yêu cầu của cộng đồng sẽ được quyết định bởi “đa số dân chủ”. PMNM không bao giờ bắt buộc chỉ có một cách cài đặt. Người sử dụng luôn luôn chỉ cài đặt những phiên bản hoàn chỉnh và ổn định, bỏ qua các phiên bản phát triển chưa ổn định. PMNM cũng cho phép mỗi người sử dụng tạo ra và duy trì những phiên bản đặc thù theo yêu cầu riêng của mình.

- Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thể được thực hiện mà không cần phải xin phép ai trước khi triển khai. Việc này phù hợp với các kỹ thuật phát triển mới: tạo ra giải pháp bằng cách tập hợp nhiều đối tượng đã có mà không sợ rủi ro bị ngừng giữa chừng vì những hạn chế pháp lý và những qui định về sở hữu trí tuệ đối với phần mềm.

11.3. Những hạn chế của PMNM Cùng với những ý kiến ủng hộ việc đẩy mạnh sử dụng PMNM, cũng còn có nhiều
ý kiến e ngại dùng các phần mềm này. Đó là những lí do hạn chế chính của PMNM như sau:

- Chưa có hỗ trợ kỹ thuật tin cậy: Nếu người sử dụng gặp sự cố, tuy họ tin sẽ nhận được sự giúp đỡ của cộng đồng nguồn mở quốc tế, nhưng không ai chịu trách nhiệm hỗ trợ đầy đủ. Về mặt pháp lý, không ai có nghĩa vụ bắt buộc phải cung cấp các dịch vụ hỗ trợ PMNM cho người sử dụng như trong trường hợp các phần mềm thương mại.

- Số các thiết bị hỗ trợ PMNM còn hạn chế: Các máy in, máy vẽ, bìa màn hình
và các thiết bị ngoại vi khác đều cần có các chương trình điều khiển (drivers) riêng. Có
thể phải chờ một thời gian dài nữa cộng đồng phần mềm nguồn mở quốc tế mới phát triển
đầy đủ các chương trình điều khiển này. - Các ứng dụng chuyên nghiệp trên nền PMNM còn ít: Số các ứng dụng
chuyên nghiệp sẵn sàng sử dụng trên nền PMNM còn ít so với các ứng dụng trên
Windows hoặc trên Unix sở hữu riêng.
- Thiếu các hướng dẫn sử dụng: Nếu không có các chuyên gia tư vấn chuyên nghiệp hoặc các kiến trúc sư hệ thống, người sử dụng và ngay cả người quản trị hệ thống CNTT sẽ khó tìm kiếm giải pháp trong số hàng ngàn giải pháp PMNM đã có sẵn để phục vụ cho mục đích cụ thể của mình.

- 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ề PMNM được phê duyệt đầu tư nhưng không thể phát triển được hoặc bị đình trệ vì không thể tìm được kinh phí đầu tư hoặc không đủ lập trình viên từ các trường  đại học và tổ chức khác tham gia. Thực ra, đây cũng là một vấn đề đối với các phần mềm thương mại. Cũng xảy ra các trường hợp tương tự khi dự án đã tương đối được phổ biến,  sự phát triển tiếp tục của dự án đó có thể lại do một nhóm khác đảm nhiệm.

- Có một số hạn chế đối với các hệ thống cao cấp: Trừ một số môi trường rất chuyên dụng như các máy tính lớn IBM mainframe, phần lõi của hệ thống nguồn mở hiện nay vẫn còn bị hạn chế đối với các hệ thống quản lý chuẩn của doanh nghiệp như hỗ trợ đa xử lý và quản lý nhật ký.

- Năng lực hạn chế của người sử dụng: Các hệ điều hành nguồn mở hiện nay đều dựa theo hệ điều hành Unix, nhưng hầu hết người sử dụng trong các cơ quan hành chính cũng như doanh nghiệp thậm chí cả những người quản trị hệ thống CNTT chưa có kiến thức cần thiết về Unix. Do đó đôi khi phải đào tạo lại từ đầu và đi từ đào tạo cơ bản. Chi phí cho đào tạo việc này sẽ lại là đáng kể. Trong một số trường hợp, tổng hợp những hạn chế nêu trên cũng làm mất đi ưu thế về việc không phải trả phí về bản quyền nhưng lại làm tăng tổng sử dụng phần mềm .

Trên đây là những thuận lợi và khó khăn của việc dùng PMNM trong các cơ quan công quyền và doanh nghiệp theo kinh nghiệm của các nước. Đối với nước ta cần nhận thức đúng đắn 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.
 
 

Danh mục