- Package:
- licensecheck
- Source:
- licensecheck
- Submitter:
- Dmitry Smirnov
- Date:
- 2023-05-14 12:15:06 UTC
- Severity:
- normal
licensecheck incorrectly detect the license of the attached file as BSD (2 clause) when it is really BSD (3 clause), see http://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22New_BSD_License.22_or_.22Modified_BSD_License.22.29 Regards, Dmitry.
It looks very much /not/ BSD-3, so far as I can see.
The standard third clause, as per the link you quoted above is of the
form:
* Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote
products
derived from this software without specific prior written
permission.
whereas the file you attached says
* The name of the contributors may be used to endorse or promote
products
derived from this software without specific prior written
permission.
That's different enough to make it a different license, imo. Obviously
my co-maintainers may disagree.
Regards,
Adam
Hi Adam, You might be right, I've noticed that third clause is slightly different. The question is still why is it detected as 2-clause when the number of clauses, technically speaking, is three. 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? Regards, Dmitry.
Well, it's basically the exact inverse of the usual clause. :)
It's not about the number of clauses, it's about their content. Each of
the clauses has a well-known structure.
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
I see your point. I'm practically convinced but out of curiosity I'd like to see another another response to this. Otherwise please feel free to close at your discretion. Thank you. Regards, Dmitry.
retitle 688843 [licensecheck] detects modified BSD license as BSD-2-clause thanks Am Mittwoch, den 26.09.2012, 20:37 +1000 schrieb Dmitry Smirnov: but a BSD-2-clause license with an additional clause. A BSD-2-clause license is not equivalent to a BSD-2-clause license with an additional clause. This additional clause could specify anything. I consider it a bug that this license is detected as 'BSD-2-clause'. It should be detected as 'modified BSD-2-clause' or as 'modified BSD'. PS: It's called BSD, not BDS. ;) PPS: Patches are always welcome. :)
I started working on patches and found so many bugs... Just to confirm that this bug is legitimate, there is a case when classic BSD-3-clause text is detected as BSD-2-clause by licensecheck:----- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of AbiSource Corporation B.V. nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY ABISOURCE CORPORATION B.V. AND OTHER CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ABISOURCE CORPORATION B.V OR OTHER CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----- I think I know how to fix it. I will provide a patch soon.
Good morning, Attached please find your PDF account statement and invoice as of 05/11/2023. Please notice you have a past due balance for invoice IN0099203. Please provide payment as soon as possible. Best Regards, Shawneen Chisholm Accounts Receivable Coordinator UNITED RENTALS, INC. Branch L02 BONNYVILLE 4920 56TH AVE BONNYVILLE AB T9N 2N8 CA 780-826-7610 CONFIDENTIALITY NOTICE: The contents of this email message and any attachments are intended solely for the addressee(s). This may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message, please alert the sender immediately by reply email and then delete this message and any attachments. Any disclosure, reproduction, distribution or other use of this message or any attachments by an individual or entity other than the intended recipient is prohibited