|
| 1 | +<!doctype html> |
| 2 | +<meta charset="utf-8"> |
| 3 | +<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"> |
| 4 | +<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro" rel="stylesheet"> |
| 5 | +<link rel="stylesheet" href="../static/style.css"> |
| 6 | +<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> |
| 7 | +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script> |
| 8 | +<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script> |
| 9 | +<script type="text/javascript" src="../static/script.js"></script> |
| 10 | +<title>Contributing Code — Creative Commons on GitHub</title> |
| 11 | +<body> |
| 12 | + <header class="main-header"> |
| 13 | + <div class="container-fluid"> |
| 14 | + <div class="row justify-content-md-center"> |
| 15 | + <div class="col-9"> |
| 16 | + <nav class="navbar navbar-expand-md navbar-dark"> |
| 17 | + |
| 18 | + <a class="navbar-brand" href="../"> |
| 19 | + <img src="../cclogo.svg"> |
| 20 | + <span class="legend">Creative Commons Open Source</span> |
| 21 | + </a> |
| 22 | + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" |
| 23 | + aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> |
| 24 | + <span class="navbar-toggler-icon"></span> |
| 25 | + </button> |
| 26 | + |
| 27 | + <div class="collapse navbar-collapse" id="navbarSupportedContent"> |
| 28 | + <ul class="navbar-nav"> |
| 29 | + <li class="nav-item"><a class="nav-link" href="../">Home</a></li> |
| 30 | + |
| 31 | + <li class="nav-item active"> |
| 32 | + <a class="nav-link" href="../contributing-code/">Contributing Code</a> |
| 33 | + </li> |
| 34 | + |
| 35 | + <li class="nav-item"> |
| 36 | + <a class="nav-link" href="../projects/">Projects</a> |
| 37 | + </li> |
| 38 | + |
| 39 | + <li class="nav-item"> |
| 40 | + <a class="nav-link" href="../community/">Community</a> |
| 41 | + </li> |
| 42 | + |
| 43 | + <li class="nav-item dropdown "> |
| 44 | + <a class="nav-link" href="/gsoc-2019/" id="navbarDropdown" role="button">GSoC 2019</a> |
| 45 | + <div class="dropdown-menu" aria-labelledby="navbarDropdown"> |
| 46 | + |
| 47 | + <a class="dropdown-item" href="../gsoc-2019/project-ideas/all/">Project Ideas</a> |
| 48 | + |
| 49 | + <a class="dropdown-item" href="../gsoc-2019/application-instructions/">Application Instructions</a> |
| 50 | + |
| 51 | + </div> |
| 52 | + </li> |
| 53 | + </ul> |
| 54 | + </nav> |
| 55 | + </div> |
| 56 | + </div> |
| 57 | + </div> |
| 58 | + </header> |
| 59 | + <div class="container-fluid page-content"> |
| 60 | + <div class="row justify-content-md-center"> |
| 61 | + <div class="col-9 content-wrap"> |
| 62 | + <div class="page py-3"> |
| 63 | + <h2 class="pb-2"><strong>Contributing Code</strong></h2> |
| 64 | + |
| 65 | + <ul class="toc list-unstyled"> |
| 66 | + |
| 67 | + <li><a href="#existing-projects">Existing projects</a></li> |
| 68 | + |
| 69 | + <li><a href="#new-projects">New projects</a></li> |
| 70 | + |
| 71 | + <li><a href="#general-best-practices">General best practices</a></li> |
| 72 | + |
| 73 | + </ul> |
| 74 | + <hr/> |
| 75 | + <h3 id="existing-projects">Existing projects</h3><p>Here's a list of <a href="../projects">all our current projects</a>. We do all of our development on GitHub and are generally open to pull requests. We would especially like help with reviving projects that CC's engineering team does not have the time to actively work on (such as <a href="https://github.com/creativecommons/creativecommons-wordpress-plugin">our WordPress plugin</a> and <a href="https://github.com/creativecommons/LicenseChooser.js">license chooser widget</a>). We're also looking to improve our documentation and increase our automated test coverage across pretty much all our projects.</p> |
| 76 | +<p>We are working on making sure all of our projects are documented, licensed, and have self-contained contribution guidelines. Until we finish that work, follow the checklist below before writing any code.</p> |
| 77 | +<hr> |
| 78 | +<p><strong>Make sure that the project is ready for contribution</strong></p> |
| 79 | +<p>If the repository has no license file, code of conduct, or is missing basic documentation, please create a GitHub issue attached to that repository to set those up. We will prioritize adding these files to repositories towards which people show active interest in contributing.</p> |
| 80 | +<p><strong>Make sure your change will be accepted</strong></p> |
| 81 | +<ul> |
| 82 | +<li>If you want to work on an open GitHub issue tagged "help wanted" or "good first issue", comment on it to indicate that you're working on it (so that no one else does) and submit a pull request when you're ready. No other steps are needed.</li> |
| 83 | +<li>If you want to work on an open GitHub issue without those tags, comment on it to ask if help is desired.<ul> |
| 84 | +<li>Indications that it may not be available to work on are that it was created very recently, it already has someone assigned to it, or it is in a project whose name starts with "Active".</li> |
| 85 | +</ul> |
| 86 | +</li> |
| 87 | +<li>If you want to work on something that there is no GitHub issue for, either create an issue and ask there whether a pull request will be accepted for that change or propose the change in <a href="../community">one of our community forums</a> before creating the ticket.<ul> |
| 88 | +<li>If the project has a roadmap documented in the README, checking the roadmap to see if the feature is already in our pipeline would be a good first step.</li> |
| 89 | +</ul> |
| 90 | +</li> |
| 91 | +</ul> |
| 92 | +<p>When in doubt, ask a question on <a href="../community">one of our community forums</a>.</p> |
| 93 | +<hr> |
| 94 | +<h3 id="new-projects">New projects</h3><p>We are also open to working on or hosting projects that are related to the Creative Commons licenses or general mission. Our <a href="../gsoc-2019/project-ideas">Google Summer of Code project ideas</a> list is a good place to find ideas we'd like implemented. If you're interested in working on one of them, please propose it in one of our <a href="../community">community forums</a> (you don't need to be a student, anyone is welcome to work on those ideas) and work out implementation details with CC staff members before you write any code. If you want to suggest a new project idea, follow the same process.</p> |
| 95 | +<p>In general, we'd like any new projects to use Python, WordPress/PHP, and/or JavaScript (our framework of choice is Vue.js) so that our team can help review and maintain the project.</p> |
| 96 | +<hr> |
| 97 | +<h3 id="general-best-practices">General best practices</h3><p>No matter what kind of project you're working on, these are good guidelines to follow</p> |
| 98 | +<p><strong>Code</strong></p> |
| 99 | +<ul> |
| 100 | +<li>Write comprehensive and robust tests that cover the changes you've made in your work.</li> |
| 101 | +<li>Follow the appropriate code style standards for the language and framework you're using (e.g. PEP 8 for Python).</li> |
| 102 | +<li>Write readable code – keep functions small and modular and name variables descriptively.</li> |
| 103 | +<li>Document your code thoroughly.</li> |
| 104 | +<li>Make sure all the existing tests pass.</li> |
| 105 | +</ul> |
| 106 | +<p><strong>Pull requests</strong></p> |
| 107 | +<ul> |
| 108 | +<li>Use the format specified in pull request template for the repository if there is one.</li> |
| 109 | +<li>Describe your change in detail. Too much detail is better than too little.</li> |
| 110 | +<li>Describle how you tested your change.</li> |
| 111 | +<li>Request a review from either the repository maintainer (if you have that information) or <code>@creativecommons/engineering</code>.</li> |
| 112 | +</ul> |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | + </div> |
| 117 | + </div> |
| 118 | + </div> |
| 119 | + </div> |
| 120 | + <footer class="main-footer bg-dark"> |
| 121 | + <div class="container-fluid"> |
| 122 | + <div class="row justify-content-md-center"> |
| 123 | + <div class="col-9 footer text-light py-4 px-3"> |
| 124 | + <small> |
| 125 | + <p><a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" |
| 126 | + style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a></p> |
| 127 | + <p class="text-muted">All the content on this website is licensed under a <strong><a rel="license" |
| 128 | + href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International |
| 129 | + License</a></strong> unless otherwise specified.</p> |
| 130 | + </small> |
| 131 | + </div> |
| 132 | + </div> |
| 133 | + </div> |
| 134 | + </footer> |
| 135 | +</body> |
0 commit comments