На первый взгляд открытие исходного кода Vivaldi под единой Open Source лицензией может показаться лёгкой задачей.
В конце концов, мы распространяем браузер бесплатно, зарабатывая на поисковых службах и договорах с партнёрами. Так почему бы не дать пользователям доступ к исходному коду, чтобы они помогли в развитии Vivaldi?
Мы понимаем эту точку зрения. Действительно, многие из команды Vivaldi поддерживают идею открытости исходного кода и пользуются Open Source приложениями (приложениями с открытым исходным кодом). Поэтому, вопрос открытости исходного кода регулярно возникает внутри компании.
Однако, как это часто бывает, с появлением деталей картина усложняется.
Более открытый, чем вы думаете
Учитывая длительные дебаты о Vivaldi и открытом исходном коде, давайте посмотрим, как устроен браузер.
В целом, Vivaldi состоит из трёх слоёв:
1. Chromium – основа нашего браузера.
2. Много внутреннего кода С++ для поддержки наших уникальных функций, например Блокировщика рекламы и Заметок.
3. Наш интерфейс для десктопной версии (HTML+CSS+JS) и версии для Andriod (реализован на Java и получен из Java-интерфейса для Chromium, распространяемого под лицензией BSD).
Поскольку сам Chromium распространяется под открытой лицензией, то все те изменения, которые мы в него вносим для поддержки интерфейса и функций, также публикуются в открытом доступе. Мы также публикуем наш код C++, как часть изменений кода Chromium.
Вы можете найти копию открытого кода Vivaldi на vivaldi.com. Все вносимые изменения публикуются под открытой лицензией BSD. Для получения подробной информации ознакомьтесь с файлами README и LICENSE в составе архива с исходным кодом.
Vivaldi также содержит сторонний код. Вы сможете найти лицензии в архиве с исходным кодом, а в уже установленном браузере вы сможете ознакомиться с лицензиями, перейдя по ссылке vivaldi://credits.
Заметьте, что из всех трёх слоёв закрытый код только у интерфейса браузера. Примерно 92% кода браузера происходит из проекта Chromium, код которого открыт, 3% – наш открытый код, а оставшиеся 5% – закрытый код интерфейса нашего браузера.
Что делает Vivaldi уникальным?
Если Vivaldi настолько близок к тому, чтобы стать проектом с открытым исходным кодом, почему этого ещё не произошло?
Так мы защищаем индивидуальность нашего браузера, ведь именно интерфейс делает Vivaldi уникальным. Поэтому код интерфейса – наш самый ценный актив. Мы не публикуем его под открытой лицензией, оставляя в коде браузера только обфусцированную версию. Это не только позволяет увеличить производительность ирнтерфейса, но и является нашей первой линией обороны. Без обфускации кода другие компании или энтузиасты могли бы с лёгкостью взять наш код и создать такой же браузер (по сути, форк).
Но почему боязнь форков стоит на первом месте?
С точки зрения открытого кода, форки в значительной степени важны. Вы создаёте форк чужой работы, делаете из неё что-то новое и интересное, вы получаете признание за свое добавление, а проект, от которого вы создали форк, получает признание за то, что стал основой для новой крутой разработки, и, возможно, они примут ваше дополнение, и все будут довольны.
Но как мы видим, Vivaldi больше, чем просто код. Это наш бренд, который мы должны защищать вместе со связанными торговыми марками. Это означает, что любой форк должен быть брендирован как отдельный продукт. И такой новый продукт станет непосредственным конкурентом, не вкладывая никакую значительную техническую работу для достижения такого статуса.
Когда речь идёт о крупных проектах с многолетней историей и громкими именами, люди могут даже и не заметить наличие форка. Но Vivaldi – это небольшая компания, которой легче нанести ущерб, сделав бренд уязвимым. Но дело не только в доходах – здесь вступает в игру наша этическая идентичность.
Новый проект, построенный на базе нашего кода, может реализовать функции, диаметрально противоположные нашей этике (например, нанесение ущерба приватности, правам человека или окружающей среде). Несмотря на то, что мы никоим образом не были бы связаны с этим проектом, он может сильно повлиять на то, как люди видят Vivaldi (и на то, как мы видим себя), нанеся ущерб нашей репутации, которую мы с таким трудом заработали.
Закрытость исходного кода интерфейса Vivaldi позволяет нам не думать об этой проблеме и сосредоточиться на работе. Может быть, это не идеальное решение, но как бизнес, мы должны принимать решения, которые минимизируют неопределенность, хотя бы ради нашего самоуважения как сотрудников и работодателей.
Проекты с открытым кодом дорогостоящие
Существует и более прагматичная причина, по которой Vivaldi не распространяется под открытой лицензией. Если бы мы открыли свой исходный код, мы бы получили отзывы и предложения от огромного количества замечательных людей, которые нас поддерживают. Но это далеко не преимущество, учитывая размер нашей команды. Открытым проектам необходимы люди, которые бы рассматривали все вносимые изменения и общались с людьми, которые их внесли.
Для всего этого необходимо время, и, учитывая наши ограниченные возможности, мы не уверены в том, что это преимущество перевесит затраченное время. На данный момент мы считаем более целесообразным сосредоточиться на создании наиболее настраиваемого браузера.
Как насчёт безопасности?
Несмотря на то, что большая часть кода, относящегося к безопасности браузера Vivaldi, находится в Chromium, в интерфейсе браузера тоже есть некоторая часть кода, относящегося к безопасности. Если вы считаете, что такой код должен быть открытым для того, чтобы сделать Vivaldi более заслуживающим доверия, дайте нам знать, и мы решим, стоит ли его публиковать в наших архивах с кодом, чтобы вы сами могли проверить его.
Что случится, если Vivaldi прекратит своё существование?
Это действительно актуальная проблема. Некоторые из нас в команде Vivaldi расстроены тем, как поступили новые владельцы с браузером Opera на движке Presto, перейдя на Chromium. Лично я затратил много времени, работая над старой Opera, улучшая её и устраняя ошибки. Я думаю, если бы у Opera на движке Presto был открытый исходный код, браузер мог бы существовать и сегодня. И вся работа над ним не пошла бы прахом.
Не достаточно ли этого аргумента для того, чтобы открыть исходный код Vivaldi? Достаточно, и довольно много из тех, кто работают над Vivaldi сейчас согласны с этим. С другой стороны, Vivaldi растёт, и мы с оптимизмом смотрим в будущее. Поэтому данный вопрос в данный момент не является для нас проблемой.
Точка невозврата
Мы подошли к ключевому моменту всей этой истории.
Что открыто, то открыто. Вы не можете протестировать открытый исходный код и снова закрыть его, если такой подход не сработает. Код, выпущенный под открытой лицензией, навсегда останется открытым. Единственным решением является только устаревание кода, но на это потребуется много времени. С точки зрения бизнеса, это как раз случай «если сомневаешься, не делай». Как бы ни была прекрасна открытая лицензия, это её печальная (и неизбежная) сторона.
К вопросу о модификации Vivaldi
Если вы не столько заинтересованы в обсуждении открытости исходного кода, а всего лишь хотите редактировать код Vivaldi, чтобы настроить его на свой вкус (и у вас есть навыки для этого), вы можете делать это с десктопной версией.
Вы можете разобраться в запутанном коде и изменить его для личного использования, отредактировав небольшой код JavaScript. В Vivaldi это сделать легче, чем в других браузерах, которым необходима полная компиляция для применения изменений.
Несмотря на то, что наша лицензия явно не разрешает это, мы приветствуем такие модификации кода и поощряем пользователей делиться ими на нашем форуме.
Откроет ли когда-нибудь Vivaldi свой код?
Пока есть веские аргументы за и против, мы довольны тем, что предлагаем – бесплатное приложение преимущественно с открытым исходным кодом и небольшой частью закрытого кода, который можно редактировать.
Мы будем придерживаться такого подхода, пока чувствуем, что нужно защищать как сам Vivaldi, так и идентичность нашего бренда. Но с защитниками с каждой из сторон, обсуждение ещё далеко от завершения.
Выскажите своё мнение в комментариях.
Перевод Kurai