Интервю с победителите GSoC на Debian 2016

По време на Debconf16 срещнах 6 души, които миналата година бяха част от GSoC за Debian.

Кратка история на Google Summer of Code

GSoC е Google Summer of Code, където Google моли организациите да кандидатстват за участие в GSoC.

Дебиан имаше общо 26 студенти, които бяха част от Debian GSoC миналата година от общо 1206 нечетни студенти, които бяха избрани за GSoC миналата година от 66 страни и 178 нечетни организации.

Това е един от най-добрите начини студентът да покаже своите умения за кодиране, да направи пари ($ 5500), дадени на 3 вноски за 3 месеца работа.

Сега, без повече шум, публикувах някои запитвания към тях и те споделиха мнението си както за Debian, така и за GSoC опита. Групата е Keerthana Krishnan, Deven Bansod, Chirayu Desai и Kai-Chung Yan. Бях попитал също Прабхаран Джамини, който беше част от GSoC, но поради поетите от нея ангажименти тя не успя да се върне при мен.

Съкращавам имената за удобство -

  • Кеертана Кришнан - КК
  • Девен Бансод - ДБ
  • Chirayu Desai - CD
  • Kai-Chung Yan - KCY

така че тук няма нищо -

Основи на GSOC

Шириш - Кога и как разбрахте за GSoC?

DB - Двама от моите (сега много близки) приятели от колежа са участвали (успешно) в GSoC 2014. Виждайки тяхната работа и принос към отворен код, ме мотивираха да разбера повече, а Varad Gautam [varadgautam.wordpress.com] ми помогна да започна най-ранните въведения в пощенските списъци на организациите и т.н. и най-накрая в крайна сметка изпратих две предложения на phpMyAdmin в GSoC 2015.

CD - Бях Голямата награда на Google Code-In, през 2013 г. и така научих за GSoC, чрез Google.

Shirish - Преди GSoC опитахте ли други международни стажантски програми?

ДБ - Не, няма.

CD - Не, няма

Shirish - Какво ви хареса в проекта GSoC и как / къде ви помага?

DB - На първо място, харесах факта, че кодът, който написах като част от моя проект на GSoC, не беше просто страничен проект за организацията (което между другото е случаят с повечето индустриални стажове, най-малко в Индия) и че всъщност допринасях нещо важно за софтуера.

Тъй като основната част от проекта беше насочена към подобряване на потребителския опит, тя наистина ме накара да мога да мисля от гледна точка на потребителя, която, както разбрах по-късно, е доста различна от тази на разработчика. Разработчикът няма да има нищо против за едно допълнително кликване, но иска от обикновен потребител да се приспособи към допълнителното кликване и може да избере напълно различна алтернатива на вашия софтуер.

CD - Фактът, че можете да влезете в такова голямо разнообразие от работа, има всичко - от приложения до работа с инструменти, които изграждат тези приложения за работа с компилатори.

Девен и Чираю

Стратегията на GSOC от кандидатите

Shirish - Списъкът на организациите, които Google ще спонсорира, ще излезе през март / април всяка година, дали някой от вас е погледнал към кои минали организации са направили списъка в предходната година / и? Ако да, как се справихте?

Shirish - 2 Ако сте изброили някои от организациите, базирани на предишни години, се доближихте ли до тях по-рано и се опитахте да разберете в коя област / и ще ги гледат?

DB - Да. Погледнах през списъка на организациите, които бяха избрани за GSoC 2013 и GSoC 2014. Тези организации обикновено имат добре изработени (в повечето случаи) стандартни оперативни процедури (SOP) по отношение на студентите, които желаят да участват в идването на GSoC с тяхната организация и това помага както на кандидатите, така и на организацията.

Въпреки че започнах усилията си да разбера как протича общия процес на разработване в конкретната организация (какви са стандартите, по които работят, какви инструменти използват, как приемат пачове и т.н.), не заявих, че съм там само за участие в GSoC. Доколкото мога да разкажа от моя личен опит, бъдещите наставници обикновено са полезни за редовния начинаещ, тъй като те са за бъдещ GSoC студент.

CD - Проверих дали имам представа какви организации участват и получавам, както и да видя какви проекти имат. Но не ги приближи по-рано.

Shirish - Ако обаче изчакахте списъка или организациите да излязат, как решихте за кои организации да кандидатствате? Тази година имаше 190 организации - как или на каква основа сте избрали проектите си за кандидатстване? Например, дали организацията има значение или проект или езикови умения за програмиране, които търсите?

DB - Като цяло, вашият собствен набор от умения или вашите предишни приноси е най-добрият начин да наберете организациите, за които да кандидатствате, тъй като те обикновено са тези, с които бихте имали най-добър шанс да влезете.

CD - Потърсих проекти, които биха ме заинтересували, и избрах Debian въз основа на проекта Android Tools. Погледнах проекти на ниво OS, проекти за Android, както и общи комунални услуги за Linux, тъй като това е мястото, където чувствах, че мога да работя най-добре.

Шириш - Колко предложения сте изпратили и какво ви помогна при изготвянето на предложението?

DB - изпратих две предложения (и двете на phpMyAdmin). Аз лично чувствам, че разбирането на по-добра част от кодовата база (поне на модулите, които предложението ви със сигурност ще докосне), помага много. Също така, както посочих в предишен отговор, разбирането на общия процес на развитие в организацията също може да помогне за по-доброто оформяне на графиката.

CD - Само едно. Обратната връзка от ментора по електронната поща допринесе много за това предложение.

Шириш - Понякога повече от един ученик се състезава за един и същ проект, в който случай трябва да преразгледате предложението си, трябваше ли да го направите? Ако да, какви промени сте направили?

DB - Тъй като phpMyAdmin предложи да изпрати предложението директно на уебсайта на GSoC на (тогава Melange), не можах да видя предложенията на съперниците като такива. Току-що се съсредоточих върху написването на най-доброто предложение, което бих могъл да напиша въз основа на собственото ми разбиране (и обсъждане на някои аспекти на специфични характеристики в тракера или в пощенския списък).

CD - 5 студенти кандидатстваха за този проект, а 3 бяха избрани, всички работещи самостоятелно на различни части, които, когато се съберат заедно, доведоха до успешен проект.

Кай-Чунг и аз имахме един и същ проект.

Не направи никакви промени в предложението ми поради факта.

GSoC среща на върха на Debian Mentor

Жизнен цикъл на GSOC

Shirish - По време на етапа на предложението, ангажирахте ли се с ментора? Ако да, какъв метод сте използвали, за да се свържете с него / неговата електронна поща, IRC или по друг начин?

ДБ - Бях поискал няколко разяснения относно някои аспекти на няколко въпроса, но те не бяха насочени директно към ментора и биха могли да получат отговор от всеки от общността. Също така, почти всички от разговорите бяха в публичния пощенски списък или в издателя на SourceForge, който phpMyAdmin използва преди това.

CD - електронна поща, пощенски списъци, IRC, всички 3 :)

Шириш - Много пъти ученикът и наставникът са в различни часови зони и следователно намирането на точното време за среща (чрез IRC) дава възможност за компромиси с времето от двете страни, преминахте ли го?

DB - Както вече казах, не разговарях с бъдещия наставник на IRC.

CD - Да. Разликата ни беше съвсем различна - около 7 часа между ментора и един от студентите, а аз бях някъде по средата. Времето за общо събрание беше IST.

Shirish - Споделете връзката с предложението, което сте направили, и ако го ревизирате, колко пъти сте го преразглеждали?

DB - Можете да проверите голяма част от него на адрес:

//devenbansod.wordpress.com/2015/04/28/project-details-feature-request-enhancements/

CD - Ето моето

KK - Ето моето

Уикито показва 4 ревизии, а аз имам проект извън wiki, така че <10 ревизии така или иначе.

Shirish - Имали ли сте някакви интересни предизвикателства, с които сте се сблъскали при завършването на GSoC?

Д. Б. - Смятам, че проект без технически предизвикателства няма да бъде интересен изобщо. Аз се сблъсках с много от тези неща, които съм изложил в седмичните си доклади по време на периода на кодиране. Не мога да благодаря на моя наставник Исак и на другите разработчици в общността, които ми помогнаха да се справя с тях по убедителен начин.

Освен това, не мога да си спомня никакво голямо предизвикателство в поведението на програмата от Google или phpMyAdmin.

CD - Да, опитвайки се да компилира същите неща (андроид инструменти като adb, fastboot, aapt) в различна среда (система за изграждане на андроид, която има предварително изградени компилатори, в сравнение с debian, която просто използва стандартните пакети компилатор и по този начин различна версия) доведе до някои неочаквани грешки.

Съвети за бъдещи кандидати за GSOC

Shirish - Някакви идеи, които смятате, че ще направят GSoC по-добър?

DB - Като цяло ми изглежда добре. Няма оплаквания като такива. Що се отнася до подбора на организации, те трябва да запазят фиксирана част за организации, които не са участвали преди, така че по-новите организации да могат да участват и да растат.

CD - Вече е такова чудесно преживяване, като се започне от предложението за работа с организацията и нейното завършване.

Едно нещо, което се опитвам да направя този път, е да започнем с някои сесии на GSoC в началото на моя колеж, за да направя студентите наясно, че такова нещо съществува, и да им дам обща представа за начина, по който тя работи (организации, предложения) и дори отворен код като цяло.

KK - стартира като доброволец за местния студентски клон на IEEE в моя колеж / област Кочин. Участвах и помагах да организирам няколко семинара, откъдето започнах да събирам бита за програмирането. Бях кандидатствал за GSoC и Outreachy преди 2015 г. и бях отхвърлен два пъти преди да бъда приет през 2016 г.

GSoC беше много специална и ми даде много излагане и доверие на мен и моето семейство за моята склонност към техническите науки. Проектът, за който кандидатствах в GSoC, беше подобен на моя мини проект, така че го намерих. За първи път не знаех нищо за кандидатстване и прочетох куп блогове за това как да направя добър терен, преди най-накрая да го направя.

Ключът към постигането на мечтите си е прагматичен подход. Трябва да слушате страстите си, но също така да имате реалистични очаквания и да сте готови да фиксирате частите на плана си, които не работят, за да постигнете крайната си цел. Трябваше да работя върху кандидатурата си за GSoC между моите последни семестриални изпити / проект / viva. Нужни са много усилия, особено за да изключим критиците в главата ми, моето семейство и скептици, които ми казваха да се съсредоточа върху академичните среди.

Това беше дълъг път на учене за мен, но аз не бих променил нищо. Много съм щастлив и благодарен за това как нещата се развиха досега.

KCY - Не правех никаква Debian работа, докато не започна фазата на кодиране. Всъщност научих опаковката на Debian веднага след като бях приет в GSoC. Но направих имейл на Ханс, след като подадох предложението си за Debian Wiki.

Започнах да мига телефона, когато получих първия си Android телефон през 2013 г., който беше i9100. Аз просветнах CyanogenMod следвайки инструкциите му и използвайки android-tools-fastboot на Ubuntu, благодарение на ранната работа на екипа.

Моят съвет към потенциалния студент е, че трябва да се свържете с ментора веднага след подаването на предложението, за да може менторът да знае, че наистина ви е грижа за проекта, също и за да проверите дали менторът също го прави. Преди да подадох предложението за android-tools, също се свързах с ментор на друг проект за свободен софтуер, но менторът никога не ми отговори, така че се фокусирах върху кандидатстването за android-инструменти след това.

Не мога да се сетя за нещо, което искам да променя, ако мога да се върна, освен да подобря ефективността на работата си по време на фазата на кодиране. Но ефикасността понякога е непредсказуема и съм доволен от решението си да остана на проекта след приключване на GSoC.

В края

Надявам се, че сте научили нещо или две от опита на победителите в GSoC 2016. Ако сте студент и искате да кандидатствате за GSoC тази година, моля следвайте графика на GSoC 2017.

Препоръчано

Пълно ръководство за трикратно зареждане на Windows, Kubuntu и Debian
2019
GNOME 3.26 Издаден! Проверете новите функции
2019
3D отпечатване с отворен код: проучване на научни и медицински решения
2019