Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial codemeta.json #1028

Merged
merged 2 commits into from
Feb 14, 2023

Conversation

ChristianTackeGSI
Copy link
Member

codemeta.json is becoming a standard format for describing software. Let's start to add it.

This is also starting to get relevant in the context of ESCAPE.

I created the current codemeta.json to match the entry on zenodo as closely as possible. That means, that any issues with the zenodo entry are also issues with the codemeta data.

Helpful:


Checklist:

@ChristianTackeGSI
Copy link
Member Author

If you need more details, or have any other questions, you might consider waiting until Monday's Group Meeting. I have allocated a short slot there.

@dennisklein dennisklein marked this pull request as draft March 24, 2021 14:27
@dennisklein dennisklein added this to the v19.2 milestone Mar 24, 2021
@dennisklein
Copy link
Member

Let's continue here once FairRootGroup/FairMQ#324 is merged and update accordingly.

@dennisklein dennisklein modified the milestones: v19.2, v19.0 Sep 10, 2021
@dennisklein
Copy link
Member

dennisklein commented Sep 10, 2021

I suggest to follow up on this by:

  • Rebase on current dev branch
  • Define the authoritative place for the version number
    a. Keep it in CMakeLists.txt or
    b. CMake queries version number from codemeta.json
  • Adopt codemeta_update.py from FairMQ repo (in case of b probably can be stripped down to the author logic only)
  • Add a release checklist for maintainers so we do not forget to press this button from time to time
  • CI consistency check welcome too

Regarding the authoritative place for the version number, I personally have no preference whether to go with options a or b. @fuhlig1 @ChristianTackeGSI What is your preference?

@dennisklein dennisklein changed the title Start to add codemeta.json Add codemeta.json Sep 10, 2021
@dennisklein dennisklein added documentation feature need-feedback:maintainer Need feedback by maintainer/author/codeowner labels Sep 10, 2021
@ChristianTackeGSI
Copy link
Member Author

Regarding authoritative storage of the version number, I have no strong opinion.

If we adopt codemeta_update.py anyway, using CMakeLists.txt as the authoritative source might seem simpler (and doesn't require a very recent CMake version).

The other way round might have its positive sides as well.
I personally would for example move the author / maintainer info fully into codemeta.json and drop the simple text files. Putting the version there as well would make codemeta.json fully authoritative and wouldn't require it to be updated at all.

@dennisklein
Copy link
Member

I personally would for example move the author / maintainer info fully into codemeta.json and drop the simple text files.

For the authors I dislike that the json file will hide this info much more IMHO. I find the authors deserve the visibility they get by those capitalized-and-easy-to-find, dead-simple-to-read CONTRIBUTORS/AUTHORS files.

@ChristianTackeGSI
Copy link
Member Author

First: The "personally" part was exactly that, highly personal. I can see all good reasons to consider json a machine format and not a format for humans! That's why we have codemeta_update.py.

My "problem" with the dead-simple-to-read files is the ad-hoc format. How would you store an ORCID in it, just to name an example.

@rbx
Copy link
Member

rbx commented Sep 14, 2021

I also prefer CONTRIBUTORS and AUTHORS files. It seems much more common and is something I would look for first if I wanted to find the authors.

@dennisklein
Copy link
Member

My "problem" with the dead-simple-to-read files is the ad-hoc format. How would you store an ORCID in it, just to name an example.

Jane Doe <https://orcid.org/0000-0000-0000-0000>

?

@dennisklein dennisklein removed the need-feedback:maintainer Need feedback by maintainer/author/codeowner label Sep 24, 2021
@dennisklein
Copy link
Member

In the last group meeting on 20.9. we (@karabowi, @TobiasStockmanns, @rbx, @ChristianTackeGSI, and myself) agreed to keep the files AUTHORS and CONTRIBUTORS with a simple one line human-readable format as today. Whether those files are generated from the author lists in the codemeta.json file or the other way around is up to the implementer of the codemeta.json facility (probably @ChristianTackeGSI 😉).

@karabowi karabowi marked this pull request as ready for review September 22, 2022 12:43
@karabowi karabowi marked this pull request as draft September 22, 2022 12:44
codemeta.json is becoming a standard format for describing
software. Let's start to add it.

This is also starting to get relevant in the context of
ESCAPE.
@ChristianTackeGSI
Copy link
Member Author

@kresan

I added your ORCID to AUTHORS (in its own commit).

I suggest, that we merge this PR mostly as is, so that we have an initial codemeta to start out. I have moved the big TODO list into #1351 so that we can incrementally get forward with this.

@ChristianTackeGSI ChristianTackeGSI changed the title Add codemeta.json Add initial codemeta.json Feb 14, 2023
Copy link
Contributor

@kresan kresan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good as initial version. We can merge it.

@ChristianTackeGSI ChristianTackeGSI merged commit f4f6d96 into FairRootGroup:dev Feb 14, 2023
@ChristianTackeGSI ChristianTackeGSI deleted the pr/codemeta branch February 14, 2023 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants