Возможность совместной разработки кода была отличительной чертой Интернета с самого начала. В частности, за последнее десятилетие наблюдался огромный рост разработки с открытым исходным кодом, что указывает на то, что разработка с открытым исходным кодом создает более сильный программный продукт и что использование программного обеспечения с открытым исходным кодом может обеспечить лучшую модель как для сообществ, так и для бизнеса. В основе большей части этого роста лежит GitHub, Голиаф среди одноранговых инструментов для совместной работы над кодом. Благодаря миллионам разработчиков, использующих GitHub, сайт превратился из небольшой гениальной платформы для совместной работы в центр гигантского приобретения не кем иным, как Microsoft. Хотя компания заявила, что эти инвестиции призваны продолжить приверженность свободе разработчиков, некоторые были настроены скептически, учитывая чрезвычайную централизацию Microsoft. Огромное количество разработчиков продолжали использовать платформу, надеясь, что работа продолжится в обычном режиме. Но обсуждение роли Microsoft во главе компании начало вызывать обеспокоенность, разжигая дискуссию, которая поставила под сомнение целесообразность централизованной платформы, контролирующей значительную часть мировых разработок с открытым исходным кодом. В конце концов, в прошлом были проблемы с геоблокировкой пользователей и развитием, а также с политизацией этих решений.

Примерно в это же время некоторые пользователи были заблокированы на GitHub, причем Microsoft не объяснила, почему. Одним из этих пользователей был соучредитель и бывший генеральный директор GitHub Крис Ванстрат, который опубликовал скриншот, показывающий запрет и предполагающий, что он официально переносит свой код в другое место. Именно в этот момент другие пользователи начали задавать критический вопрос: кто создает децентрализованный GitHub?

Соня Ким компании «Прогрмд Капитал» недавно опубликовала Тезис вокруг децентрализованного сотрудничества в области разработки программного обеспечения, ссылаясь на переход к программному обеспечению с открытым исходным кодом и необходимость того, чтобы оно вышло из рук централизованных компаний. Статистика показывает явное движение в этом направлении, а децентрализованная архитектура убедительно доказывает, почему это правильный шаг. Давайте углубимся и выясним, что децентрализация предлагает для совместной работы над кодом и какие модели платформ лучше всего поддерживают эту концепцию.

Рост открытого исходного кода

Итак, во-первых, откуда мы знаем, что открытый исходный код становится более важной частью всей индустрии разработки программного обеспечения? Есть несколько ключевых статистических данных, которые проливают яркий свет на эту тенденцию. Во-первых, за последнее десятилетие Разница между коммерческим лицензионным программным обеспечением и программным обеспечением с открытым исходным кодом популярность составила около 65% и 35% соответственно. Однако в сезоне 2023/2024 это число было примерно 50/50. Во-вторых, ожидаемое переход в разработке программного обеспечения от коммерческого к открытому исходному коду прогнозируется, что в ближайшие несколько лет произойдет изменение не только в отношении проектов на уровне сообществ, но и в отношении корпоративных проектов. В-третьих, рост разработки открытого исходного кода в сообществе Web3 продолжает расти, даже несмотря на то, что общее число разработчиков Web3 растет.

Почему при таком типе разработки проблематичным является централизованный инструмент однорангового сотрудничества? В диссертации г-жи Ким приводятся некоторые поразительные подробности масштаба проблемы, а также ключевых угроз.

GitHub является домом для более 100 миллионов пользователей, при этом 87% используют платформу для личных проектов, а 56% используют ее либо для профессионального использования, либо для личных и профессиональных проектов. Поскольку более 90% компаний из списка Fortune 100 используют эту платформу, в рамках GitHub происходит невероятное количество разработки ценного кода.

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

  • Поляризация/политизация разработки программного обеспечения: это может принимать разные формы: от склонности к риску при разработке программного обеспечения, такого как модели искусственного интеллекта, до ущемления интересов принимающей компании. В случае с Microsoft было много спекуляций и критики цензуры, происходящей как среди пользователей, так и среди проектов, при этом наиболее ярые критики задавались вопросом, мотивирована ли Microsoft блокировать те учетные записи, которые разрабатывают программное обеспечение, которое конкурирует с их собственными или их инвестициями в другие компании. девелоперские компании. Хотя это очень трудно доказать, сам факт такой возможности является проблематичным.
  • Данные, принадлежащие пользователям: это растущая тема для обсуждения по всем направлениям. Люди понимают, что в эпоху бесплатных инструментов и другого программного обеспечения их данные передаются через лицензионное соглашение, а то, что должно им принадлежать, почему-то им не является. В случае разработки программного обеспечения разработчики кода хотят (и заслуживают) владеть собственным кодом и данными. Централизованная платформа не способствует этому, а длинные лицензионные соглашения могут легко скрыть положения, в которых пользователь отказывается от своего суверенитета в отношении данных. Что касается программного обеспечения с открытым исходным кодом, разработчики могут захотеть передать код, но они также не хотят, чтобы его отобрали. Данные, принадлежащие пользователям, по-прежнему будут важнейшим элементом любой разработки с открытым исходным кодом.
  • Геополитическая напряженность: К сожалению, этот пункт говорит сам за себя. Растет число конфликтов, которые либо вспыхивают, либо достигают точки кипения, и в результате целые регионы могут быть заблокированы от участия в этом равноправном развитии, лишая остальной мир многих творческих и важных умов. Централизованная платформа всегда будет нести риск того, что компания (или правительство потребует) лишит доступа в зависимости от того, где находятся люди.

Децентрализация разработки открытого исходного кода и финансирования экосистемы

Учитывая эти опасения и растущую проблему, каково, по мнению г-жи Ким, решение? Ключом к защите от этих угроз является децентрализация. И хотя в разработке находится все больше децентрализованных платформ разработки кода, одной из самых продвинутых является корень. По функциям Radicle похож на GitHub, это одноранговая сеть, предназначенная для поддержки совместной работы над кодом полностью децентрализованным образом с использованием умных протоколов, таких как Gossip и Git Fetch, для отслеживания и проверки обновлений разработки, когда группы участвуют в совместной работе. Используя инновационные функции, Radicle может эффективно контролировать проверку пользователей, работающих над разработкой, и справляться с неизбежными конфликтами, возникающими во время разработки однорангового кода.

Другой частью этой децентрализованной разработки программного обеспечения с открытым исходным кодом является инновационный элемент финансирования. Radworks (команда Radicle) также разработала платформу под названием drops, чтобы помочь объединить сторонников и команды разработчиков, работающих над этими свободно доступными проектами с открытым исходным кодом, которые многие люди используют и на которые полагаются. Drips обеспечивает форму каскадного финансирования, принимая средства доноров и не только поддерживая конкретную платформу, но и направляя часть этой поддержки на другие проекты с открытым исходным кодом, которые использует платформа. Этот каскад средств соответствует пропорциям, установленным проектом, что позволяет пользователям распределять пожертвования на множество различных проектов в зависимости от того, насколько от них зависит платформа. Таким образом, эти проекты под руководством сообщества, которые ничего не требуют, кроме создания основы сообщества развития, могут быть достаточно вознаграждены теми, кому они помогли.

Последние мысли

Диссертация Сони Ким о децентрализованной разработке с открытым исходным кодом является ярким напоминанием о том, как быстро меняется индустрия разработки программного обеспечения, и что мы должны сделать, чтобы рационализировать эти тенденции, чтобы мы могли в полной мере использовать их. Децентрализация одноранговой разработки программного обеспечения — важнейший способ устранения угроз и препятствий на пути успешного сотрудничества по коду. Radworks разработала надежную модель такого типа децентрализации: их платформы Radicle и Drips предоставляют как пространство, так и средства, необходимые для новой эпохи разработки с открытым исходным кодом.