открытый код или закрытый код
Открытый или закрытый исходный код скрипта, в чем разница?
Доброго времени, мои уважаемые читатели! Сегодня я немного расскажу о разнице открытого и закрытого кода программного обеспечения(ПО) и как это может отражаться на работе предпринимателей, которые покупают ПО для организации своих бизнес процессов. Несмотря на то, что предприниматель редко задается таким вопросом, этот момент не стоит упускать из виду, т.к. он может оказаться ключевым при возникновении потребности внести изменения в работу программного обеспечения.
В качестве вступления приведу небольшой пример истории из жизни. Предприниматель Екатерина Сергеевна, приобрела программное обеспечения для создания на его безе интернет магазина, на момент покупки Екатерину Сергеевну устраивало практически все, что касалось функционала приобретаемого ПО. В течении нескольких дней был запущен сайт, затем на протяжении месяца сайт наполнялся полезными статьями, писался раздел справки и помощи, активно добавлялись товары. Параллельно с этим была развернута рекламная компания, по привлечению клиентов в интернет магазин. Спустя 6 месяцев, сайт начал приносить доход, и перед предпринимателем встал вопрос о его улучшении, внесении ряда правок, чтобы сделать работу сайта лучше и эффективнее. Екатерина Сергеевна, обратилась к разработчику ПО, собственно у кого оно и было куплено. Но, как оказалось разработчик в данный момент занят, и не может заняться её проектом. Тогда, Екатерина обратилась к стороннему программисту, найти которого не составило большого труда. Подготовила подробный список того, что хочет изменить в своем сайте, и договорилась с ним, о начале работ. Но каково было удивление Екатерины, услышать от программиста ответ: «Я не могу реализовать ваши пожелания, т.к. исходный код ПО закрыт, я не имею к нему доступа». Работа встала.
Я очень часто наблюдаю такие ситуации, когда программа требует внесения доработок, а сделать этого нельзя, из-за того, что исходный код закрыт. Само понятие «закрытый исходный код» носит двусмысленный характер, оно может означать что:
1) код закрыт(скомпилирован, зашифрован, обфусцирован) и его нельзя посмотреть, а следовательно нельзя внести правки, изменения, дополнения;
2) код закрыт согласно лицензионному соглашению, такой код нельзя модифицировать(запрещено правообладателем) даже в том случае, если технически это возможно.
На фоне вышесказанного, возникает вопрос: кто может вносить изменения в работу такого программного обеспечения? Ответ — только разработчик, и то если пожелает, или вы сможете с ним договориться.
В свою очередь, открытый исходный код, лишен всех этих недостатков. Он может быть просмотрен, изменен, доработан и так далее, как правило лицензия по которой распространяется такое программное обеспечении разрешает пользователю модифицировать его любым образом, и если носит какие-то ограничения, то они как правило связаны с распространением его(программного обеспечения) копий.
Возвращаясь к истории предпринимателя Екатерины Сергеевны, в её случае решить возникшую задачу так и не получилось. Спустя год работы её сайта, накопилось очень большое количество изменений, которые требовалось внести в скрипты. Во первых её бизнес вырос, количество клиентов перевалило за несколько тысяч, и встал вопрос о добавлении на сайт различных сервисов: «расчет стоимости доставки», «личный кабинет», «отложенные товары» и т.д. Разработчик так и не смог выделить время на то, что-бы поработать с Екатериной (впрочем его винить за это не стоит, он изначально не оказывал услуг по доработкам, плюс ко всему таких запросов ему поступает ежедневно по несколько штук и он физически не способен их все удовлетворить), а сторонние программисты просто бессильны в данной ситуации. В итоге Екатерина приняла решение, полностью переделать весь сайт и в качестве платформы использовать уже ПО с открытым исходным кодом, это был её основной критерий к покупаемому продукту. Какие издержки она при этом понесла: покупка нового ПО, расходы по переносу базы клиентов, товаров, прочих материалов, работа по сохранению адресов страниц(что-бы не выпасть из индекса ПС) для сохранения позиций в поисковых системах, плюс её сайт простаивал некое время, и она также упустила часть выгод от возможных продаж. Все это обошлось её в крупную денежную сумму, потраченное время и нервы.
Данная история, это случай из жизни, из моей практики. Екатерина обратилась ко мне и мы славно поработали, впрочем еще многое предстоит сделать, ведь в голову постоянно приходят новые идеи, которые способствуют росту её бизнеса.
Что лучше открытое или закрытое ПО?
Однозначного ответа на этот вопрос нет, в ряде случаев закрытое ПО не чем не хуже открытого. Оно выполняет поставленные задачи, обеспечивая пользователя хорошим функционалом, таких примеров много iOS, Windows, MS Office и т.д. Но если речь идет о бизнесе, который зависит от ПО, и который со временем будет расти требуя внедрения новых идей, выбор однозначно падает на программное обеспечение с открытым исходным кодом!
Открытый исходный код — благо или троянский конь?
Сразу хочется сузить рамки — разговор идет о продаже программного продукта (php+MySQL).
Вопрос — (про)давать ли исходный код?
Аргументы в пользу закрытого кода.
— Подавляющему большинству клиентов нужно чтобы продукт работал и исходный код не нужен.
— При закрытом коде проще осуществлять тех. поддержку — клиент своими руками не залезет куда не надо и не породит новых уникальных ошибок, в которых хрен разберешься.
— Сложнее стырить исходный код. А точнее его можно получить, но вот что-то серьезное переделать в этом «исходнике» сложно — максимум сломать защиту, внести незначительные правки.
— Есть некоторая надежда разработчика, что закрытый код спасет от перепродажи его продукта лихими людьми.
— Есть легкая надежда, что купят продукт, потому как «сломать» не смогут, либо «ломанный» побоятся использовать.
— Народ (наш народ 🙂 ) привык что если код открыт, значит бесплатно!
Аргументы в пользу открытого кода.
— Иногда клиенту просто хочется иметь возможность взглянуть на код. То есть не обязательно даже его иметь, но чтобы возможность такая была. Это могут быть параноики безопасности в хорошем смысле или просто борцы за какие-то права.
— Клиент имеет возможность внести правки, причем весьма серьезные. Вплоть до потери совместимости с последующими версиями продукта (хотя вот это возможно уже в минус).
— Нет проблем с дешифратором закрытого кода. Не секрет, что такие проблемы встречаются (отсутствие Зенда и иже с ним, какие-то локальные глюки т.д.).
— Есть возможность построить сообщество разработчиков купивших скажем девелоперскую лицензию с доступом к открытому коду.
Добавлю немного конкретики.
Вопрос «открытого кода» интересует в связи с «внутрифирменной» дискуссией по поводу развития одного из наших продуктов (CNCat). Мы проходили разные стадии (открытый код, Зенд) и сейчас осуществляем обфрускейтивание (замену названий переменных на бессмысленные) и легкую шифрацию. Когда мы давали продукт в открытом коде и давали его бесплатно — много кто тырил код и на его основе делали свои продукты без всяких ссылок на нас. Что было немного обидно и сейчас не хочется на этом обжечься опять.
Однако правильное позиционирование открытого кода (АПИ, поддержка, контроль и т.д.) может дать нам приток сторонних разработчиков новых фич, мощную обратную связь, отладку — в общем новый импульс.
Дык хочется получить какие-то дополнительные аргументы или мысли по данному вопросу. Как бы Вы повели себя как клиент, как разработчик (конечно желательно чтобы Вы им являлись, чтоб не голословно)? Может есть какие в мире устоявшиеся теории и доказанные практикой подходы (типа фри версия закрыта, купленная открыта)?
СОДЕРЖАНИЕ
Задний план
Коммерциализация
Программное обеспечение с закрытым исходным кодом
Основная бизнес-модель для программного обеспечения с закрытым исходным кодом включает использование ограничений на то, что можно делать с программным обеспечением, и ограничение доступа к исходному исходному коду. Это может привести к искусственному дефициту продукта, который в противном случае очень легко скопировать и распространить. Конечным результатом является то, что конечный пользователь фактически не покупает программное обеспечение, а приобретает право на использование программного обеспечения. В связи с этим исходный код программного обеспечения с закрытым исходным кодом считается его производителями коммерческой тайной.
Обработка соревнований
Стоимость создания копии программного обеспечения практически равна нулю, поэтому плата за использование, возможно, неразумна для программного обеспечения с открытым исходным кодом. В свое время разработка программного обеспечения с открытым исходным кодом почти полностью осуществлялась добровольцами, и, хотя это верно для многих небольших проектов, для FOSS были определены и задействованы многие альтернативные потоки финансирования:
Все чаще СОПО разрабатывается коммерческими организациями. В 2004 году Эндрю Мортон отметил, что 37 000 из 38 000 недавних исправлений в ядре Linux были созданы разработчиками, напрямую заплатившими за разработку ядра Linux. Многие проекты, такие как X Window System и Apache, с самого начала получали коммерческую разработку как основной источник улучшений. Эта тенденция со временем усилилась.
Инновации
Гэри Хэмел возражает против этого утверждения, говоря, что количественно определить, кто или что является новатором, невозможно.
Инновации пришли и продолжают поступать из мира открытого исходного кода:
Качество кода
Безопасность
Бизнес-модели
В своем годовом отчете за 2008 год Microsoft заявила, что бизнес-модели FOSS бросают вызов ее модели программного обеспечения на основе лицензий и что фирмы, использующие эти бизнес-модели, не несут затрат на разработку своего программного обеспечения. В сообщении компании также говорится:
В литературе можно найти множество бизнес-моделей для компаний с открытым исходным кодом.
Открытый код или закрытый код
Понятие Open Source (или открытый исходный код) давно и прочно вошло в жизнь разработчиков, а вот обычных пользователей порой все еще ставит в тупик: отсутствие понимания рождает не только мифы, но и страх доверить судьбу своей компании открытым решениям (там ведь, говорят, никто никаких гарантий не дает!). Пора уже выходить из тупика незнания и разобраться, наконец, в особенностях и преимуществах проектов с открытым исходным кодом.
Проект с открытым исходным кодом НЕ значит полностью открытый проект, в который может запросто влезть любой желающий
Да, написать код может любой студент-энтузиаст из ближайшего радиотехнического — и даже ваш сосед Вася, если у него знаний хватит.
Но, во-первых, исходный код лишь одна из составляющих любого проекта, важная, но не единственная. Чтобы проект можно было назвать открытым и любой участник сообщества мог внести свой вклад в его развитие, должен быть свободный доступ и к другим составляющим проекта (программной документации, набору тестов и т. д.) — а также четко выстроенный процесс работы и понятная коммуникация между всеми участниками. Только в этом случае они смогут работать на благо проекта, не внося хаос и сумятицу.
Во-вторых, написанный код — не значит принятый в работу. Хороший пример: если вы напишите свой сценарий и отправите его режиссёру\издательству, не значит, что все тут же бросятся снимать фильм или выпускать книгу по написанному вами (а жаль:). То же самое с кодом: чтобы его включили в основной проект, он должен быть действительно лучшим и хорошо протестированным.
Открытый проект — это коллективная работа множества людей, и ни один из них не позволит в легкую уничтожить результат своего труда. Любые замечания, предложения и изменения будут многократно проверяться, тестироваться и дорабатываться — и лишь в том случае, если код пройдет все тесты и проверки, он будет принят.
На основе проектов с открытым исходным кодом активно разрабатываются коммерческие решения, которые могут включать закрытые компоненты
И именно закрытый функционал добавляет ценность каждому конкретному продукту, разработанному на основе одного и того же открытого проекта.
Проект с открытым исходным кодом НЕ равно абсолютно бесплатный проект
Важно понимать, что стоимость самого ПО — не единственная статья расходов, связанных с его использованием. После получения продукта с открытым исходным кодом, его, как и любое другое ПО, нужно установить, настроить и внедрить в работу, учитывая особенности каждого пользователя\компании. Также важно обучить пользователей работе с ним — и, при необходимости, постоянно оказывать техническую поддержку.
Отсюда вытекает и следующий пункт:
Открытые решения — это доступная техподдержка.
Оперативная, грамотная техподдержка — ключевой момент для любой компании, чья работа завязана на различных видах ПО, от операционных систем на компьютерах рядовых сотрудников до хостинга и CRM. И в этом плане проекты с открытым исходным кодом не уступают своим проприетарным (частным) и коммерческим коллегам. Если проект с открытым кодом крупный, поддерживать его могут как сообщество разработчиков, так и коммерческие компании. Последние по вашему желанию легко доработают проект и внедрят функционал, необходимый конкретно вам — ведь код открыт.
Так ERP-система Odoo — пример ПО с открытым исходным кодом. Наша компания обеспечивает клиентам полную техническую поддержку и, при необходимости, разрабатывает новые решения на основе исходного проекта.
По уровню безопасности проекты с открытым исходным кодом не уступают закрытым аналогам
Чего больше всего боятся пользователи, работая с любым ПО?
Хакерских атак и утечки данных. Поэтому чисто психологически проще довериться закрытой системе: код закрыт для посторонних, над проектом работает вполне конкретная команда разработчиков — а значит, внедрить вредоносный код практически невозможно. Другое дело открытая система — да там же любой желающий может влезть!
Отставить страхи и домыслы — давайте еще раз вспомним все, о чем мы говорили выше:
1. Мало написать код. Чтобы его включили в проект, он должен быть лучшим.
2. Тех самых программистов-энтузиастов, которые работают над проектом просто так, за идею, гораздо меньше, чем вы думаете. Чаще всего над открытыми проектами трудятся профессиональные разработчики — и даже целые отделы компаний, названия которых у всех на слуху. Они активно используют открытые решения для своих вполне коммерческих проектов — и любые нарушения безопасности в исходных проектах напрямую вредят не только их репутации, но и прибыли. Поэтому поверьте, они не меньше вас, конечных пользователей, заинтересованы в высоком качестве и безопасности открытых решений.
3. А если атака все же произошла? Увы, от этого никто не застрахован — вы наверняка и сами не раз читали новости о хакерских атаках на банки и госслужбы разных стран: а за безопасностью используемого ПО они следят как никто другой. Так вот, над закрытым проектом работает конкретная компания\команда разработчиков. Они — и только они — будут решать любые возникшие проблемы. Над открытым проектом работает целое сообщество разработчиков разного уровня, среди которых много профессионалов.
Качество открытого ПО всегда на высоком уровне
Некоторые по незнанию считают, что качество открытых проектов оставляет желать лучшего (просто потому, что написать код для них может любой желающий) — но доказать обратное очень просто:
1. Выше мы писали о том, что весь процесс разработки прозрачен, над проектом работает сообщество людей, а значит, некачественный код увидят другие участники. Не просто увидят, но проанализируют, подвергнут критике — и отправят на доработку. Если же халтура повторится — человек или компания могут просто-напросто потерять доверие и репутацию. А репутацией в нашей сфере дорожат.
2. Компании, которые разрабатывают коммерческие продукты на основе открытых решений, серьезно заинтересованы в качестве кода открытых проектов — поэтому в процессе тестирования и использования исправляют все найденные проблемы (и стараются добиться того, чтобы все изменения были внесены в основной код), а также работают над его улучшением. Так мы, работая с Odoo, постоянно тестируем все обновления и расширения и, в случае необходимости, оперативно сообщаем о найденных багах.
Мы постарались наглядно показать, что опасаться проектов с открытым исходным кодом не стоит. По уровню качества и безопасности они ничем не уступают закрытым системам — и даже имеют целый ряд преимуществ перед ними. Поэтому наш совет прост: не бойтесь доверять им.
Что такое открытый исходный код и почему он важен для криптовалюты и открытого блокчейна
В своей статье Питер Ван Валькенбург, глава отдела исследований Coin Center, член совета директоров Zcash Foundation, объясняет, почему развитие программного обеспечения с открытым исходным кодом важно для построения доверительных отношений и обеспечения безопасности в блокчейн-сетях.
Компьютерный код, лежащий в основе всех крупных криптовалют и проектов открытого блокчейна, разрабатывается как ПО с открытым исходным кодом. Регуляторы и директивные органы, пытающиеся понять, что такое криптовалюты, но не знакомые с таким ПО, могут заблуждаться, считая, что эти системы разрабатываются (и должны разрабатываться) одной или несколькими коммерческими компаниями. Хотя многое известное программное обеспечение действительно разрабатывается подобным образом (например, Windows корпорации Microsoft или RDBMS компании Oracle), с проектами с открытым исходным кодом дела обстоят иначе, и это отличие может и должно формировать общественное мнение. ПО с открытым исходным кодом создаётся в сотрудничестве, бесплатно распространяется, публикуется открыто и развивается в качестве продукта сообщества, а не собственности одной компании или лица. В этом случае нет монополии, нет одной компании или индивидуума, которые бы создавали и продавали ПО, владели бы им. Точно так же, как нет единственной компании, владеющей сетью биткоина, не существует одной-единственной компании, производящей ПО, которое, функционируя на связанных в интернете компьютерах, образует эту сеть. Подобная децентрализация несёт некоторые фундаментальные блага, которые может быть тяжело понять людям, не знакомым с разработкой ПО. Чтобы лучше осознать мощь и характер открытого исходного кода, будет полезно получить некоторое представление об одном особенно успешном образце ПО с открытым исходным кодом. Речь идёт об операционной системе Linux.
Открытый исходный код повсюду
Трудно подсчитать, сколько раз за день вы пользуетесь Linux, ведь именно эта операционная система лежит в основе работы большинства серверов в интернете. Всякий раз, когда вы посещаете Facebook, Google, Pinterest, Википедию и тысячи других крупных сайтов, сервисы, которые предоставляют вам эти (такие разные) сайты, вы имеете дело с компьютерами, которые, скорее всего, работают на операционной системе Linux. Linux можно найти и гораздо ближе; скорее всего, он у вас под рукой. Скажем, операционная система Android-смартфонов основана на Linux. Если у вас есть Chromebook, то вы пользуетесь ноутбуком на основе Linux. Эта операционная система всё чаще используется в телевизорах, термостатах, мультимедийных системах в самолётах, автомобилях и т.д.
Почему это интересно? Потому что Linux — это не продукт одного программиста или даже группы программистов; в отличие от MacOS или Windows, его не разрабатывала одна или даже дюжина корпораций. У Linux есть тысячи соавторов. Как сообщила в 2015 году Linux Foundation (некоммерческая организация, способствующая открытому развитию операционной системы), приблизительно 14 000 разработчиков из более чем 1300 различных компаний внесли вклад в виде фрагментов программного кода. В одном лишь 2015 году в усовершенствовании кода впервые поучаствовали 2355 разработчиков. Таким образом, путём экстраполяции можно подсчитать, что к 2017-му свою лепту внесли приблизительно 18 000 человек, и это число будет расти.
В 1996 году автор книги «Собор и Базар» Эрик Рэймонд написал:
Кто бы мог подумать даже пять лет назад (в 1991 году), что операционная система мирового класса может, словно по волшебству, быть слеплена в единое целое из фрагментов внештатной работы нескольких тысяч разработчиков, разбросанных по всему земному шару и связанных только призрачными нитями интернета?
Преимущества открытого исходного кода
В своей книге Рэймонд рассказывает о том, что открытый исходный код представляет собой революционный метод создания технологий. Linux с тысячами независимых разработчиков, работающих в режиме публичного сотрудничества, служит примером модели открытого исходного кода. Криптовалюты следуют той же модели, но об этом мы поговорим ниже.
Рэймонд выделил несколько преимуществ модели открытого исходного кода. Ключевые в контексте нашей дискуссии — следующие:
Результатом такой разработки становится очень надёжный программный код, созданный пользователями для пользователей. Цель состоит не в том, чтобы создать нечто, обогащающее компанию, которая производит и продаёт продукты, а, скорее, в том, чтобы решить проблему, достаточно распространённую, чтобы большое сообщество талантливых программистов с радостью вносило свой вклад. Люди, лишённые навыков программирования, получают от такой модели огромное благо. Бесплатное ПО словно материализуется из воздуха, им может свободно воспользоваться каждый, и оно получает обновления до тех пор, пока пользователи экспертного уровня тоже заинтересованы в его эксплуатации.
Закон и свободное ПО
Действующее законодательство поддерживает и в некоторых случаях стимулирует разработку программного обеспечения с открытым исходным кодом. Оно, как и всё ПО, защищено авторским правом, но его авторы выпускают код с лицензией, позволяющей каждому использовать и модифицировать его без специфического разрешения или любых выплат авторам (то есть с лицензией, разработанной Массачусетским технологическим институтом — MIT).
Некоторые лицензии включают требования, что производные программного обеспечения должны выпускаться на таких же условиях. Благодаря подобной схеме база открытого исходного кода растёт и распространяется. Это явление известно как лицензия свободного программного обеспечения, или LGPL-3 — меньшая стандартная общественная лицензия.
Открытый исходный код в криптовалютах и токен-проектах
Возможно, Linux — крупнейший и самый важный пример модели открытого исходного кода, но есть и другие. В их число входят все крупные криптовалютные и блокчейн-проекты. Все они создают компьютерные сети, позволяющие участникам достигать согласия относительно совместно используемых данных (блокчейна криптовалюты).
Программное обеспечение, дающее любому участнику возможность соединяться с сетью, называется клиентом, и это ПО с открытым исходным кодом. Зачастую клиентское ПО разрабатывают несколько не связанных между собой участников в качестве простейшей версии сетевого ПО (то есть так называемого reference client), на основе которого можно выстроить программное обеспечение для майнинга, кошелька, биржи или другое совместимое с сетью ПО.
Клиент Bitcoin Core — результат работы более чем 450 независимых разработчиков, которые в общей сложности внесли свой вклад в развитие кода более 15 000 раз. ПО доступно для свободного использования и модификации в соответствии с лицензией свободного программного обеспечения MIT, а вся история разработки доступна для обозрения в публичном репозитории на Github — облачном сервисе, позволяющем любому создать аккаунт, загрузить новый код и отслеживать изменения. Если созданный вами репозиторий открыт для всеобщего обозрения, комментариев и предложений об изменениях, то вам даже не нужно платить за аккаунт Github.
Публичный репозиторий также отслеживает так называемые форки оригинального клиента. Форк создаёт клон изначального ПО, который затем можно модифицировать с той или иной целью, не изменяя изначальное хранилище. Разработчики без ограничений совершают форки для репозитория Bitcoin Core на Github, чтобы создать либо специфические приложения, совместимые с биткоином (например, кошелёк для смартфонов), либо новую криптовалюту, которая перестаёт быть совместимой с сетью биткоина и подразумевает создание новой криптовалютной сети (например, так было с лайткоином или Zcash). На сегодняшний день оригинальный клиент Bitcoin Core пережил форк более 10 000 раз, и появляющиеся новые репозитории демонстрируют, что создание производных продуктов продолжается.
На эфириум сейчас приходится как минимум 121 репозиторий, каждый из которых фокусируется на определённом аспекте проекта (например, языках программирования для написания смарт-контрактов, графических браузерах для взаимодействия конечного пользователя с сетью эфириума, совместимых клиентах для участия в работе сети и т.д.). Есть не менее восьми проектов, направленных на разработку совместимых с эфириумом клиентов, а над наиболее популярными клиентами (go-ethereum и Parity) трудятся сотни независимых разработчиков. Код эфириума и его полная история, как и код, а также история биткоина, доступны для публичного обозрения на Github и в других сетевых хранилищах, и все коды выпускаются в соответствии с лицензией LGPL-3, требующей выпускать все будущие производные разработки с такой же лицензией.
Даже недавние проекты, реализованные по инициативе коммерческих стартапов, демонстрируют приверженность кредо открытого исходного кода. Zcash Company разрабатывает протокол Zcash посредством публичного репозитория. Несколько ведущих разработчиков не работают на компанию, а специально созданная некоммерческая организация призвана следить за тем, чтобы постепенно произошёл переход от разработки, осуществляемой компанией, к разработке силами сообщества. База исходного кода Zcash выпускается с лицензией Массачусетского технологического института. Protocol labs, разработчик Filecoin, намерен создать аналогичную открытую модель и уже протестировал её в своём проекте IPFS, работая с кодом в открытых репозиториях и выпуская его с лицензией MIT.
Почему открытый исходный код важен
Криптовалюты и открытые блокчейны способны обеспечить функционал, который был бы регулируемым, если бы его источником была одна-единственная корпорация. Централизованные эмитенты цифровой валюты, такие как Liberty Reserve или E-gold, представляли собой финансовые сервисы и должны были регистрироваться в Управлении Министерства финансов США по борьбе с финансовыми преступлениями, а также получать лицензию, позволяющую переводить деньги, в каждом штате. Если такие токены будут продвигаться на рынке для привлечения инвесторов, они могут быть приравнены к ценным бумагам, и в таком случае потребуется регистрация в Комиссии по ценным бумагам и биржам США. Эти ограничения имеют смысл, поскольку централизованные сервисы связаны с риском того, что сторона, находящаяся в центре всей схемы, не сможет выполнить свои обещания, адекватно протестировав продукт и сделав его безопасным.
Однако технологии вроде биткоина способны предложить аналогичный функционал, будучи открытыми и никому не принадлежащими сетями. Здесь нет никакой корпорации. К этим сетям присоединяются пользователи, а открытое программное обеспечение стимулирует их стремление к сотрудничеству. В конечном счёте все участники приходят к согласию относительно каждого фрагмента данных, необходимых для создания валюты. Децентрализация держится на двух столпах: открытых механизмах консенсуса и программном обеспечении с открытым исходным кодом. Если бы код не был открытым, то как бы участники (не знакомые друг с другом люди в интернете) сумели бы понять систему, к которой они присоединяются, и довериться ей?
На самом деле токен-проекты, основанные на патентованном коде, могут оказаться просто централизованными сервисами, которые прячутся за профессиональным сленгом и «абракадаброй блокчейна». Однако у «истинных» проектов код, создающий децентрализованную сеть, позволяющий участникам доверять друг другу, иметь общую мотивацию и наказывать мошенников, и сам по себе децентрализован. Его разрабатывают у всех на глазах сотни энтузиастов, он доступен всем в мире для использования и модификации и совершенно независим от корпоративных интересов.