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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,

Этот шаг гарантировал, что эти продукты смогут использоваться в течение многих лет, пока еще находятся под разрешительной лицензией и бесплатно для потребителя. Важно отметить, что 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. Узел Форвард родился.

Этот раскол был довольно травмирующим для сообщества, но есть надежда, что решение о раскладывании 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)

Ссылка на основную публикацию
Adblock
detector