El meu primer PR (Pull Request) en Github

Bé, em prendré la llibertat de sortir una mica de la meva zona de confort, per entrar en una altra de les meves zones de confort 😛 FOSS. En aquest post pretenc, així com vaig fer amb Gentoo, primer compartir una mica de la meva experiència personal i així tractar de emocionar una mica a poder submergir-se de ple en el món dels projectes i les contribucions. Sense més que afegir, comencem:

FOSS

Free and Open Source Programari (Per les seves sigles en anglès) és un corrent que embolica tant a projectes open source com de programari lliure. No pretenc discutir les diferències entre tots dos ja que ja ho he fet en repetides oportunitats, fins i tot una vegada vaig haver d'explicar tot a la mateixa senyor Stallman que em va contactar per correu en una de les llistes de projectes que abunden per internet. Un article que m'emociona molt i el qual els vaig a compartir es troba a la pàgina oficial de GNU i com molts dels seus documents, es troben traduïts a diversos idiomes. Les adjunt el link i em prendré la llibertat de citar un dels paràgrafs que més em criden l'atenció.

https://www.gnu.org/education/edu-schools.es.html

La raó més profunda per utilitzar programari lliure a les escoles és l'educació moral. Esperem que les escoles ensenyin fets bàsics i habilitats útils, però aquesta és només una part de la seva funció. La tasca fonamental de les escoles és ensenyar a ser bons ciutadans, incloent l'hàbit d'ajudar els altres. En l'àmbit informàtic, això es tradueix en ensenyar a compartir el programari. Les escoles, a partir de jardí infantil, haurien de dir-li als seus alumnes: «Si porteu programari a l'escola, heu compartir amb els altres nens. I heu de mostrar el codi font a classe, per si algú vol aprendre. Per tant, no està permès portar a l'escola programari que no sigui lliure, llevat que serveixi per fer algun treball d'enginyeria inversa ».

Com poden veure, el programari lliure és un corrent més que tècnica, jo diria moral. És com apropar-nos una pas més a aquest món en què l'egoisme i la supèrbia estan de costat i podem tenir gent que realment comparteix i es preocupa pels altres.

Bé, no pretenc fer-los fervents usuaris de programari lliure, però els animo a que donin un salt pels documents, i vegin el bo que puguin rescatar 🙂

Projectes

Tot programari, ja sigui de codi obert o free software, té un projecte i probablement una comunitat girant al seu voltant. Aquests són els que el mantenen, milloren, protegeixen, etc. Com és d'esperar-se, com més gran és el projecte, les estructures es tornen cada vegada més específiques pel que fa a processos i formes, i evidentment és el correcte ja que a major nombre de participants, els errors poden ser majors si no es tenen ben definides les formes de col·laborar i els processos per fer-ho.

La principal regla a l'hora d'optar per contribuir a un programa FOSS, és UTILITZAR aquest programa 😀 I pot ser que soni una mica ximple el que dic, però en realitat té molt sentit. Com neixen molts dels característiques que inclou un programa? Doncs per necessitat. Cada funcionalitat existent sorgeix en la base de que algú (una o moltes persones) necessiten d'aquesta funció. És per això que si el teu vols compartir i col·laborar a una comunitat, un pas indispensable és que utilitza el que desenvolupen.

És necessari ser un expert programador?

Jo vull començar aquesta part fent una simple pregunta. Com es converteix un en un expert programador? Aquí alguns em diran, doncs creant programes, Ia totes aquelles persones jo els comento que aquest no és l'enfocament correcte. Per què?

Llegir codi et fa millor programador

Pensin en això una mica abans de continuar. Quin escriptor va néixer sabent escriure? ¿No és potser primer aprendre a llegir, per nodrir el cervell amb molts altres autors i així eventualment poder començar a escriure alguna cosa amb contingut i valor? Passa exactament igual amb el codi, un ha d'aprendre a llegir molt abans d'aprendre a escriure.

El teu codi probablement no és tan bo

Per als que portin programant per molts anys, perdó si amb això va destruir les seves concepcions del que han aconseguit en tot aquest temps, però és veritat. Per als que hem tingut l'oportunitat de col·laborar en projectes realment grans, el primer que pots apreciar és que hi ha moltíssima gent que és moltíssim més talentosa que un. Evidentment això abans de ser un desavantatge, és un punt pel qual donar suport a un projecte et converteix en un millor desenvolupador.

Tenir centenars, o potser milers, d'ulls revisant el teu codi dia a dia, et fa descobrir en quins aspectes la teva lògica no és la millor de totes. El principal avantatge d'això és que amb el passar el temps, el teu cervell va descobrint noves formes de procedir, i els errors «infantils» que cometies a el principi de la teva participació, esdevenen un vague record.

Amb això només vull reforçar el fet que un projecte et fa bé, tant per aprendre a llegir com per aprendre a escriure codi, el que a la llarga et convertirà en un expert programador.

I ... si jo no sóc programador?

Aquest és un punt que vull tocar també perquè molta gent pensa que si no escriu codi, no hi ha res que es pugui fer per ajudar. Aquest és un mite urbà dels més perjudicials que existeixen.

Molts projectes requereix de més mà d'obra en temes que no són de codi de la que requereixen per produir codi. Potser en màrqueting, o en publicitat, o dret, fins i tot en planejament d'esdeveniments, l'ajuda sempre és benvinguda. A més de que et permet conèixer nova gent, el participar en aquests projectes et permet conèixer noves formes de pensar i a el mateix temps compartir experiències noves.

Com participo?

Doncs si ja ets aquí, espero que al menys una mica de curiositat et piqui per participar en projectes FOSS 😉. Per començar cal comprendre que cada projecte i comunitat té el seu procés propi. Molts d'aquests s'ajunten en diferents punts, i divergeixen en d'altres, però a la fi de comptes, el primer punt de referència per a participar serà la comunitat de el programa que fas servir.

Pàgina web

Cada pàgina web té la seva pròpia secció de contribueix. I si no la té, doncs aquesta és la primera cosa en la qual pots ajudar 😀 aprèn el procés, conversa amb la comunitat, i escriu un petit text perquè puguis guiar altres pel procés 😉 Si ja tenen un, però no està en espanyol, ja que et pots prendre un cap de setmana per traduir-lo i així estaràs ajudant al teu projecte i a el mateix temps a tots els de parla hispana 🙂 Dos ocells d'un tret 😉

Llistes de correu

Molta de la comunicació de les comunitats es dóna per llistes de correu, cal subscriure i començar a prendre un parell de minuts a el dia per llegir-los. Potser a el principi no entenguis, però t'asseguro que amb el passar dels dies o setmanes, aniràs comprenent el que succeeix. Abans d'adonar-te, ja estaràs escrivint a la llista, i no passarà molt abans que la gent et comenci a preguntar opinió o possibles solucions (si t'esforces és clar 😉).

Github

Aquest és un punt crucial per a tota persona que vulgui col·laborar en un projecte FOSS, aprendre a manjera Github, o Gitlab, o Bitbucket, o qualsevol host que albergui el codi de l'repositori, et permetrà ajudar de manera tangible a la millora de la comunitat.

IRC / Gitter / Telegram

IRC (Internet Relay Chat) ha estat des dels primers dies de l'internet. Així és com la gent es comunicava abans de WhatsApp i els smartphones. I com és d'esperar, molts projectes tenen els seus canals d'IRC a disposició on es poden fer preguntes i conversar sobre temes d'el projecte o comunitat, o tenir una xerrada espontània 🙂 sempre tenint cura perquè un clatell sap el que pot trobar a internet 😉

El meu primer PR

Bé, aquí no vinc a explicar com és que es fa un Pull Request en detall, això ho deixaré per un altre post si és que els interessa començar a participar.

com a programador

Disseny propi. Christopher Díaz Riveros

Com no programador

Disseny propi. Christopher Díaz Riveros

El primer va ser un error de seguretat en el qual vaig incorporar un pegat per resoldre-ho, el segon és part de el capítol 7 de l' llibre de Git. Segueixo treballant en dos projectes, fins i tot fa poc vaig acabar de traduir per complet el programa git a l'espanyol. (Sortirà a la versió 2.15 😉)

Són aportacions petits com podran veure, no més de 100 línies de codi (de les quals bastants només van ser copiar i enganxar el que ja existia en un nou arxiu), però són mi contribució a el projecte 🙂 i són coses que jo ús diàriament.

Com pot apreciar, la sensació és bastant indescriptible 🙂 veure el teu nom en una cosa que fas servir, saber que ajudes a molta gent en el procés, i 'aprendre a fer-ho cada dia millor! Pot ventura haver alguna cosa millor que això? 🙂

En conclusió:

Em vaig prometre a mi mateix mantenir curt aquest post però crec que no ha estat tan curt com vaig esperar que seria 😛. En fi, espero que amb això els hagi picat una mica la curiositat per començar a col·laborar en projectes FOSS. I aviat poder veure les seves commits en molts programes que vostès facin servir diàriament 😉 disculpin que faci tant èmfasi en això, però han de comprendre que ningú pot millorar alguna cosa que no coneix, i per això és indispensable poder conèixer abans de millorar 🙂

Salutacions


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Cristhiam va dir

    Comparteixo les teves idees compartir i col·laborar hauria de ser el nostre futur tant de bo més gent entengui això. Bon post em bec la curiositat és una bona manera d'entrar a aquest món de Github, moltes gràcies!

    1.    ChrisADR va dir

      Moltes gràcies per compartir Cristhiam 🙂 com dius, és una experiència meravellosa i una cosa que tots hauríem d'intentar al menys una vegada en les nostres vides. I veuré si aquest tema els interessa també i potser fem unes quantes guies ràpides (molt més ràpides que les de Gentoo és clar) perquè puguin començar a compartir amb les comunitats 😉 Salutacions

  2.   Luen12 va dir

    Exelente post! Vas posar clar les coses en què he de enfocar-abans de començar a col·laborar en projectes FOSS. Moltes gràcies, m'has traient de diversos dubtes.

    Espero pel post de com fer el Pull Recuest. Salutacions des República. Dominicana.

    1.    ChrisADR va dir

      Hola luen 🙂 doncs moltes gràcies pel teu comentari. M'alegra molt que estigui interessat en compartir amb projectes, en aquest cas faré una petita guia de com enviar PR 🙂 Salutacions per República Dominicana 🙂

  3.   José Aguilar va dir

    Sigo mucho a DesdeLinux, pero estos post a mi punto de vista estan mejorando la pagina, la lectura amena y datos que interesan, soy Linuxero de hace ratos, he probado varias distros, he tratado de modificarlas en algunas ocasiones, no a nivel avanzado, pero ahi vamos, gracias por compartir el conocimiento.

    1.    ChrisADR va dir

      Hola Jose,

      Moltes gràcies pel teu comentari, em motiva bastant a seguir escrivint i compartint amb tots vostès 🙂 Ja he vist un parell de PR en el meu repositori i això m'alegra bastant !! 🙂

      Salutacions,

  4.   deibis va dir

    Hola molt bona tarda com aquesta.
    Una consulta que és un PR .. ??
    Encara no ho comprenc molt bé.

    1.    ChrisADR va dir

      Ayy jajaja potser vaig haver d'explicar això millor abans.

      Un Pull Request (com la seva traducció ho indica) és una sol·licitud per halar informació. En aquest cas, Github amb això diu a l'amo de el projecte «Mira! en el meu repositori tinc informació que ajuda a el projecte, només has de jalarla d'aquí ». D'aquesta manera, els propietaris de el projecte poden prendre la teva aportació i a el mateix temps apareixes com algú que contribueix a aquest.

      Poden ser millores menors, noves funcionalitats, o més documentació, el cel és el límit 🙂

      Salutacions, i espero que ara sí estigui molt més clar 🙂