[devel] automatic License
Alexey Gladkov
legion на altlinux.ru
Вс Авг 30 18:21:34 MSK 2020
On Sun, Aug 30, 2020 at 03:44:23PM +0300, Igor Vlasenko wrote:
> On Sun, Aug 30, 2020 at 12:09:17PM +0200, Alexey Gladkov wrote:
> > > Гм. действительно. Вылетело из головы, когда писал.
> > > Надо будет добавить поиск в исходниках соответствующих
> > > юридических оборотов в библиотеку SourceAnalyzer.
> >
> > Я не видел ни одного проекта, который бы проверял лицензию правильно. Даже
> > в гугле [1] считают расстояние левенштейна для текстов лицензий.
> > [1] https://github.com/google/licenseclassifier/
>
> Спасибо, занес себе в закладки.
> Но расстояние левенштейна это для всяких патологических
> случаев, вроде MIT-подобных лицензий, и то,
> для их прореживания есть рабочие хаки.
Расстояние левенштейна не подходит совсем для лицензий. Если я в лицензию
добавлю три символа ("permitted" -> "not permitted"), то лицензия
изменится на противоположную, а расстояние левенштейна будет утверждать,
что тексты на 99% одинаковые.
> В отличие от гугла, мне нужен не полный охват,
> а охват типичных случаев. Нетипичные слусаи можно обработать и вручную.
В этом плане 'diff -wB ...' будет вести себя правильнее при условии
дополнительной обработки адресов и синонимов.
А вот если лицензий больше одной, то будет очень сложно понять это "и" или
"или".
Вот и получается, что тривиальные случаи мантейнер и сам без труда
выставит, а сложные только мантейнер (и то не всегда) сможет разобрать.
Если за роботом всё равно нужно будет перепроверять (а это нужно будет
делать в любом случае), то в таком роботе я не вижу смысла.
--
Rgrds, legion
Подробная информация о списке рассылки Devel