Bao gồm các:
- Phân phối lại phần mềm
- Tính khả dụng của mã nguồn
- Phân phối giấy phép
- Thuộc tính giấy phép
- Chống phân biệt đối xử
Giấy phép
Các giấy phép khác nhau cho phép các lập trình viên sửa đổi phần mềm với các điều kiện khác nhau được đính kèm. OSI phê duyệt các giấy phép tuân thủ định nghĩa của họ về phần mềm nguồn mở. 5 trong số các giấy phép phổ biến nhất theo Black Duck Knowledgebase là:
- Giấy phép MIT
- Giấy phép Công cộng GNU (GPL) 2.0
- Giấy phép Apache 2.0
- Giấy phép Công cộng GNU (GPL) 3.0
- Giấy phép BSD 2.0 (3 khoản, mới hoặc sửa đổi)
Khi bạn thay đổi mã nguồn, một yêu cầu của PMNM là bao gồm những gì bạn đã thay đổi cũng như các phương pháp của bạn. Phần mềm được tạo sau khi sửa đổi mã có thể hoặc không được cung cấp miễn phí.
Sự khác biệt giữa phần mềm nguồn mở và thương mại
Phần mềm thương mại, hoặc phần mềm sở hữu độc quyền, không cấp quyền truy cập vào mã nguồn của nó vì phần mềm là tài sản trí tuệ của người khác.
Kết quả là, người dùng thường trả tiền cho nó.
PMNM, mặt khác, là một nỗ lực hợp tác - phần mềm được chia sẻ sở hữu trí tuệ trong số tất cả những người đã giúp phát triển hoặc thay đổi nó.
Phần mềm nguồn mở Vs. Phần mềm miễn phí
Trái với niềm tin phổ biến, không tập trung vào chi phí, hoặc thiếu nó, của các chương trình.
Mã nguồn mở đòi hỏi sự sẵn có miễn phí của mã nguồn và phân phối. Phần mềm tự do, theo cách như vậy, bao gồm sửa đổi mã nhưng nhấn mạnh những quyền tự do mà người dùng thích làm những gì họ thích với phần mềm. Tổ chức Phần mềm Tự do đưa ra 4 điều kiện cho phần mềm được coi là hoàn toàn miễn phí.
Ngoài ra, phần mềm có thể được phân loại là phần mềm miễn phí. Điều này có nghĩa là người dùng tải xuống phần mềm miễn phí, nhưng họ không thể thực hiện bất kỳ thay đổi nào đối với mã nguồn của nó.
Ưu điểm của phần mềm nguồn mở
Mặc dù chi phí là yếu tố thúc đẩy, PMNM có một số lợi ích bổ sung:
- Kết quả chất lượng cao khi mã nguồn được truyền xung quanh, được kiểm tra và cố định.
- Đây là một cơ hội học tập có giá trị cho các lập trình viên . Họ có thể học và áp dụng các kỹ năng cho các chương trình phổ biến nhất hiện nay.
- Nhiều người cho rằng phần mềm mã nguồn mở an toàn hơn phần mềm sở hữu độc quyền vì lỗi được xác định và sửa lỗi nhanh chóng.
- Vì phần mềm nguồn mở thuộc phạm vi công cộng, có rất ít khả năng nó có thể trở nên không có sẵn. Điều này rất quan trọng đối với các dự án dài hạn dựa vào các công cụ này trong suốt thời gian của dự án.
- Hầu hết các phần mềm là miễn phí. Tuy nhiên, chi phí có thể phát sinh sau đó, chẳng hạn như đăng ký hoặc phí hỗ trợ.
Các loại phần mềm nguồn mở phổ biến
Các công nghệ mã nguồn mở đã giúp thiết lập phần lớn Internet. Hơn nữa, nhiều chương trình bạn và tôi sử dụng hàng ngày dựa trên các công nghệ nguồn mở. Ví dụ, hệ điều hành Android và OS X của Apple dựa trên hạt nhân và công nghệ mã nguồn mở Unix / BSD, tương ứng.
Phần mềm nguồn mở phổ biến khác là:
- Trình duyệt web Firefox của Mozilla
- Ứng dụng email Thunderbird
- Ngôn ngữ kịch bản PHP
- Ngôn ngữ lập trình Python
- Máy chủ web Apache HTTP
- hệ thống cơ sở dữ liệu
Nguồn mở và nhà phát triển
Các dự án PMNM là cơ hội hợp tác để cải thiện kỹ năng và xây dựng các kết nối trong lĩnh vực này. Các nhà phát triển phải thành thạo với các công cụ chuẩn của phát triển nguồn mở.
- Công cụ giao tiếp - Email, nhắn tin theo thời gian thực, diễn đàn và wiki giúp các nhà phát triển tìm ra giải pháp hoặc đưa ra ý tưởng cho nhau.
- Hệ thống kiểm soát sửa đổi phân tán - Khi nhiều nhà phát triển ở các vị trí địa lý khác nhau sửa đổi dữ liệu và tệp, các hệ thống này quản lý các phiên bản và bản cập nhật khác nhau.
- Trình theo dõi lỗi và danh sách tác vụ - Cho phép các dự án quy mô lớn theo dõi các vấn đề và theo dõi các bản sửa lỗi của chúng.
- Công cụ kiểm tra và gỡ lỗi - Tự động kiểm tra trong quá trình tích hợp hệ thống và gỡ lỗi các chương trình khác.
Phần kết luận
Hàng ngàn dự án nguồn mở là lựa chọn thay thế cho phần mềm sở hữu độc quyền. Làm việc trên một dự án PMNM như một con đường để xây dựng một nghề nghiệp trong phát triển phần mềm. Ngoài ra, các lập trình viên có thể trau dồi kỹ năng của mình bằng cách làm việc trên các chương trình phần mềm lớn nhất thế giới. Phần mềm phát hành Facebook, Google và LinkedIn dưới dạng Nguồn mở, vì vậy các nhà phát triển có thể chia sẻ kiến thức, đổi mới các giải pháp và đóng góp cho các sản phẩm ổn định, chức năng.