Добавить в цитаты Настройки чтения

Страница 49 из 52

Участники имеют полное право называть программу (по крайней мере, первый месяц) «Summer of Taxes». Благодаря рассылке, мы узнали много нового о налогах в разных странах, а также о получении ITIN. Единого мнения о том, как это делать, так и не сложилось. Я в заявке на ITIN указал «Nonresident alien required to obtain ITIN to claim tax treaty benefit», «Exception 1» и treary article number для «Personal Services». К заявке приложил документ от Google, в котором они должны были бы объяснить, зачем нам нужен ITIN. По-моему, у них это не получилось, поэтому я дополнительно написал cover letter. Последняя необходимая бумажка - сертифицированная копия загранпаспорта. Пришлось идти в американское консульство и оставить там $30. Понравилось, что нотариус работает в часы для приема американских граждан, поэтому очереди не было. Не понравилось, что тетушка стала докапываться до деталей, зачем мне нужна копия. Я не был готов к вопросам, но ответил без проблем.

Но это только начало. Многие из нас еще не получили ITIN, а устроители программы не готовы ждать. Поэтому Google удержит с нас 30% и переведет их IRS (налоговикам). После получения ITIN мы можем требовать у IRS эту суммы обратно. Будет такой Winter of Taxes.

И снова возвращаюсь к проекту. Долго не мог за него взяться. Вначале был на конференции, потом в деловой поездке, а потом пришлось разгребать последствия апгрейда и трехнедельного отсутствия. Все это время ментор кормился рассказами о том, что, благодаря накопленному запасу кода, проект удастся завершить в срок. Так, к счастью, и вышло.

Работу над проектом я разбил на два этапа:

XSieve собирается и устанавливается как любая другая GNU-программа, с помощью configure, make, make install.

DocBook XSL stylesheets, преобразованные в XSieve, работают правильно (суровый тест).

Я ожидал, что на первую задачу уйдет много времени и, к сожалению, не ошибся. Хитросплетения autoconf, automake, libtool и прочих autotools оказались сложны для понимания. На самом-то деле, там все тривиально, если понять принципы построения системы. Но на это у меня ушло больше недели. XSieve достаточно сложен в плане зависимостей, для него нужны специальные версии Guile и xsltproc, а сам XSieve собирается как плагин для xsltproc. Необходимые настройки были разбросаны по разным make-файлам. После перевода системы сборки на autotools все значительно упростилось - и для конечного пользователя, и для разработчика.

Вторую веху я планировал пройти за полторы недели до конца SoC. Однако для ее достижения потребовалось выполнить несколько второстепенных задач, так что тест удалось запустить только за неделю до сдачи. Естественно, он провалился. Хуже того, XSieve вел себя совершенно непредсказуемо. Через несколько дней исследований выяснилось, что загвоздка - в сборщике мусора Guile. Тут я запаниковал и стал думать о том, как сообщить ментору о провале проекта, ибо такие проблемы с памятью быстро не лечатся. К счастью, медитация над документацией и здравый смысл подсказали, где подправить, чтобы сборщик мусора не хватал лишнего.





Дальше - дело техники. Хоть багов и поднакопилось, все они были легко воспроизводимы, и поэтому их удалось быстро локализовать и исправить. Последняя ошибка была закрыта в последнюю ночь. Финальную версию я обозвал XSieve 1.0.0 и выложил на SourceForge.

Что дало участие в проекте, помимо опыта? Прежде всего, материальный бонус. Конечно, я бы все равно занимался разработкой XSieve, однако $4500 на дороге не валяются. Кроме того, если бы не необходимость дать результат, XSieve так бы и остался исследовательским прототипом и не стал бы программой, доступной широкому кругу пользователей.

Полезным также оказался PR. Одно дело - безызвестный open source проект в море себе подобных, и совсем другое - оказаться среди четырехсот человек, к которым привлечено внимание пользователей и обозревателей. XSieve вообще повезло: список проектов, в которых Google выступает как ментор, вызовет особый интерес. А таких проектов всего тринадцать.

Дополнительную рекламу можно получить в прессе. Некоторые издания не просто упомянули о SoC, но и захотели переговорить с участниками. Таким образом, в Economist появилась статья про SoC, а Dr. Dobb’s Journal предложил авторам рассказать о своих проектах (и скоро там будет статья про XSieve). Также проявлял интерес журнал Red Herring , но оттуда пока нет никаких известий. И, наконец, мой рассказ про SoC и XSieve публикуется в «КТ».

Google тоже не остался внакладе. Во-первых, про SoC и Google пишут уже не первый месяц, причем не только компьютерные издания. Во-вторых, компания нашла немало талантливых студентов. Процесс найма на работу уже начался.

Ну как, возникло желание принять участие в Google Summer of Code 2006?

Участвовать в программе могли студенты не моложе восемнадцати лет, не связанные с Google (таким образом, работники компании, интерны, члены семей исключались). Каждый человек мог заниматься не более чем одним проектом. Каждый проект должен был быть реализован одним участником. Google каждый проект обошелся в 5 тысяч долларов - по 500 ментору и студенту в независимости от результата и еще 4 тысячи долларов студенту в случае успешного завершения проекта. Считалось, что все проекты были запущены 1 июня и должны быть завершены до 1 сентября.