diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..3d51887 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,33 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +To create an open and welcoming environment, we, both contributors and maintainers, commit to ensuring that participation in our project and community is free from harassment for everyone. + +## Our Standards + +This project operates in accordance with the [Linux Foundation Code of Conduct](code-of-conduct). + +## Our Responsibilities + +Project maintainers set the standards for acceptable behavior and must respond fairly and appropriately to any unacceptable actions. + +They have the authority and duty to delete, change, or refuse comments, code changes, documentation edits, problem reports, and other contributions that don't follow the [Code of Conduct](code-of-conduct). They can also temporarily or permanently ban any contributor for behaviors they consider inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct must be followed in project areas and in public when someone represents the project or its community. Examples of representation include using a project's official email, posting on official social media accounts, or being a designated representative at events, online or offline. Project maintainers may further specify what counts as representing the project. + +## Enforcement + +If you experience or witness abusive, harassing, or otherwise unacceptable behavior, you can report it by emailing the project team at ken@indicio.tech. We will review and investigate all complaints, leading to a necessary and appropriate response based on the situation. The project team will keep the reporter’s identity confidential. We may publish more details on our enforcement policies separately. + +Project maintainers who fail to uphold or enforce the [Code of Conduct](code-of-conduct) properly may be subject to temporary or permanent consequences, as decided by the project’s leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], [version 1.4](version). + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ +[code-of-conduct]: https://docs.linuxfoundation.org/lfx/mentorship/mentor-guide/code-of-conduct diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000..b170a88 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,35 @@ +## Contributor's Guide TODO: + +Thanks for your interest in the project! We welcome pull requests from +developers of all skill levels. + +If you would like to contribute but don't already have something in mind, +we invite you to take a look at our roadmap list. If you see one you'd like +to work on, please leave a quick comment so that we don't end up with +duplicated effort. Thanks in advance! + +Please note that all contributors and maintainers of this project are subject to our [Code of Conduct][coc]. + +### Pull Requests + +Before submitting a pull request, please ensure you have added or updated tests as appropriate, and that all existing tests still pass with your changes. Please also ensure that your coding style is consistent with existing code in the project. A checklist is included in the PR template as a friendly reminder. + +### Commit Messages + +We require all contributors to agree to the [DCO](https://developercertificate.org/). Every commit must contain a DCO `Signed-off-by` line. To automatically add this line, simply include the `-s` flag when executing `git commit`. + +### Test coverage + +Pull requests must maintain 100% test coverage of all code branches. This helps ensure the quality of the project. To check coverage before submitting a pull request: + +### Coding Style + +One of the easiest ways to ensure your contributions adhere to the project's coding style is to use [Prettier](https://prettier.io/) (included as a dev dependency). + +To have Prettier monitor your files and make changes as you do, open a terminal window to the project folder and type `npm run style-watch`.
+To check your files, you can type `npm run style-check"`
+To have Prettier format all your files, type `npm run style-format`
+ +More Prettier CLI options can be found here: [https://prettier.io/docs/en/cli.html](https://prettier.io/docs/en/cli.html) + +[coc]: ./CODE_OF_CONDUCT.md diff --git a/LICENSE b/LICENSE index d645695..e7d005b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,3 @@ - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -176,6 +175,7 @@ END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following @@ -187,16 +187,16 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2021 Indicio, PBC. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - You may obtain a copy of the License at + You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. + limitations under the License. \ No newline at end of file diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000..e8b1634 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,47 @@ +# Maintainers + +## Active Maintainers + + + +| Name | Github | LFID | +| --------------- | ------- | ---- | +| Sheldon Regular | nodlesh | | + +## Emeritus Maintainers + +None + +## Becoming a Maintainer + +The Mobile Wallet Test Harness, part of the OpenWallet Foundation community, encourages contributions. + +Contributors can become maintainers by following these steps, listed in their general order: + +1. **Contribute Significantly**: You need to have made at least 5 significant contributions that have been accepted. +2. **Get a Sponsor**: A current maintainer must sponsor you. + - Your sponsor will propose your addition by creating a pull request (PR) to update the list of maintainers. + - You must accept this nomination and agree to be a maintainer for at least 6 months. Confirm your acceptance in a comment on the PR. + - The nomination will be announced in all relevant communication channels, including maintainer/community calls and any applicable mailing lists or chat channels. +3. **Gain Approvals**: At least 3 current maintainers must approve your nomination within two weeks, or you must receive approval from a majority of current maintainers. + - Approvals are recorded in the PR. +4. **Avoid Vetoes**: No maintainer should veto your nomination within two weeks. + - Vetoes must be publicly explained in the PR comments and be reasonable. Vetoes can be withdrawn, but this resets the approval/veto period. +5. **Officially Become a Maintainer**: You become a maintainer if: + - Two weeks pass after receiving the third approval without any vetoes, or + - A majority of maintainers approve your nomination without any vetoes. + +This process ensures a transparent and fair path to becoming a maintainer. + +## Removing Maintainers + +Being a maintainer is about active participation, not just holding a title. Sometimes, it's necessary to change a maintainer's status to emeritus for reasons such as: + +- A maintainer choosing to resign. +- A breach of the Linux Foundation Code of Conduct that leads to removal. +- Inactivity, defined loosely as no commits or review comments for one reporting quarter. However, exceptions are made for maintainers who plan to return to active contribution after a absences. +- Other specific situations not listed here. + +The process for changing a maintainer to emeritus status is documented through a GitHub pull request (PR). + +To return from emeritus to active status, a maintainer follows the same procedure as a new maintainer. Since emeritus maintainers have already made significant contributions, they don't need to meet the requirement for new contributions.