1 ## Contributing to the C++ Core Guidelines
3 >"Within C++ is a smaller, simpler, safer language struggling to get out."
4 >-- <cite>Bjarne Stroustrup</cite>
6 The C++ Core Guidelines are a collaborative effort led by Bjarne Stroustrup, much like the C++ language itself. They are the result of many
7 person-years of discussion and design across a number of organizations. Their design encourages general applicability and broad adoption but
8 they can be freely copied and modified to meet your organization's needs.
10 We encourage contributions to the C++ Core Guidelines in a number of ways:
11 - **Individual feedback** Are you a developer who is passionate about your code? Join the discussion in
12 [Issues](https://github.com/isocpp/CppCoreGuidelines/issues). We want to know which rules resonate with you and which don't. Were any rules
13 inordinately difficult to apply? Does your compiler vendor's Guideline Support Library (e.g.,
14 [Microsoft's implementation of the GSL](https://github.com/microsoft/gsl)) suit your needs in adopting these guidelines?
15 - **Organizational adoption** While the guidelines are designed to be broadly adoptable they are also intended to be modified to fit your
16 organization's particular needs. We encourage your organization to fork this repo and create your own copy of these guidelines with changes
17 that reflect your needs. We suggest that you make it clear in the title of your guidelines that these are your organization's fork of the
18 guidelines and that you provide a link back to the original set of [guidelines](https://github.com/isocpp/CppCoreGuidelines). And if any of
19 your local changes are appropriate to pull back into the original guidelines, please open an
20 [Issue](https://github.com/isocpp/CppCoreGuidelines/issues) which can lead to a pull request.
21 - **Maintain the Guidelines** The C++ Core Guidelines were created from a wealth of knowledge spread across a number of organizations
22 worldwide. If you or your organization is passionate about helping to create the guidelines consider becoming an editor or maintainer. If
23 you're a C++ expert who is serious about participating please
24 [email coreguidelines@isocpp.org](mailto:coreguidelines@isocpp.org?subject=Maintain the C++ Code Guidelines).
26 ## Contributor License Agreement
27 By contributing content to the C++ Core Guidelines (i.e., submitting a pull request for inclusion in this repository) you agree with the
28 [Standard C++ Foundation](https://isocpp.org/about) [Terms of Use](https://isocpp.org/home/terms-of-use), especially all of the terms specified
29 regarding Copyright and Patents.
30 - You warrant that your material is original, or you have the right to contribute it.
31 - With respect to the material that you own, you grant a worldwide non-exclusive irrevocable transferable royalty-free license to your contributed
32 material to Standard C++ Foundation to display, reproduce, perform, distribute and create derivative works of that material for commercial or
33 non-commercial use. With respect to any other material you contribute, such material must be under a license sufficient to allow Standard C++ Foundation
34 to display, reproduce, perform, distribute and create derivative works of that material for commercial or non-commercial use.
35 - You agree that, if your contributed material is subsequently reflected in the ISO/IEC C++ standard in any form, it will be subject to all ISO/IEC JTC
36 1 policies including [copyrights](http://www.iso.org/iso/home/policies.htm),
37 [patents](http://www.iso.org/iso/home/standards_development/governance_of_technical_work/patents.htm), and
38 [procedures](http://www.itscj.ipsj.or.jp/sc29/29w7proc.htm); please direct any questions about these policies to the
39 [ISO Central Secretariat](http://www.iso.org/iso/home/about.htm).
43 We welcome pull requests for scoped changes to the guidelines--bug fixes in examples, clarifying ambiguous text, etc. Proposed changes should
44 first be discussed in the [Issues](https://github.com/isocpp/CppCoreGuidelines/issues) and the Issue number must be included in the pull
45 request. Changes should be made in a child commit of a recent commit in the master branch. Lastly, to avoid line ending issues, please
46 set `autocrlf = input` and `whitespace = cr-at-eol` in your git configuration.