Hierarchical clustering of OSS license statements toward automatic generation of license rules

Yunosuke Higashi, Masao Ohira, Yutaro Kashiwa, Yuki Manabe

Research output: Contribution to journalArticlepeer-review

Abstract

Reusing open source software (OSS) components for one’s own software products has become common in the modern software development. Automated license identification tools have been proposed to help developers identify OSS licenses, since a large number of licenses sometimes must be checked before attempting to reuse. Of the existing tools, Ninka [1] can most correctly identify licenses of each source file by using regular expressions. In case Ninka does not have license identification rules for unknown licenses, Ninka reports these as “unknown licenses” which must be checked by developers manually. Since completely-new or derived OSS licenses appear nearly every year, a license identification tool should be appropriately maintained by adding regular expressions corresponding to the new licenses. The final goal of our study is to construct a method to automatically create candidate license rules to be added to a license identification tool such as Ninka. Toward achieving the goal, files identified as unknown licenses must be classified by license firstly. In this paper, we propose a hierarchical clustering which divides unknown licenses into clusters of files with a single license. We conduct a case study to confirm the usefulness of our clustering method when it is applied for classifying 2,801, 1,230 and 2,446 unknown license statement files for Linux Kernel v4.4.6, FreeBSD v10.3.0 and Debian v7.8.0 respectively. As a result, it is confirmed that our method can create clusters which are suitable as candidates for generating license rules automatically.

Original languageEnglish
Pages (from-to)42-50
Number of pages9
JournalJournal of information processing
Volume27
DOIs
Publication statusPublished - 2019
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Hierarchical clustering of OSS license statements toward automatic generation of license rules'. Together they form a unique fingerprint.

Cite this