Skip to content

Latest commit

 

History

History
114 lines (68 loc) · 8.44 KB

CONTRIBUTING.md

File metadata and controls

114 lines (68 loc) · 8.44 KB

Current Develop Status: Build Status Coverage Status

Contributions

Want to contribute to this project? Thank you! We sincerely appreciate it. Below is a set of guidelines to follow when doing so.

Community Guidelines

General Guidelines

We want to keep the open source community awesome, growing, and collaborative. We need your help to keep it that way. To help with this we've come up with a few items for our community to follow as a whole:

  • Keep it legal: Basically, don't get us in trouble. Share only content that you own, do not share private or sensitive information, and don't break the law.

  • Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam.

  • Don't send email to the maintainers: There's no need to send email to the maintainers to ask them to investigate an issue or to take a look at a pull request. Instead of sending an email, GitHub mentions should be used to ping maintainers to review a pull request, a proposal or an issue.

Metova has a set of values defined in our manifesto. While our employees strive to demonstrate these at all times, we believe they can apply to anyone. However, we have no intentions of requiring them for other individuals - we simply ask that you give them a read and consider them when participating in the community.

Code of Conduct

The Code of Conduct governs how we behave in public or in private whenever the project will be judged by our actions. We expect it to be honored by everyone who represents the project officially or informally, claims affiliation with the project, or participates directly.

We strive to:

  • Be open: We invite anybody to participate in any aspect of our projects. Our community is open, and any responsibility can be carried by any contributor who demonstrates the required capacity and competence.
  • Be empathetic: We work together to resolve conflict, assume good intentions, and do our best to act in an empathic fashion. By understanding that humanity drops a few packets in online interactions, and adjusting accordingly, we can create a comfortable environment for everyone to share their ideas.
  • Be collaborative: We prefer to work transparently and to involve interested parties early on in the process. Wherever possible, we work closely with others in the open source community to coordinate our efforts.
  • Be decisive: We expect participants in the project to resolve disagreements constructively. When they cannot, we escalate the matter to structures with designated leaders to arbitrate and provide clarity and direction.
  • Be responsible: We hold ourselves accountable for our actions. When we make mistakes, we take responsibility for them. When we need help, we reach out to others. When it comes time to move on from a project, we take the proper steps to ensure that others can pick up where we left off.

Our Code of Conduct is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. We expect it to be followed in spirit as much as in the letter.

Contribution Guidelines

Asking Questions

We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.

We currently use the tag metova-pods for all Metova projects.

Reporting Security Issues

Metova takes security seriously. If you discover a security issue, please bring it to our attention right away!

Please DO NOT file a public issue, instead send your report privately to [email protected]. This will help ensure that any vulnerabilities that are found can be disclosed responsibly to any affected parties.

Reporting Normal Issues

A great way to contribute to the project is to send a detailed issue when you encounter an problem. We always appreciate a well-written, thorough bug report.

Check that the project issues database doesn't already include that problem or suggestion before submitting an issue. If you find a match, add a quick "+1" or "I have this problem too." Doing this helps prioritize the most common problems and requests.

When reporting issues, in order to help us review and fix your issue faster, please include the following:

  • The version of Xcode you're using.
  • The version of iOS or OS X you're targeting.
  • The full output of any stack trace or compiler error.
  • A code snippet that reproduces the described behavior, if applicable.
  • Any other details that would be useful in understanding the problem.

Submitting Pull Requests

Pull requests are welcome, and greatly encouraged. When submitting a pull request, please create proper test cases demonstrating the issue to be fixed or the new feature.

Please note the sections below when doing so.

Coding Style

Aside from the specific exceptions outlined in our style guide, we follow all of the standards of the Swift community. Additionally, any code changes should be followed by a SwiftLint run using our specific Swiftlint rules, as defined the .swiftlint.yml file.

It is possible that some existing code will accidentally not follow our style or that our style will change without an update to the project. We ask if you are working to fix a reported issue or add a new feature, clean this up while you are doing so. However, we are not interested in a PR dedicated to updating the code to our code style, as this goes against our guidelines.

Developer's Certificate of Origin

When you contribute to the project, you are certifying the below (from developercertificate.org):

Developer Certificate of Origin Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 660 York Street, Suite 102, San Francisco, CA 94110 USA

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.

Any PRs submitted will be reviewed and accepted under the assumption that the author has read and attests to the items defined in this certificate.


Most of the ideas and wording for the statements above were based on work by the Alamofire Software Foundation, Docker, Linux, Mozilla, Ubuntu, and Twitter communities. We commend them for their efforts to facilitate collaboration in their projects.