ModMenu icon indicating copy to clipboard operation
ModMenu copied to clipboard

Automatically detect license links

Open UpcraftLP opened this issue 1 year ago • 4 comments

Currently, the only way to specify a custom license is to use "license": "https://some-url". While this works fine, modmenu will display it verbatim without the link being clickable.

It would be nice to change this, maybe a simple check like "does the license start with http:// or https://"

UpcraftLP avatar Jun 07 '24 08:06 UpcraftLP

Another solution could be to introduce a new key for the links object. For example:

"custom": {
	"modmenu": {
		"links": {
			"modmenu.license": "https://some-url"
		}
	}
}

The license is generally meant to be a SPDX identifier, which this format would allow. In addition, the license name and link could differ.

haykam821 avatar Jun 07 '24 19:06 haykam821

The license is generally meant to be a SPDX identifier, which this format would allow. In addition, the license name and link could differ.

That is impossible for custom licenses.

UpcraftLP avatar Jun 08 '24 10:06 UpcraftLP

I don't believe a link is a valid identifier of a license, the spec is vague and doesn't fully specify but it does recommend using SPDX identifiers. You can denote a custom license in SPDX format using LicenseRef-<some sort of identifier>.

I've brought it up with the Fabric team and I think in v2 they will add support for links and custom names for licenses. I'd be open to adding my own license link field in Mod Menu metadata until that happens though.

Prospector avatar Jun 18 '24 17:06 Prospector

I don't believe a link is a valid identifier of a license, the spec is vague and doesn't fully specify but it does recommend using SPDX identifiers. You can denote a custom license in SPDX format using LicenseRef-<some sort of identifier>.

That leads to a worse user experience, imo, as now you would somehow magically need to know where to find "MyCustomLicense". Plus, the current situation is that people are already using links (the spec allows arbitrary strings, which includes strings that are valid URLs), and as such, I think modmenu should support that without needing extra work.

UpcraftLP avatar Jun 18 '24 19:06 UpcraftLP