<html><head></head><body><div dir="auto">Hello Valerie and others,<br><br>I drafted a full new section about how to actually name people correctly. (Thanks to Valerie for indirectly pointing at this issue.)<br><br>The text is probably too sarcastic at some places, reflecting some of my experience (mostly) outside IT. Feel free to smoothen the rough edges.<br><br>Also feel free to continue working on it from other perspectives which I may have missed when typing this on my phone while commuting.<br><br>Have a nice day, night, fortnight or whatever you wish!<br>Maria<br></div><br><br><div class="gmail_quote"><div dir="auto">On 8 January 2024 20:28:41 CET, Valerie Aurora <val@valerieaurora.org> wrote:</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"><div dir="auto">Hi all,<br><br>Thanks for the useful feedback on the first draft of the credit<br>policy! Thank you especially to Maria, who wrote many useful<br>additions, all of which are now integrated.<br><br>My plan is to get one more round of comments on this within the OS wg,<br>then do a public call for comments, then make an initial release.<br><br>Please review the current version, included inline below and in the<br>Google Docs link (suggestions for better co-editing tools welcome).<br><br>In addition to Maria's contributions, I made one additional change to<br>the document: a proposed credit and license section using Creative<br>Commons Zero 1.0 Universal license:<br><br>"This credit policy by RIPE NCC Open Source Working Group and lead<br>authors Valerie Aurora, Maria Matějka (project BIRD, CZ.NIC), Martin<br>Winter, and Marcos Sanz is marked with CC0 1.0. If you create a<br>derivative work, we request but do not require that you voluntarily<br>give credit to the above contributors."<br><br>This is about reducing friction. The CC BY-SA 4.0 license would<br>require crediting every person who ever contributed by name or risk<br>legal problems, which often causes people to decide it is too much<br>trouble to use. CC0 would allow people to use their judgement on who<br>to credit, without worrying about legal requirements. As such, it is<br>in the spirit of the credit policy itself. My personal view is that<br>the kind of person adopting a credit policy will likely give credit<br>voluntarily.<br><br>Thoughts?<br><br><a href="https://docs.google.com/document/d/1A4PVQ8iAZFPWySxMdY-EYDArII3BrlK_t70Cek6iwhc/edit">https://docs.google.com/document/d/1A4PVQ8iAZFPWySxMdY-EYDArII3BrlK_t70Cek6iwhc/edit</a><br><br>Valerie<br><br>Credit policy for open source projects - working draft<br><br><br>Introduction<br><br>The problem: people disagree about credit for contributions<br><br>Our solution: a written policy<br><br>Scope of a credit policy<br><br>Credit for this policy<br><br>Real-world examples<br><br>Policy structure<br><br>Preamble options<br><br>We welcome a broad range of contributions from as many contributors as possible<br><br>We welcome contributions that do not need much work<br><br>We accept outside contributions rarely<br><br>We prioritize speed of development<br><br>Only bug fixes welcome<br><br>My personal project subject to my personal whims<br><br>Our corporate project not open to outside contributions<br><br>Our research project not open to outside contributions<br><br>[YOUR PREAMBLE HERE]<br><br>Credit assignment options<br><br>Correcting mistakes in credit<br><br>Reporting problems with credit<br><br>Introduction<br><br>The purpose of this document is to develop an example credit policy: a<br>written description of how an open source software project gives<br>credit for contributions.<br><br><br>This project was created and led by many members of the RIPE NCC Open<br>Source Working Group:<br><br><br><a href="https://www.ripe.net/participate/ripe/wg/active-wg/os">https://www.ripe.net/participate/ripe/wg/active-wg/os</a><br><br>The problem: people disagree about credit for contributions<br><br>Open source software projects receive a wide variety of contributions<br>from many different people and organizations. Each contributor has<br>their own assumptions and expectations for what kind of credit<br>contributions should receive. When there is a mismatch between the<br>credit a contributor expects to get and what they actually get, both<br>the project and the people around it suffer. This is an especially<br>important problem for open source software because the main motivation<br>for contributing is often recognition and credit; when people don't<br>receive what they expect, they are less likely to contribute in the<br>future. This also applies for upstreaming local changes. Even though<br>the main motivation may seem to be some reduction of future<br>maintenance costs, all the parties benefit from proper crediting, e.g.<br>when some changes in the contributed code are proposed in future and<br>consulting with the original authors is handy.<br><br><br>Two concrete examples:<br><br><br>How I got robbed of my first kernel contribution – Ariel Miculas<br><br><br>Someone sends in a contribution that needs a little more work. The<br>other contributors are too overworked to review the contribution. Some<br>time later, another person fixes the same problem without ever seeing<br>the first contribution. The first person says, "Hey, why did you<br>rewrite my work without giving me credit?"<br><br>Our solution: a written policy<br><br>Our proposed solution to this problem is for each project to write<br>down and publish a formal credit policy (or contribution policy, or<br>anti-plagiarism policy - whatever name seems best). This policy<br>describes what kind of credit and acknowledgement contributors can<br>expect. It also serves as a guide for decision-making for project<br>leaders when they run into more complex problems associated with<br>credit. The end result is that contributors are more likely to<br>contribute to projects with matching credit policies, and project<br>leaders spend less time arguing with contributors or trying to decide<br>how to handle edge cases.<br><br><br>The example policy we are writing in this document includes a variety<br>of different ways to assign credit, depending on the project's goals<br>and priorities. Projects can copy parts of the example policy and edit<br>as necessary, or create their own policies from scratch.<br><br>Scope of a credit policy<br><br>The policy should cover all types of contribution: documentation,<br>code, tutorials, event organization, testing, design , etc. It should<br>focus primarily on cases in which multiple people or organizations are<br>collaborating on a contribution, when people disagree about who gets<br>credit, and other situations in which credit is less clear. It does<br>not attempt to resolve any legal issues around IP or copyright; that<br>is the domain of contributor agreements, licenses, and other<br>documents.<br><br>Credit for this policy<br><br>If you contributed to this policy, please add your name here. We will<br>decide how to credit the contributors as we develop this policy.<br><br><br>Valerie Aurora<br><br>Maria Matějka (project BIRD, CZ.NIC)<br><br>Martin Winter<br><br>Marcos Sanz<br><br><br>Fair warning: the most successful policies are often the ones with no<br>attribution since people often reject them when their provenance is<br>called out. Ironic, huh?<br><br>Real-world examples<br><br>Here are few examples of situations that a credit policy should address:<br><br><br>Someone sends a first draft (of a document, code, HTML, etc.). A<br>second person makes significant edits to it.<br><br>Someone sends a first draft. Another person comments with ideas<br>leading the original sender to incorporate them in the second draft.<br><br>Someone sends a first draft. Another person entirely rewrites it from scratch.<br><br>Someone sends a contribution. The contribution does not improve the project.<br><br>Someone sends a contribution but does not complete the "sign-off" or<br>other process step that the project requires. The first reminder goes<br>unanswered for several days.<br><br>Someone sends a first draft. It fixes a real problem but in a way that<br>is unacceptable for inclusion. They do not respond or are unwilling to<br>make the necessary changes for inclusion.<br><br>Someone sends a contribution but no one else in the project notices.<br>Later another person makes a similar contribution and gets credit for<br>it.<br><br>Someone sends a contribution which is actually valuable to the project<br>but directly conflicts with other project plans and aligning it means<br>to actually rewrite the contribution completely.<br><br>Someone sends a somewhat useless contribution. When you look at their<br>contribution history, you see them sending a lot of useless<br>contributions to other projects.<br><br>Someone sends a contribution that seems suspicious. When you look at<br>their contribution history, they seem to have rewritten a lot of other<br>people's contributions.<br><br>Someone sends a lot of tiny separate trivial contributions. They<br>aren't actually making much difference to the project, but if you<br>accept them all it will look like they should have credit for half the<br>project.<br><br>Someone sends a contribution. For whatever reason, the contribution<br>does not actually seem to be motivated by a desire to improve the<br>project.<br><br>Someone sends a contribution but a project leader hates the style.<br><br>Someone sends a contribution and it seems kind of mean-spirited.<br><br>Someone sends a complaint which gets ignored or rejected. Later, the<br>maintainers find themselves fixing the subject of the complaint<br>anyway.<br><br>Policy structure<br><br>The policy should consist of the following parts:<br><br><br>Preamble describing the overall goals and philosophy of the project's<br>credit policy<br><br>High-level description of how credit is assigned for contributions<br><br>List of specific situations with step-by-step instructions on what to<br>do in each one<br><br>How to contact the project if someone thinks that credit has not been<br>given correctly<br><br>Instructions for people implementing the credit policy, including what<br>to do in difficult situations<br><br><br>The last part does not need to be published but can be.<br><br>Preamble options<br><br>The preamble describes the overall philosophy of your project towards<br>contributions: what kind of contributions you want to encourage, what<br>kind of contributors you want participating, what your priorities are<br>when it comes to different aspects of quality or productiveness. Your<br>preamble should discourage the kind of contributions you don't want<br>and encourage the kind of contributions you do want.<br><br><br>Note: The more contributions you want to encourage, the more<br>documentation you actually need. It’s hard to welcome a broad range of<br>contributions with lack of programmer’s documentation and proper open<br>future planning, including upfront disclosure of (or hosting public<br>discussions on) architectural decisions, to guide the contributors<br>even before they actually start working.<br><br><br>Here are some possible preambles that prioritize different goals.<br><br>We welcome a broad range of contributions from as many contributors as possible<br><br>We encourage contributions from as many contributors as possible, and<br>strive to make contributing easy and rewarding. We prefer to guide<br>original contributors through the process of making necessary changes<br>to any contributions, and reward mentoring and review. When a<br>contribution is the combined effort of several people, we prefer to<br>give primary credit to newer contributors. We give credit generously<br>for all of the work that goes into making this project a success,<br>including testing, review, debugging, mentoring, operations,<br>documentation, and similar work.<br><br>We welcome contributions that do not need much work<br><br>We encourage contributions but our existing contributors have limited<br>time to mentor or guide new contributors. When a contribution needs<br>changes, existing contributors will usually make any necessary changes<br>themselves rather than working with the original contributor to make<br>the changes. However, we strive to give primary credit to the original<br>contributor whenever possible. We especially encourage contributions<br>that make it easier for new contributors to become productive without<br>direct mentoring, such as documentation, tutorials, refactoring,<br>tests, and similar.<br><br>We accept outside contributions rarely<br><br>Our priority is quality of contributions and architectural cohesion.<br>We prefer contributions from existing contributors who are already<br>familiar with our processes and standards, and are carrying out the<br>architectural vision of our leaders. We do not mentor or guide new<br>contributors. When existing contributors rewrite, reuse, or are<br>inspired by contributions from new contributors, it is up to the<br>existing contributor to decide how or if to credit the original<br>author.<br><br>We prioritize speed of development<br><br>Our priority is speed of development. We reward contributors who send<br>working contributions quickly. We prefer to give credit to the person<br>who sends the first acceptable form of a contribution rather than the<br>original contributor.<br><br>Only bug fixes welcome<br><br>[YOUR DRAFT HERE]<br><br>My personal project subject to my personal whims<br><br>[YOUR DRAFT HERE]<br><br>Our corporate project not open to outside contributions<br><br>[YOUR DRAFT HERE]<br><br>Our research project not open to outside contributions<br><br>[YOUR DRAFT HERE]<br><br>[YOUR PREAMBLE HERE]<br><br>Credit assignment options<br><br>Here are a selection of possible rules for assigning credit. You<br>should choose the ones that encourage the behavior you describe in<br>your philosophy. For example, if you want to encourage new<br>contributors, choose rules that give credit more generously to new<br>contributors than existing ones. If you want existing contributors to<br>have strong control over the project, choose rules that give credit<br>more generously to people who edit or rewrite contributions.<br><br><br>Note: don’t get too wrapped up in who “really wrote a contribution.”<br>Most contributions are a collaborative effort by multiple people and<br>it would be impossible to give credit to every single person who made<br>a one line contribution to your project possible. Instead, focus on<br>what behaviors you want to reward and which ones you want to<br>discourage, and be creative about how you do that.<br><br><br>If a contribution includes substantial work from multiple authors, we<br>will give primary credit to the least experienced contributor.<br><br>If we need to rewrite a contribution, we will give primary credit to<br>the author of the first version and secondary credit to the person<br>rewriting it.<br><br>If we need to rewrite a contribution, we will give primary credit to<br>the person rewriting it and secondary credit to the author of the<br>first version.<br><br>If we need to rewrite a contribution, we will work with the original<br>author to make the necessary changes for as long as they respond in<br>good faith and in a timely manner. In any case, the original author<br>will get primary credit.<br><br>The project leaders are the sole authority on who gets credit and will<br>assign it to no one, to themselves, or to others as they see fit.<br><br>All people and companies involved in the contribution get credits equally.<br><br>If multiple contributors submit similar work, the accepted author gets<br>primary credit and every other contributor, whose work was thus<br>rejected, gets secondary credit.<br><br>[YOUR SUGGESTION HERE]<br><br><br>Please make it easy for us to accept and credit your contribution!<br>Here are the steps to take to get the most credit for your work:<br>[CHOOSE APPLICABLE]<br><br><br>Include “Signed-off-by: [YOUR NAME]”<br><br>Put your name into the AUTHORS file<br><br>Agree to the CLA<br><br>Follow the instructions in CONTRIBUTING<br><br>Respond to requests for changes within N days<br><br>Cooperate in good faith with our requests for changes<br><br>If you do not want to make changes, please tell us as soon as possible<br><br>[YOUR SUGGESTION HERE]<br><br><br>If for some reasons you can’t or won’t make necessary changes to your<br>contribution, we will [CHOOSE ONE OR MORE AND EDIT TO FIT]<br><br><br>Reject your contribution and take no further action.<br><br>Incorporate your original contribution as is, then make a second<br>change with any edits.<br><br>Incorporate your contribution along with any necessary edits with<br>primary credit to the newest contributor, with a link in the change<br>message to your original contribution on our mailing list or other<br>archive of original contributions (e.g. a directory in the source<br>code, a section of the wiki, etc.).<br><br>If you did not [sign off, agree to the CLA, other necessary process<br>step], we will rewrite from scratch and include a link to the original<br>contribution in the change message.<br><br><br>How we give credit:<br><br><br>For commits to a repository, the primary author is the commit author.<br><br>For reviews, editing, testing, debugging, or reporting directly<br>related to a specific contribution, we add a line in the change<br>message such as “Reviewed-by” or “Edited-by”.<br><br>For contributions that are not specific to an individual change, such<br>as hosting, DevOps, DevRel, issue curation, etc, we will add your name<br>to [LIST AND LOCATION OF PUBLICATION]. To be added to this list,<br>please [INSTRUCTIONS]. [Suggestion: include an option for extremely<br>minor contributions.]<br><br>[YOUR SUGGESTION HERE]<br><br><br>We reserve the right to not grant credit when it seems detrimental to<br>our project. For example, if someone requests credit to a name that is<br>obscene or harmful, if they are spamming multiple projects with minor<br>contributions, or if interacting with a contributor is demoralizing to<br>other contributors.<br><br>Correcting mistakes in credit<br><br>Sometimes we make a mistake in how we give credit. In this project:<br>[CHOOSE FROM FOLLOWING]<br><br><br>Once credit has been given, we will not go back and correct it.<br><br>We will correct mistakes in credit attribution for up to [TIME PERIOD]<br>after credit has been given.<br><br>We will correct mistakes in credit at any point.<br><br>[YOUR SUGGESTIONS HERE]<br><br>Reporting problems with credit<br><br>If someone has not given credit correctly, please contact [CONTACT<br>INFORMATION - COULD BE CODE OF CONDUCT COMMITTEE] and include any<br>relevant information. [NAMES] will review your report and take any<br>action they deem appropriate, including but not limited to updating<br>the credit information, warning the person who did not follow the<br>credit policy, no longer accepting their contributions, or forwarding<br>the complaint to the community code of conduct committee.<br><br>Credit and license<br><br>This credit policy by RIPE NCC Open Source Working Group and lead<br>authors Valerie Aurora, Maria Matějka (project BIRD, CZ.NIC), Martin<br>Winter, and Marcos Sanz is marked with CC0 1.0.<br><br><br>If you create a derivative work, we request but do not require that<br>you voluntarily give credit to the above contributors.<hr>opensource-wg mailing list<br>opensource-wg@ripe.net<br><a href="https://mailman.ripe.net/">https://mailman.ripe.net/</a><br><br>To unsubscribe from this mailing list, get a password reminder, or change your subscription options, please visit: <a href="https://mailman.ripe.net/">https://mailman.ripe.net/</a><br></div></pre></blockquote></div><div dir="auto"><div class='k9mail-signature'>-- <br>Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.</div></div></body></html>