Ontwikkelaars kiezen voor open source-projecten om uiteenlopende redenen: om nieuwe vaardigheden te leren, ervaring op te doen, te netwerken met collega’s, of gewoon voor de lol. Het kan een zware taak zijn om een project dat voldoet aan je wensen en newbies vriendelijk behandelt. We hebben daarom de aanbevelingen gevraagd van ontwikkelaars die bijdrages leveren aan deze projecten en gekeken wat de beste manier is om te beginnen.
Zelf een bug aanpakken
“Meestal werkt open source het beste als mensen zelf de behoefte krijgen om iets aan te passen”, zegt Jacob Kaplan-Moss, een van de hoofdontwikkelaars van het Python webframework Django. “Zo ben ik ook begonnen.” Zijn eerste bijdrage aan Python was volgens hem puur eigenbelang. “Ik kwam een bug tegen bij een project dat ik uitvoerde – iets over het lezen en schrijven van bestanden op OS X – en ik moest zelf een patch schrijven om het issue te verhelpen”, licht hij toe.
Kaplan-Moss raadt mensen die met open source-projecten willen beginnen dan ook aan om iets te vinden dat ze zelf kunnen gebruiken en willen verbeteren. “Je haalt er erg veel voldoening uit als je zelf een probleem oplost en daardoor raak je je leven lang gehecht aan open source”, zegt hij.
Eigen behoefte bevredigen
Freelance techjournalist Dmitri Popov droeg voor het eerst bij aan het open source-project OpenOffice.org. De extensie die hij maakte toen het project nog bij Sun lag voldeed aan een behoefte die hij zelf had. Hij raadt daarom beginners aan om een project te kiezen waar ze zelf iets mee willen. “Ik ben bijvoorbeeld een amateurfotograaf en daarom werk ik mee aan digiKam”, vertelt Popov.
Selena Deckelmann, data-arcitect bij Mozilla, begon ook aan open source om een persoonlijke behoefte te bevredigen. Ze droeg het eerst bij aan RRDTool, een visuele databasetool. “Ik had duizenden RRD’s en moest een kleine wijziging aanbrengen in al deze databases”, vertelt ze. “Ik schreef een update-utility in Perl om de XML aan te passen. Op de mailinglijst van gebruikers meldde ik dat ik het geschreven had en plaatste de code in de lijst. Even later was het in de repository opgenomen. Ik was vereerd dat een script dat ik in een middagje had geschreven in de repo van het project was opgenomen voor een project dat van groot belang was voor mijn dagelijkse bezigheden.”
Kijkje in de keuken
Ik ben zelf begonnen met bijdragen aan Ubuntu door het besturingssysteem te gebruiken en bugs te melden als ik deze tegenkwam. In het begin gebruikte ik Ubuntu privé, maar uiteindelijk gebruikte ik het fulltime op m’n werk. Omdat ik nu bètatester voor nieuwe releases ben, krijg ik een kijkje in de keuken van de ontwikkelaars en ik help ze de nieuwste code te verbeteren voor de officiële release van de nieuwe versie.
Deze 7 bekende projecten zijn wellicht een goede plek om te beginnen. Na deze voorbeelden volgen ook tips over welke open source-projecten maar beter kunt vermijden.
1. Drupal
Contentmanagementsysteem Drupal biedt een wijdverspreide, internationale community met een reputatie van uitnodigende vriendelijkheid naar nieuwe leden toe. Je hoeft geen door de wol geverfde ontwikkelaar te zijn om je op je gemak te voelen bij het Drupal-project.
Het is eenvoudig om te beginnen met Drupal en de site leidt je door het proces. Als je niet aan eigen sitehosting werkt, maar wel graag met de code wilt spelen, is Drupal Gardens een goed startpunt. Als je een account hebt opgezet met je gebruikersnaam en wachtwoord, kies je een custom URL (rikki.drupalgardens.com in mijn geval) en kies je of maak je een sjabloon. Vervolgens kun je met de instellingen prutsen terwijl je leert hoe Drupal-sites werken.
Leslie Hawthorn, communitymanager bij Red Hat, raadt Drupal aan vanwege zijn “resources voor newbies, van de Drupal Dojo tot ondersteuning voor beginners via het IRC-kanaal.” De Drupal Dojo geeft aanvullende training zodat ontwikkelaars “de leercurve van Drupal kunnen overstijgen”. De documentatie voor nieuwe gebruikers is sterk met een uitgebreide gids voor nieuwkomers. Ik kan geen betere manier bedenken om ontwikkelaars bij een project aan te spreken.
2. Python
Python is een bekende programmeertaal met een grote, vriendelijke en actieve community erbij. Hawthorn van Red Hat raadt dit project aan omdat Python veel ondersteuning heeft in gebruikersgroepen en een mentorshipprogramma om ontwikkelaars die net beginnen met Python te helpen.
Kaplan-Moss van Python webframework Django is ooit begonnen via het Python-project. “Ik was me bewust van open source, maar Python was het eerste project waarvan ik me gemotiveerd voelde om er iets aan bij te dragen”, zegt hij. Kaplan-Moss wijst wel op een nadeel als je wilt bijdrages aan Python. “Python is behoorlijk volwassen, dus de bugs die nog opgelost moeten worden zijn vaak lastig, obscuur en doen zich niet vaak voor.”
Veel projecten hebben moeite met het aantrekken van vrouwelijke ontwikkelaars, maar Python heeft een vrij diverse community. Eind vorig jaar eiste de Software Foundation dat Python-congressen voortaan gedragsregels hanteren en congressen zonder zo’n gedragscode hoeven niet meer op subsidie te rekenen. De community heeft ook PyLadies, een internationale groep van vrouwelijke ontwikkelaars en mentoren. PyCon 2013 zamelde geld in om meer vrouwen bij het project te betrekken.
3. LibreOffice
De nonprofitorganisatie The Document Foundation (TDF) leidt het LibreOffice-project, een open source office-pakket dat gegroeid is uit OpenOffice.org toen de ontwikkelaars daarvan Oracle vaarwel zeiden na de Sun-overname en met de broncode verdergingen. Techjournalist Popov vertelt dat zijn eerste bijdrage binnen de open source-gemeenschap een extensie was die hij nog schreef voor OpenOffice.org. Hij raadt LibreOffice aan vanwege The Easyhacks. Deze wiki helpt nieuwkomers met hoe ze kunnen bijdrages aan het project en bevat onder meer een lijst van bugs en aanvragen voor features om mee aan de slag te gaan.
4. PostgreSQL
PostgreSQL is een object-relational databasesysteem (ORD). Deckelmann van Mozilla levert ook bijdrages levert aan PostgreSQL, legt uit: “Het project is ook op C-gebaseerd en veel van onze communityleden leren C terwijl ze nieuwe code bijdrages of bugs oplossen in het project die niet uitsluitend in C zijn geschreven.” Ze raadt ontwikkelaars aan om te beginnen met de ToDo-pagina van het project en de Developer FAQ. De PostgreSQL-community heeft ook een mailinglijst, wekelijkse nieuwsbrief en een actief IRC-kanaal.
5. Ubuntu
Open source-evangelist Benjamin Kerensa raadt Ubuntu aan vanwege diens hechte gemeenschap. Hij wijst op een breed scala aan bijdragers, inclusief ontwikkeling, documentatie, grafisch design en ondersteuning.
Mijn eerste Linux-installatie was Ubuntu en heb samen met collega’s het eerste Ubuntu-tijdschrift, Ubuntu User, opgericht. De community is gigantisch, internationaal en zeer divers. Het project heeft veel documentatie en wiki’s online staan om nieuwe leden op gang te helpen en lokale communityteams (LoCo’s) zijn overal te vinden, bijvoorbeeld Ubuntu Nederland de Belgian Local Community Team. Je draagt al snel iets bij, zelfs als je een gebruiker bent die bugs aanmeldt bij het QATeam. De drempel om mee te werken aan open source kan bijna niet lager dan bij Ubuntu.
6. PC-BSD
Als Ubuntu wel interessant klinkt, maar je liever iets anders doet dan waar iedereen zich op lijkt te storten, dan raadt Dru Lavigne, community-developmentdirecteur vij iXsystems, PC-BSD aan. Dit is gebaseerd op FreeBSD (wat weer op BSD UNIX is gestoeld) en is een relatief nieuw besturingssysteem dat iXsystems subsidieert.
Lavigne zegt dat de het uitgebreide gebruikersboek het makkelijk maakt om snel op de hoogte te raken. “Een heel hoofdstuk is gewijd aan de diverse manieren waarop mensen bij het project betrokken kunnen raken”, vertelt ze. Als je van documentatie houdt, kun je zo een wiki-account aanmaken en beginnen. “Redacteuren bekijken en bediscussiëren wijzigingen die de schrijver helpen om het concept waar ze mee bezig zijn helder uit te leggen.”
Maar als je niet meteen in het diepe van PC-BSD wilt springen, zijn er forums en is er een IRC-kanaal om je te introduceren bij de community. “Het project en diens leden werken hard aan een vriendelijke atmosfeer, smoren ongepast gedrag in de kiem en leveren een omgeving waar gebruikers zich op hun gemak voelen om elkaar te helpen”, zegt Lavigne.
7. Documentatie
Ja, documentatie is niet echt een open source-project, maar documentatie is de achilleshiel van menig open source-project. Technisch schrijven is dan ook van groot belang. Jeffrey Osier-Mixon, communitymanager van embedded Linux-project Yocto, raadt ontwikkelaars aan zich hierop te storten. “Open source wordt nu breed geaccepteerd en een van de grootste dingen die ontbreken – en dat is een buitenkans voor ontwikkelaars die niet van die hardcore programmeurs zijn – is geschikte documentatie. Er is altijd vraag naar schrijfvaardigheden zen technisch schrijven is een fantastische baan.”
Als je op zoek bent naar andere projecten die leden zoeken, kijk dan eens bij Google’s Summer of Code. Hawthorn van Red Hat: “Elk project dat meedoet aan dit programma heeft in feite de rode loper uitgerold voor nieuwe deelnemers.”
Projecten om te vermijden
Tenzij je een door de wol geverfde, bekende open source-ontwikkelaar met een dikke huid bent, kun je de Linux-kernel maar beter vermijden. Dat is een hoge lat en het ontwikkelteam heeft een reputatie van – hoe zeg ik dit voorzichtig – bruut eerlijke communicatie. Mensen die bijdrages willen leveren moeten tegen een flinke stoot kunnen. Een ervaren open source-ontwikkelaar vertelde me: “Het ontwikkelteam is behoorlijk onbeschaafd en in sommige gevallen seksistisch.”
Het kernelproject is het meest uitnodigende beginpunt, maar er worden stappen gezet om dat te verbeteren. Greg Kroah-Hartman, een Linux-kernelontwikkelaar, heeft seminars gegeven over hoe het leveren van een bijdrage aan de kernel werkt. Als je een beter gevoel krijgt voor de omvang van de Linux-kernel, heb je misschien ook een beter gevoel waarom dit niet voor beginners is. “Het is saai werk om een bouwomgeving op te zetten voor de kernel en de beheerders zijn erg kritisch op je stijl”, legt Linux-kernelontwikkelaar Sarah Sharp uit. “Het goede nieuws is dat we de eerste patch hebben uitgebracht die OPW-deelnemers over een horde helpt.”
Wikipedia is een ander project die je misschien maar beter kunt vermijden. Een bekende vrouw in de open source-gemeenschap licht dat als volgt toe: “Er zijn een heleboel mensen die hulp bieden en ze hebben gedreven mensen die meer redacteurs zoeken en meer diversiteit willen. Maar als je op de Gendergap-mailinglijst kijkt [die de scheefgroei tussen mannelijke en vrouwelijke leden en discriminatie probeert op te lossen] lijkt het erop dat Wikipedia een verschrikkelijke plek is.”
Natuurlijk kan elk willekeurig project uiteindelijk niet bij je passen. Als je niks van een project weet, is het beter om er niets aan proberen bij te dragen. Want daarmee verspil je je tijd en maak je een verkeerde eerste indruk door je slecht ingelicht bij een groep te voegen. Voordat je iets gaat bijdragen is het goed om eerst de geschiedenis en de reputatie van het project te bekijken.
Het is ook goed om eerst het proces inzichtelijk te krijgen van hoe je iets bijdraagt voordat je contact legt met anderen, zodat je geen vragen stelt die kunnen worden beantwoord door het project online door te nemen of door archieven van mailinglijsten te bekijken. En het belangrijkste is om jezelf de vraag te stellen: “Is dit project voor mij persoonlijk nuttig?” Zo niet, dan blijf je er waarschijnlijk ook niet lang in geïnteresseerd.
bedankt voor dit artikel erg informatief. Ik zelf werk al jaren met LibreOffice tot volle tevredenheid.
Een nieuwe interessante Open Source Project heet "ProjectLibre" ([Link]) een Project Management software , waarvan de makers beweren dat het binnenkort Microsoft Project in zal halen ; EN het is gratis.
Reageer
Preview