Понимание протоколов с открытым исходным кодом
Протоколы с открытым исходным кодом стали опорой в мире технологий и набирают обороты благодаря множеству преимуществ, которые они предлагают по сравнению со своими проприетарными аналогами.
Протоколы обычно создаются с целью их публичного использования, что позволит любому изучать, изменять и делиться своим кодом. Преимущества протоколов с открытым исходным кодом многогранны: от присущей им прозрачности до более широкой доступности.
Кроме того, они полагаются на экспертные оценки — экономичную и инклюзивную модель, которая отличает их от собственных аналогов. Яркими примерами программного обеспечения с открытым исходным кодом являются широко используемые операционные системы, такие как Linux и Android, а также популярный веб-браузер Firefox.
Когда дело доходит до криптографических протоколов с открытым исходным кодом, сети Bitcoin, Ethereum, Cardano и Polkadot выделяются среди других как заслуживающие внимания образцы протоколов блокчейна.
Протоколы с открытым исходным кодом и проприетарные протоколы
Протоколы с открытым исходным кодом и проприетарные протоколы представляют собой два разных подхода к разработке протоколов, каждый из которых имеет свой собственный набор принципов, когда дело доходит до реализации протокола.
Ниже приводится анализ их ключевых различий:
Каков процесс разработки протоколов с открытым исходным кодом?
Разработка протоколов с открытым исходным кодом включает в себя несколько отдельных этапов, каждый из которых является неотъемлемой частью эволюции протокола. Все начинается с этапа концептуализации, на котором разработчики закладывают основу, определяющую стандарты и назначение протокола.
Обычно базовая концепция основана на существующем протоколе с некоторыми улучшениями. Этап концептуализации выступает в качестве основы, на которой разработчики тщательно обрисовывают архитектуру и функции, формируя прочную теоретическую основу. На этом этапе разработчики составляют четко определенную дорожную карту, похожую на стратегический план, определяющую траекторию проекта.
Следующим этапом процесса разработки обычно является этап прототипирования. На этом этапе разработчики создают функциональную модель протокола, включающую ключевые предлагаемые функции. Прототип обычно предоставляется публике в виде бета-версии.
Выпуск бета-версии подвергает программное обеспечение реальным сценариям и взаимодействиям с пользователем, что позволяет разработчикам различать его сильные и слабые стороны. Эта стадия также позволяет разработчикам получить обратную связь от сообщества открытого исходного кода относительно потенциальных новых функций, которые можно включить до выпуска окончательного протокола. Поэтому этот этап удачно называют этапом бета-тестирования или этапом пользовательского приемочного тестирования (UAT).
Постоянная обратная связь и обновление гарантируют, что протокол по-прежнему будет реагировать на меняющиеся потребности и ожидания своей пользовательской базы. После того, как соответствующие обновления протокола реализованы для решения многих известных проблем со стабильностью и надежностью, протокол достигает уровня стабильности, требующего обозначения «стабильной версии». Стабильная версия обычно настолько надежна, насколько ее могут сделать разработчики.
Однако процесс не завершается выпуском стабильных версий. Проекты с открытым исходным кодом требуют постоянного обслуживания протокола. Этот процесс обычно включает в себя выпуск исправлений ошибок, таких как исправления безопасности, и обновление кода для повышения совместимости.
Защищены ли авторским правом протоколы с открытым исходным кодом?
Когда разработчик публикует свой код с открытым исходным кодом, он делится им с общественностью, позволяя другим использовать, изменять и распространять его. Однако обнародование кода не означает неограниченного использования.
Здесь действуют законы об авторском праве, как и в отношении несвободного программного обеспечения. Законы автоматически защищают любые оригинальные творческие работы, включая протоколы с открытым исходным кодом, предоставляя создателям программного обеспечения исключительные права контролировать их использование и распространение.
Когда дело доходит до лицензирования протокола с открытым исходным кодом, разработчик обычно прикладывает к нему лицензию, которая действует как набор рекомендаций, четко разграничивающих, что разрешено, а что запрещено в отношении кода.
Лицензии с открытым исходным кодом часто предоставляют пользователям расширенные разрешения без необходимости явного одобрения исходного автора. Тем не менее, существует два основных типа лицензий с открытым исходным кодом: разрешительная и авторское лево.
Разрешительная лицензия, которую иногда также называют лицензией в стиле BSD или лицензией в стиле Apache, налагает минимальные требования к тому, как программное обеспечение может быть изменено или перераспределено. Однако проекты, использующие этот тип лицензии, обязаны прилагать отказ от гарантийных обязательств. Классическим примером разрешительной лицензии является лицензия MIT. Лицензия позволяет любому использовать, изменять и распространять код без предварительного согласия.
Проекты, в которых используется код, лицензированный MIT, обычно должны включать оригинальное уведомление об авторских правах и заявление об отказе от ответственности, прямо указывающее, что программное обеспечение поставляется без каких-либо гарантий. В заявлении об отказе от ответственности разъясняется, что правообладатели не несут никакой ответственности за любые претензии или обязательства, вытекающие из использования программного обеспечения.
Лицензия чрезвычайно либеральна и создана для того, чтобы предложить максимальную свободу разработчикам, даже разрешая включение и распространение кода в коммерческие продукты.
Что касается лицензий с авторским левом, проекты, которые их используют, также обязаны прикреплять заявление об отказе от ответственности. Они имеют больше ограничений, особенно в отношении распространения модифицированных версий протокола. Например, Генеральная общественная лицензия GNU (GPL) с авторским левом, широко используемая лицензия с открытым исходным кодом, гарантирует, что программное обеспечение остается открытым и бесплатным. Как и лицензия MIT, GPL требует отказа от гарантий.
Лицензии с авторским левом гарантируют, что протоколы или программное обеспечение с открытым исходным кодом можно использовать, настраивать и распространять без ограничений. Однако любая измененная работа должна соответствовать тем же условиям, сохраняя открытость протокола во всех будущих версиях.
Когда дело доходит до проприетарных протоколов, ситуация кардинально меняется. Протоколы накладывают строгие ограничения на документацию протоколов, которые часто включают ограничения на изменение или реверс-инжиниринг кода.
Чтобы обеспечить безопасность протоколов, проприетарные проекты обычно включают в свои лицензии положения о конфиденциальности, не позволяющие пользователям раскрывать работу своих протоколов или любую конфиденциальную информацию, с которой они могут столкнуться.
С точки зрения стоимости, разрешительные лицензии и лицензии с авторским левом бесплатны, что позволяет пользователям использовать и распространять программное обеспечение бесплатно. Напротив, проприетарные лицензии часто требуют, чтобы пользователи платили за доступ к программному обеспечению и его использование.
Будущее протоколов с открытым исходным кодом
Поскольку мир становится все более цифровым и взаимосвязанным, протоколы с открытым исходным кодом могут сыграть ключевую роль в обеспечении инноваций, особенно когда речь идет о поддержке взаимодействия между различными системами, приложениями и устройствами.
Этот сдвиг обусловлен повсеместным одновременным использованием протоколов, ежедневно создаваемых разными разработчиками. В результате протоколы с открытым исходным кодом, особенно те, которые позволяют вносить изменения третьим лицам и поддерживают совместимые системы, неизбежно займут центральное место на новом технологическом фронте.
Следуя текущим тенденциям, проекты с открытым исходным кодом, вероятно, также будут сосредоточены на устойчивости, энергоэффективности и решении проблем в соответствии с глобальным стремлением к экологически чистым технологическим решениям.
Кроме того, ожидается, что инициативы сетевых протоколов с открытым исходным кодом продолжат разработку одноранговых (P2P) интернет-протоколов. Протоколы облегчают прямую связь между системами, устраняя необходимость в централизованных промежуточных системах. Протоколы P2P могут похвастаться расширяющимся набором приложений, особенно для обеспечения P2P-транзакций и связи через децентрализованные протоколы.