Google Summer of Code 2014

(This article was originally published by Datormagazin. Republished with permission)

Google Summer Of Code

Google Summer Of Code är ett årligt program sedan år 2005 där Google ger stipendier till studenter som vill utmana sig själva och arbeta med ett stimmulerande sommararbete genom att delta i öppna mjukvaruprojekt. Stipendiet är för år 2014 5000 USD.

Jag är mentor i Google Summer Of Code med ett projekt relaterat till editorn GNU Emacs.

Att vara mentor är hårt men roligt arbete, där man själv utvecklas, likväl som man bidrar till studenters och projektens utveckling.

gsoc

Google Summer Of Code löper under större delen av året och är ganska hårt strukturerat i olika perioder. Studenten måste själv inkomma med ett förslag, som sedan skall godkännas. Förslagen måste vara kopplade till organisationer, som i sin tur måste godkännas.

Det är egentligen inte så mycket formalia som det låter. Däremot måste man respektera de tidsgränser som finns.

Vad är Emacs?

Jag har arbetat med text i olika former på datorer sen 80-talet, från början framförallt programmering, men senare allt mer andra typer av text. I början var jag inte så intresserad av hur framställningen av text gick till. Programmen jag använde skiftade med vilken plattform jag arbetade med för tillfället. Efter hand märkte jag att ett av programmen brukade finnas tillgängligt för det mesta och det programmet var Emacs. Det var användbart att kunna Emacs, så man kunde arbeta bekvämt.

Neal Stephenson, den produktiva och spretiga författaren av intelligent spekulativ fiktion sammanfattar varför just Emacs väcker sådan fascination hos många:

 1
 2In the GNU/Linux world there are two major text editing programs: the
 3minimalist vi (known in some implementations as elvis) and the
 4maximalist emacs. I use emacs, which might be thought of as a
 5thermonuclear word processor. It was created by Richard Stallman;
 6enough said. It is written in Lisp, which is the only computer
 7language that is beautiful. It is colossal, and yet it only edits
 8straight ASCII text files, which is to say, no fonts, no boldface, no
 9underlining. In other words, the engineer-hours that, in the case of
10Microsoft Word, were devoted to features like mail merge, and the
11ability to embed feature-length motion pictures in corporate
12memoranda, were, in the case of emacs, focused with maniacal intensity
13on the deceptively simple-seeming problem of editing text. If you are
14a professional writer – i.e., if someone else is getting paid to worry
15about how your words are formatted and printed – emacs outshines all
16other editing software in approximately the same way that the noonday
17sun does the stars. It is not just bigger and brighter; it simply
18makes everything else vanish. – Neal Stephenson, In the Beginning was
19the Command Line (1998)

Stephenson skrev detta 1998, och sen dess har Emacs fått många av egenskaperna han beskriver som utelämnade, och det utan att tappa fokus på själva editeringen.

Mitt projekt, Xwidget Emacs, ämnar att göra det möjligt att bädda in till exempel webbrowser och film i Emacs, vilket gör Stephensons beskrivning ännu mer fel och rätt samtidigt.

Jag har bidragit till Emacs i ett antal år, egentligen sen min studenttid på 90 talet. Den största förändringen jag gett mig på är Xwidget Emacs. Jag valde namnet xwidget för att det skulle vara kort och kärnfullt. Det står för External Widget.

Daimrod

Vintern 2013 kontaktade den franska studenten Gregoire Jadi mig. Han var intresserad av att bidra till mitt projekt under Gsoc 2013. Jag blev fantastiskt glad, för det är alltid roligt när någon använder mina projekt, och speciellt när någon kan bidra till dem. Just Emacs ligger mig extra varmt om hjärtat.

Gregoire, använder sig av aliaset Daimrod på nätet. Daimrod jobbade på bra hela sommaren, och vi gjorde stora framsteg. I det avseendet var Gsoc en stor framgång, eftersom det viktigaste med Gsoc inte är att producera stora mängder kod, utan istället att bringa fram fler medlemmar i gemenskapen. Daimrod är nu en framgångsrik bidragsgivare till flera öppna projekt.

Att vara Mentor

Att vara mentor i Gsoc ställer stora krav. Studenterna är duktiga, och mentorerna förväntas vara ännu duktigare. Eftersom just Xwidget Emacs är mitt eget projekt, kunde jag göra mycket för att underlätta för Daimrod. Eftersom Xwidget-grenen är tänkt att integreras i moderskeppet Gnu Emacs så småningom, ställs dock stora krav på källkodshanteringen. Detta är i allmänhet samma situation för de flesta Gsoc projekten. Gnu Emacs tillhör organisationen Gnu, och det är också den organisation för fri programvara som jag är mest involverad i.

Gnu är ett ärevördigt projekt som startades 1983 av Richard Stallman, i syfte att skapa ett fritt unixliknande operativsystem. Namnet kommer på klassiskt hackermaner från en rekursiv akronym: Gnus Not Unix.

Gnu hade 40 projekt 2013, och 4 av dem var relaterade till Emacs. Emacsy handlar om att skapa ett bibliotek för att ge program emacsliknande funktioner. Guile Emacs handlar om att byta ut lispinterpretatorn i Emacs till en annan implementation, Guile.

Mentor Summit

Oktober 2013 träffade jag de andra mentorerna i programmet på Googles högkvarter för att delta i Google Mentor Summit under några inspirerade dagar i det soliga Silicon Valley.

Vi fick åka Googles bussar, till Googles högkvarter, äta Googles mat av Googles egna kockar.

Även på toaletterna gjorde sig Google påminda, med pamfletter med titlar som "Testing At The Toilet" och "Which Laptop Should I Choose" som tillgänglig lektyr.

Deltagarna kom från alla möjliga sammanhang, universitetsvärlden, jätteföretag som Boeing och Google, små startups, eller konsulter som jag själv. alla förenas av ett stort intresse för Floss, på ett eller annat sätt.

Som en första övning skakade vi alla hand med varandra genom att göra två köer som mötte varandra. det tar ganska lång tid att skaka hand med 280 personer och presentera sig.

Spännvidden på seminarier och diskussioner var stor, från väldigt tekniska teman som exempelvis kodgranskningsverktyget Gerrit, till hur fri programvara kan främja demokratin.

Eftersom vi träffades i stort sett dygnet runt, antingen på Google eller på något av hotellen Google hyrt för ändamålet, uppstod många spontana möten. Jag hade till exempel en intressant diskussion om programmeringsspråket Scala i hotellets pool!

Utanför området

Mountainview känns inte speciellt hektiskt trotts att många stora företag håller till där. Google och Linkedin ligger ett stenkast från varandra på samma område. Det finns ett trevligt naturområde i närheten med en sjö.

Även Computer History Museum ligger här, vilket jag kan rekommendera ett besök. Man har till exempel en fungerande replika av Charles Babbages Difference Engine,

Silicon Valley är intressant på det sättet att ma kan se det som att de moderna företagen egentligen återskapar det gamla brukssamhället. Det mesta finns tillgängligt med Googles färger på området, eller ganska nära.

Googlebussarna skapar tydligen en del osämja i Silicon Valley. Många uppfattar bussarna som en symbol för teknikföretagens arrogans. För mig är det svårbegripligt, för det är helt vanliga bussar, och jag tycker snarare att de som använder bussarna gör en insats för miljön. Alternativet till buss är bil, för inget annat är praktiskt i området.

En annan källa till osämja är uppfattningen at teknikföretagen inte bidrar till lokalsamhället på önskat sätt. Istället för att gå ut från sitt Campus och sponsra sin lokala latteproducent, anlitar man sina egna interna barristor.

Av allt detta märktes dock ingenting när jag var på besök. Området är själva verket väldigt trivsamt.

Fri mot Öppen

Det finns en skiljelinje inom det man sammantaget brukar kalla FLOSS, en akronym för Free Libre, och Open Source Software.

Inom det fria programvarulägret, som brukar representeras av Richard Stallman, har man ett nogrant definierad moralsystem. Open sourcelägret, som representeras av Eric Raymond, ser den öppna källkoden mer som en teknisk fördel.

I min värld har båda rätt. Öppna program är om inte tekniskt bättre än proprietära, definitivt roligare att hålla på med. Ofta är de både tekniskt bättre och roligare på samma gång.

Personligen använder jag bara fria programvaror, även om inte alla i min omgivning delar min förtjusning.

Jag vet inte om schismer är vanligare inom denna värld än i andra sammanhang, men den öppna naturen i rörelsen gör det i vart fall väldigt synligt när det inträffar. Flera av de projekt jag är intresserad av har periodvis haft interna dispyter.

På mentor summit var i vart falla alla mentorer trevliga och öppna, även om man representerade olika läger.

xwidget Gsoc 2014

2014 har Xwidgets återigen blivit accepterat till Gsoc, och årets student heter Nic Salerni, från Kanada. Målet för detta års arbete är att Xwidget-grenen förenas med stammen. Emacs maintainers är notoriskt kvalitetsmedvetna, så det kommer bli mycket putsande på koden innan den går igenom nålsögat. avslutning

Om man tittar på statistiken är de länder som bidrar med flest studenter över perioden 2005 till 2012, Sri Lanka, Indien och Rumänien, i fallande ordning.

5000 USD generar mycket köpkraft i de läderna vilket kanske kan vara en förklaring. Men även för svenska studenter borde det vara attraktivt att kunna jobba med fria programvaror och dessutom få betalt.

Jag hoppas kunna få en svensk student 2015, och är du intreserad och uppfyller kraven så hör gärna av dig för en öppen diskussion!

För mig är det roligt att mitt engagemang i emacs utveckling gått cirkeln runt. Från studenttiden som en enkel avändare, till att idag agera mentor för studenter som utvecklar Emacs vidare. Det är roligt, och det är inte många andra programvaror som är tidlösa på samma sätt!

faktaruta: gsocs omfattning

177 project och organisationer antogs till gsoc 2013. 1192 förslag från studenter antogs.

faktaruta: mentor summit

Varje organisation får skicka två delegater till mentor summit, som google väljer att beskriva som en Unconference. Med det menas att konferensen drivs av deltagarna, vilket är en form som passar den frihetliga floss världen.

mentor summit 2013 hade 280 deltagare.

Jag och Kitkat-maskoten utanför Google