Но это только начало. Многие из нас еще не получили 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 сентября.
РЕПОРТАЖ: Canonический Париж
Эти выставки проходят с пятилетним интервалом. 30 октября 2000 года в Париже уже отшумела Canon Expo 2000, а ее одноименные товарки побывали в Нью-Йорке и Токио. Местом проведения EMEA-версии[Аббревиатура EMEA объединяет все страны Европы, Ближнего Востока и Африки] Canon Expo 2005 снова был выбран Париж, куда корпорация пригласила около десяти тысяч гостей — бизнес-партнеров и представителей прессы.