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


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

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

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

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

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

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


График времени разветвления дистрибутивов Linux