Tổng quan Mã nguồn mở

Thành công rực rỡ của các phần mềm nguồn mở khiến kể cả những nhà cung ứng các phầm mềm thương mại lớn nhất như IBM, HP, Oracle, hay Microsoft cũng phải công nhận tầm ảnh hưởng của những phần mềm này và trong một số trường hợp phải chấp nhận phầm mềm nguồn mở. Dường như hầu hết các công ty lớn nhỏ trong đều sử dụng các sản phẩm nguồn mở với mức độ nhất định hàng ngày.

Nguồn mở là gì?

Quay lại thời điểm năm 1997, Bruce Perens, một lập trình viên hệ điều hành Linux, đã có một bài viết liên quan đến việc phân phối và phát triển phầm mềm Linux Debian. Sau đó ông không sử dụng Debian làm nguồn tham chiếu nữa và ông chính là người đưa ra khái niệm nguồn mở. Trong khái niệm này, phần mềm nguồn mở được phân phối miễn phí, không mất tiền bản quyền, mã nguồn của các phầm mềm phải được công bố và những bổ sung thêm vào mã nguồn từ phía người dùng cũng sẽ được công bố.

Nguồn mở có thể nói là anh em với phong trào phần mềm miễn phí do Richard Stallman phát động năm 1983 nhằm cổ động việc tự do phân phối phần mềm không bị ràng buộc bởi những quy định phân phối độc quyền. Những quy định phầm mềm miễn phí đã được hệ thống hóa trong giấy phép công cộng GPL từ 10/2006 phiên bản thứ 3 đang được sửa đổi.

Hiện nay có rất nhiều giấy phép chứng nhận sáng kiến nguồn mở (Open Source Initiative), mỗi giấy phép lại có những quy định riêng yêu cầu các công ty phải kiểm tra kỹ càng trước khi sử dụng phầm mềm nguồn mở. Những quy định này rất thoải mái đôi với người dùng chỉ có ý định sử dụng phầm mềm nguồn mở còn ngoài ra nếu dùng để phân phối lại thì các quy định lại rất chặt chẽ nhằm tránh các vấn đề vi phạm bản quyền có thể xảy ra.

Tại sao lại dùng nguồn mở?

Lý do đầu tiên khiến nhiều công ty sử dụng phần mềm nguồn mở rất đơn giản: chính là giá cả. Hệ số thu hồi đầu tư trong mô hình nguồn mở được thể hiện rất rõ. Có thể tải, cài đặt và sử dụng các phầm mềm nguồn mở mà không mất một khoản phí nào. Trước đây, với giá thành rẻ phầm mềm nguồn mở là một lựa chọn cho các lập trình viên yêu thích sử dụng các công cụ mới hoặc viết các ứng dụng mới nhưng lại không có đủ kinh phí. Tự do sử dụng phầm mềm nguồn mở đã thu hút nhiều lập trình viên tham gia vào phong trào nguồn mở với kết quả là hệ điều hành Linux, một hệ điều hành không thua kém gì các hệ điều hành có bản quyền khác, server Apache web, server ứng dụng Apache web, Jboss Java, môi trường Eclipse và nhiều ứng dụng khác nữa.

Tuy nhiên cũng phải đến cuối những năm 1990 nhiều công ty mới bắt đầu chính thức chú ý đến nguồn mở. Với những nhận xét tốt đẹp của các lập trình viên về chất lượng cũng như tiết kiệm chi phí khi sử dụng nguồn mở cộng thêm ngân sách cho CNTT ngày càng eo hẹp, nhiều công ty lớn đã bắt đầu đầu tư, sử dụng nguồn mở cho các dự án của doanh nghiệp.

Đặc biệt trong thời kỳ phát triển như vũ bão của Internet, sử dụng phần mềm nguồn mở giúp các công ty nhanh chóng đẩy mạnh các hoạt động trực tuyến không phải chờ đợi mua giấy phép sử dụng các phần mềm thương mại khác. Tính linh hoạt này cũng rất thuận lợi cho phát triển và môi trường kiểm tra, cắt giảm chi phí khi phải sử dụng các phần mềm thương mại có bản quyền.

Có lẽ không bất ngờ khi cho rằng mã nguồn đi kèm các sản phẩm nguồn mở không phải là không có sức hấp dẫn riêng. Trong khi nhiều công ty có quyền chỉnh hoặc sửa mã của phầm mềm nhưng họ lại không muốn làm thế; họ cho rằng tại sao lại không nhờ vào một cộng đồng các lập trình viên đông đảo trên toàn thế giới luôn sẵn sàng cập nhật các mã cũng như sửa các lỗi mới nhất.

Những lý do không nên sử dụng nguồn mở:

1. Phần mềm miễn phí nhưng bạn phải tự xử lý. Bạn có thể tải về, sử dụng phầm mềm miễn phí nhưng chi phí đào tạo sử dụng cũng như bảo trì thường tốn kém hơn so với các phầm mềm thương mại khác.

2. Sẽ không có sự hỗ trợ. Ở thời kỳ đầu của nguồn mở, khi chỉ có một nhóm các tình nguyện viên hay “các cộng đồng” đảm nhiệm việc hỗ trợ và phát triển nguồn mở, việc nhận được sự hỗ trợ đầy đủ là một khó khăn. Tuy nhiên khi hiện nay cộng đồng các lâp trình viên nguồn mở đã rất đông đảo kể cả những công ty như HP hay IBM cũng có hỗ trợ cho các dự án nguồn mở lớn, liệu những hỗ trợ này cho các doanh nghiệp có là đủ.

3. Phát triển các tính năng mới của phầm mềm nguồn mở lâu hơn so với phần mềm thương mại. Điều này phụ thuộc phần lớn vào loại phần mềm bạn đang sử dụng. Như trình duyệt Firefox là một ví dụ về tốc độ phát triển của phần mềm nguồn mở để đáp ứng nhu cầu của người sử dụng. Nhưng việc Linux đi sau Windows trong hỗ trợ các công nghệ USB lại là một ví dụ khác.

4. Các vấn đề pháp lý không rõ ràng. Quá nhiều giấy phép nguồn mở cũng như thực tế là mã nguồn mở do người dùng cuối các sản phẩm đóng góp khiến các công ty e ngại khi sử dụng trong doanh nghiệp. Để giải quyết phần nào lo lắng này, các công ty có thể cùng đại diện pháp lý của mình xem xét kỹ càng các giấy phép nguồn mở. Một số nhà cung ứng nguồn mở và các bên thứ ba cũng đưa ra các giải pháp bồi thường thiệt hại, liệu phần mềm nguồn mở bạn đang dùng có liên quan đến vụ kiện nào không.

Tôi nên bắt đầu như thế nào với nguồn mở?

Ngày nay, hầu như mọi loại phần mềm doanh nghiệp từ e-mail server đến các công cụ ERP, VoIP đều có dạng nguồn mở. Nhưng nhiều công ty bắt đầu sử dụng nguồn mở trên các trang web của doanh nghiệp với nhiều ứng dụng mạnh. Những công cụ này thường được gọi là gói LAMP (gồm có Linux, Apache, MySQL, PHP). Linux là một hệ điều hành giống Unix khá nổi tiếng và phổ biến hiện nay. Apache là server web phổ biến hiện nay. MySQL là hệ quản trị cơ sở dữ liệu, đối thủ nặng ký của các phần mềm quản trị cơ sở dữ liệu thương mại đắt tiền hiện nay. PHP, Perl và Python là ngôn ngữ lập trình được dùng nhiều trong phát triển web nguồn mở. Các trang web nguồn mở sử dụng Java cũng thường sử dụng Jboss Java. Một khi bạn đã quen thuộc với các công cụ nguồn mở, nắm được điểm khác biệt cũng như điểm giống nhau giữa phần mềm nguồn mở và phần mềm thương mại, bạn có thể sẽ có những lựa chọn khác.

Các ứng dụng server hoạt động ổn định, nhưng còn nguồn mở trên desktop thì sao? Người sử dụng cuối thường sử dụng các công cụ nguồn mở trên desktop như trình duyệt web Firefox. Bộ phần mềm văn phòng OpenOffice của Sun hiện cũng đang được một số công ty và cơ quan chính phủ sử dụng thay thế cho Office của Microsoft. Tuy một số doanh nghiệp đã chuyển sang sử dụng hệ điều hành nguồn mở trên desktop như Linux nhưng Microsoft vẫn đang độc chiếm thị trường này. Phiên bản thân thiện với người dùng của Linux như LinSpire vẫn chưa thể đánh bật được các hệ điều hành của Microsoft với nguyên nhân thường là do những lo lắng về thời gian và chi phí đào tạo người sử dụng cuối cũng như thực tế là hầu hết các gói phần mềm thương mại mà các công ty sử dụng đều được phát triển tương thích với Windows trước, sau đó mới là đến Linux.

Tôi có thể bán các sản phẩm nguồn mở được không?

Dĩ nhiên là có nhưng trong sáng kiến nguồn mở đã nói rõ: “Bạn không thể cấm người khác bán mã của bạn được.” Nhiều công ty đã kinh doanh với mã nguồn mở. Một số đưa thêm các dịch vụ vào mã nguồn, đưa thêm tùy chọn hỗ trợ cấp doanh nghiệp để các doanh nghiệp sẵn sàng bỏ tiền mua sản phẩm. Một số khác giữ nguyên 2 phiên bản mã: một là mã nguồn mở, một là phiên bản nâng cao có bổ sung thêm một số tính năng cao cấp hơn. Mô hình kết hợp này ngày càng trở nên phổ biến, nhiều công ty như SourceFire, SugerCRM, Alfresco hay nhiều công ty khác cũng đang áp dụng mô hình này.

Các nguồn tư liệu nguồn mở khác

• FreshMeat: có nhiều phần mềm cho phép tải về, có nhiều phần mềm nguồn mở.

• SourceForge: một trang phát triển nguồn mở lớn với hàng nghìn dự án nguồn mở.

(Theo CIO)