From 71f1fe576010aae39140005a891bed3f0d96c78e Mon Sep 17 00:00:00 2001 From: Nathan Jaremko Date: Sat, 29 Apr 2023 12:34:55 -0400 Subject: [PATCH] Contributing --- .github/CONTRIBUTING.md | 92 +++++++++++++++++++++++++++++++++++++++++ CODE_OF_CONDUCT.md | 50 ++++++++++++++++++++++ COMM-LICENSE.md | 4 +- 3 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 .github/CONTRIBUTING.md create mode 100644 CODE_OF_CONDUCT.md diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..7a9223e --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,92 @@ +# Contributing + +## Issues + +When opening an issue: + +* include the full **backtrace** with your error +* list versions you are using: Rust, Redis, etc. + +It's always better to include more info rather than less. + +## Code + +It's always best to open an issue before investing a lot of time into a +fix or new functionality. Functionality must meet my design goals and +vision for the project to be accepted; I would be happy to discuss how +your idea can best fit into Cwab. + +### Local development setup + +#### Recommended + +If you install [direnv](https://direnv.net/) and [nix](https://github.com/DeterminateSystems/nix-installer). You just need to `cd` into this directory and run `direnv allow`. After it's done, you're development environment is setup. + +#### Non-recommended, but works + +Install the [stable rust toolchain](https://rustup.rs/) and openssl and [redis](https://redis.io/) + +### Beginner's Guide to Local Development Setup + +#### 1. Fork [cwabcorp/cwab](https://github.com/cwabcorp/cwab) project repository to your personal GitHub account + +#### 2. Click 'Clone or Download' button in personal cwab repository and copy HTTPS URL + +#### 3. On local machine, clone repository + +``` +git clone HTTPS-URL-FOR-PERSONAL-CWAB-REPOSITORY +``` + +#### 4. Navigate to your local machine's cwab directory + +``` +cd cwab/ +``` + +#### 5. Set remote upstream branch + +``` +git remote add upstream https://github.com/cwabcorp/cwab.git +``` + +#### 6. Install necessary gems for development and start Redis server + +``` +cargo check +``` + +``` +redis-server +``` + +#### 7. Run stuff + +``` +cargo run librarian start +``` + +#### 8. Create feature branch and start contributing! + +``` +git checkout -b new_feature_name +``` + +### 9. Keep your forked branch up to date with changes in main repo +``` +git pull upstream main +``` + +## Legal + +By submitting a Pull Request, you disavow any rights or claims to any changes +submitted to the Cwab project and assign the copyright of +those changes to First Kind Software Inc. + +If you cannot or do not want to reassign those rights (your employment +contract for your employer may not allow this), you should not submit a PR. +Open an issue and someone else can do the work. + +This is a legal way of saying "If you submit a PR to us, that code becomes ours". +99.9% of the time that's what you intend anyways; we hope it doesn't scare you +away from contributing. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..e3c8d3d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,50 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, and in the interest of +fostering an open and welcoming community, we pledge to respect all people who +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic + addresses, without explicit permission +* Other unethical or unprofessional conduct + +Project maintainers 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, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +By adopting this Code of Conduct, project maintainers commit themselves to +fairly and consistently applying these principles to every aspect of managing +this project. Project maintainers who do not follow or enforce the Code of +Conduct may be permanently removed from the project team. + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project maintainer at mperham AT gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. Maintainers are +obligated to maintain confidentiality with regard to the reporter of an +incident. + + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.3.0, available at +[http://contributor-covenant.org/version/1/3/0/][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/3/0/ diff --git a/COMM-LICENSE.md b/COMM-LICENSE.md index 04f4c45..ca10df4 100644 --- a/COMM-LICENSE.md +++ b/COMM-LICENSE.md @@ -40,7 +40,7 @@ under the terms of the GNU Lesser General Public License version 3.0 5. Fees and Payment. The Software license fees will be due and payable in full as set forth in the applicable invoice or at the time of purchase. If the Software does not function properly within two weeks of purchase, please contact us within those two weeks for a refund. You shall be responsible for all taxes, withholdings, duties and levies arising from the order (excluding taxes based on the net income of First Kind Software Inc). -6. Support, Maintenance and Services. Subject to the terms and conditions of this Agreement, as set forth in your invoice, and as set forth on the Cwab Pro support page (https://github.com/cwabco/cwab/wiki/Commercial-Support), support and maintenance services may be included with the purchase of your license subscription. +6. Support, Maintenance and Services. Subject to the terms and conditions of this Agreement, as set forth in your invoice, and as set forth on the Cwab Pro support page (https://github.com/cwabcorp/cwab/wiki/Commercial-Support), support and maintenance services may be included with the purchase of your license subscription. 7. Term of Agreement. @@ -76,7 +76,7 @@ In no event will First Kind Software Inc' liability exceed the Software license 13.1 Entire Agreement. This Agreement sets forth our entire agreement with respect to the Software and the subject matter hereof and supersedes all prior and contemporaneous understandings and agreements whether written or oral. -13.2 Amendment. First Kind Software Inc reserves the right, in its sole discretion, to amend this Agreement from time. Amendments to this Agreement can be located at: https://github.com/cwabco/cwab/blob/main/COMM-LICENSE. +13.2 Amendment. First Kind Software Inc reserves the right, in its sole discretion, to amend this Agreement from time. Amendments to this Agreement can be located at: https://github.com/cwabcorp/cwab/blob/main/COMM-LICENSE. 13.3 Assignment. You may not assign this Agreement or any of its rights under this Agreement without the prior written consent of First Kind Software Inc and any attempted assignment without such consent shall be void.