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

К преимуществам технологии относят разработку новых решений, возможность обнаружить ограничения в исходном коде, отсутствие необходимости создания приложения с нуля и потенциал для совместной работы с коллегами-программистами. Среди недостатков называют этические и юридические споры, которые часто возникают между создателями оригинальной версии продукта и их «последователями». Кроме того, на рынке могут появляться похожие друг на друга приложения, что ведет к путанице и затрудняет поиск действительно эффективных программ для обычных пользователей.
Также необходимо отличать понятие от клонирования и ветвления. Клонирование репозитория предполагает внесение изменений как в копию, так и в оригинальную версию. При работе с форк-приложением создается и изменяется только независимая копия. Ветвление подразумевает работу в рамках одного репозитория и любые изменения (или черновики изменений) доступны для просмотра всей команде, которая трудится над проектом. Форк хранится в личном аккаунте, поэтому внесение изменений видит только разработчик.
