Contribute

Revision as of 20:51, 22 May 2020 by Abartlet (talk | contribs) (Fill in more detail on the First Merge Request steps)

How to contribute to Samba?

Like all OpenSource projects, Samba is reliant on volunteers. You don't need special skill to help this project. Everybody can help! :-)

There are several category groups you can work on, e.g.:

  • Improve documentation
  • Update/provide Wiki articles
  • Help testing
  • Report bugs
  • Help to verify patches in Bugzilla
  • Create patches (C and Python developers)
  • Anything else you can imagine

Submitting Patches

The preferred method for submitting patches to samba is via the official mirror on GitLab. For more information see Samba CI on gitlab.

First Merge Request

The Using Git for Samba Development page has details on how to prepare patches using git.

Obtain a GitLab.com account

Samba development is done on GitLab.com so you will need to Register a new user account. You can sign in with you GitHub account if you have one

Fork the Samba repo (just until we get to know you)

First fork the samba git repo.

By default projects on gitlab.com have a 1 hour timeout set on pipelines. This must be changed in the project settings.

We suggest using a timeout of 3 hours, which is still permitted on the free runners.

Otherwise, you will see errors like this:

ERROR: Job failed: execution took longer than 1h0m0s seconds
The script exceeded the maximum execution time set for the job 

Prepare your patches and push back your first merge request

After preparing your patches pushing back to your fork on gitlab.com and submitting a merge request, the patches will be reviewed by samba team members who will post comments on your merge request.

Subsequent Merge Requests

After your first merge request has been approved, you will be granted access to the samba devel gitlab repo. Subsequent merge requests should be made from this repository. Pushing branches to samba devel will initiate a CI build test.

Mailing patches to samba-technical

While not ideal, submitting patches via the mailing list is still considered acceptable. To submit patches, use git format-patch and mail your patches to the samba-technical mailing list.

The preferred format for patch sets is a single-file bundle attached to the email you send to the list. Bundling can be automated by invoking git format-patch with the flag --stdout.

The disadvantage to this approach is that your patches risk being missed by an interested samba team member. Submitting a merge request is preferred, because your patches become persistent and will not be forgotten.

Patch Reviews

Patches from non-samba team members require a minimum of 2 reviews from samba team members prior to patches being merged.

Outside contributors are welcome to review patches also, whether on the mailing list, or reviewing merge requests on GitLab.

Policies

Regardless of how you send us your patches, please ensure you have added Signed-off-by tags to your commits, and follow the Samba copyright policy

Whenever participating in the Samba community, please follow and respect the guidelines in How to do Samba: Nicely