Skip to content

Latest commit

 

History

History
130 lines (89 loc) · 6.49 KB

CONTRIBUTING.md

File metadata and controls

130 lines (89 loc) · 6.49 KB

Contributing to Butter for iOS

So you're interested in giving us a hand? That's awesome! We've put together some brief guidelines that should help you get started quickly and easily.

There are lots and lots of ways to get involved, this document covers:

General guidelines

If you're about to raise an issue because think you've found a problem with Butter, or you'd like to make a request for a new feature in the codebase, or any other reason then please read this first.

The Github issue tracker is the preferred channel for bug reports, feature requests, change requests and submitting pull requests, but please respect the following restrictions:

  • Please search for existing issues. Help us keep duplicate issues to a minimum by checking to see if someone has already reported your problem or requested your idea.

  • Please do not use the issue tracker for personal support requests (use the bug section of the forum or IRC - #butterproject on freenode).

  • Please do not derail or troll issues. Keep the discussion on topic and respect the opinions of others.

Bug Reports

A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful - thank you!

Guidelines for bug reports:

  1. Use the Github issue search — check if the issue has already been reported.

  2. Check if the issue has been fixed — try to reproduce it using the latest master or look for closed issues.

  3. Is your issue about a design or front end feature or bug? The most helpful thing in the world is if we can see what you're talking about.

  4. Use the Bug Report template below to start creating a bug report with the template automatically or click here.

A good bug report shouldn't leave others needing to chase you up for more information. Be sure to include the details of your environment.

Template Example :

Short and descriptive example bug report summary (title)

### Environment

The OS environment in which the issue occurs. (Version of iOS, device type etc)

### Steps to Reproduce
If suitable, include the steps required to reproduce the bug.

1. This is the first step
2. This is the second step
3. Further steps, etc.

Any other information you want to share that is relevant to the issue being reported. Especially, why do you consider this to be a bug? What do you expect to happen instead?

### Technical details:

* Butter Version: beta 0.1.0-1234
* Downloaded from: butterproject.org
* Connection: 10mbs

Feature Requests

Feature requests are welcome. Before you submit one be sure to do the following:

  1. Search the Github issue base for similar requests. If you fine one that fits your idea, please comment on that idea instead of creating a new one.
  2. Take a moment to think about whether your idea fits with the scope and aims of the project, or if it might better fit being an app/plugin. Adding Providers is not something that is a feature request. If you would like a provider added that does not provide illegal content, please request it on the forum.
  3. Remember, it's up to you to make a strong case to convince the project's leaders of the merits of this feature. Please provide as much detail and context as possible, this means explaining the use case and why it is likely to be common.

Change Requests

Change requests cover both architectural and functional changes to how Butter works. If you have an idea for a new or different dependency, a refactor, or an improvement to a feature, etc - please be sure to:

  1. Use the Github search and check someone else didn't get there first
  2. Take a moment to think about the best way to make a case for, and explain what you're thinking. Are you sure this shouldn't really be a bug report or a feature request? Is it really one idea or is it many? What's the context? What problem are you solving? Why is what you are suggesting better than what's already there?

Submitting Pull Requests

Pull requests are awesome. If you're looking to raise a PR for something which doesn't have an open issue, please think carefully about raising an issue which your PR can close, especially if you're fixing a bug. This makes it more likely that there will be enough information available for your PR to be properly tested and merged.

Contributor License Agreement

By contributing your code to Butter you grant the Butter Project a non-exclusive, irrevocable, worldwide, royalty-free, sublicenseable, transferable license under all of Your relevant intellectual property rights (including copyright, patent, and any other rights), to use, copy, prepare derivative works of, distribute and publicly perform and display the Contributions on any licensing terms, including without limitation: (a) open source licenses like the MIT license; and (b) binary, proprietary, or commercial licenses. Except for the licenses granted herein, You reserve all right, title, and interest in and to the Contribution.

You confirm that you are able to grant us these rights. You represent that You are legally entitled to grant the above license. If Your employer has rights to intellectual property that You create, You represent that You have received permission to make the Contributions on behalf of that employer, or that Your employer has waived such rights for the Contributions.

You represent that the Contributions are Your original works of authorship, and to Your knowledge, no other person claims, or has the right to claim, any right in any invention or patent related to the Contributions. You also represent that You are not legally obligated, whether by entering into an agreement or otherwise, in any way that conflicts with the terms of this license.

The Butter Foundation acknowledges that, except as explicitly described in this Agreement, any Contribution which you provide is on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.