Beim Forking innerhalb einer Software wird ein völlig neues Projekt von Entwicklern erstellt, die den Quellcode eines anderen Softwarepakets verwendet haben. Beim Forking wird ein neuer Weg für die Software eingeschlagen, indem sie in eine andere Version aufgespalten wird. In der Open-Source-Gemeinschaft ist Forking sehr verbreitet und wird im Allgemeinen als positiv angesehen, wenn eine große Anzahl von Entwicklern in eine andere Richtung abzweigt, um das Projekt zu verbessern und möglicherweise zu ersetzen.Die Entwickler beginnen damit, eine legale Kopie des Source Codes eines Softwarepakets zu nehmen und ihre eigene Entwicklung darauf aufzubauen, um eine neue Version der Software zu erstellen. Freie und Open Source Software macht dies möglich und legal, ohne gegen Urheberrechtsgesetze zu verstoßen. Das bedeutet, dass diese Art von Software legal geforkt werden kann, ohne dass man vorher die Erlaubnis derjenigen einholen muss, die das Projekt leiten und die Software verbreiten. Während Forks als Symbol der Freiheit angesehen werden und zu nützlichen Aktualisierungen führen, kommt es oft zu Konflikten zwischen den Entwicklergemeinschaften, die sich an gegensätzlichen Ansichten entzünden. Die größte Gruppe von Entwicklern ist in der Regel diejenige, die den ursprünglichen Namen beibehalten und an der Nutzergemeinschaft festhalten will. Konkurrierende Projekte können auch dazu führen, dass die Entwickler den Code nicht mehr mit den Nachfolgern teilen, was zu zukünftigen Problemen in Bezug auf die Legitimität, die Eigentumsverhältnisse und die Ausrichtung führt.Im Gegensatz zu freier und Open Source Software wird proprietäre Software von den Urheberrechtsinhabern lizenziert, die über exklusive Rechte verfügen. Ein Fork kann bei dieser Art von Software nur dann stattfinden, wenn der Inhaber des Urheberrechts die Erlaubnis erteilt hat und einen Fork benötigt, um eine neue Version der Software zu erstellen.