  Open source software brings benefit to software community, but also
introduces legal risks caused by license violations, which result in serious
consequences such as lawsuits and financial losses. To mitigate legal risks,
some approaches have been proposed to identify licenses, detect license
incompatibilities and inconsistencies, and recommend licenses. As far as we
know, however, there is no prior work to understand modification terms in open
source licenses or to detect and fix violations of modification terms. To
bridge this gap, we first empirically characterize modification terms in 47
open source licenses. These licenses all require certain forms of "notice" to
describe the modifications made to the original work. Inspired by our study, we
then design LiVo to automatically detect and fix violations of modification
terms in open source licenses during forking. Our evaluation has shown the
effectiveness and efficiency of LiVo. 18 pull requests of fixing modification
term violations have received positive responses. 8 have been merged.
