de Aswin G

Ce am experimentat la Google Summer of Code

Acest articol este un rezumat rapid al experienței mele de participare și finalizare Google Summer of Code 2018 (denumit și GSoC).

Ce am experimentat la Google Summer of Code

Ce este GSoC?

Google Summer of Code este un program organizat de Google pentru a aduce dezvoltatorii studenți în dezvoltarea open source. După cum sugerează și numele, are loc în fiecare vară, în lunile aprilie-august. În lunile respective, studenții selectați își petrec vara codificând una dintre cele mai multe organizații open source care participă la eveniment.

Studenții pot naviga pe lista organizațiilor care participă la eveniment, majoritatea având un idei pagină care indică ce parte din proiectele lor existente ar putea folosi mai multe lucrări. Elevii pot depune apoi până la trei propuneri acestor organizații. Propunerea ar trebui să descrie exact la ce ați planificat să lucrați în timpul verii și de ce ar trebui să fiți persoana care lucrează la asta.

Apoi, după o lună de așteptare, studenții selectați sunt anunțați – și după o scurtă perioadă de „legătură comunitară”, ei pot începe codificarea. În afară de certificatul de a fi un Savant GSoC, Google stimulează în continuare participarea oferind o bursă studentului – variind de la 6600 $ la 2400 $, în funcție de locația dvs. – este 2400 USD aici în India.

Ce sunt organizațiile open source? Cum sunt ele importante?

1611495367 996 Ce am experimentat la Google Summer of Code
Cele mai bune instrumente sunt deseori open source! (Credit de imagine: hackernoon)

Organizațiile open source au codul pentru produsele lor pe o platformă de colaborare, cum ar fi GitHub. Ideea aici este că o echipă de bază care lucrează direct pentru organizație va întreține depozitul de cod (și va contribui adesea cu cele mai mari bucăți de cod) – în timp ce oricine altcineva poate contribui la cod, poate deschide probleme cu produsul existent sau poate folosi produsul în sine (gratuit, de obicei).

Organizațiile open source reprezintă coloana vertebrală a culturii FOSS, care promovează software-ul gratuit și open source, încurajează partajarea și colaborarea și încearcă să pună software-ul la dispoziția unui public mai larg prin eliminarea restricțiilor monetare. Unele dintre cele mai bune produse și instrumente disponibile sunt open source, în special în lumea dezvoltării de software, aproape orice, de la IDE-uri populare până la limbajele de programare în sine, fiind open source.

A fi selectat

1611495367 914 Ce am experimentat la Google Summer of Code
Trebuie să începem cu toții de undeva! (Credit de imagine: xkcd)

Inițial, de când eram boboc, intenționasem să aplic la GSoC la sfârșitul celui de-al doilea an de facultate – și să petrec timpul între ameliorarea abilităților mele, astfel încât să fiu suficient de bun pentru a fi selectat.

Din curiozitate, am decis să răsfoiesc lista organizațiilor GSoC cu o săptămână înainte de data limită de depunere a propunerilor pentru a vedea ce tip de proiecte erau disponibile. Interesant este că am găsit destul de multe proiecte pe care le-am considerat că nu sunt prea complicate pentru mine.

După un scurt moment „O, aș putea încerca acest moment”, am redactat în grabă trei propuneri pentru trei organizații diferite și le-am depus înainte de termen. Propunerea pentru care depusesem Zulip, o aplicație de chat de productivitate open source, bazată pe îmbunătățirea UI / UX a aplicației lor mobile React Native a fost în cele din urmă acceptată.

Majoritatea organizațiilor selectează studenți care au contribuit anterior la baza lor de cod, deoarece ar avea o asigurare cu privire la calitatea codului pe care acești studenți ar putea să-l producă – mai degrabă decât să selecteze numai pe baza propunerilor lor. Liniile directoare ale propunerii Zulip au cerut în mod explicit studenților să trimită linkuri care să indice contribuțiile lor anterioare către Zulip și alte organizații open source, ceea ce a fost un gol pentru mine. Drept urmare, nu am avut nicio speranță că voi fi selectat, dar am decis să încerc la fel.

Comunicarea cu membrii organizației este crucială pentru GSoC. Uneori va trebui să mergeți la căutarea canalelor IRC sau a listelor de e-mail pentru a stabili comunicarea. Zulip este o aplicație de chat și avea un server de chat dedicat dezvoltatorilor. Am sărit pe el după termenul limită de depunere a propunerii și m-am asigurat că mă implic în conversația de acolo. Am rezolvat câteva probleme minore, am trimis o serie de solicitări Pull către depozitul mobil Zulip de pe GitHub, le-am actualizat conform revizuirii codului și le-am combinat.

Desigur, au existat și alți câțiva studenți care au făcut acest lucru, dar când au fost anunțați în final elevii selectați, numele meu era pe listă. Aceasta a fost cea mai mare realizare pe care am obținut-o până acum și am fost incredibil de fericită.

Perioada de codificare

M-am distrat minunat codând cu comunitatea fantastică și utilă de la Zulip. Mentorii mei au fost doi foști studenți GSoC – și, împreună cu administratorii care au analizat cu atenție codul meu – mi-au explicat cu răbdare greșelile pe care le-am făcut, dacă există, și m-au ajutat să-mi modelez codul pentru a atinge standardul necesar pentru ca acesta să fie fuzionat.

Un alt avantaj plăcut de a face parte din Zulip a participat la întâlnirea de o săptămână a membrilor Zulip. Cunoașterea personală a echipei de programatori din întreaga lume a fost uimitoare și a fost cu adevărat o experiență care m-a făcut să mă simt parte a comunității.

Ce am experimentat la Google Summer of Code
Retragerea Zulip de o săptămână a fost destul de uimitoare!

Pe scurt, pot spune cu siguranță că abilitățile mele de codificare s-au îmbunătățit de-a lungul celor trei luni ale GSoC. Git-fu-ul meu (abilități GitHub) – care erau limitate la ciclul de bază al add-commit-push – îmbunătățit semnificativ mai întâi Mi s-a cerut să refaceți, să reordonați și să împărțiți comitetele pentru a le obține într-o ordine care avea mai mult sens.

Cea mai mare diferență dintre contribuția la o organizație și un proiect personal este că produsul organizației este utilizat de mii de oameni din întreaga lume. Baza de cod existentă a fost creată de altcineva, iar codul pe care îl contribuie ar trebui să fie înțeles de o altă persoană care ar putea lucra la acesta în viitor.

Scrierea documentației clare, structurarea codului dvs. pentru a respecta standardele și asigurarea faptului că modificările dvs. nu sparg nimic altceva a fost o experiență cu adevărat educativă – pentru o persoană obișnuită să dărâme și să reface repede bucăți mari de cod pentru a face loc pentru noi funcții și scriu puține sau deloc documentații pentru proiectele mele de hobby până atunci.

Concluzie

Google Summer of Code este o ocazie excelentă pentru studenți să lucreze la un proiect care contează cu adevărat și care le sporește exponențial abilitatea de programator și capacitatea de a lucra într-o echipă mare. Bineînțeles, a fi mai bogat cu 2400 de dolari este grozav și 🙂

În viitor, voi continua să contribui la Zulip și voi rămâne o parte a acelei comunități. Aș recomanda cu tărie oricui are pasiune în codificare și FOSS să aplice la GSoC’19 atunci când este anunțat, deoarece este o experiență de reținut.