Hướng dẫn paid python libraries - thư viện python trả phí

GPL cũng không phải là vấn đề nếu bạn cung cấp mã nguồn cho người mua của bạn (và chỉ cho họ). Nguồn mở không cấm bán.

Nội dung chính ShowShow

  • Pypi là gì?
  • Tiểu sử
  • Làm thế nào là cấp phép trong hệ sinh thái Python?
  • Các loại giấy phép
  • Phân tích các loại cấp phép
  • Giấy phép phổ biến nhất cho các gói Python
  • Những gì bạn nên làm bây giờ!
  • Đọc thêm
  • Phương pháp
  • Thư viện Python có bản quyền không?
  • Thư viện Python là bao nhiêu?
  • Có phải tất cả các gói python là nguồn mở?
  • Các gói PYPI có miễn phí không?

Vấn đề duy nhất là bạn không thể nói với người mua của mình không chia sẻ mã. Họ đã mua nó - họ có thể tự do vượt qua nó

Hãy tưởng tượng rằng bạn đã cài đặt một gói Python ngẫu nhiên từ PYPI. Có một cơ hội tốt 13,5% rằng gói không có thông tin cấp phép. Xem xét nó không phải là hiếm khi có hàng trăm phụ thuộc và phụ thuộc phụ trong một ứng dụng Python điển hình, có một cơ hội rất tốt để sử dụng mã không có giấy phép. Tùy thuộc vào bối cảnh, hậu quả của việc sử dụng phần mềm không có giấy phép có thể là bất cứ nơi nào từ không đáng kể đến thảm họa. OK, đó là một phạm vi hoang dã, vì vậy bài đăng này sẽ đào sâu hơn vào vấn đề này.

Pypi là gì?

Tiểu sử

Tiểu sử

Làm thế nào là cấp phép trong hệ sinh thái Python?

Các loại giấy phép

Làm thế nào là cấp phép trong hệ sinh thái Python?

Các loại giấy phép

Các loại giấy phép

Phân tích các loại cấp phép

  • Giấy phép phổ biến nhất cho các gói Python“Copyleft” licenses are a relatively restrictive license type, including the well-known GPL license, its many variations and similar licenses. These allow software to be used for practically any purpose, but require that any modifications you make are also made publicly available. Further, some of the “stronger” copyleft licenses require that code using such licensed software also be made publicly available, in certain circumstances.
  • Những gì bạn nên làm bây giờ!“Permissive” licenses, on the other hand, allow one to modify the software without having to make those modifications public. They are also generally much simpler and include fewer restrictions.
  • Đọc thêm“Public Domain” licenses which generally place no restrictions at all on use.

Phương pháp

Thư viện Python có bản quyền không?

Thư viện Python là bao nhiêu?

Phân tích các loại cấp phép

Hãy cùng xem các loại giấy phép được sử dụng trên PYPI:

Hướng dẫn paid python libraries - thư viện python trả phí

Từ dữ liệu này, chúng ta có thể thấy như sau:

  • Phần lớn các gói trên PYPI, 64%, sử dụng giấy phép cho phép của người dùng, chẳng hạn như giấy phép BSD của MIT, Apache 2.0 và 2 hoặc 3 hoặc 3 điều.64%, use a “permissive” license, such as the MIT, Apache 2.0 and 2- or 3-Clause BSD licenses.64%, use a “permissive” license, such as the MIT, Apache 2.0 and 2- or 3-Clause BSD licenses.
  • 18,5% Sử dụng giấy phép Copyleft mạnh mẽ của người Viking, chẳng hạn như giấy phép GPL và AGPL. use a “strong copyleft” license, such as the GPL and AGPL licenses. use a “strong copyleft” license, such as the GPL and AGPL licenses.
  • 3% Sử dụng giấy phép Copyleft yếu, chẳng hạn như giấy phép LGPL và MPL. use a “weak copyleft” license, such as the LGPL and MPL licenses. use a “weak copyleft” license, such as the LGPL and MPL licenses.
  • Chỉ có 1% sử dụng giấy phép phạm vi công cộng của người Viking, chẳng hạn như CC0, WTFPL và Giấy phép Unlicense.1% use a “public domain” license, such as the CC0, WTFPL and Unlicense licenses.1% use a “public domain” license, such as the CC0, WTFPL and Unlicense licenses.
  • 13,5% don lồng bao gồm bất kỳ giấy phép.

Điều này không có gì đáng ngạc nhiên, vì nó tương tự như các xu hướng chung được thấy trên Github và các kho lưu trữ gói các ngôn ngữ khác.

Giấy phép phổ biến nhất cho các gói Python

Bốn giấy phép thống trị cảnh quan trên PYPI, cụ thể là MIT, mệnh đề BSD-2, GPL-3.0 và Apache-2.0.

Nhiều giấy phép khác cũng được sử dụng phổ biến (được sử dụng bởi ít nhất 100 gói). Trong số này, hai là duy nhất cho hệ sinh thái Python: Giấy phép nền tảng phần mềm Python (PSF) và Giấy phép công cộng Zope (ZPL).

Những gì bạn nên làm bây giờ!

Với việc cấp phép các gói Python trên PYPI, tôi đánh giá cao những điều sau đây:

  • Kiểm tra xem bạn trực tiếp hoặc gián tiếp sử dụng phần mềm sử dụng giấy phép của Copyleft và thoải mái với ý nghĩa của nó đối với mã của bạn.
    1. Nếu bạn viết mã độc quyền (nguồn không mở), thì đây có thể là một trách nhiệm pháp lý nghiêm trọng, đặc biệt là với các giấy phép copyleft mạnh mẽ được sử dụng bởi hơn 18% gói PYPI.
    2. Nếu bạn viết phần mềm nguồn mở, những điều này có thể có nghĩa là bạn sẽ bị buộc phải cấp phép mã của mình theo các điều khoản cấp phép tương tự.
  • Kiểm tra xem có bất kỳ sự phụ thuộc nào của bạn đang thiếu giấy phép.
    1. Nếu bạn cần sửa đổi sự phụ thuộc như vậy, hoặc có thể cần trong tương lai, bạn có thể không được phép theo luật bản quyền.
    2. Các phiên bản trong tương lai của các phụ thuộc như vậy có thể sẽ giới thiệu giấy phép và bạn không thể chắc chắn loại giấy phép sẽ là gì.
  • Thiết lập một công cụ tự động để định kỳ / liên tục kiểm tra việc cấp phép cho các phụ thuộc của bạn.
    1. Trong một dự án, các phụ thuộc trọn đời thường được thêm và thay đổi.
    2. Sự phụ thuộc có thể thay đổi giấy phép giữa các phiên bản, vì vậy nâng cấp phiên bản có thể dẫn đến thay đổi cấp phép.

Đọc thêm

Chúng tôi chỉ cần trầy xước bề mặt; Cấp phép có thể quan trọng với bạn hơn bạn nhận ra và bạn nên đọc thêm! Cân nhắc đọc các chủ đề sau:

  • Nhiều cấp phép (~ 500 gói trên PYPI được nhiều cấp phép)
  • Khả năng tương thích giấy phép
  • Phần mềm không có giấy phép
  • Xem xét và giải thích các giấy phép cho phép phổ biến
  • Mặt pháp lý của nguồn mở, và đặc biệt là phần về việc chọn giấy phép cho phần mềm của bạn.

Phương pháp

Dưới đây là một số chi tiết về cách thu thập và phân tích dữ liệu được tiến hành.

Đầu tiên, tôi đã thu thập siêu dữ liệu của tất cả các gói và tất cả các phiên bản được phát hành của chúng trên PYPI. Điều này đã được thực hiện trong nhiều ngày vào đầu tháng 8 năm 2018. Vào thời điểm đó, có gần 150.000 gói trên PYPI.

Sau đó, tôi đã trích xuất thông tin giấy phép cho từng phiên bản của mỗi gói, từ cả hai trường cấp phép và các trường phân loại trên mạng. Sau đó, tôi đã tổng hợp những thứ đó vào một cấu trúc dữ liệu duy nhất, với các phiên bản được sắp xếp theo cách giải thích kiểu phiên bản ngữ nghĩa.

Tiếp theo tôi làm sạch và bình thường hóa dữ liệu cấp phép. Tôi đã xây dựng trên một phiên bản của một tiêu chuẩn giấy phép SPDX được sử dụng tại SNYK. Tôi đã cải thiện một cách chính xác hóa để nhận ra chính xác một phần lớn của giấy phép, theo sau là tạo ra một ánh xạ lớn các trường hợp đặc biệt để xử lý đuôi dài của các trường hợp đặc biệt.

Sau này, tôi bắt đầu phân tích 18% các gói mà không có giấy phép. Tôi chưa xem các tập tin trong bản phát hành. Tôi đã chọn ngẫu nhiên 50 gói không có giấy phép, tải xuống các bản phát hành mới nhất của họ và tìm kiếm thông tin cấp phép. Sau khi thu thập thông tin này, tôi đã phân loại các gói này thành năm loại như sau:

Chỉ những người thuộc danh mục được cấp phép của người Viking thực sự có giấy phép. Trong số những người theo các hạng mục đào tạo của người Viking, các loại hình vứt bỏ và người giữ chỗ, phần lớn đã bao gồm một số mã và có thể được sử dụng như một sự phụ thuộc, cho dù có mục đích hay do nhầm lẫn (ví dụ: một lỗi đánh máy). Do đó, tôi thấy hợp lý khi xem xét các gói không có giấy phép thích hợp này. Ngoại suy từ mẫu này, tôi đã đưa ra ước tính rằng ~ 18% × 72% = ~ 13,5% các gói PYPI không được cấp phép.

Điều đáng chú ý là tôi đã thực hiện phân tích tương tự cho các gói được cấp phép trên PYPI; Có khả năng là có rất nhiều gói đào tạo của người Viking, người khác, và các gói giữ chỗ của người khác đã đề cập đến một giấy phép. Do đó, có lập trường bảo thủ mà chỉ ~ 18% × 28% = ~ 5% các gói thực tế trên mạng trên PYPI không được cấp phép có thể không chính xác nghiêm trọng. Tôi không có thời gian để thực hiện một phân tích như vậy, thật không may, vì vậy tôi đã bị mắc kẹt với phân tích được mô tả ở trên. Nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào, tôi rất thích nghe từ bạn! Vui lòng liên hệ với tôi trên Twitter tại @Taleinat.If you have any questions or comments, I’d love to hear from you! Please reach out to me on twitter at @taleinat.
If you have any questions or comments, I’d love to hear from you! Please reach out to me on twitter at @taleinat.

Thư viện Python có bản quyền không?

Hầu hết các nguồn Python và nhị phân được phân phối theo bản quyền sau. Một vài tệp có chủ sở hữu bản quyền khác nhau, nhưng nếu không thì thông báo là tương tự. Ý chính của nó là Python hoàn toàn miễn phí, ngay cả đối với sử dụng thương mại (bao gồm cả bán lại).. A few files have a different copyright owner, but otherwise the notice is similar. The gist of it is that Python is absolutely free, even for commercial use (including resale).. A few files have a different copyright owner, but otherwise the notice is similar. The gist of it is that Python is absolutely free, even for commercial use (including resale).

Thư viện Python là bao nhiêu?

Có hơn 137.000 thư viện Python có mặt ngày hôm nay và họ đóng một vai trò quan trọng trong việc phát triển học máy, khoa học dữ liệu, trực quan hóa dữ liệu, ứng dụng thao tác hình ảnh và dữ liệu, v.v.over 137,000 python libraries present today, and they play a vital role in developing machine learning, data science, data visualization, image and data manipulation applications, and more.over 137,000 python libraries present today, and they play a vital role in developing machine learning, data science, data visualization, image and data manipulation applications, and more.

Có phải tất cả các gói python là nguồn mở?

Không.Hầu hết các thư viện chính có sẵn với giấy phép miễn phí để sử dụng thương mại.Trong thực tế, hầu hết trong số chúng thậm chí là nguồn mở, nhưng một số thư viện phức tạp hơn liên quan đến tính toán nặng không dễ sử dụng như các mô -đun Python khác.most of them are even open source, but some of the more complex libraries that involves heavy computation are not as easy to use as other python modules.most of them are even open source, but some of the more complex libraries that involves heavy computation are not as easy to use as other python modules.

Các gói PYPI có miễn phí không?

Hiện tại, PYPI là miễn phí.Hàng trăm ngàn nhà phát triển Python sử dụng kho lưu trữ để tìm và tải xuống các gói.Các gói Python tương tự như các thư viện.Một số gói là miễn phí, các gói khác có giá, nhưng kho lưu trữ có thể truy cập được cho mọi người.. Hundreds of thousands of Python developers use the repository to find and download packages. Python packages are similar to libraries. Some packages are complimentary, other packages have a price, but the repository is accessible to everyone.. Hundreds of thousands of Python developers use the repository to find and download packages. Python packages are similar to libraries. Some packages are complimentary, other packages have a price, but the repository is accessible to everyone.