Tất cả những điều bạn cần biết về phần mềm mã nguồn mở

19:32 23/02/2024

Trong môi trường công nghệ ngày nay, phần mềm mã nguồn mở (Open Source Software) đã trở thành một phần không thể thiếu của ngành công nghệ thông tin. Trong bài viết này, chúng ta sẽ khám phá khái niệm phần mềm mã nguồn mở, những đặc tính ưu việt, hạn chế, tính ứng dụng trong lĩnh vực cụ thể và các phần mềm mã nguồn mở phổ biến được cá nhân và tổ chức sử dụng hiện nay. 

Khái niệm phần mềm mã nguồn mở

Phần mềm mã nguồn mở 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 (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 quy đị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).

Phần mềm mã nguồn mở (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 và bổ sung để hoàn thiện sản phẩm cho các phiên bản tiếp theo.

 

Những đặc tính ưu việt của phần mềm mã nguồn mở

  • 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.  
  • Độ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.
  • 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.  
  • 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. 
  • 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. 
  • 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. 

Những hạn chế của phần mềm mã nguồn mở

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á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. 

Các phần mềm mã nguồn mở phổ biến

  • Hệ Điều Hành Linux: Sức mạnh và linh hoạt của Linux trong việc vận hành máy chủ và hệ thống máy tính cá nhân. 
  • Công Cụ Phát Triển Mã Nguồn Mở: Git, Visual Studio Code, và Sublime Text – Các công cụ được sử dụng rộng rãi trong quá trình phát triển phần mềm. 
  • Cơ Sở Dữ Liệu Mã Nguồn Mở: MySQL, PostgreSQL, và MongoDB – Các hệ thống cơ sở dữ liệu mạnh mẽ và linh hoạt. 
  • Chương trình thao tác hình ảnh GNU: Một công cụ xử lý hình ảnh nguồn mở từ GNU với các thành phần tương tự như Adobe Photoshop. 
  • Trình phát phương tiện VLC: Trình phát tệp âm thanh và video mã nguồn mở.

Ứng dụng phần mềm mã nguồn mở trong lĩnh vực cụ thể

  • Ứng dụng Web Development: Apache, Nginx – Các máy chủ web mã nguồn mở phổ biến. 
  • Ứng dụng Văn Phòng: LibreOffice và OpenOffice – Các ứng dụng văn phòng mã nguồn mở đa năng và miễn phí. 
  • Ứng dụng Phát Triển Web Framework: Django (Python), Ruby on Rails (Ruby) – Các framework mạnh mẽ hỗ trợ phát triển ứng dụng web. 

 

Tóm lại, trong chuyên đề này chúng ta đã cùng khám phá về đặc tính ưu việt, những hạn chế, các phần mềm mã nguồn mở phổ biến và tính ứng dụng trong lĩnh vực cụ thể của phần mềm mã nguồn mở. Phần mềm mã nguồn mở không chỉ là sự lựa chọn với chi phí hiệu quả mà còn mang lại sự độc lập, tính linh hoạt, và khả năng thích ứng với các yêu cầu mới phát sinh. Việc sử dụng phần mềm mã nguồn mở không bị hạn chế về quyền sử dụng và thường tuân thủ các tiêu chuẩn tốt hơn, đảm bảo an toàn và riêng tư cho người sử dụng.

Trong thời đại số ngày nay, việc hiểu và tận dụng sức mạnh của phần mềm mã nguồn mở không chỉ là một xu hướng mà còn là một nhu cầu. Việc áp dụng phần mềm mã nguồn mở không chỉ mang lại lợi ích ngay trong hiện tại mà còn làm nền tảng cho sự phát triển bền vững trong tương lai. 

Giảng viên Nguyễn Văn Định
Bộ môn Công nghệ thông tin
FPT Polytechnic Đà Nẵng

Đăng ký nhận đề thi thử 2025

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2025

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.