diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 00000000..e162fdf5 --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,25 @@ +# Authors + +GeophysicalModelGenerator.jl's development is coordinated by a group of *principal developers*, +who are also its main contributors and who can be contacted in case of +questions about GeophysicalModelGenerator.jl. In addition, there are *contributors* who have +provided substantial additions or modifications. Together, these two groups form +"The GeophysicalModelGenerator.jl Authors" as mentioned in the [LICENSE.md](LICENSE.md) file. + +## Principal Developers +* [Boris Kaus](https://www.geosciences.uni-mainz.de/geophysics-and-geodynamics/team/univ-prof-dr-boris-kaus/), + Johannes Gutenberg University Mainz, Germany +* [Marcel Thielmann](https://quakeid.github.io/author/marcel-thielmann/), + Bayerisches Geoinstitut, University of Bayreuth, Germany + + +## Contributors +The following people contributed major additions or modifications to GeophysicalModelGenerator.jl and +are listed in alphabetical order: + +* Pascal Aellig +* Luca De Siena +* Andrea Piccolo +* Christian Schuler +* Arne Spang +* Tatjana Weiler diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..8a1dfa1d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,131 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to +[Boris Kaus](https://www.geosciences.uni-mainz.de/geophysics-and-geodynamics/team/univ-prof-dr-boris-kaus/), +[Marcel Thielmann](https://www.staff.uni-bayreuth.de/~bt303651/), +or any other of the principal developers responsible for enforcement listed in +[AUTHORS.md](AUTHORS.md). +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..2d3d08cc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,54 @@ +# Contributing + +GeophysicalModelGenerator.jl is an open-source project and we are very happy to accept contributions +from the community. Please feel free to open issues or submit patches (preferably +as pull requests) any time. For planned larger contributions, it is often +beneficial to get in contact with one of the principal developers first (see +[AUTHORS.md](AUTHORS.md)). + +GeophysicalModelGenerator.jl and its contributions are licensed under the MIT license (see +[LICENSE.md](LICENSE.md)). As a contributor, you certify that all your +contributions are in conformance with the *Developer Certificate of Origin +(Version 1.1)*, which is reproduced below. + +## Developer Certificate of Origin (Version 1.1) +The following text was taken from +[https://developercertificate.org](https://developercertificate.org): + + Developer Certificate of Origin + Version 1.1 + + Copyright (C) 2004, 2006 The Linux Foundation and its contributors. + 1 Letterman Drive + Suite D4700 + San Francisco, CA, 94129 + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + + Developer's Certificate of Origin 1.1 + + By making a contribution to this project, I certify that: + + (a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + + (b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + + (c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + + (d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. diff --git a/LICENSE b/LICENSE.md similarity index 92% rename from LICENSE rename to LICENSE.md index b4f733c8..89bc148a 100644 --- a/LICENSE +++ b/LICENSE.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 Boris Kaus, Marcel Thielmann, JuliaGeodynamics development team +Copyright (c) 2021 Boris Kaus, Marcel Thielmann and Authors (see AUTHORS.md) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/docs/make.jl b/docs/make.jl index c01b742c..bd96f315 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -4,6 +4,53 @@ using Documenter #DocMeta.setdocmeta!(GeophysicalModelGenerator, :DocTestSetup, :(using GeophysicalModelGenerator); recursive=true) +# Get GeophysicalModelGenerator.jl root directory +GMG_root_dir = dirname(@__DIR__) + +# Copy list of authors to not need to synchronize it manually +authors_text = read(joinpath(GMG_root_dir, "AUTHORS.md"), String) +authors_text = replace(authors_text, "in the [LICENSE.md](LICENSE.md) file" => "under [License](@ref)") +write(joinpath(@__DIR__, "src", "man", "authors.md"), authors_text) +#Contributing +contributing = read(joinpath(GMG_root_dir, "CONTRIBUTING.md"), String) +write(joinpath(@__DIR__, "src", "man", "contributing.md"), contributing) + +# Copy some files from the repository root directory to the docs and modify them +# as necessary +# Based on: https://github.com/ranocha/SummationByPartsOperators.jl/blob/0206a74140d5c6eb9921ca5021cb7bf2da1a306d/docs/make.jl#L27-L41 +open(joinpath(@__DIR__, "src", "man", "code_of_conduct.md"), "w") do io + # Point to source license file + println(io, """ + ```@meta + EditURL = "https://github.com/JuliaGeodynamics/GeophysicalModelGenerator.jl/blob/main/CODE_OF_CONDUCT.md" + ``` + """) + # Write the modified contents + println(io, "# [Code of Conduct](@id code-of-conduct)") + println(io, "") + for line in eachline(joinpath(dirname(@__DIR__), "CODE_OF_CONDUCT.md")) + line = replace(line, "[AUTHORS.md](AUTHORS.md)" => "[Authors](@ref)") + println(io, "> ", line) + end +end +open(joinpath(@__DIR__, "src", "man", "contributing.md"), "w") do io + # Point to source license file + println(io, """ + ```@meta + EditURL = "https://github.com/JuliaGeodynamics/GeophysicalModelGenerator.jl/blob/main/CONTRIBUTING.md" + ``` + """) + # Write the modified contents + println(io, "# [Contributing](@id contributing)") + println(io, "") + for line in eachline(joinpath(dirname(@__DIR__), "CONTRIBUTING.md")) + line = replace(line, "[LICENSE.md](LICENSE.md)" => "[License](@ref)") + line = replace(line, "[AUTHORS.md](AUTHORS.md)" => "[Authors](@ref)") + # line = replace(line, "[AUTHORS.md](AUTHORS.md)" => "[Authors](@ref)") + println(io, "> ", line) + end + end + makedocs(; modules=[GeophysicalModelGenerator], authors="Marcel Thielmann, Boris Kaus", @@ -26,7 +73,7 @@ makedocs(; "ISC earthquake data" => "man/tutorial_ISC_data.md", "Plot GPS vectors" => "man/tutorial_GPS.md", "Read UTM data" => "man/tutorial_UTM.md", - "VoteMaps" => "man/Tutorial_Votemaps.md", + "VoteMaps" => "man/Tutorial_Votemaps.md", "Kilometer-scale volcano" => "man/tutorial_local_Flegrei.md", "Generating LaMEM model" => "man/LaPalma_example.md", "Create movies" => "man/tutorial_time_Seismicity.md" @@ -43,8 +90,11 @@ makedocs(; "LaMEM" => "man/lamem.md", "Profile Processing" => "man/profile_processing.md" ], - "List of functions" => "man/listfunctions.md" - ], + "List of functions" => "man/listfunctions.md", + "Authors" => "man/authors.md", + "Contributing" => "man/contributing.md", + "Code of Conduct" => "man/code_of_conduct.md" + ], ) deploydocs(; @@ -56,4 +106,3 @@ deploydocs(; forcepush=true, push_preview = true ) - diff --git a/docs/paper/paper.md b/docs/paper/paper.md index 02aae798..b250d2b3 100644 --- a/docs/paper/paper.md +++ b/docs/paper/paper.md @@ -20,13 +20,13 @@ authors: orcid: 0000-0002-3615-5923 affiliation: 3 - name: Pascal Aellig - #orcid: 0000-0003-1185-3730 + orcid: 0009-0008-9039-5646 affiliation: 1 - name: Jacob Frasukiewicz #orcid: 0000-0003-1185-3730 affiliation: 1 affiliations: - - name: Johannes Gutenberg University Mainz, Germany + - name: Johannes Gutenberg University Mainz, Germany index: 1 - name: University of Bayreuth, Germany index: 2 @@ -116,4 +116,4 @@ Figure sizes can be customized by adding an optional second parameter: We acknowledge contributions from Brigitta Sipocz, Syrtis Major, and Semyeong Oh, and support from Kathryn Johnston during the genesis of this project. -# References \ No newline at end of file +# References