Skip to content

OR identified as AND #3523

Description

@hesa

Description

Looking at Cairo 1.16 and the following file https://cgit.freedesktop.org/cairo/tree/src/cairo-analysis-surface-private.h?h=1.16.0

The file has the following license text at the top:

..... snip
 * This library is free software; you can redistribute it and/or                                                                                                                                                   
 * modify it either under the terms of the GNU Lesser General Public                                                                                                                                               
 * License version 2.1 as published by the Free Software Foundation                                                                                                                                                
 * (the "LGPL") or, at your option, under the terms of the Mozilla                                                                                                                                                 
 * Public License Version 1.1 (the "MPL").                                                                                                                                                                  
.... snip

The interesting part is "GNU Lesser General Public License version 2.1 as published by the Free Software Foundation (the "LGPL") or, at your option, under the terms of the Mozilla Public License Version 1.1 (the "MPL"). "

Reported license Scancode version 31.2.6:
"license_expressions": [ "lgpl-2.1 OR mpl-1.1" ]

Reported license Scancode version 32.0.6:

      "detected_license_expression": "lgpl-2.1 AND mpl-1.1",
      "detected_license_expression_spdx": "LGPL-2.1-only AND MPL-1.1",

So, Scancode 32.0.6 does not correctly identify "or, at your option" as "OR".

How To Reproduce

Download and unpack https://www.cairographics.org/releases/cairo-1.16.0.tar.xz

My settings/command line args for 32.0.6:

  "headers": [
    {
      "tool_name": "scancode-toolkit",
      "tool_version": "31.2.6",
      "options": {
        "input": [
          "cairo-1.16.0"
        ],
        "--classify": true,
        "--copyright": true,
        "--email": true,
        "--info": true,
        "--json-pp": "cairo-1.16.0-scan.json",
        "--license": true,
        "--license-clarity-score": true,
        "--license-text": true,
        "--license-text-diagnostics": true,
        "--package": true,
        "--processes": "16",
        "--summary": true
      },
....snip

My settings/command line args for 32.0.6:

  "headers": [
    {
      "tool_name": "scancode-toolkit",
      "tool_version": "32.0.6",
      "options": {
        "input": [
          "cairo-1.16.0"
        ],
        "--classify": true,
        "--copyright": true,
        "--email": true,
        "--info": true,
        "--json-pp": "cairo-1.16.0-scancode-32.0.06-scan.json",
        "--license": true,
        "--license-clarity-score": true,
        "--license-text": true,
        "--license-text-diagnostics": true,
        "--package": true,
        "--processes": "16",
        "--summary": true
      },
 .... snip

System configuration

Scancode:

$ pip list | grep scancode
scancode-toolkit            32.0.6

OS:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions