Bug#688843: licensecheck: detect BDS-3-clause as BSD-2-clause

Adam D. Barratt adam at adam-barratt.org.uk
Wed Sep 26 08:30:50 UTC 2012


On 26.09.2012 09:14, Dmitry Smirnov wrote:
> You might be right, I've noticed that third clause is slightly 
> different.

Well, it's basically the exact inverse of the usual clause. :)

> The question is still why is it detected as 2-clause when the number 
> of
> clauses, technically speaking, is three.

It's not about the number of clauses, it's about their content. Each of 
the clauses has a well-known structure.

> I'm not sure if the change in the third clause is significant enough 
> to
> declare it 2-clause.
>
> Also if BSD-2-clause is a fallback from unidentified BSD-like license
> the we have a bug in detection algorithm aren't we?

It has to be quite close, not just "BSD-like". The code's fairly 
readable :-)

if ($licensetext =~ /THIS SOFTWARE IS PROVIDED .*AS IS AND ANY EXPRESS 
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY/) {
   if ($licensetext =~ /All advertising materials mentioning features or 
use of this software must display the following acknowledge?ment.*This 
product includes software developed by/i) {
     $license = "BSD (4 clause) $license";
   } elsif ($licensetext =~ /(The name .*? may not|Neither the names? 
.*? nor the names of (its|their) contributors may) be used to endorse or 
promote products derived from this software/i) {
     $license = "BSD (3 clause) $license";
   } elsif ($licensetext =~ /Redistributions of source code must retain 
the above copyright notice/i) {
     $license = "BSD (2 clause) $license";
   } else {
     $license = "BSD $license";
   }
}

I think my opinion here is fairly clear at the moment, but I'm also not 
the most active of the maintainers right now, so I'll leave things to 
see if any of the others comment.

Regards,

Adam



More information about the devscripts-devel mailing list