microsoft / microsoft/winget-pkgs

[New Feature]: Synchronise the multiple terms used for the same licences (e.g. for GPL)

Open
#302,614 1 comment 0 reactions 0 assignees View on GitHub
Issue-Feature Needs-Triage
Dominant language
No language data
Stars
11.1k
Forks
9.7k
PR merge metrics
PR metrics pending

Description

### Description of the new feature/enhancement

Some licences have somewhat inconsistent names throughout this repo's packages, so I presume they could be merged so that each licence type has one `License:` value each.

I've for instance noticed at least 12 names used for for GPL-3.0 in `License` values:
```
GPL-3.0
GPL3
GPLv3
GPL-3
GPL-3.0 License
GPLv3 License
GPL-3 Licence
GPL-3 License
GNU General Public License v3
GNU General Public License v3 (GPLv3)
GNU General Public License v3.0
GNU General Public License v3.0 (GPLv3)
```
GPL-3.0 seems to be used in a large plurality of the packages, and would be the most obvious candidate to become the licence's synchronised `License:` name. But if anyone have other thoughts on the sync name, I'd be all ears.

A little over 1,000 packages seem affected, of which around 380 have those that are not `License: GPL-3.0`.

I presume the same situation applies to GPL-2.0, BSD-3, and to a smaller degree MIT.

### Proposed technical implementation details (optional)

Get a bot to run the following case-insensitive RegExes in the repo:
* (For GPL-3.0 if synced to "GPL-3.0") `^License: (GPL-3( ?Licen[sc]e)?|(GNU )?General Public Licen[sc]e[ -]v?3(\.0)?( ?\(GPLv3\))?|GPLv?3(\.0)?( ?Licen[sc]e)?|GPL-3\.0 ?Licen[sc]e)$` → `License: GPL-3.0`
* (For GPL-2.0 if synced to "GPL-2.0") `^License: (GPL-2( ?Licen[sc]e)?|(GNU )?General Public Licen[sc]e[ -]v?2(\.0)?( ?\(GPLv2\))?|GPLv?2(\.0)?( ?Licen[sc]e)?|GPL-2\.0 ?Licen[sc]e)$` → `License: GPL-2.0`
* I'd be able to calculate for BSD-3 on request.

Contributor guide

Open the contributing guide

Research direction

Start by locating the package manifests containing License values and checking the proposed case-insensitive GPL-3.0 and GPL-2.0 patterns against them. Determine how a bot or bulk-edit process would safely update the affected packages, then verify that all intended variants are normalized without changing unrelated metadata.

Written by the indexing model from the issue text.

Assessment

Domain
content, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.