Forkkaus

Ohjelmistokehityksessä forkkaus on termi, jolla viitataan siihen, kun ohjelmistosta tehdään kopio, jota aletaan kehittää itsenäisenä projektina. Forkkaus voi johtua kehittäjäyhteisön ajautumisesta erimielisyyksiin tai tarpeesta luoda ohjelmistosta toisenlainen versio toista käyttötarkoitusta tai toista käyttäjäryhmää varten.

Forkkaus on yleistä avoimen lähdekoodin projekteissa, joista saa laillisesti julkaista muunneltuja versioita. Tavaramerkki voi rajoittaa forkkaamista tietyissä määrin.

Lisenssit ja tekijänoikeudet 
Yleisesti uudessa haarassa ei voi muuttaa käytettyä lisenssiä ilman alkuperäisen tekijänoikeuden haltijan/haltijoiden suostumusta: copyleft-lisenssit vaativat johdetun työn () käyttävän samaa tai yhteensopivaa lisenssiä. Jotkin lisenssit vaativat vain alkuperäisen tekijänoikeusmaininnan säilyttämisen myös muunnelluissa teoksissa.

Esimerkkitapaus forkkaamisesta on Tatu Ylösen kehittämä SSH, jonka lisenssin Ylönen muutti kaupalliseksi perustaessaan SSH Communications Security -yrityksen. OpenBSD-projekti etsi vanhemman version lähdekoodeista (1.2.12), jossa oli vapaampi lisenssi ja josta tuli OpenSSH vuonna 1999. Osana OpenSSH-projektissa lähdekoodi kirjoitettiin uudelleen niiltä osin kuin se riippui kolmannen osapuolen lisensseistä, saattoi rikkoa ohjelmistopatentteja tai olla kryptografisen ohjelmiston maastavientikiellon alaista.

Muu käyttö 
Forkkausta on käytetty ohjelmistokehityksessä myös versionhallintahaaran tekemisessä jo Source Code Control Systemin termistössä.

Unix-käyttöjärjestelmän menetelmä lapsiprosessin luomiseen kutsutaan myös forkkaukseksi fork()-kutsun mukaan.

Katso myös 
 Vapaa ohjelmisto
 Tekijänoikeus
 Copyleft
 Public domain
 Creative Commons
 GNU General Public License

Lähteet

Aiheesta muualla 
 What Coders Should Know About Copyright Licensing 
 The Rise of Open Source Licensing PDF 

Ohjelmointi