"Fossies" - the Fresh Open Source Software Archive

Member "gap-4.11.1/CONTRIBUTING.md" (2 Mar 2021, 9277 Bytes) of package /linux/misc/gap-4.11.1.tar.gz:

As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field. See also the last Fossies "Diffs" side-by-side code changes report for "CONTRIBUTING.md": 4.10.2_vs_4.11.0.

Contributing to GAP

We invite everyone to contribute by submitting patches, pull requests, bug reports, and code reviews. We would like to make the contributing process as easy as possible.

Packages versus contributions to the "core" system

One way of contributing to GAP is to write a GAP package and send it to us to consider for redistribution with GAP. This is appropriate if your contribution adds a body of functionality for some area of mathematics (or some coherent batch of system functionality). A package is also appropriate if you plan to continue to develop your code in the future. You will retain control of your code and be recorded as author and maintainer of it.

Packages are not an appropriate way to release fixes or extremely small changes, or to impose your own preferences for, for instance, how things should be printed.

Issue reporting and code contributions

Making Changes

GAP development follows a straightforward branching model. We prefer using the GitHub infrastructure. If you would like to contribute, but do not want to create a GitHub account, see below for an alternative.

From there you will have to wait on one of the GAP committers to respond to the request. This response might be an accept or some changes, improvements or alternatives will be suggested. We do not guarantee that all requests will be accepted. You may want to to read the section discussing the reviewing process below to make the review of your pull request go smoothly.

Making changes without Github account

If you do not want to open a GitHub account you can still clone the GAP repository like so:

git clone https://github.com/gap-system/gap.git

Make your changes and commits, create a patch containing the commits you want to send, and use git's send-email feature to email the patch to gap@gap-system.org. You can refer to this tutorial on how to do this.

The reviewing process

Before any change is incorporated into the code base, it must undergo a mandatory code review. Typically, this is done for each pull request (PR) via the GitHub code review facilities. In order to be mergeable into the code base, a PR must have at least one approving code review from a core GAP developer with write access to the GAP code repository.

However, everybody is very welcome to submit code reviews! This helps the core developers a lot, and is a step towards becoming one of them yourself.

To review some code, start by browsing the list of open pull requests (PRs) at https://github.com/gap-system/gap/pulls and look for a PR you would like to review. Once you have chosen one, you can comment on its content, and even individual lines changed by it, by following the instructions given on https://help.github.com/articles/reviewing-proposed-changes-in-a-pull-request/

You can use the lists below as checklists for how to write your review. Please be careful to criticize constructively and not use dismissive language (see e.g. Brian Lee's section on Rewording Feedback in his blog post).

Before you dive into the code

This section is based on https://lornajane.net/posts/2015/code-reviews-before-you-even-run-the-code.

Dive into the code

Additional Resources

Heavily adapted from the contributing files from the Puppet project, Factory Girl Rails, and Idris.