Headless Vitallium

Наш СТО Виталий Слободин недавно приступил к новому open source проекту, и это нельзя оставить без внимания. Я провела интервью с человеком, который работает над Headless проектами, делая жизнь разработчиков лучше. Ну всё, читайте и наслаждайтесь.

Виталик, не так давно завершилось твоё участие в разработке Phantom JS, и снова ты присоединился к мощной команде другого open source проекта. Немного подержим интригу, и я пока задам тебе несколько вопросов, плавно раскрывающих тему.

Что для тебя участие в open source проектах? Для чего тебе это нужно?

Альтруизм! А если серьезно, то это очень мощная прокачка в плане многих навыков: общение, управление, ответственность. Да и участие в open source проекте это увлекательно. Я бы сказал, что open source для меня — это общественная работа. Мне это нужно больше для собственного удовлетворения. Основная работа иногда заставляет тебя делать скучные вещи, а в open source у тебя есть фантазия и простор для неё.

Расскажи, каким был первый такой проект, как ты в нем оказался.

Первым проектом, где я смог немного поучаствовать был — CsQuery. Он был написан на C# и это был HTML-парсер по мотивам движка validator.nu.

Как началось твое участие в Phantom JS?

Началось в 2013 году. Один из рабочих проектов нуждался в функционале, куда нужен был реальный движок браузера, но минимальный. К сожалению, на тот момент только PhantomJS подходил под наши требования. Но была проблема, наш проект был написан на C# и работал на Windows, а PhantomJS довольно сносно работал там. Я немного улучшил его работу при помощи пары патчей. Спустя десяток патчей меня официально позвали в команду для улучшения работы под Windows. Чуть позже я стал ответственным за веб-движок.

Здорово! То есть по факту решая собственную проблему на таком глобальном уровне, ты совершенно естественным образом стал мэйнтейнером PantomJS. Историю этого проекта мы опустим, т.к. ты уже как-то рассказывал о нем в подкасте “Веб-стандарты“. Расскажи, над чем ты будешь работать сейчас? Что за проект? Какая там команда? Каковы его цели, его предназначение?

Сейчас я работаю над одним проектом-сюрпризом. Думаю, что многие догадались — PhantomJS на базе Headless Chromium (Phantomium). Команды нет. Как и в случае с 2-ой версией PhantomJS — я пилю проект в одиночку: из-за некоторых причин, почти вся команда прекратила активную разработку до выхода 2 версии.

Не так давно, со мной связался Paul Irish и попросил помочь с одним проектом. Название не скажу, пока попросили не разглашать. И функции тоже. Скажу лишь то, что это будет связано с Headless Chromium.

Как тебя нашли эти ребята?

Никак. Я ещё в числе команды PhantomJS давно уже общался с инженерами Google Chrome. Когда они только начинали проект Headless Chrome, они активно общались с нами, чтобы экосистема безголовых браузеров была едина и с похожим API.

По каким причинам кроме того, что “это же гугл”, ты присоединился к ним?

Чтобы сделать наш мир лучше! Я присоединился по одной причине — тестирование в реальных браузерах еще далеко от совершенства. Тот же PhantomJS не был идеальным решением. Headless Chrome нуждается в большом количестве зависимостей, у него немного другой принцип работы (API). Эту ветвь программного обеспечения еще есть куда развивать. Что мы и делаем.

Какими ты видишь перспективы этого проекта?

Думаю, что проект будет временным, но займет свою нишу.

Есть ли какие-то особенные качества, которые нужны людям, чтобы участвовать в таких крупных проектах?

Нет, таковых нет. Я бы упомянул только дружелюбие и терпение. Вести крупный Open Source проект — это очень ответственная роль. И нужно быть дружелюбным со всеми, даже если входящее сообщение написано с агрессией.

Пока я пытался тащить проект в одиночку, я видел огромное количество негатива людей, которые ругали команду и проект. Изначально, такие сообщения вводили меня в печаль. Мол, мы стараемся, но получаем негатив. Со временем я просто перестал на них реагировать и вернулся к прежней мотивации — разработка проекта в свое удовольствие.

Как думаешь, благодаря каким твоим качествам у тебя получается практически бесперебойное участие в open source?

Любопытство. Мне всегда было интересно, как работает браузер. И до сих пор любопытно.

Как ты находишь время на все свои проекты? У тебя ведь есть еще коммерческие проекты, координаторство в IT-61, и ещё ты наш CTO. Кааак? Как ты это делаешь? :) раскрой свой секрет присутствия сразу в нескольких местах.

Время — это очень ограниченный и драгоценный ресурс. Когда ты участвуешь в open source проекте, то ты очень сильно это понимаешь. Каждый приходит к своему тайм-менеджменту. Я, например, просто трачу 2 часа свободного времени в день на проект (если конечно меня не поглотит интересная фича или баг — тогда больше). Но на самом деле, участие в open source — это всегда некоторая жертва. Если вы захотите участвовать — учтите это. Придется пересмотреть то, на что вы тратите время.

С Виталием общалась Нина Марменкова.

A single golf clap? Or a long standing ovation?

By clapping more or less, you can signal to us which stories really stand out.