Contributing guidelines

Last updated

Contributing guidelines, also called Contribution guidelines, the CONTRIBUTING.md file, or software contribution guidelines, is a text file which project managers include in free and open-source software packages or other open media packages for the purpose of describing how others may contribute user-generated content to the project.

The file explains how anyone can engage in activities such as formatting code for submission or submitting patches. [1]

The existence of the file in a package should increase the chance of a project receiving crowdsourced contributions. [2] But in many cases, the received contributions do not follow the instructions in the file. [3]

Having a contributions file greatly contributes to the success of projects which depend on user contributions. [4]

Related Research Articles

<span class="mw-page-title-main">Apache License</span> Free software license

The Apache License is a permissive free software license written by the Apache Software Foundation (ASF). It allows users to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software under the terms of the license, without concern for royalties. The ASF and its projects release their software products under the Apache License. The license is also used by many non-ASF projects.

<span class="mw-page-title-main">Open-source software</span> Software licensed to ensure source code usage rights

Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software.

<span class="mw-page-title-main">Git</span> Software for version control of files

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development.

In software development, distributed version control is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations, improves the ability to work offline, and does not rely on a single location for backups. Git, the world's most popular version control system, is a distributed version control system.

qBittorrent Free and open source BitTorrent client

qBittorrent is a cross-platform free and open-source BitTorrent client written in native C++. It relies on Boost, OpenSSL, zlib, Qt 6 toolkit and the libtorrent-rasterbar library, with an optional search engine written in Python.

The nested sampling algorithm is a computational approach to the Bayesian statistics problems of comparing models and generating samples from posterior distributions. It was developed in 2004 by physicist John Skilling.

<span class="mw-page-title-main">GitHub</span> Hosting service for software projects

GitHub is a developer platform that allows developers to create, store, manage and share their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

The open-source-software movement is a movement that supports the use of open-source licenses for some or all software, as part of the broader notion of open collaboration. The open-source movement was started to spread the concept/idea of open-source software.

<span class="mw-page-title-main">Homebrew (package manager)</span> macOS CLI package manager in Ruby

Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's operating system, macOS, as well as Linux. The name is intended to suggest the idea of building software on the Mac depending on the user's taste. Originally written by Max Howell, the package manager has gained popularity in the Ruby on Rails community and earned praise for its extensibility. Homebrew has been recommended for its ease of use as well as its integration into the command-line interface. Homebrew is a member of the Open Source Collective, and is run entirely by unpaid volunteers.

<span class="mw-page-title-main">Phabricator</span> Development collaboration tool

Phabricator is a suite of web-based development collaboration tools, which includes a code review tool called Differential, a repository browser called Diffusion, a change monitoring tool called Herald, a bug tracker called Maniphest, and a wiki called Phriction.

Q&A software is online software that attempts to answer questions asked by users. Q&A software is frequently integrated by large and specialist corporations and tends to be implemented as a community that allows users in similar fields to discuss questions and provide answers to common and specialist questions.

<span class="mw-page-title-main">Guetzli</span> JPEG encoder

Guetzli is a freely licensed JPEG encoder that Jyrki Alakuijala, Robert Obryk, and Zoltán Szabadka have developed in Google's Zürich research branch. The encoder seeks to produce significantly smaller files than prior encoders at equivalent quality, albeit at very low speed. It is named after the Swiss German diminutive expression for biscuits, in line with the names of other compression technology from Google.

<span class="mw-page-title-main">Diversity in open-source software</span>

The open-source-software movement is commonly cited to have a diversity problem. In some ways it reflects that of the general gender disparity in computing, but in general is assumed to be even more severe. The same can be extended to the racial and ethnic diversity of the movement. "Diversity" in this article uses the academic Critical Theory definition.

Jennifer "Jenny" Bryan is a data scientist and an associate professor of statistics at the University of British Columbia where she developed the Master in Data Science Program. She is a statistician and software engineer at RStudio from Vancouver, Canada and is known for creating open source tools which connect R to Google Sheets and Google Drive.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

A software bot is a type of software agent in the service of software project management and software engineering. A software bot has an identity and potentially personified aspects in order to serve their stakeholders. Software bots often compose software services and provide an alternative user interface, which is sometimes, but not necessarily conversational.

<span class="mw-page-title-main">Magit</span> Emacs interface for the Git version control system

Magit is an interface to the Git version control system (a Git Client), implemented as a GNU Emacs package written in Elisp. It is made available through the MELPA package repository, on which it is the most-downloaded non-library package, with over 3.7 million downloads as of February 2023.

pvlib python Software for simulating solar power

pvlib python is open source software for simulating solar power of photovoltaic energy systems.

References

  1. Barnes, Kevin R. (17 September 2012). "Contributing Guidelines". The GitHub Blog. GitHub.
  2. Kobayakawa, Naoki; Yoshida, Kenichi (2017). "How GitHub Contributing.md Contributes to Contributors". 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC). pp. 694–696. doi:10.1109/COMPSAC.2017.139. ISBN   978-1-5386-0367-3. S2CID   156171.
  3. Elazhary, Omar; Storey, Margaret-Anne; Ernst, Neil; Zaidman, Andy (6 August 2019). "Do as I Do, Not as I Say: Do Contribution Guidelines Match the GitHub Contribution Process?". arXiv: 1908.02320 [cs.SE].
  4. Coelho, Jailton; Valente, Marco Tulio (2017). "Why modern open source projects fail". Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2017. pp. 186–196. arXiv: 1707.02327 . doi:10.1145/3106237.3106246. ISBN   9781450351058. S2CID   12302770.