Bijdragen

Het is een goed idee lid te worden van onze mailinglijst. Deze lijst is in het Engels - ondanks het feit dat Subsurface en deze website zelf in vele talen beschikbaar is. Natuurlijk kunnen we ook prima overweg met “gebroken Engels” :-)

Een aantal ontwikkelaars zijn ook actief op IRC op het kanaal #subsurface op Freenode.

Er zijn vele manieren waarop je kan bijdragen. We zijn altijd op zoek naar testers, die in ontwikkeling zijnde wijzigingen willen testen. Wij zijn vooral op zoek naar mensen met Windows en Mac platforms, want een groot deel van de ontwikkelaars zijn Linux gebruikers. Ook reviewers en schrijvers van documentatie zijn natuurlijk zeer welkom. En omdat we graag Subsurface in vele talen beschikbaar willen stellen, zijn we altijd op zoek naar software vertalers. Onze vertalingen worden centraal geregeld via Transifex - maak daar een account aan en vraag om toe te treden tot het Subsurface Team.

Als je software reparaties of nieuwe functionaliteit wil bijdragen is dat natuurlijk bijzonder welkom. Een goed startpunt hiervoor is onze bug tracker.

Hieronder staat een zeer beknopte samenvatting hoe software aanpassingen aan te leveren. Je kunt een zogenaamd pull requests op onze GitHub repository indienen of stuur ze als email naar de mailinglijst. Meer informatie over Git kan je vinden in de git user manual.

Start met het ophalen van de laatste software (zie Building Page hoe dit te doen).
cd subsurface
git checkout master
git pull

ok, nu zijn we op de laatste versie. Maak een werk branch aan waarin je je eigen ontwikkeling doet:
git checkout -b devel
Edit de code (of documentatie), compileer, test… en maak een commit aan:
git commit -s -a

Er opent een tekst editor (normaal gesproken kan je deze definiëren met een omgevingsvariabele GIT_EDITOR. Hier voer je je beschrijving van de wijziging in. De eerste regel is de titel. Houd het kort en duidelijk. Dan volgt de feitelijke beschrijving; zie hieronder voor meer informatie.

Als je de commit wil aanpassen is “git commit --amend” de juiste manier. Voel je vrij je wijzigingen in meerdere kleinere delen op te splitsen. Dan zijn er de mogelijke vervolgstappen. Voor de mensen die gewend zijn met GitHub te werken, push je wijzigingen naar je eigen branch op GitHub en maak achtereenvolgens pull request. De 2e manier is via je lokale git respository. Draai: git format-patch master..devel
Dit maakt een aantal files met namen als 0001-Commit-title.patch, die je naar de mailinglijst stuurt.

Alle ingediende wijzigingen dienen een regel te bevatten: “Signed-off-by: Name” aan het eind van de commit. Dit laat zien dat je de code zelf hebt geschreven en dat je het recht hebt de wijziging als open source beschikbaar te stellen. Zonder signed-off wordt een wijziging niet geaccepteerd.

Zie: Signed-off-by Lines

Verder, schrijf goede commit beschrijvingen, zoals bijvoorbeeld (in Engels, de voertaal van het project):

Header line: explaining the commit in one line

Body of commit message is a few lines of text, explaining things
in more detail, possibly giving some background about the issue
being fixed, etc etc.

The body of the commit message can be several paragrahps, and
please do proper word-wrap and keep columns shorter than about
74 characters or so. That way “git log” will show things
nicely even when it’s indented.

Reported-by: whoever-reported-it
Signed-off-by: Your Name

Merk op dat de header regel zinvol moet zijn en echt 1 regel. Deze regel komt terug in hulpmiddelen als gitk en shortlog. De regel moet zelfstandig (zonder detail uitleg) te begrijpen zijn.

gitk sample

Exemple with gitk