Представляем шестой выпуск подкаста о технологиях, процессах, инфраструктуре и людях в ИТ-компаниях.
Сегодня нашим гостем на «CTOcast» является Даниэль Дубровкин, технический директор Artsy и энтузиаст открытого исходного кода.
Слушайте подкаст
О нашем собеседнике: Даниил Дубровкин Окончил Женевский университет в Швейцарии (1999 г.
).
За годы учебы он создал два стартапа: успешный Vestris и менее удачливый Xo3. После завершения учебы он переехал в Сиэтл (США).
В 1999–2004 годах работал в Microsoft, где занимался проектами NetDocs, MSN, а также биллинговой системой.
В 2004–2006 годах руководил разработкой в Visible Path, а с 2006 года работал в Application Security. С 2011 года возглавляет разработку в Artsy. Член Нью-Йоркского клуба технических специалистов.
Занимается разработкой решений с открытым исходным кодом.
Текстовая версия подкаста (часть 1)
Об открытом исходном коде в крупных компаниях
Александр Астапенко: Существует стереотип о несовместимости открытого исходного кода и бренда Microsoft. Правда, в последнее время этот стереотип активно ломается.Вы проработали в компании несколько лет, как получилось, что после Microsoft вы начали работать над продуктами с открытым исходным кодом? А может быть, вы всегда ими занимались, еще работая в Microsoft? Даниил Дубровкин: Когда я пришел в Microsoft, я был энтузиастом Linux и других версий с открытым исходным кодом, я писал программы на C и Unix. Меня очень удивило, что технология, которую использует Microsoft, совершенно другая, закрытая.
Я пытался помочь разработчикам работать вместе, создавая проекты с общим исходным кодом в Microsoft, но все это было похоже на плыть против течения реки.
Было очень сложно убедить людей, что нам не стоит переписывать одно и то же по десять раз, а учиться друг у друга.
Я всегда хотел работать открыто, но в Microsoft мне было интересно научиться чему-то другому: работать с большими командами и разрабатывать проекты, которыми пользуются миллионы людей.
Павел Павлов: И в какой степени ваши подходы нашли поддержку в Microsoft? Даниил Дубровкин: Я работал над двумя проектами, которые были исключительно моими: один назывался CoreXT, другой — BuildTracker. Оба еще живы.
Я старался писать их открыто и хотел, чтобы в этом процессе участвовали и другие разработчики Microsoft. И это сработало весьма хорошо.
Но сама компания активно боролась с открытыми вещами, которые делались внутри Microsoft. Внутри компании всегда было две стороны: люди, которые хотели работать открыто, и люди, которые очень этого не хотели.
И это чувствовалось каждый день, с каждой новой версией.
Постоянно шли споры о том, что должно быть открыто, а что нет. В это время, в 2000-е годы, Microsoft как компания была полностью закрыта, даже внутри компании.
Павел Павлов: Сейчас тенденция меняется.
Не только Microsoft, но и, например, Dropbox и Netflix постоянно публикуют свои проекты, то есть очень сложно найти компанию, которая бы не открыла хотя бы частично свои проекты.
Естественно, основные продукты никогда не будут выпущены, однако существует тенденция, и многие компании, включая Microsoft, начинают создавать большое количество проектов с открытым исходным кодом.
С чем это связано? Почему ситуация так изменилась за последние пять-десять лет? Даниил Дубровкин: Думаю, в Microsoft поняли, что без этого они совершенно неконкурентоспособны: инженеры не хотят у них работать, потому что это такая закрытая компания, и те же инженеры не хотят использовать технологии Microsoft, потому что они закрыты.
Microsoft была вынуждена это сделать.
Открытая разработка не заложена в ДНК Microsoft, и я не верю, что компания сейчас радикально меняется.
Я думаю, это был просто ответ на насущные вопросы: бизнес и дальше будет идти плохо или Microsoft потеряла 90% своих разработчиков.
Как бы вы ни любили .
NET, большинство стартапов на нем не пишут. Многие компании действуют совершенно по-другому и рассматривают открытый исходный код как возможность научиться сотрудничать с большим количеством людей, которые не работают с вами напрямую.
Для небольших компаний это существенное преимущество.
Например, в Microsoft я мог выйти из офиса, пройти по коридору и найти экспертов в любом деле, которые могли бы помочь мне с моей проблемой.
Это невозможно в компании из десяти человек.
Таким образом, открытый исходный код является ответом на эту проблему.
В Интернете я могу найти экспертов по любой теме, но для того, чтобы они меня слушали и говорили со мной, мне нужно сделать свою часть этого дела и выложить весь код открытым.
Я не согласен с мнением, что ключевые проекты не будут открытыми, и считаю, что их тоже следует сделать открытыми.
Это всего лишь вопрос конкурентоспособности; сам код ничего не стоит. Александр Астапенко: Условно говоря, есть какая-то крупная компания со своим основным продуктом.
И вы говорите, что этой компании выгодно, чтобы ее основной продукт был с открытым исходным кодом? Можете ли вы назвать причины? Даниил Дубровкин: Да, конечно.
Самый известный пример — компания Red Hat, которая занималась разработкой на 100% с открытым исходным кодом.
Еще один пример компании, которая меньше и моложе, — MongoDB. Их разработка также полностью открыта.
Бизнес обеих компаний растет. Red Hat — это огромный бизнес, и он продолжает им оставаться, а MongoDB растет очень быстро.
Многие компании уже доказали ошибочность идеи о том, что для того, чтобы заработать много денег, код необходимо закрыть.
Просто нужно зарабатывать немного по-другому, в сфере услуг, например.
Сам код имеет достаточно небольшую цену.
Например, представьте, если бы исходный код Microsoft Office был полностью открытым.
Ну и что? Клиентов, использующих эти программы, не волнует, с открытым исходным кодом они или нет. А для разработчиков наличие открытого исходного кода — это здорово, потому что я могу найти проблему намного быстрее и, возможно, исправить некоторые ошибки.
Я вижу только преимущества открытого исходного кода.
Я думаю, что большинство компаний не делают этого, потому что они просто боятся, что у них слишком много юристов.
О безопасности
Александр Астапенко: Вы поднимаете интересный вопрос о безопасности.Особенно остро это стало в последние пару лет, когда некоторые решения с открытым исходным кодом приобрели популярность в СМИ, когда в них были ошибки.
Что Вы думаете об этом? Безопасность версий с открытым исходным кодом или безопасность проприетарных решений? Даниил Дубровкин: Microsoft также имеет много ошибок внутри.
Тот факт, что все это остается закрытым, не делает программное обеспечение лучше.
Гораздо важнее то, кто его пишет, кто платит за написание кода и кто работает над тем, чтобы код был безопасным.
Это гораздо важнее, чем то, открыта она или закрыта.
Проблема OpenSSL была на 90% из-за того, что этим никто не занимался, а не из-за того, что код был открыт. Александр Астапенко: Откуда же тогда взялось мнение, что продукты с открытым исходным кодом не так безопасны, как проприетарные? Я не говорю, что согласен с этим мнением.
То есть вы говорите, что даже в OpenSSL была ошибка не потому, что код был открыт, а потому, что она не была устранена.
Может быть, если бы это был собственный продукт с компанией, с иерархией, с кучей менеджеров, стоящих за этим продуктом, они добились бы большего? Или это тоже стереотип? Даниил Дубровкин: Я думаю, что это стереотип.
Например, я знаком с базами данных Oracle по своей предыдущей работе.
В Application Security было много нулевых дней, написанных на салфетках о базах данных Oracle. И я думаю, что если вы мне сейчас дадите терминал для подключения к Oracle 10g или 11g, то я открою его без паролей.
И ошибки, которые есть в этих базах данных, остаются там в течение двух-трех лет после того, как их обнаружил какой-то исследователь безопасности.
Кажется, что все чувствуют себя лучше, потому что не знают об этих проблемах.
Но если ее найдет один исследователь, то ее найдет и другой, который уже не так хорош и который продаст эти уязвимости, чтобы потом они могли взломать базы данных конкретных компаний, Sony, например, и так далее.
Я не думаю, что закрытие кода делает нас более безопасными.
Павел Павлов: Это интересная ситуация.
Вы снова упомянули два показательных примера — Red Hat и MongoDB. Эти компании построены на бесплатном и открытом продукте, но в то же время ведут довольно успешный сервисный бизнес и предоставляют либо корпоративные функции, либо техническую поддержку.
Огромное количество корпоративных клиентов с серьезными решениями и предприятиями обращаются к Red Hat, потому что доверяют им и их безопасности.
Как вы думаете, это связано с открытостью продукта? Чем еще может привлечь такая модель? Даниил Дубровкин: Цена акций Red Hat на американском рынке значительно выросла после того, как Oracle выпустила Unbreakable Linux. Это произошло довольно интересно.
В Oracle решили, что, поскольку всем нужен Red Hat Linux, Oracle создаст свою собственную версию, и каждый захочет использовать Oracle, потому что доверяет ему.
Результат оказался противоположным.
Тогда цена акций Red Hat, по моему мнению, за несколько дней выросла вдвое.
Я думаю, что люди хотят работать, покупать и платить деньги компаниям, которые имеют те же интересы, что и их клиенты.
Я рад использовать MongoDB, потому что я всегда могу найти инженеров и всегда могу просмотреть код, потому что им важны мои результаты.
И естественно, если у нас есть коммерческие цели, мы рады заплатить деньги за то, чтобы они дали нам какие-то другие возможности.
Александр Астапенко: Может быть, крупные компании ищут собственные решения, чтобы подстраховаться в случае какого-то сбоя? Например, мы используем решение с открытым исходным кодом, и на одном из наших клиентов возникла критическая ошибка.
Если это проприетарное решение, то мы можем прикрыться контрактами с компанией, которая это решение предоставляет. В случае с открытым исходным кодом прятаться не за кем.
Да, сообщество это быстро исправит, но в конечном итоге виноват будет конечный клиент именно мы.
Даниил Дубровкин: Эту стратегию разработали не программисты, а юристы и другие люди, которые занимаются бизнесом и всегда думают о худшем, что может случиться.
Я думаю, нам нужно изменить нашу точку зрения.
На кого угодно можно подать в суд по любой причине.
Что касается того, что крупные компании хотят скрыться от таких возможностей, я думаю, что они просто не хотят нести ответственность за свою работу.
Это плохая стратегия, потому что она гласит: «Мы не несем ответственности за наш продукт».
Открытый исходный код не означает, что вы не являетесь владельцем своего продукта и не поддерживаете его.
Вы не говорите, что это не мое, а обычное.
Открытый исходный код вовсе не означает общий.
Открытый исходный код не означает, что он бесплатен и никому не принадлежит. Это значит, что мы развиваем наш проект открыто, и каждый может видеть, что мы делаем.
MongoDB — хороший пример.
Я не написал ни строчки кода в MongoDB, хотя использую его.
О людях и мотивации
Павел Павлов: Одна сторона — это люди, которые разрабатывают продукты с открытым исходным кодом, а другая — потребитель.Вы учились и работали в Европе, затем на Западном и Восточном побережье.
Разные культуры и компании.
Какие подходы к использованию продуктов с открытым исходным кодом и связанные с ними риски вы заметили? Даниил Дубровкин: Когда я работал в небольших компаниях вроде Visible Path, не стояло вопроса, какие программы и код использовать.
Мы всегда искали ответы в приложениях с открытым исходным кодом.
В более крупных компаниях нужно было провести серьёзную работу и объяснить людям, не занимающимся разработкой, что, как ни крути, мы используем много open source решений.
Например, если вы пишете программу на Java, то, естественно, вы будете использовать открытый исходный код. Чем больше компания, тем с большей неохотой они используют открытый исходный код и открывают свои двери, но все меняется очень быстро.
Сейчас некоторые крупные компании начинают активно смещать разработку в сторону open source, потому что над этим хотят работать больше хороших инженеров, программы получаются лучше, мы не переписываем одно и то же снова и снова.
Следующий этап — начать открыто писать свои собственные программы, библиотеки и так далее.
Александр Астапенко: «логическое программное обеспечение, верноЭ» Даниил Дубровкин: Правильно, программное обеспечение со временем стареет и ухудшается, даже если вы ничего с ним не делаете.
И каждый раз, переходя из компании в компанию, мы оказываемся в ситуации, когда все нужно переделывать заново.
И я не хочу делать это больше никогда.
Я не хочу снова начинать с нуля, а хочу использовать все, что уже было разработано до меня другими умными людьми.
Павел Павлов: Говоря о сообществе и людях, создающих решения с открытым исходным кодом, как вы думаете, что их привлекает в таких проектах? Даниил Дубровкин: С самого начала первой и самой важной причиной для меня было желание чему-то научиться.
Каждый день я вижу программистов, которые работают над проектами с открытым исходным кодом и которые намного сильнее меня.
Я не могу всегда работать с такими людьми, сидя рядом с ними в одной компании, но через открытые проекты у меня есть возможность общаться с ними и быть на равных.
Вторая причина — возможность научиться работать с большим количеством людей, которым не указываешь, что делать.
Многие люди думают о менеджменте как о работе, где вы сидите и говорите: «Сегодня ты делаешь это, а завтра ты делаешь то.
И как же ты не закончил то, что должен был закончить вчераЭ» А для начинающих менеджеров работа в open source проектах — очень хорошая школа, ведь программы пишешь с людьми, которые от тебя не зависят. Они делают все, что хотят, работают исключительно на волонтерских началах.
Текстовая версия подкаста будет продолжена в ближайшие дни.
Теги: #Интервью #подкаст #открытый исходный код #microsoft #oracle #Red Hat #mongodb #информационная безопасность #разработка веб-сайтов #открытый исходный код
-
Разработка Asp.net Индия
19 Oct, 24 -
Параметры Для Проектирования Веб-Сайтов
19 Oct, 24 -
Бедный Веб-Брутализм
19 Oct, 24 -
Диспенсер Лего Макнаггетс
19 Oct, 24