Веб-культура

Программное обеспечение с открытым исходным кодом и форкинг: хорошее, великое и уродливое

Программное обеспечение с открытым исходным кодом и форкинг: хорошее, великое и уродливое

Существует серьезное заблуждение о мире с открытым исходным кодом.

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

Ложь. Совершенно совершенно неверно.

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

Но в то время как Ноэль и Лиам Галлахер решают свои разногласия с помощью летающих кулаков и остроумных однорядных текстов , сообщество открытого исходного кода вместо этого выбирает (как правило) более продуктивный путь. Ветвление.

Что такое форкинг?

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

разветвление-вилка

Большая часть программного обеспечения с открытым исходным кодом лицензируется по открытым разрешительным лицензиям программное обеспечение с открытым исходным кодом , которые позволяют пользователю воспользоваться четырьмя свободами бесплатного программного обеспечения Libre. Фонд свободного программного обеспечения описывает их так :

Свобода запускать программу по вашему желанию для любых целей (свобода 0).

Свобода изучать, как работает программа, и изменять ее так, чтобы она выполняла ваши вычисления по вашему желанию (свобода 1). Доступ к исходному коду является предварительным условием для этого.

Свобода распространять копии, чтобы вы могли помочь своему соседу (свобода 2).

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

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

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

Добро — LibreOffice и MariaDB

В девяностых и начале девяностых годов существовала компания Sun MicroSystems. Sun была довольно крупной компанией, с тысячами сотрудников и доходами, затмевающими (тогда еще больными) Apple.

Sun Microsystems создала семейство процессоров под названием SPARC (которое во многих отношениях имело много общего с чипами ARM, которые используются в большинстве мобильных телефонов и планшетов, а также с некоторыми устройствами Chromebook), а также с серверами, которые ими питались. Они также создали огромное количество компьютерного программного обеспечения, которое все еще широко используется сегодня.

разветвление-СПАРК

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

К сожалению, все хорошие вещи должны в конце концов закончиться, и в 2009 году корпорация Oracle Ларри Эллисона перешла к Sun Microsystems. Это напугало сообщество Open Source, учитывая плохую репутацию Oracle в отношении открытости и эгалитаризма, когда дело доходит до свободного программного обеспечения. Это было продемонстрировано в 2010 году, когда Oracle подала в суд на Google за нарушение их авторских прав и патентов на язык программирования Java, используемый в мобильной операционной системе Android.

Это была соломинка, которая сломала спину верблюду. Члены сообщества открытого исходного кода взяли два наиболее значимых продукта Oracle и раздвоили их. MySQL стал MariaDB, а OpenOffice стал LibreOffice

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

Сегодня LibreOffice является одним из наиболее часто используемых офисных пакетов в мире и поставляется по умолчанию с несколькими дистрибутивами Linux; OpenOffice перешёл в фонд Apache и теперь известен как Apache OpenOffice. MariaDB также имела большой успех и заменила MySQL на ряде дистрибутивов Linux, включая Fedora, начиная с версии 19 .

Великий — Node.js И Node Forward

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

Несколько лет назад JavaScript сделал скачок от браузера к серверу с Node.js

Это позволило разработчикам создавать серверные приложения и функциональные возможности веб-сайтов на знакомом языке программирования JavaScript. Что сделало его действительно особенным, так это менеджер пакетов NPM. Подобно apt-get или OneGet , это позволило программистам устанавливать расширения и библиотеки через удобный интерфейс командной строки. Разработчикам это понравилось.

разветвление-Joyent

Великим патриархом мира Node был Joyent, крупная облачная хостинговая компания, базирующаяся в Сан-Франциско. Хотя Node был открытым исходным кодом, он зависел от Джойента в финансовой поддержке, и многие начали чувствовать, что Джойент взял на себя роль « Доброжелательного диктатора на всю жизнь » и слишком сильно контролировал направление проекта «Узел».

Некоторые основные разработчики, чувствуя необходимость в более узком направлении Node, раздвоили Node. Узел Форвард родился.

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

Вы можете принять участие или следить за их прогрессом на Github .

Гадкий — SystemD

Называть systemd противоречивым — все равно, что описывать жареное масло как «несколько вредное для здоровья». По правде говоря, systemd почти разделил сообщество Linux на две части.

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

Проблема в том, что Init не так уж и велик. Главным образом потому, что это медленно. Мол, очень медленно. Это потому, что он запускает задачи последовательно или по одному. Чтобы запустить новое задание, сначала нужно дождаться завершения последнего. Хотя это могло быть полезной функцией давным-давно, когда компьютеры испытывали хроническую недостаточную мощность, это не очень полезно в 2015 году, когда большинство компьютеров являются многоядерными бегемотами с гигабайтами оперативной памяти.

Итак, systemd был создан. Проблема состояла в том, что systemd нарушил философию проектирования того, как должны работать системные инструменты для Linux. Вместо того, чтобы делать что-то одно и делать это хорошо, systemd делал несколько вещей помимо загрузки компьютера. Звучит безобидно, но в мире Linux это настолько близко, насколько это возможно, к великой измене .

разветвление-Systemd

На данный момент мир Linux разделился на два лагеря. Тот, который отчаянно хотел избавиться от старого, медленного и устаревшего демона init. Другие решительно возражали против systemd в принципе и не хотели, чтобы это было где-то рядом с их Linux-машинами.

Вещи нагрелись.

Блоггеры порицали, что будет «концом Linux», поскольку они это знали. Линус Торвальдс, создатель ядра Linux, зашел так далеко, что запретил ключевому разработчику systemd работать над ядром Linux, хотя позже он заявил, что у него «нет сильных мыслей» по поводу разногласий по поводу systemd.

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

По мере того, как все больше и больше дистрибутивов объявляли, что перейдут на systemd, группа разочарованных программистов взяла дело в свои руки и запустила Debian без системной развилки под названием Devuan.

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

Хотя форк Debian, несомненно, приведет к более широкому выбору, когда речь заходит о том, как использовать Linux, и может однажды стать важным игроком в среде Linux, важно помнить, откуда он взялся. Шумное, злобное место, которое чуть не поставило на колени один из наиболее значимых в культурном и коммерческом отношении проектов с открытым исходным кодом.

Вилка слишком далеко

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

Как вы думаете? Я хотел бы услышать ваши мысли. Оставьте мне комментарий ниже, и мы будем общаться.

Кредиты на фотографии: Silver Forks (Nana B Agyei) , Форкинг с HyperBob (HyperBob) , img_7809 (Майкл Хикс) , Joyent приветствует нокаут node.js (Nina Baidley) , сообщения о состоянии системы (Kai Hendry)

Похожие посты
Веб-культура

5 видеообъявлений Microsoft наверняка заставят вас съежиться

Веб-культураСоциальные медиа

5 вещей, которые я узнал об интернет-поведении благодаря моей SEO-работе

Веб-культура

7 веселых практических шутливых идей для игры на компьютере вашего друга [Windows]

Веб-культура

The Young Strike It Big: 5+ удивительных открытий, сделанных детьми и подростками