Contribució a un projecte de codi obert: primers passos

Els projectes de codi obert han produït diversos programes útils al llarg dels anys. Moltes de les grans tecnologies que fem servir avui provenen de l’evolució del codi obert. Reproductors multimèdia Android, Firefox, VLC, MongoDB, Linux, Docker i Python, per citar alguns.

Fins i tot molts dels gegants de la tecnologia s’adonen dels avantatges i permeten als seus empleats prendre un dia lliure i passar el seu temps en projectes de codi obert. De fet, molts tenen projectes de codi obert ells mateixos.

No obstant això, la gran majoria dels autors de projectes de codi obert no treballen per a gegants de tecnologia. Qualsevol persona pot deixar la seva empremta en un important programari obert o crear el seu propi "següent gran". Participar en un projecte de codi obert també us pot ajudar a millorar les vostres habilitats, aprendre alguna cosa nova, rebre assessorament o fer amics de tota la vida. Les contribucions a projectes de codi obert haurien de ser de benefici mutu tant a curt com a llarg termini. Moltes empreses contracten activament desenvolupadors a temps complet, dels que més contribueixen a un projecte. Aquesta pot ser una excel·lent manera de mostrar les vostres habilitats mentre n’apreneu de noves.

En aquest article es resumeixen alguns consells que compartim amb els interessats en conèixer MindsDB. Tot i que cada projecte és diferent, esperem que aquestes idees us ajudin a participar en projectes de codi obert.

Pàgina GitHub de MindsDB

Abans de fer la primera contribució

1. Valoreu-vos:

El primer pas és avaluar les habilitats tècniques o no tècniques que tingueu o que vulgueu millorar. Us pregunteu on puc obtenir més valor afegit? Això pot ajudar directament a escriure codi, provar errors o fins i tot millorar la documentació perquè altres puguin utilitzar el programari de manera més eficient.

2. Conegueu GitHub

Gairebé tots els projectes de codi obert utilitzaven un sistema de control de versions, una eina que ajuda a combinar nou codi al projecte (el "dipòsit" principal). Normalment, la col·laboració gira al voltant d’un lloc web on es troba el dipòsit central. Aquests llocs web inclouen Github, Bitbucket i Gitlab. Github és, amb diferència, el més popular i el que fem servir aquí a MindsDB.

En general, els sistemes de control de versions us permeten fer un seguiment de tots els canvis d’un projecte sense desar diversos fitxers. Creeu un compte a Github, inicieu la sessió i navegueu per les diverses pestanyes de la part superior del lloc web. Aquí és on podeu trobar informació sobre Github, guies de desenvolupament, projectes de codi obert, esdeveniments, conferències, etc. Seguint aquesta guia, aprendreu tot sobre els conceptes bàsics d’un GitHub.

3. Cerqueu projectes rellevants i uniu-vos a la comunitat

Cerqueu projectes rellevants a Github segons les vostres habilitats. Per fer-ho, podeu utilitzar Github Explore o iniciar sessió al Triatge de codis per rebre un correu electrònic sobre un tema diferent cada dia. En triar un projecte, busqueu un projecte que es mantingui activament (molts compromisos) i que tingui molts problemes. Un cop trobats els vostres projectes rellevants, podeu subscriure-us al projecte Star & Fork i subscriure-us a la llista de correu i al canal Slack. Aquesta és la millor manera d'obtenir ajuda si no podeu configurar el projecte o la vostra primera contribució.

Feu la vostra primera contribució

1. Juga amb el programari: Find Bugs

Primer, proveu el programari, instal·leu-lo i reproduïu-lo, intenteu trencar-lo i comproveu si fa el que diu al quadre. Aquest és un lloc fantàstic on podeu afegir valor fàcilment informant de qualsevol problema que trobeu. És probable que cada projecte tingui una plantilla lleugerament diferent per informar de problemes, però bàsicament tots contenen informació similar. (La plantilla de problema MindsDB es pot trobar aquí.)

2. Investigueu els problemes existents

Un cop hàgiu descobert a quin projecte voleu contribuir, cerqueu al dipòsit de Github, llegiu els documents i aneu a la pestanya Problemes. Aquí trobareu totes les preguntes obertes en què podeu treballar. Aquests problemes poden aparèixer de principiant a avançat. Si el dipòsit es gestiona correctament, els problemes s'etiqueten com a "novells", "per primera vegada", "necessiten ajuda", etc., de manera que pugueu treballar en les tasques més senzilles per obtenir confiança i experiència amb el projecte.

3. Ajudeu a millorar la documentació

Tot i això, no cal que codifiqueu de seguida. Podeu contribuir a la documentació, crear la guia del desenvolupador, ajudar altres persones a resoldre els seus problemes, etc. Llegiu la documentació i, si creieu que hi falta alguna cosa, és un bon primer lloc per començar. Podeu plantejar un problema o, si us sentiu prou segur, afegir-hi les peces que us falten. Aquí podeu veure els documents de MindsDB.

4. Proposar noves funcions

Si us agrada el projecte i el trobeu útil, també podeu sol·licitar noves funcions per millorar-lo. (La nostra plantilla es pot trobar aquí) O millor encara, podeu provar d'afegir-la vosaltres mateixos.

La catedral i el basar

Un llibre clàssic sobre OSS és La catedral i el basar. Es tracta del desenvolupament d’estil basar, un enfocament ascendent que permet als desenvolupadors i als usuaris per igual. Compareu-lo amb l'estil "dom", un enfocament de dalt a baix on la potència correspon als gestors i propietaris de productes.

Són aquestes idees les que han conduït als enfocaments de treball descrits al Manifest Agile. Independentment de quantes empreses hagin intentat imitar un enfocament "basar" del desenvolupament, no poden fer-ho tan bé com els projectes de codi obert.

En el món dels projectes corporatius, els arquitectes, gestors i propietaris de productes són líders. Al món del codi obert, els usuaris i els desenvolupadors determinen les especificacions.

El programari de codi obert és fantàstic perquè aprofita la "intel·ligència col·lectiva" dels seus desenvolupadors i usuaris. La majoria dels desenvolupadors d'un projecte de codi obert provenen de la seva base d'usuaris bàsics; la majoria dels "líders" d'un projecte de codi obert són simplement els desenvolupadors que aporten més idees i codi.

Aquest enfocament del "basar" no és necessàriament millor que el de la "catedral", però és un sistema que val la pena provar. Pot donar a un nou desenvolupador molta potència sobre el programari, independentment de criteris externs, com ara l'edat o l'antiguitat de l'organització. L'única marca d'intercanvi és el codi. Com més valuosa sigui la vostra contribució, més influència tindreu en el disseny.

Si no és el contrari, hauríeu de treballar en alguns projectes de codi obert per conèixer aquest estil de disseny de programari de baix a dalt.

Propers objectius com a desenvolupador de codi obert

1. Assistir a conferències

Com a desenvolupador de codi obert, podeu assistir a conferències i esdeveniments sobre codificació i tecnologia. Podeu provar diferents esdeveniments a Github Explore i intentar assistir a aquests esdeveniments a prop vostre. MindsDB organitzarà reunions durant el 2019. Si voleu estar al dia de tot allò relacionat amb MIndsDB, us podeu subscriure a la nostra llista de correu aquí

2. Paga’t pel desenvolupament de codi obert

En general, no es paga per desenvolupar el codi obert perquè la major part del treball es fa voluntàriament. Tanmateix, si no us podeu permetre el temps dedicat al desenvolupament de codi obert no remunerat, podeu parlar amb el vostre empresari i tenir la idea d’un projecte que pugui interessar-lo o trobar un projecte de codi obert. - desenvolupador pagat. Per obtenir més informació, consulteu la guia de Github sobre com cobrar pel desenvolupament de codi obert. Moltes empreses (inclosa MindsDB) també contracten o paguen a les millors persones per la seva feina.

3. Mostra el teu currículum, orienta't i competeix en competicions de codi obert

Heu d’esmentar qualsevol projecte al qual hàgiu contribuït al vostre currículum o incloure un enllaç al vostre compte de GitHub al vostre currículum o carta de presentació. La majoria dels empresaris estan impressionats amb aquests premis i prefereixen aquests candidats per a la contractació.

També podeu convertir-vos en un mentor per a persones que són noves en el desenvolupament de codi obert. És hora de retornar a l’església i orientar aquells que estan començant. Hi ha diversos programes en què podeu triar ser mentor, com ara: Google Summer of Code, Google Rails Girls Summer of Code, Google Outreachy, etc. o simplement ajudar les persones a respondre les seves preguntes a les llistes de correu o a StackOverflow.

Adam Carrigan és cofundador de MindsDB, una eina fàcil d'utilitzar que us permet afegir l'aprenentatge automàtic als vostres projectes i resoldre problemes de dades. Segueix-me a Twitter

També podeu seguir el nostre projecte a GitHub i Twitter