Google SoC: vydělat si i pomoci

19. 9. 2006
Doba čtení: 6 minut

Sdílet

Letos se uskutečnil už druhý ročník velmi úspěšné akce s názvem Google's Summer of Code. SoC ukázal, jak se dá za pomoci silného partnera popularizovat a vylepšovat open-source software. Studenti si také mohli najít velmi slušnou letní „brigádu”. Jak to celé probíhalo? A bylo to vůbec k něčemu?

Možná jste zaznamenali, že Google už podruhé pořádal letní akci s názvem Summer of Code. Ačkoliv se jedná o velmi neotřelou a zároveň neobvyklou formu propagace open source, v masmédiích o ní příliš slyšet není.

Google se při SoC snaží zaplnit díru, která přirozeně vzniká při vývoji každého rozsáhlého open-source projektu. Rozhodně si proto zaslouží naši pozornost. Představíme si celý projekt, jeho úlohu i výsledky.

Vývoj open source

Většina open-source projektů začíná v rukou jednoho nebo několika málo vývojářů. Nejprve se vytvoří základ celého projektu a pak se začne pracovat na jeho podstatných funkcích. S tím, jak projekt roste a používá jej čím dál více lidí, se začne objevovat víc a víc chyb, problémů a nedodělků.

Vývojáři, kteří se tak dříve věnovali jen novinkám a práci na funkčních částech, se musejí čím dál častěji vracet ke starým kódům a opravovat v nich nalezené chyby. Jak projekt roste, stává se tento problém čím dál palčivějším.

Jednoho dne vývojový tým zjistí, že většinu času tráví přípravami na novou verzi, která měla vyjít už před měsícem, ale stále ještě je potřeba se poprat s hromadou chyb. Na nové funkce nezbývá čas, ačkoliv je potřeba s projektem pohnout, vydat novou major verzi a provést celkovou modernizaci.

Kdo pracoval na větším projektu ví, o čem mluvím. Taková situace je do jisté míry nevyhnutelná a bohužel není možné zaplatit pár lidí navíc, kteří by se o problém postarali. Na to většina projektů jednoduše nemá peníze.

Student a prázdniny

Začneme druhou dějovou linii. Na světě existuje ohromné množství studentů, kteří se ve volném čase zabývají programováním. Během školního roku ale mají vlastní povinnosti a tak se na různých projektech podílejí jen okrajově.

Jediný delší volný blok se jim tak naskýtá během léta, kdy mají jako studenti volno. Mohli by tak sednout a dva měsíce v kuse „kódit”. Někteří to tak jistě dělají, ale většina z nich se spíše snaží nabrat síly, zkušenosti a především získat finanční zázemí do dalšího roku.

Je proto logické, že se raději poohlédnou po nějaké brigádě, která jim alespoň mírně naplní účet. Na průběžnou práci na nějakém open-source projektu tak není ani pomyšlení.

Řešení se nabízí samo: Jednotlivé projekty by si mohly pořídit vlastní brigádníky. Tady ovšem opět narážíme na otázku nedostatku peněz.

Google: mezi studentem a projektem

Naštěstí si této situace všiml Google a rozhodl se jí řešit. Jelikož se jedná o velmi silného hráče, není pro něj problém oslovit studenty i lidi od různých projektů a dát je dohromady.

Pořád nás ovšem tíží otázka finanční. Tu ale dokáže Google relativně snadno vyřešit „malou” finanční injekcí z vlastní kapsy. A Summer of Code může začít.

Pro koho?

Jak už jste asi pochopili, SoC je určen pro open-source projekty, které by rády získaly na čas někoho šikovného, kdo by program vylepšil nějakou podstatnou novou funkcí. Navíc je tu možnost získat příjemný finanční obnos.

SoC je také určen pro studenty, kteří by si chtěli vydělat velmi příjemnou částku peněz za něco, co je baví. Uznejte sami: půjdete raději ke strejdovi do zeleniny nebo budete za desetinásobek platu programovat modul do KDE?

Třetím, kdo ze SoC těží, je samotný Google. Přestože se zdá, že on jen dodává finance a nic z celé věci nemůže mít, není tomu tak. Google získá nejen prestiž a dobré postavení u stále silnější open-souce komunity, ale také například možnost hledat mezi studenty-programátory nové nadějné talenty.

Jak SoC probíhá?

V první fázi se do SoC přihlásí projekty, které mají zájem spolupracovat. Musejí si zvolit svého zástupce (patrona, mentora), který se bude o průběh starat a bude dohlížet na úspěšnost celé akce z pohledu participujícího projektu. Zástupcem by měl být někdo, kdo projektu velmi dobře rozumí a ví, co zrovna potřebuje. On také musí zveřejnit seznam požadovaných funkcí, které je potřeba naprogramovat.

Další krok je na studentech. Ti zasílají své návrhy spolupráce s jednotlivými organizacemi. Ze zaslaných přihlášek jsou pak v Google vybrány ty, které budou podpořeny.

Akademie Root.cz

logoV rámci Akademie Root.cz připravujeme odborná školení a semináře určené nejen profesionálům, ale všem, kteří chtějí posílit své teoretické i praktické znalostí v oblasti IT. Školení vedou zkušení lektoři s mnohaletou praxí v oboru. Chcete-li rozšířit své obzory a zlepšit svou kvalifikaci, jsou naše školení tou správnou volbou.

Výsledek výběrového řízení je oznámen oběma stranám a student začne pracovat na svém programu. Zástupce projektu pak průběžně sleduje práci programátora. Nakonec sepíše závěrečnou zprávu, ve které vyhodnotí celou spolupráci. Student pak výsledek nahraje ke Google.

Co za to?

Už jsem několikrát zmínil otázku peněz, takže je na čase říci kolik. Projekt, kterému je student přidělen, dostane jednorázově 500 USD. Student obdrží po schválení žádosti tutéž částku.

V polovině SoC je pak zkontrolováno průběžné hodnocení zástupce projektu a pokud vše běží podle plánu a student pilně programuje, získá šek na 2000 USD. Pokud jde i nadále vše dobře a program je dokončen úspěšně, získává programátor dalších 2000 USD. Dohromady to tedy dělá 4500 USD za letní brigádu. Doporučuji navštívit stránku s kurzy na Měšci.

Je jasné, že Google je, alespoň na naše poměry, velmi štědrý a tak se určitě vyplatí o účasti uvažovat.

Jaká je úspěšnost?

Zatím máme za sebou jeden kompletní a jeden téměř dokončený ročník. Několik zajímavých čísel myslím objasní celý průběh SoC.

Rok 2005

V roce 2005 se sešlo od studentů více než 8000 jednotlivých nabídek. Původně bylo připraveno 200 dotovaných „pracovních pozic”. Protože byl zájem ohromý a nečekaný, byl postupně navýšen počet vybraných studentů až na 419. Stejný byl tedy i počet programů, které měly být vytvořeny. Během roku 2005 jich bylo dokončeno více než 80 %. Na jednotlivých projektech pracovali studenti ze 49 zemí.

Google byl během příprav kritizován za to, že nedal organizacím dostatek času na přípravu. I přesto bylo zapojeno celkem 39 různých projektů jako například: Apache Software Foundation, Ubuntu, Blender, Gaim, Inkscape, Jabber, Mono, NetBSD, OpenOffice.org, Perl, Samba, Wine i samotný Google.

Celkově je možno hodnotit SoC 2005 jako velmi úspěšnou akci, při které vznikla velká řada vylepšení pro mnoho používaných projektů, například:

  • podpora SMTP pro Apache
  • vylepšená inverzní kinematika pro Blender
  • použití AJAXu v Drupalu
  • preload démon pro Fedoru Core
  • integrace BSDInstalleru do FreeBSD
  • podpora NAT traverse v Gaimu (přímý přenos souborů přes NAT)
  • vylepšení engine KSpread
  • SIP telefon pro Thunderbird
  • BitTorrent klient pro Firefox
  • userfs v NetBSD
  • vylepšení DOC filtru pro OpenOffice.org
  • memory management v Pythonu
  • urychlení startu GNOME
  • Xaml compiler pro Mono
  • vylepšení podpory joysticku ve Wine
  • a mnoho dalších

Rok 2006

V letošním roce bylo do SoC zasláno „jen” 6300 studentských přihlášek. Zájem jednotlivých projektů naopak vzrostl a celkově se ke spolupráci přihlásilo 102 organizací. Nyní je tak možno vylepšovat například Gentoo, PHP, Adium, FFmpeg, ReactOS, Debian, Xorg, PostgreSQL a další projekty.

Google se tentokrát rozhodl podpořit celkem 630 různých programátorů a jejich výtvorů. To je zhruba o polovinu víc, než v loňském roce. Podle předběžných odhadů by měla být úspěšnost zhruba 78 %, což je opět velmi slibné číslo. Některé programy jsou již zařazeny do mateřských projektů.

Opět výběr z toho, s čím se díky SoC v budoucnu pravděpodobně setkáme:

bitcoin_skoleni

  • vlastní implementace AMR pro FFMpeg
  • vylepšení bootu v Debianu
  • balíček pro práci s ODF v PHP
  • Remote desktop klient pro ReactOS
  • Gentoo/FreeBSD pro AMD64
  • GTK frontend pro Yast (openSUSE)
  • VFS modul pro Sambu
  • RCP instalátor pro Eclipse
  • podpora MMS transportu pro Apache
  • návrh implementace vektorových vrstev v GIMPu
  • a další

Závěrem

Google Summer of Code je ojedinělá akce s ohromným dopadem na open-source jako takový. Je zřejmé, že se silným partnerem v zádech je možné dělat velké věci. Můžeme jen doufat, že se ze SoC stane tradiční akce, která bude probíhat každé léto. Mohli bychom se tak dočkat pravidelného „nakopnutí” vývoje během prázdnin.

Nesmíme zapomínat ani na samotný Google, který do SoC investuje nemalé peníze. Jen za loňský rok to byly zhruba dva miliony amerických dolarů. Letos můžeme předpokládat, že to budou miliony alespoň tři. Ale myslím, že se jedná o dobře využité peníze.

Jaká je podle vás odměna pro programátora v SoC?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.