This page describes the process of contributing code to any of the FreedomBox sub-projects.
If you are not familiar with Git, the distributed version control software, take a tutorial.
- Setup Git by installing it and configuring your name and email.
Clone the project repository. The repository URL is available on individual project pages (FreedomBox, Freedom Maker).
Using Salsa
Create an account on Salsa if you don't have one.
Setup Salsa authentication by uploading your SSH keys.
Fork the project repository on Salsa to create your personal repository.
- Clone your personal Salsa fork to your local machine:
git clone git@salsa.debian.org:YOUR-USERNAME/YOUR-CLONE-NAME.git
Without Salsa
- Clone the project repository:
git clone https://salsa.debian.org/freedombox-team/PROJECT-NAME.git
- Clone the project repository:
- Create a new branch for your work.
git branch YOUR-FEATURE-BRANCH
Following the instructions in the HACKING file to install the project.
See the FreedomBox Developer Manual for a tutorial on how to write apps for FreedomBox and API reference documentation.
- Implement your feature or bug fix.
- Make your code consistent with the existing code by following coding standards and examining the existing code. If it is a Python project, following the PEP8 styling guide and run flake8 and yapf tools on the project code. See the HACKING file of the project for more details.
Check your changes and make a commit with a good commit message.
git add file1 file2
git commit
- Submit your changes
Using Salsa
- Push your changes to Salsa:
git push origin YOUR-FEATURE-BRANCH
Visit Salsa repository page and create a merge request.
- Push your changes to Salsa:
Without Salsa
- Create patches for your commits.
git format-patch master
Send the patches to the !FreedomBox discuss mailing list (freedombox-discuss@alioth-lists.debian.net). Optionally use the command git send-email for this.
- Create patches for your commits.
- Other developers generally respond back with comments on how your work could be improved. Make new changes to your work by making further commits or by rewriting old ones. Then, resubmit. (This process may take some time depending on the availability of other developers and the quality of your submission. So, don't wait, start a new branch and work on another feature/bugfix.)
- After your work is found to be of sufficient quality and when it works well, someone will merge your work into the master branch of project repository.
Resources
Intro |
Information |
Support |
Contribute |
Reports |
Promote |
|
|
|
|||||
|
|
|
HELP & DISCUSSIONS: Discussion Forum - Matrix - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project
Next call: Saturday, December 09 at 14:00 UTC
This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.