Возможности краудфандинговой веб-платформы с открытой расстановкой приоритетов

Опубликовано: 2022-03-10
Краткий обзор ↬ Рэйчел Эндрю рассказывает о новых усилиях по краудфандингу затрат на реализацию функций браузера.

В своем последнем посте я описал некоторые интересные функции CSS, некоторые из которых доступны только в одном браузере. У большинства веб-разработчиков есть некоторые функции, которые они хотели бы, чтобы они были более широко доступны или были доступны вообще. Я призываю разработчиков использовать, обсуждать и сообщать об ошибках реализации в браузерах, чтобы попытаться реализовать функции, однако что, если бы существовал более прямой способ сделать это? Что, если бы веб-разработчики могли собраться вместе и профинансировать разработку этих функций?

Это модель, которую консалтинговая компания с открытым исходным кодом Igalia запускает в своем эксперименте с открытой приоритизацией. Основная идея — модель краудфандинга для функций веб-платформы. Если мы хотим, чтобы функция была реализована, мы можем внести небольшую сумму денег, чтобы помочь финансировать эту работу. Если цель достигнута, функция может быть реализована. Эта статья основана на интервью с Брайаном Карделлом, защитником разработчиков в Igalia.

Что такое открытая расстановка приоритетов?

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

  • Цвета CSS lab( ) в Firefox
  • :focus-visible в WebKit/Safari
  • inert HTML в WebKit/Safari
  • Аргументы списка селекторов для :not( ) в Chrome
  • Поддержка CSS-сдерживания в WebKit/Safari
  • Поддержка CSS d (путь SVG) в Firefox

Веб-сайт дает более подробное объяснение каждой функции и все детали того, как будет работать финансирование. Igalia работает с Open Collective над управлением залогами.

Кто такая Игалия?

Возможно, вы никогда не слышали об Игалии, но вам будет полезна их работа. Igalia работает с браузерными движками и обладает специальными знаниями обо всех движках. У них было второе место по количеству коммитов в исходниках Chrome и WebKit в 2019 году. Если вам нравится CSS Grid Layout, то вам следует поблагодарить Igalia за реализацию в Chrome и WebKit. Работа по добавлению этой функции в эти браузеры выполнялась командой Igalia, а не инженерами, работающими внутри браузерной компании.

Именно это делает эту идею такой убедительной. Это не тот случай, когда вы собираете немного денег, а затем пытаетесь убедить кого-то выполнить работу. У Igalia есть послужной список выполнения работы. Разработчикам нужно платить, поэтому с помощью краудсорсинга мы можем выбирать, над чем работать дальше. У Igalia также уже есть отношения с движками, чтобы любая предложенная функция могла быть успешной.

Примут ли браузеры эти функции, если мы их профинансируем?

Тот факт, что Igalia уже имеет отношения с командами разработчиков браузеров и уже обсудил с ними выбранные функции, означает, что в случае финансирования мы должны увидеть функции в браузерах. И уже есть прецеденты, когда основные функции финансируются третьими сторонами и разрабатываются Igalia. Реализация Grid Layout в Chrome и WebKit финансировалась Bloomberg Tech. Они были разочарованы отсутствием реализации Grid Layout, и именно Bloomberg Tech предоставила деньги на разработку этой функции в течение нескольких лет.

Chrome и WebKit были рады реализации; не было разногласий по поводу добавления этой функции. Скорее, это был вопрос расстановки приоритетов. У браузеров была другая работа, которая считалась более приоритетной, поэтому финансовые обязательства и время разработчиков были направлены на что-то другое. Функции, которые были выбраны для этой первоначальной попытки краудфандинга, также не вызывают споров с точки зрения их реализации. Если работа может быть выполнена, то двигатели, скорее всего, примут ее. Совместимость — вещи, работающие одинаково в разных браузерах — это то, о чем заботятся все поставщики браузеров. Для двигателя нет никакой выгоды отставать. По сути, мы просто обходим внутренний процесс определения приоритетов для этой функции.

Почему браузеры просто не делают этого?

Я спросил Брайана, почему браузерные компании сами не финансируют эти вещи. Он объяснил,

«Люди могут подумать, например, что «у Apple все деньги в мире», но это игнорирует сложные реалии. Дело Apple не в их веб-браузере. На самом деле, веб-браузер сам по себе ни для кого не является средством зарабатывания денег. Браузеры и стандарты являются добровольными, они являются общим достоянием. Однако с точки зрения затрат браузеры значительны. Они намного сложнее, чем многие из нас думают. Сегодня только 3 организации инвестировали много лет и миллионы долларов в год, необходимые для развития и поддержки проекта движка рендеринга. Любой из них уже делает огромные и беспрецедентные инвестиции в общее достояние».

Далее Брайан отметил значительные инвестиции Firefox в Servo и Google в LayoutNG, проекты, которые улучшат работу браузера, а также позволят реализовать новые функции платформы. Любой браузер может реализовать в своем движке многое, но то, как эти функции расставлены по приоритетам, не всегда может соответствовать нашим потребностям как разработчиков.

Мне пришло в голову, что, финансируя реализацию браузера, мы делаем то же самое, что и для других продуктов, которыми пользуемся. Многие из нас разработали плагин для необходимой функции в CMS или заплатили третьей стороне за его предоставление. Разработчики CMS тратят свое время на работу над основным продуктом, следя за тем, чтобы он был надежным, безопасным и актуальным. Без основного продукта добавление плагинов было бы невозможно. Однако третьи стороны могут вносить свой вклад в эту платформу, и в некотором смысле это то, что мы можем сделать с помощью открытой расстановки приоритетов. Покажите, что функция стоит того, чтобы мы могли пожертвовать немного денег, чтобы получить ее за черту.

Как это согласуется с такими проектами, как Web We Want?

SmashingConf поддержал проект Web We Want, в рамках которого разработчики предлагали идеи веб-платформ для обсуждения и голосования на сцене на конференциях. Я участвовал в нескольких из этих мероприятий в качестве ведущего и члена жюри. Мне было интересно, как открытая расстановка приоритетов согласуется с этими существующими усилиями. Брайан объяснил, что это совершенно разные вещи, сказав:

«…если бы меня спросили, что может сделать мой дом лучше, я бы назвал миллион вещей. Некоторые из них даже отдаленно не практичны, они просто были бы очень аккуратными. Но если вы скажете, составьте список вещей, которые вы могли бы сделать с бюджетом для каждой из них, мой список будет значительно более практичным и связанным с реальностями, которые, как я знаю, существуют.

В конце месяца, если вы скажете: «Вот ваш список, а вот 100 долларов, что вы будете с ним делать?» это очень прямой вопрос, который помогает мне добиться чего-то практического. Возможно буду красить. Может быть, я куплю новый свет. Или, может быть, я сэкономлю на несколько месяцев на что-то более дорогое».

Проект Web We Want задает открытый вопрос, он спрашивает, чего мы хотим от платформы. Многие из желаний не являются вещами, которые уже существуют в качестве спецификации. На самом деле начать реализовывать любую из этих вещей означало бы начать с самого начала, с идеей, которую нужно взять прямо со стадии спецификации. Определенных моментов мало, и установить цену на них будет очень сложно.

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

Поддержка этого проекта означает поддержку конкретного этапа разработки, который может произойти в разумно короткие сроки. Публикация идеи в Web We Want, изложение идеи в своем блоге или добавление проблемы с описанием совершенно новой функции в репозиторий CSSWG GitHub потенциально может привлечь новую идею к обсуждению. Однако эти идеи могут иметь долгий и медленный путь к воплощению в жизнь. И, учитывая характер дискуссий о стандартах, вероятно, все произойдет не так, как вы себе представляли. Ценно предлагать эти вещи, но очень сложно оценить время и затраты на окончательную реализацию.

Та же проблема актуальна и для столь востребованной функции контейнерных запросов, Igalia зашла так далеко, что упомянула контейнерные запросы в своем FAQ. Контейнерные запросы — это то, что изучают многие люди, участвующие в процессе разработки стандартов, и производители браузеров, однако эти обсуждения находятся на ранней стадии. На данный момент это не то, что можно было бы оценить в денежном выражении.

Втягиваться!

Дополнительную информацию можно найти на сайте Open Prioritization, а также подробный FAQ с ответами на другие вопросы, которые могут у вас возникнуть. Я в восторге от этого, потому что я всегда стремлюсь помочь дизайнерам и разработчикам найти способы участия в веб-платформе. Это наша платформа. Мы можем ждать, пока поставщики браузеров предоставят что-то для использования, или мы можем активно вносить свой вклад через идеи, отчеты об ошибках и немного денег с помощью Open Prioritization, чтобы помочь сделать его лучше.

Еще после прыжка! Продолжить чтение ниже ↓