Я скачал 1400+ пакетов, чтобы улучшить 1

Я поддерживаю Python-пакет license_scanner. Он сканирует все установленные пакеты и определяет, какие лицензии необходимы. Хотя я протестировал его на некоторых проектах, я решил пойти на крайние меры и установил 1478 пакетов, чтобы выяснить, какие лицензии он еще не покрывает. В результате получилось окружение conda объемом 12 ГБ.

import requests
import subprocess

top_packages_url = (
    r"https://hugovk.github.io/top-pypi-packages/top-pypi-packages-30-days.min.json"
)

top_packages = requests.get(top_packages_url).json()

all_packages = [i["project"] for i in top_packages["rows"]]

for package in all_packages:
    subprocess.run(f"pip install {package}")

Это сценарий, используемый для установки пакетов. Он был прерван преждевременно, так как у меня закончилось терпение.

Анализ всех пакетов без лицензии позволил выявить 6 новых лицензий: Zope, unlicensed, Azure license, CC0, MIT-0 и DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE. Это также привело к улучшению охвата некоторых существующих лицензий. В итоге, 15 из 1478 пакетов по-прежнему имеют неясную лицензию, которая не была правильно или четко заполнена при создании этих пакетов.

Обзор лицензий

Учитывая, что теперь у меня есть эти данные, давайте создадим красивую круговую диаграмму. Я хочу увидеть, какая лицензия используется большинством пакетов. Хочу отметить, что лицензия BSD очень популярна. Сюда входят версии с 4, 3, 2 и 0 пунктами. Однако 4-ое положение очень непопулярно, потому что оно требует, чтобы каждый, кто использует ваше программное обеспечение, указывал это в своей рекламе.

Я скачал 1400+ пакетов, чтобы улучшить 1
Обзор количества пакетов по лицензиям. Наибольшее количество пакетов использует MIT – 42% пакетов. Исходный код: https://gist.github.com/wagenrace/d5fd3c25d4b5767457b09f9bdb20823d

Ниже приведены те же данные, но в виде списка с числами.

MIT license: 42.22%
Apache license 2.0: 20.97%
BSD license: 13.67%
Apache license: 6.09%
BSD 3-clause license: 5.82%
UNKNOWN: 1.01%
other/proprietary license: 1.01%
ISC license (iscl): 0.88%
Mozilla public license 2.0 (mpl 2.0): 0.81%
Python software foundation license: 0.81%
Azure License: 0.81%
BSD 2-clause license: 0.74%
GNU lesser general public license v3 (lgplv3): 0.74%
GNU lesser general public license: 0.74%
GNU general public license v2 (gplv2): 0.68%
GNU general public license: 0.54%
GNU general public license v3 (gplv3): 0.41%
Zope Public License v2: 0.41%
Public domain: 0.41%
GNU lesser general public license v2 (lgplv2): 0.34%
The Unlicense (Unlicense): 0.27%
MIT No Attribution: 0.14%
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE: 0.07%
Historical Permission Notice and Disclaimer (HPND): 0.07%
GNU Affero general public license v3 (aplv3): 0.07%
Zope Public License: 0.07%
Eclipse public license 2.0 (epl-2.0): 0.07%
Creative Commons Zero, CC-0: 0.07%
Mozilla public license (mpl): 0.07%

Заключение

Экстремальный тест иногда бывает лучшим. Хотя у меня все еще есть 1,01% Unknown, я считаю, что это вполне приемлемое число.

+1
0
+1
1
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *