Mã nguồn mở là gì

Thuật ngữ mã nguồn mở đề cập đến thứ mà mọi người có thể sửa đổi và chia sẻ vì thiết kế của nó có thể truy cập công khai.

Thuật ngữ này có nguồn gốc trong bối cảnh phát triển phần mềm với một cách tiếp cận cụ thể để tạo các chương trình máy tính. Tuy nhiên, ngày nay, “mã nguồn mở” có một bộ giá trị rộng hơn — cái mà chúng ta gọi là “the open source way”. Các dự án, sản phẩm hoặc sáng kiến nguồn mở bao gồm các nguyên tắc trao đổi mở, tham gia hợp tác, tạo mẫu nhanh, minh bạch, tập trung và phát triển theo định hướng cộng đồng.

Phần mềm mã nguồn mở là gì?

Phần mềm nguồn mở là phần mềm có mã nguồn mà bất kỳ ai cũng có thể kiểm tra, sửa đổi và nâng cấp.

“Mã nguồn” là một phần của phần mềm mà hầu hết người dùng máy tính không bao giờ nhìn thấy; đó là mã các lập trình viên máy tính có thể thao tác để thay đổi cách một phần mềm — “chương trình” hoặc “ứng dụng” — hoạt động. Các lập trình viên có quyền truy cập vào mã nguồn của chương trình máy tính có thể cải thiện chương trình đó bằng cách thêm các tính năng cho nó hoặc sửa các phần không phải lúc nào cũng hoạt động chính xác.

Sự khác biệt giữa phần mềm nguồn mở và các loại phần mềm khác là gì?

Một số phần mềm có mã nguồn mà chỉ người, nhóm hoặc tổ chức đã tạo ra nó — và duy trì quyền kiểm soát độc quyền đối với nó — mới có thể sửa đổi. Người ta gọi loại phần mềm này là phần mềm “độc quyền” hay “mã nguồn đóng”.

Chỉ các tác giả ban đầu của phần mềm độc quyền mới có thể sao chép, kiểm tra và thay đổi phần mềm đó một cách hợp pháp. Và để sử dụng phần mềm độc quyền, người dùng máy tính phải đồng ý (thường bằng cách ký vào giấy phép hiển thị trong lần đầu tiên họ chạy phần mềm này) rằng họ sẽ không làm bất cứ điều gì với phần mềm mà tác giả của phần mềm không cho phép rõ ràng. Microsoft Office và Adobe Photoshop là những ví dụ về phần mềm độc quyền.

Phần mềm nguồn mở thì khác. Các tác giả của nó cung cấp mã nguồn của nó cho những người khác muốn xem mã đó, sao chép nó, học hỏi từ nó, thay đổi nó hoặc chia sẻ nó. LibreOffice và Chương trình Thao tác Hình ảnh GNU là những ví dụ về phần mềm nguồn mở.

Cũng như cái cách mà thực hiện với phần mềm độc quyền, người dùng phải chấp nhận các điều khoản của giấy phép khi họ sử dụng phần mềm nguồn mở — nhưng các điều khoản pháp lý của giấy phép nguồn mở khác rất nhiều so với các điều khoản của giấy phép độc quyền.

Giấy phép nguồn mở ảnh hưởng đến cách mọi người có thể sử dụng, nghiên cứu, sửa đổi và phân phối phần mềm. Nói chung, giấy phép nguồn mở cấp cho người dùng máy tính quyền sử dụng phần mềm nguồn mở cho bất kỳ mục đích nào họ muốn. Một số giấy phép nguồn mở — mà một số người gọi là giấy phép “copyleft” — quy định rằng bất kỳ ai phát hành chương trình nguồn mở đã sửa đổi cũng phải phát hành mã nguồn cho chương trình đó cùng với nó. Hơn nữa, một số giấy phép nguồn mở quy định rằng bất kỳ ai thay đổi và chia sẻ chương trình với người khác cũng phải chia sẻ mã nguồn của chương trình đó mà không tính phí cấp phép cho nó.

Theo thiết kế, giấy phép phần mềm nguồn mở thúc đẩy cộng tác và chia sẻ vì chúng cho phép người khác thực hiện sửa đổi mã nguồn và kết hợp những thay đổi đó vào dự án của riêng họ. Họ khuyến khích các lập trình viên máy tính truy cập, xem và sửa đổi phần mềm nguồn mở bất cứ khi nào họ thích, miễn là họ cho phép người khác làm điều tương tự khi họ chia sẻ công việc của mình.

Phần mềm nguồn mở chỉ quan trọng đối với các lập trình viên máy tính?

Không. Công nghệ nguồn mở và tư duy nguồn mở đều có lợi cho người lập trình và người không lập trình.

Bởi vì các nhà phát minh ban đầu đã xây dựng phần lớn Internet dựa trên các công nghệ nguồn mở — như hệ điều hành Linux và ứng dụng máy chủ Web Apache — bất kỳ ai sử dụng Internet ngày nay đều được hưởng lợi từ phần mềm nguồn mở.

Mỗi khi người dùng máy tính xem các trang web, kiểm tra email, trò chuyện với bạn bè, truyền phát nhạc trực tuyến hoặc chơi trò chơi điện tử nhiều người chơi, máy tính, điện thoại di động hoặc bảng điều khiển trò chơi của họ kết nối với mạng toàn cầu gồm các máy tính sử dụng phần mềm nguồn mở để định tuyến và truyền dữ liệu tới các thiết bị “cục bộ” mà họ có trước mặt. Các máy tính thực hiện tất cả công việc quan trọng này thường được đặt ở những nơi xa mà người dùng thực sự không nhìn thấy hoặc không thể truy cập thực tế — đó là lý do tại sao một số người gọi những máy tính này là “máy tính từ xa”.

Ngày càng có nhiều người dựa vào máy tính từ xa khi thực hiện các tác vụ mà họ có thể thực hiện trên thiết bị cục bộ của họ. Ví dụ: họ có thể sử dụng phần mềm xử lý văn bản, quản lý email và chỉnh sửa hình ảnh trực tuyến mà họ không cài đặt và chạy trên máy tính cá nhân của mình. Thay vào đó, họ chỉ cần truy cập các chương trình này trên máy tính từ xa bằng trình duyệt Web hoặc ứng dụng điện thoại di động. Khi họ làm điều này, họ đang tham gia vào “máy tính từ xa”.

Một số người gọi điện toán từ xa là “điện toán đám mây”, bởi vì nó liên quan đến các hoạt động (như lưu trữ tập tin, chia sẻ ảnh hoặc xem video) không chỉ kết hợp các thiết bị cục bộ mà còn cả mạng lưới toàn cầu gồm các máy tính từ xa tạo thành một “bầu không khí” xung quanh chúng.

Điện toán đám mây là một khía cạnh ngày càng quan trọng trong cuộc sống hàng ngày với các thiết bị kết nối Internet. Một số ứng dụng điện toán đám mây, như Google Apps, là độc quyền. Những người khác, như ownCloud và Nextcloud, là mã nguồn mở.

Các ứng dụng điện toán đám mây chạy “bên trên” các phần mềm bổ sung giúp chúng hoạt động trơn tru và hiệu quả, vì vậy mọi người sẽ thường nói rằng phần mềm chạy “bên dưới” các ứng dụng điện toán đám mây đóng vai trò là “nền tảng” cho các ứng dụng đó. Nền tảng điện toán đám mây có thể là mã nguồn mở hoặc mã nguồn đóng. OpenStack là một ví dụ về nền tảng điện toán đám mây mã nguồn mở.

Tại sao mọi người thích sử dụng phần mềm mã nguồn mở?

Mọi người thích phần mềm nguồn mở hơn phần mềm độc quyền vì một số lý do sau:

  • Kiểm soát: Nhiều người thích phần mềm nguồn mở vì họ có nhiều quyền kiểm soát hơn đối với loại phần mềm đó. Họ có thể kiểm tra mã để đảm bảo rằng nó không làm bất cứ điều gì họ không muốn và họ có thể thay đổi các phần mà họ không thích. Người dùng không phải là lập trình viên cũng được hưởng lợi từ phần mềm mã nguồn mở, vì họ có thể sử dụng phần mềm này cho bất kỳ mục đích nào họ muốn — không chỉ đơn thuần theo cách người khác nghĩ họ nên làm.
  • Đào tạo: Có những người thích phần mềm mã nguồn mở vì nó giúp họ trở thành lập trình viên giỏi hơn. Bởi vì mã nguồn mở có thể truy cập công khai, sinh viên có thể dễ dàng nghiên cứu nó khi họ học cách tạo ra phần mềm tốt hơn. Học sinh cũng có thể chia sẻ công việc của mình với những người khác, mời nhận xét và phê bình, khi họ phát triển các kỹ năng của mình. Khi mọi người phát hiện ra những sai lầm trong mã nguồn của chương trình, họ có thể chia sẻ những sai lầm đó với người khác để giúp họ tránh mắc phải những lỗi tương tự.
  • Bảo mật: Một số người thích phần mềm nguồn mở vì họ coi nó an toàn và ổn định hơn phần mềm độc quyền. Bởi vì bất kỳ ai cũng có thể xem và sửa đổi phần mềm nguồn mở, ai đó có thể phát hiện và sửa các lỗi hoặc thiếu sót mà tác giả ban đầu của chương trình có thể đã bỏ sót. Và vì rất nhiều lập trình viên có thể làm việc trên một phần mềm nguồn mở mà không cần xin phép tác giả gốc, họ có thể sửa chữa, cập nhật và nâng cấp phần mềm nguồn mở nhanh hơn so với phần mềm độc quyền.
  • Tính ổn định: Nhiều người dùng thích phần mềm mã nguồn mở hơn là phần mềm độc quyền cho các dự án quan trọng, dài hạn. Vì các lập trình viên phân phối công khai mã nguồn cho phần mềm nguồn mở, người dùng dựa vào phần mềm đó cho các nhiệm vụ quan trọng có thể chắc chắn rằng các công cụ của họ sẽ không biến mất hoặc hư hỏng nếu người tạo ban đầu ngừng làm việc với chúng. Ngoài ra, phần mềm nguồn mở có xu hướng kết hợp và vận hành theo các tiêu chuẩn mở.
  • Cộng đồng: Phần mềm nguồn mở thường truyền cảm hứng cho một cộng đồng người dùng và nhà phát triển hình thành xung quanh nó. Đó không phải là duy nhất đối với nguồn mở; nhiều ứng dụng phổ biến là chủ đề của các cuộc gặp gỡ và nhóm người dùng. Nhưng trong trường hợp mã nguồn mở, cộng đồng không chỉ là một cơ sở người hâm mộ mua (về mặt tình cảm hoặc tài chính) cho một nhóm người dùng ưu tú; đó là những người sản xuất, thử nghiệm, sử dụng, quảng bá và cuối cùng là ảnh hưởng đến phần mềm mà họ yêu thích.

Có phải “mã nguồn mở” chỉ có nghĩa là thứ gì đó miễn phí?

Không. Đây là một quan niệm sai lầm phổ biến về những gì “mã nguồn mở” ngụ ý, và ý nghĩa của khái niệm này không chỉ về mặt kinh tế.

Các nhà lập trình phần mềm nguồn mở có thể tính phí cho phần mềm nguồn mở mà họ tạo ra hoặc phần mềm mà họ đóng góp. Nhưng trong một số trường hợp, vì giấy phép nguồn mở có thể yêu cầu họ phát hành mã nguồn khi bán phần mềm cho người khác, một số lập trình viên thấy rằng việc tính phí người dùng tiền cho các dịch vụ và hỗ trợ phần mềm (thay vì cho chính phần mềm) là sinh lợi hơn. Bằng cách này, phần mềm của họ vẫn miễn phí và họ kiếm tiền khi giúp người khác cài đặt, sử dụng và khắc phục sự cố.

Mặc dù một số phần mềm nguồn mở có thể miễn phí, nhưng kỹ năng lập trình và xử lý sự cố phần mềm nguồn mở có thể khá có giá trị. Nhiều nhà tuyển dụng đặc biệt tìm cách thuê các lập trình viên có kinh nghiệm làm việc trên phần mềm nguồn mở.

Theo OpenSource.com

Đánh giá bài viết

Average rating 4.9 / 5. Vote count: 8

No votes so far! Be the first to rate this post.

Comments are closed.