~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 7F48F9F2B8B54A1A6E09971EDD2DF831__1718672580 ✰
Заголовок документа оригинал.:
✰ Fork (software development) - Wikipedia ✰
Заголовок документа перевод.:
✰ Форк (разработка программного обеспечения) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Fork_(software_development) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/7f/31/7f48f9f2b8b54a1a6e09971edd2df831.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/7f/31/7f48f9f2b8b54a1a6e09971edd2df831__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 15:58:02 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 18 June 2024, at 04:03 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Форк (разработка программного обеспечения) — Википедия Jump to content

Форк (разработка программного обеспечения)

Из Википедии, бесплатной энциклопедии

Временная диаграмма, показывающая эволюцию дистрибутивов Linux , где каждое разделение на диаграмме называется «вилкой».

В разработке программного обеспечения происходит разветвление проекта , когда разработчики берут копию исходного кода из одного пакета программного обеспечения и начинают над ним независимую разработку, создавая отдельную и отдельную часть программного обеспечения. [ нужен пример ] Этот термин часто подразумевает не просто ветку разработки , но и раскол в сообществе разработчиков; как таковое, это форма раскола . [1] Основаниями для разветвления являются различные предпочтения пользователей, а также застой или прекращение разработки исходного программного обеспечения.

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

Этимология [ править ]

Слово «вилка» использовалось в значении «разделиться на ветви, пойти разными путями» еще в 14 веке. [2] В программной среде это слово вызывает системный вызов fork , который заставляет работающий процесс разделиться на две (почти) идентичные копии, которые (обычно) расходятся для выполнения разных задач. [3]

В контексте разработки программного обеспечения «вилка» использовалась в смысле создания « ветви » контроля версий Эриком Оллманом еще в 1980 году в контексте системы контроля исходного кода : [4]

Создание ветки "отделяет" версию программы.

К 1983 году этот термин использовался в Usenet для обозначения процесса создания подгруппы для перемещения тем для обсуждения. [5]

Неизвестно, чтобы слово «вилка» использовалось в смысле раскола сообщества во время зарождения Lucid Emacs (ныне XEmacs ) (1991) или Berkeley Software Distributions (BSD) (1993–1994); Расс Нельсон использовал термин «разрушение» для обозначения такого типа вилки в 1993 году, приписав его Джону Гилмору . [6] Однако к 1995 году слово «вилка» использовалось в нынешнем смысле для описания разделения XEmacs. [7] это было понятное использование в проекте GNU . и к 1996 году [8]

Форкирование бесплатного программного обеспечения с исходным кодом открытым

Бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом может быть юридически разветвлено без предварительного одобрения тех, кто в настоящее время разрабатывает, управляет или распространяет программное обеспечение как в соответствии с « Определением свободного программного обеспечения» , так и с «Определением открытого исходного кода »: [9]

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

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

В свободном программном обеспечении ответвления часто возникают в результате раскола по поводу различных целей или личных конфликтов. В форке обе стороны предполагают почти идентичную базу кода, но обычно только большая группа или тот, кто контролирует веб-сайт, сохраняет полное исходное имя и связанное с ним сообщество пользователей. Таким образом, существует штраф за репутацию, связанный с разветвлением. [9] Отношения между разными командами могут быть теплыми или очень ожесточенными. С другой стороны, дружественный форк или софт-форк — это форк, который не намерен конкурировать, но хочет в конечном итоге слиться с оригиналом.

Эрик С. Рэймонд в своем эссе «Усадьба ноосферы » [12] заявил, что «самой важной характеристикой форка является то, что он порождает конкурирующие проекты, которые не могут позже обмениваться кодом, что разделяет потенциальное сообщество разработчиков». Он отмечает в «Жаргонном файле» : [13]

Форкирование считается плохой вещью — не только потому, что оно предполагает много напрасных усилий в будущем, но и потому, что форки, как правило, сопровождаются сильными раздорами и враждебностью между группами-преемниками по вопросам легитимности, преемственности и направления разработки. . Существует серьезное социальное давление против форка. В результате крупные форки (такие как разделение Gnu-Emacs / XEmacs , разделение группы 386BSD на три дочерних проекта и недолговечное разделение GCC/EGCS) достаточно редки, поэтому в хакерском фольклоре их помнят по отдельности.

Дэвид А. Уилер отмечает [9] четыре возможных результата форка с примерами:

  1. Смерть вилки. Это, безусловно, самый распространенный случай. Легко объявить форк, но приложить значительные усилия для продолжения независимой разработки и поддержки.
  2. Повторное слияние ответвления ( например , egcs становится «благословенным» как новая версия коллекции компиляторов GNU ).
  3. Смерть оригинала ( например, успех сервера X.Org и смерть XFree86 ).
  4. Успешное ветвление, обычно с дифференциацией ( например , OpenBSD и NetBSD ).

Инструменты распределенного контроля версий (DVCS) популяризировали менее эмоциональное использование термина «вилка», стирая различие с «ветвью». [14] При использовании DVCS, такого как Mercurial или Git , обычный способ внести свой вклад в проект — это сначала создать личную ветку репозитория, независимую от основного репозитория, а затем попытаться интегрировать с ним ваши изменения. Такие сайты, как GitHub , Bitbucket и Launchpad, предоставляют бесплатный хостинг DVCS, явно поддерживая независимые ветки, так что технические, социальные и финансовые барьеры для разветвления репозитория исходного кода значительно сокращаются, а GitHub использует термин «разветвление» для этого метода вклада. в проект.

Форки часто перезапускают нумерацию версий с 0.1 или 1.0, даже если исходное программное обеспечение имело версию 3.0, 4.0 или 5.0. Исключением являются случаи, когда разветвленное программное обеспечение предназначено для полной замены исходного проекта, например MariaDB для MySQL. [15] или LibreOffice для OpenOffice.org .

Лицензии BSD позволяют форкам стать проприетарным программным обеспечением, а сторонники авторского лева говорят, что коммерческие стимулы, таким образом, делают частную собственность практически неизбежной. (Однако лицензии с авторским левом можно обойти с помощью двойного лицензирования с предоставлением права собственности в форме Лицензионного соглашения с участником .) Примеры включают macOS (на основе проприетарной NeXTSTEP и FreeBSD с открытым исходным кодом ), Cedega и CrossOver (собственные форки Wine , хотя CrossOver отслеживает Wine и вносит значительный вклад), EnterpriseDB (вилка PostgreSQL , добавляющая функции совместимости с Oracle). [16] ), Поддерживается PostgreSQL с их собственной системой хранения ESM, [17] и Нетеззы [18] собственная высокомасштабируемая производная PostgreSQL. Некоторые из этих поставщиков вносят изменения в проект сообщества, а некоторые сохраняют свои изменения как собственные конкурентные преимущества.

Создание проприетарного программного обеспечения [ править ]

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

Примечательным проприетарным ответвлением не такого рода являются многочисленные разновидности проприетарных Unix — почти все они произошли от AT&T Unix по лицензии и все называются «Unix», но все более взаимно несовместимы. [19] См. Unix-войны .

См. также [ править ]

Ссылки [ править ]

  1. ^ «Раскол» с его коннотациями - широко распространенное употребление, например
  2. Запись «вилка» в онлайн-словаре этимологии. Архивировано 25 мая 2012 г. в Wayback Machine.
  3. ^ «Термин fork заимствован из стандарта POSIX для операционных систем: системный вызов, используемый для того, чтобы процесс генерировал свою копию, называется fork()». Роблес, Грегорио; Гонсалес-Бараона, Хесус М. (2012). Комплексное исследование форков программного обеспечения: даты, причины и результаты (PDF) . OSS 2012 Восьмая международная конференция по системам с открытым исходным кодом. дои : 10.1007/978-3-642-33442-9_1 . Архивировано (PDF) из оригинала 2 декабря 2013 года . Проверено 20 октября 2012 г.
  4. ^ Оллман, Эрик. «Введение в систему контроля исходного кода». Архивировано 6 ноября 2014 года в проекте Wayback Machine Project Ingres, Калифорнийский университет в Беркли, 1980 год.
  5. ^ Может ли кто-нибудь создать «net.philosophy»? ( Джон Гилмор , net.misc, 18 января 1983 г.)
  6. ^ Разрушение — хорошо или плохо? (Рассел Нельсон, gnu.misc.discuss, 1 октября 1993 г.)
  7. ^ Re: Эй, Франц: 32К Windows - отстой!!!!! (Билл Дюбук, cu.cs.macl.info, 21 сентября 1995 г.)
  8. ^ Линукс? (Маркус Дж. Дэниелс, gnu.misc.discuss, 7 июня 1996 г.)
  9. ^ Перейти обратно: а б с Почему программное обеспечение с открытым исходным кодом/свободное программное обеспечение (OSS/FS, FLOSS или FOSS)? Посмотрите на цифры!: Разветвление. Архивировано 5 апреля 2006 г. в Wayback Machine (Дэвид А. Уилер).
  10. ^ Столлман, Ричард. «Определение свободного программного обеспечения» . Фонд свободного программного обеспечения. Архивировано из оригинала 14 октября 2013 года . Проверено 15 октября 2013 г.
  11. ^ «Определение открытого исходного кода» . Инициатива открытого исходного кода. 7 июля 2006 г. Архивировано из оригинала 15 октября 2013 г. Проверено 15 октября 2013 г.
  12. ^ Раймонд, Эрик С. (15 августа 2002 г.). «Теория беспорядочной связи, пуританская практика» . catb.org . Архивировано из оригинала 6 октября 2006 года.
  13. Раздвоение. Архивировано 8 ноября 2011 г. на Wayback Machine ( Жаргонный файл ), впервые добавлено в v4.2.2. Архивировано 14 января 2012 г. на Wayback Machine , 20 августа 2000 г.)
  14. ^ например Уиллис, Натан (15 января 2015 г.). «Разветвление Node.js с открытым управлением» . LWN.net . Архивировано из оригинала 21 апреля 2015 года . Проверено 15 января 2015 г. Форки являются естественной частью модели открытой разработки — настолько, что GitHub, как известно, размещает кнопку «разветвить свою собственную копию» почти на каждой странице. Смотрите также Найман, Линус (2015). Понимание разветвления кода в программном обеспечении с открытым исходным кодом (доктор философии). Ханкенская школа экономики. п. 57. HDL : 10138/153135 . Если раньше практики имели довольно узкое определение вилки, то теперь этот термин, по-видимому, используется гораздо шире. Действия, которые традиционно назывались ветвью, новым дистрибутивом, фрагментацией кода, псевдо-форком и т. д., теперь некоторые разработчики могут называть ветвями. Похоже, это в немалой степени связано с широким определением и использованием GitHub термина «форк».
  15. ^ Создал проект, с чего начинаются номера версий? Архивировано 26 августа 2011 года в Wayback Machine.
  16. ^ EnterpriseDB. Архивировано 13 ноября 2006 г. на Wayback Machine.
  17. ^ Fujitsu поддерживает PostgreSQL. Архивировано 20 августа 2006 г. на Wayback Machine.
  18. ^ Netezza. Архивировано 13 ноября 2006 г. в Wayback Machine.
  19. ^ Страх перед разветвлением. Архивировано 17 декабря 2012 года в Wayback Machine о разветвлении проектов бесплатного программного обеспечения . - эссе Рика Моэна

Внешние ссылки [ править ]

  • Право на вилку в Meatball Wiki
  • Докторская степень, исследующая разветвление: (Найман, 2015). Архивировано 16 июля 2023 г. в Wayback Machine «Понимание разветвления кода в программном обеспечении с открытым исходным кодом - исследование разветвления кода, его влияние на программное обеспечение с открытым исходным кодом, а также то, как оно рассматривается и практикуется разработчиками».
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 7F48F9F2B8B54A1A6E09971EDD2DF831__1718672580
URL1:https://en.wikipedia.org/wiki/Fork_(software_development)
Заголовок, (Title) документа по адресу, URL1:
Fork (software development) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)