Wat is een projectvork?
In computertoepassingen is een projectvork een situatie waarin een bepaald aspect of kenmerk van een gevestigd softwareproduct wordt gebruikt als basis voor het maken van een nieuw product dat is gericht op toepassingen die niet de focus van de oorspronkelijke software zijn. Het maken van projectvorken komt veel voor en kan plaatsvinden met behulp van open source of gratis software. Er zijn ook voorbeelden van een projectvorkproject dat is ontstaan door een bepaald aspect van een eigen softwareproduct te gebruiken.
Binnen het proces van software engineering is er de voortdurende ontwikkeling van nieuwe softwarepakketten die voldoen aan een groeiend aantal consumentenbehoeften. Vaak biedt bestaande software de inspiratie voor deze nieuwe producten. Een of twee functies van een huidig softwarepakket kunnen de basis vormen voor een nieuw product. In dit scenario wordt gezegd dat de nieuwe software "vertakt" of vertakt is van het bestaande softwareproduct. De nieuwe projectvork wil de aantrekkingskracht van die geleende functies verbeteren en nieuwe functies toevoegen die niet aanwezig zijn in het oorspronkelijke softwareaanbod.
Het gebruik van open source software voor het maken van een projectvork is relatief eenvoudig. Het is niet nodig om de toestemming van de oorspronkelijke ontwikkelaar te beveiligen, noch om op welke manier dan ook samen te werken met de ontwikkelaars van de oorspronkelijke software. Het is echter niet ongewoon voor de ontwikkelaar van een projectvork om te communiceren met de oorspronkelijke ontwikkelaars, soms tot het punt om samen aan de projectvork te werken. Dit niveau van communicatie en samenwerking is echter volledig vrijwillig en is geen vereiste als het om gratis software gaat.
Met eigen softwareapplicaties wordt het maken van een projectvork normaal uitgevoerd door elke entiteit die de licentie op de originele software bezit. Het is echter mogelijk voor een onafhankelijke ontwikkelaar om een contractuele overeenkomst aan te gaan die beperkt gebruik van gelicentieerde software mogelijk maakt bij de ontwikkeling van het filiaal of de vork. Meer in het algemeen zal het bedrijf dat de originele software beheert eenvoudigweg gebruik maken van eigen middelen om de projectvork te ontwikkelen en volledige controle over de licentie te behouden. Deze aanpak wordt vaak gebruikt bij het ontwikkelen van nieuwe en meer functionele versies van eigen software, of bij het maken van bijbehorende softwarepakketten die werken met de originele software.
Het is mogelijk dat een projectvork kan leiden tot de ontwikkeling van een softwarepakket dat uiteindelijk de oorspronkelijke software overschaduwt en zelfs vervangt. Op andere momenten kunnen vorken zich alleen ontwikkelen om uiteindelijk terug te worden gerouteerd naar de oorspronkelijke softwareapplicatie en op de markt te worden gebracht als een nieuwe en verbeterde versie.