Open Source технологии не идеальны, но они нам нужны

Open Source технологии не идеальны, но они нам нужны


Я люблю свободное и открытое программное обеспечение (FOSS). Вся эта движуха — одна из лучших вещей в мире технологий и компьютеров в целом. Я являюсь сторонником открытого программного обеспечения большую часть своей жизни на данный момент, но это не значит, что оно идеально.

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

Ангел FOSS: Инновации через сотрудничество

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

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

Наличие открытых кодовых баз также предоставляет уникальные преимущества в области безопасности. Хотя это (часто повторяемый) миф о том, что программное обеспечение с открытым исходным кодом по своей природе более безопасно, чем программное обеспечение с закрытым исходным кодом, правда в том, что проекты с открытым исходным кодом пользуются различными преимуществами в области безопасности. Например, поскольку код — это то, что вы можете проверить и скомпилировать самостоятельно, у вас есть возможность убедиться, что в коде нет неприятных сюрпризов, таких как бэкдоры. С другой стороны, открытие всего исходного кода упрощает создание эксплойтов, потому что вы можете видеть внутреннее устройство программы.

Тем не менее, в среднем прозрачная природа открытого программного обеспечения является положительной вещью. В конце концов, свободное и открытое программное обеспечение (FOSS) и закрытое программное обеспечение существуют вместе и могут компенсировать недостатки друг друга.

Ангел FOSS: Доступность и Свобода

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

Это один из самых важных аспектов программного обеспечения с открытым исходным кодом. Разработка программного обеспечения дорогая и трудоемкая, поэтому наличие тысяч программ, доступных бесплатно, и с кодом, который вы можете адаптировать под свои нужды, является огромным преимуществом для любого, кто начинает что-то новое. Без Линукса, различных серверных приложений или множества нишевых приложений и модулей на GitHub у нас бы не было столько новых приложений, робототехнических проектов или чего-либо еще, на самом деле. Программное обеспечение с закрытым исходным кодом делает попытки что-то новое медленными и дорогими.

Возьмите любой успешный (или хотя бы интересный) технологический стартап, и вы обязательно найдете открытый исходный код где-то в его недрах. Я готов поспорить, что даже через тысячу лет, когда все люди исчезнут, а выживет только ИИ, все равно будет открытый исходный код, который будет делать своё дело за кулисами.

Дьявол FOSS: Фрагментация и войны вилок

Свобода FOSS — это двусторонний меч, который режет не только в обе стороны, но и в любом направлении, в котором ему хочется. Поскольку нет центральной власти, и все общее, возникают те же проблемы, что и в любом открытом обществе. Люди будут формировать фракции; каждый раз, когда кто-то не согласен с тем, в каком направлении движется проект с открытым исходным кодом, они будут «форкать» его в собственный проект.

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

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

Хотя большинство FOSS не ориентированы на пользователя, программное обеспечение, которое ориентировано на пользователя, как правило, имеет явно грубый пользовательский опыт. Говорите что хотите о модели лицензирования Adobe Photoshop, но она на несколько миль впереди чего-то вроде GIMP, и ни одна из множества дистрибутивов Linux действительно не справилась с этой задачей. Возможно, это культура FOSS или, возможно, просто не так много профессионалов по интерфейсам, готовых работать бесплатно, но в любом случае вы можете ощутить разницу, не всегда будучи в состоянии объяснить это.

Дьявол FOSS: Проблемы устойчивого развития

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

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

Когда эти люди в конечном итоге (и что неудивительно) сдадутся, это может привести к кризису, хотя на данный момент у нас в целом все в порядке. Держим пальцы скрещенными!

Затем, конечно, есть много коммерческих организаций, которые зарабатывают миллионы, используя FOSS в своей деятельности, но которые никогда ничего не возвращают этим проектам. Ни в виде вкладов кода, ни просто денег.

Некоторые проекты с открытым исходным кодом также могут оказаться небезопасными, потому что у них просто нет ресурсов для правильного обеспечения безопасности своего кода. Это обратная сторона мифа о том, что «открытое программное обеспечение более безопасно».

Двусторонний меч

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

Это все очень диковинно, быть лучшими временами и худшими временами, но это определенно огромная чистая выгода. Нам просто нужно быть внимательными, когда мы едем на этом быке, чтобы он нас не скинул.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *