OpenSourceOrg / licenses

machine readable OSI license information
https://opensource.org/licenses/
Other
83 stars 39 forks source link

Question: What are the steps to add a new license already on the OSI website? #64

Open goneall opened 3 years ago

goneall commented 3 years ago

There are some licenses on the OSI website which are not present in the metadata (e.g. 0BSD).

I noticed a folder licenses/autogenerated that contain metadata for other licenses on the OSI website. Is there a script that generates these licenses from the OSI website I should run and check before adding the data in the licenses/manual folder?

Should I also copy the raw text into the texts folder?

Once I understand the steps, I can create a PR to add the documentation to the CONTRIBUTING.md file.

webmink commented 3 years ago

I believe the goal is to make this resource the definitive reference, so new licenses need to be added manually here. In time I very much hope that the OSI web pages will be auto-generated from this data, rather than the other way round, so I'd not invest any effort devising tools to automate the reverse (not least because there is no consistent standard for the data currently on the OSI website anyway).

We probably need to have @smaffulli add a step to the post-approval workflow for the OSI Board to raise an issue here - we could then test it on the JAM license when the board approves it. One of us can then build a PR for which we can then merge after consensus. In time maybe the pre-approval workflow will get integrated, but that's way ahead of where we are :-)

goneall commented 3 years ago

Once this is the authoritative source of OSI license data, we should rethink how the SPDX data is integrated. I plan to generate the OSI Approved flag from this repo, so generating it use the scrape utility will no longer work since that would create a circular process.

Since all of my issues relate to inconsistencies between the SPDX license data and the OSI license data, I plan on developing a Python script to add a license from the SPDX data to this repository.

Something like:

addOsiApproveFromSpdx [spdxId]

where the spdxId is an SPDX identifier.

It would create the same metadata as if I was manually adding a license. I would then manually edit the resultant JSON file to add any missing OSI relevant metadata.

Is there any interest in having this script added to this repo? If so, I'll create a PR when done.

webmink commented 3 years ago

I believe there will be interest, yes. I just added @paultag and @zacchiro back in to the project (don't ask) and I'm sure they will have a view on this.

goneall commented 3 years ago

I added PR #68 with the SPDX import script.

goneall commented 3 years ago

Once PR #68 is merged, I'll create a PR with an updated CONTRIBUTING.md with steps to submit or update new license metadata based on what I've learned.