Bài 3: Phần mềm nguồn mở và phần mềm chạy trên Internet – lý thuyết

Acrobat Reader (bản tự do) và Acrobat Pro DC (Ảnh Sách KNTT)
Mục lục [Ẩn]

Chọn đến phần học sinh cần nhanh chóng thông qua mục lục bằng cách click đến phần đó

1. Phần mềm nguồn mở

1.1. Phân loại phần mềm theo cách chuyển giao sử dụng

Khi viết chương trình bằng ngôn ngữ lập trình bậc cao, lập trình viên tạo ra một văn bản gần với ngôn ngữ tự nhiên gọi là mã nguồn. Để máy tính thực thi được, mã nguồn cần được dịch sang dãy lệnh mà máy hiểu trực tiếp, gọi là mã máy. Việc chuyển giao phần mềm dưới dạng mã máy giúp bảo vệ ý tưởng và chống sửa đổi trái phép.

Dựa vào cách chuyển giao cho người dùng, phần mềm được chia thành ba loại chính theo mức độ “mở” tăng dần:

Phần mềm thương mại (commercial software): Đây là phần mềm được tạo ra để bán, người dùng phải trả phí mới có quyền sử dụng. Phần lớn phần mềm thương mại chỉ cung cấp dưới dạng mã máy nhằm bảo vệ ý tưởng và chống sao chép, vì vậy còn được gọi là phần mềm nguồn đóng. Ví dụ tiêu biểu: Microsoft Word, phần mềm chỉnh sửa ảnh Photoshop.

Phần mềm tự do (free software): Là phần mềm không chỉ miễn phí mà người dùng còn được tự do sử dụng mà không cần xin phép. Phần mềm tự do có thể tồn tại ở dạng mã máy hoặc mã nguồn. Ví dụ: Acrobat Reader cho phép đọc, in và ghi chú tệp PDF miễn phí; tuy nhiên nếu muốn các tính năng nâng cao hơn như soạn thảo, chỉnh sửa hay chuyển đổi định dạng thì phải mua bản thương mại Acrobat Pro DC.

Acrobat Reader (bản tự do) và Acrobat Pro DC (Ảnh Sách KNTT)
Acrobat Reader (bản tự do) và Acrobat Pro DC (Ảnh Sách KNTT)

Phần mềm nguồn mở (open-source software): Là phần mềm được cung cấp kèm toàn bộ mã nguồn, cho phép người dùng không chỉ sử dụng mà còn có quyền sửa đổi, cải tiến, phát triển và phân phối lại theo các giấy phép quy định. Thông thường, phần mềm nguồn mở là tự do và không được bảo hành. Ví dụ: phần mềm chỉnh sửa ảnh GIMP, phần mềm vẽ đồ họa Inkscape, môi trường lập trình Python.

1.2. Giấy phép đối với phần mềm nguồn mở

Khi sử dụng bất kỳ loại phần mềm nào, người dùng đều cần tuân thủ các điều kiện được phép sử dụng, thường gọi là giấy phép (license). Chẳng hạn, khi mua giấy phép một phần mềm thương mại, người dùng chỉ được cài đặt trên số lượng máy tính nhất định theo quy định.

Đối với phần mềm nguồn mở, có một sự mâu thuẫn với quy định bản quyền thông thường: theo luật bản quyền, tác giả có quyền bảo vệ chống sao chép, sửa đổi và phân phối; nhưng phần mềm nguồn mở lại khuyến khích người dùng thực hiện những điều này. Chính vì vậy, cần có giấy phép riêng để cấp cho người dùng các quyền mà quy định bản quyền thông thường không cho phép.

Giấy phép công cộng GNU GPL (GNU General Public License) là giấy phép được áp dụng rộng rãi nhất cho phần mềm nguồn mở. Phiên bản GNU GPL 3.0 được phát hành năm 2007. Giấy phép này không chỉ đảm bảo quyền tiếp cận mã nguồn mà còn đảm bảo sự phát triển bền vững của phần mềm nguồn mở. Cụ thể, một số nội dung đáng chú ý:

  • Quyền sao chép và phân phối: Người dùng được sao chép, phân phối phần mềm và có quyền yêu cầu trả phí cho việc chuyển giao đó; tuy nhiên phải thông báo rõ ràng về bản quyền gốc và thông báo miễn trừ trách nhiệm bảo hành.
  • Quyền sửa đổi và phân phối bản sửa đổi: Người dùng được sửa đổi phần mềm, nhưng phải công bố mã nguồn phần sửa đổi, nêu rõ bản nào đã thay đổi, chỉ rõ các thành phần được thay đổi. Đồng thời, phải áp dụng giấy phép GNU GPL cho chính phần thay đổi đó.
  • Tính lan truyền của GPL: Phần mềm có nguồn gốc từ việc sửa đổi một phần mềm nguồn mở theo GPL cũng bắt buộc phải mở theo GPL. Điều này đảm bảo chuỗi phát triển luôn duy trì tính mở.
  • Quyền miễn trừ của tác giả: Các tác giả được miễn trừ trách nhiệm về hậu quả khi người khác sử dụng phần mềm.
  • Quyền đứng tên: Các tác giả tham gia phát triển được đảm bảo quyền đứng tên trên sản phẩm.

2. Vai trò của phần mềm thương mại và phần mềm nguồn mở

Hiện nay, hầu như mọi lĩnh vực của công nghệ thông tin đều có phần mềm nguồn mở có thể thay thế cho phần mềm thương mại tương ứng. Bảng dưới đây liệt kê một số ví dụ điển hình:

Lĩnh vực Phần mềm thương mại Phần mềm nguồn mở thay thế
Phần mềm văn phòng Word, Excel, PowerPoint (Microsoft) Writer, Calc, Impress (OpenOffice)
Hệ điều hành Windows (Microsoft), iOS (Apple) Linux và các bản phân phối (Ubuntu, Red Hat,…), Android
Quản trị cơ sở dữ liệu Oracle, SQL Server (Microsoft) MySQL, PostgreSQL
Xử lí ảnh Photoshop (Adobe) GIMP

Tuy nhiên, phần mềm nguồn mở không thể thay thế hoàn toàn phần mềm thương mại. Lý do là phần mềm thương mại tồn tại dưới hai dạng:

  • Phần mềm “đặt hàng”: Được thiết kế riêng theo yêu cầu cụ thể của từng khách hàng, ví dụ phần mềm điều khiển dây chuyền lắp ráp, phần mềm đặt xe trên điện thoại. Loại này được thiết kế chính xác theo nhu cầu và có bảo hành theo hợp đồng.
  • Phần mềm “đóng gói”: Được xây dựng dựa trên nhu cầu chung của nhiều người, có tính hoàn chỉnh cao và kèm công cụ cài đặt tự động. Ví dụ: Photoshop, Microsoft Word.

Phần mềm nguồn mở chủ yếu đáp ứng nhu cầu chung, trong khi những nhu cầu riêng biệt, đặc thù thì chỉ phần mềm thương mại dạng “đặt hàng” mới có thể đáp ứng được. Ngoài ra, chính phần mềm thương mại mới đem lại nguồn tài chính chủ yếu để duy trì các tổ chức, cá nhân làm phần mềm chuyên nghiệp.

Bảng so sánh giữa hai loại phần mềm theo các yếu tố chính:

Yếu tố Phần mềm thương mại (nguồn đóng) Phần mềm nguồn mở
Chi phí Phải trả phí mua phần mềm và phí chuyển giao Chỉ mất phí chuyển giao nếu có
Hỗ trợ kỹ thuật Không chính thức, nhưng có hỗ trợ từ cộng đồng
Tính minh bạch Khó kiểm soát những gì bên trong Có thể kiểm soát được mã nguồn
Sự phụ thuộc Phụ thuộc vào nhà cung cấp về giải pháp và hỗ trợ Phát triển theo chuẩn chung, không phụ thuộc vào riêng ai

Tóm lại về ưu điểm và vai trò của từng loại:

Ưu điểm của phần mềm thương mại: Phần mềm dạng “đặt hàng” đáp ứng nhu cầu riêng và người dùng được hỗ trợ kỹ thuật. Phần mềm “đóng gói” có tính hoàn chỉnh cao, đáp ứng nhu cầu rộng rãi.

Ưu điểm của phần mềm nguồn mở: Chi phí thấp, minh bạch, không bị phụ thuộc nhiều vào nhà cung cấp.

Vai trò của phần mềm thương mại: Là nguồn thu nhập chính của các tổ chức, cá nhân làm phần mềm chuyên nghiệp, góp phần tạo ra thị trường phần mềm phong phú, đáp ứng các nhu cầu riêng của cá nhân, tổ chức và các yêu cầu chung của xã hội.

Vai trò của phần mềm nguồn mở: Giúp những người có nhu cầu được sử dụng phần mềm dùng chung chất lượng tốt, ổn định và chi phí thấp. Phần mềm nguồn mở đã mở ra cơ hội tiếp cận công nghệ cho tất cả mọi người, kể cả những ai có nguồn lực hạn chế.

3. Phần mềm chạy trên Internet

Phần mềm chạy trên Internet (hay còn gọi là phần mềm trực tuyến) là phần mềm cho phép sử dụng qua mạng Internet mà không cần cài đặt trực tiếp vào máy của người dùng. Loại phần mềm này có hai đặc điểm quan trọng:

  • Phần mềm được cài đặt trên một máy chủ nào đó có kết nối Internet.
  • Người dùng có thể sử dụng trên một máy khác (không cần cài phần mềm) thông qua kết nối Internet.

Phần mềm trực tuyến ngày nay rất phổ biến, bao gồm mạng xã hội, thư điện tử, các ứng dụng mua sắm trực tuyến và nhiều dịch vụ khác.

Lợi ích nổi bật: Có thể sử dụng ở bất cứ đâu, bất cứ khi nào, trên bất cứ máy tính nào, miễn là có kết nối Internet. Chi phí thấp hoặc hoàn toàn miễn phí.

Một ví dụ điển hình là bộ ứng dụng văn phòng trực tuyến của Google: Google Docs (soạn thảo văn bản, tương tự Word), Google Sheets (bảng tính, tương tự Excel), Google Slides (trình chiếu, tương tự PowerPoint). Để sử dụng, người dùng chỉ cần có tài khoản Google và truy cập qua trình duyệt web. Mọi dữ liệu được lưu trữ tự động trên không gian đám mây của Google.

Giao diện truy cập Google Docs (Ảnh Sách KNTT)
Giao diện truy cập Google Docs (Ảnh Sách KNTT)
Thầy Phạm Thành Danh

Thầy Phạm Thành Danh

(Người kiểm duyệt, ra đề)

Chức vụ: Trưởng ban biên soạn môn Tin Học THPT

Trình độ: Cử nhân Sư phạm Tin học, Chứng chỉ hạng II, Chứng chỉ Tin học, Ngoại ngữ B1

Kinh nghiệm: 8+ năm kinh nghiệm tại Trường THPT Thuận Hóa