Open Source là gì? > Ironhack Việt Nam
Nội dung
Chào mọi người! Hôm nay, trong bài viết này, chúng ta sẽ tìm hiểu về Open Source (mã nguồn mở).
Nguồn mở
Đã có rất nhiều định nghĩa về Open Source. Thuật ngữ mã nguồn mở đề cập đến thứ mà mọi người có thể sửa đổi và chia sẻ. Lý do là 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. Nó chỉ định một cách tiếp cận cụ thể để tạo ra các chương trình máy tính. Tuy nhiên, ngày nay, “nguồn mở” chỉ định một bộ giá trị rộng hơn — cái mà chúng tôi gọi là “cách nguồn mở”. Các dự án, sản phẩm hoặc sáng kiến mã nguồn mở bao gồm và tôn vinh các nguyên tắc trao đổi mở, sự tham gia hợp tác, tạo mẫu nhanh, tính minh bạch và phát triển theo định hướng cộng đồng.
Thế nào là 1 phần mềm nguồn mở?
Phần mềm nguồn mở có mã nguồn mà bất kỳ ai cũng có thể kiểm tra, sửa đổi, nâng cao.
“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 có thể thao tác để thay đổi cách một phần mềm hoạt động. Các lập trình viên có thể cải thiện chương trình đó bằng cách thêm các tính năng cho nó. Họ cũng có thể 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 của phần mềm nguồn mở và các phần mềm khác?
Phần mềm đóng/ độc quyền:
Một số phần mềm có mã nguồn mà người, nhóm, tổ chức tạo ra 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ỉ những tác giả ban đầu của phần mềm độc quyền mới có thể sao chép, kiểm tra, thay đổi một cách hợp pháp. Để 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ở
Phần mềm nguồn mở thì khác. Các tác giả của nó làm cho mã nguồn của nó có sẵn cho những người muốn xem mã đó. Người dùng có thể 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ở.
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ở. 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 giấy phép độc quyền.
Giấy phép nguồn mở
Nó ảnh hưởng đến cách có thể sử dụng, nghiên cứu, sửa đổi, phân phối phần mềm. Nó 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. Một số giấy phép nguồn mở quy định rằng bất kỳ ai phát hành một 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ẻ. Bởi 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 như vậy khi họ chia sẻ công việc của mình.
Tại sao nhiều người ưu tiên chọn sử dụng phần mềm nguồn mở?
Điều khiển: 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.
Tập huấn: Nó giúp họ trở thành những lập trình viên giỏi hơn.
Bảo vệ: Người dùng coi nó an toàn và ổn định hơn phần mềm độc quyền.
Sự ổn định: 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 của họ 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: Nó thường truyền cảm hứng cho cộng đồng người dùng, nhà phát triển hình thành xung quanh nó.
Mã nguồn mở có miễn phí không?
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 có thể tính phí cho phần mềm nguồn mở mà họ tạo ra hoặc đó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 bản thân 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 từ việc giúp người khác cài đặt, sử dụng và khắc phục sự cố.
@ Long – Cựu học viên Ironhack Việt Nam