[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