Forkkaus

ohjelmistosta tehtävä kopio, jota aletaan kehittää itsenäisenä projektina

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.[1][2]

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

Lisenssit ja tekijänoikeudet muokkaa

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

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

Muu käyttö muokkaa

Forkkausta on käytetty ohjelmistokehityksessä myös versionhallintahaaran tekemisessä jo Source Code Control Systemin termistössä.[7]

Termiä on käytetty Usenetissä vuonna 1983 liittyen viestittämiseen toiseen ryhmään.[8]

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

Katso myös muokkaa

Lähteet muokkaa

  1. What is fork? (html) Webopedia.com Ency. Viitattu 15.4.2014. (englanniksi)
  2. Karl Fogel: Producing Open Software - Forks (Chapter 8) producingoss.com. http://producingoss.com/. Viitattu 15.4.2014. (englanniksi)
  3. a b c d Välimäki, Mikko: The Rise of Open Source Licensing, s. 189-191. Turre Publishing, 2005. ISBN 952-91-8779-3. Teoksen verkkoversio.
  4. Q & A about Forks and Trademarks (PDF) nlnet.nl. 25.3.2022. Viitattu 22.2.2024. (englanniksi)
  5. Frequently Answered Questions Open Source Initiative. Viitattu 23.5.2019. (englanniksi)
  6. How do you avoid being forked into oblivion? 25.10.2014. Ars Technica. Viitattu 23.5.2019. (englanniksi)
  7. Eric Allman: An Introduction to the Source Code Control System Berkeleyn Yliopisto. Arkistoitu 6.11.2014. Viitattu 23.5.2019. (englanniksi)
  8. John Gilmore: Can somebody fork off a "net.philosophy"? groups.google.com. 18.1.1983. Viitattu 22.2.2024. (englanniksi)
  9. Linux Programmer's Manual man7.org. Viitattu 23.5.2019. (englanniksi)
  10. fork - spawn new process man.cat-v.org. Viitattu 23.5.2019. (englanniksi)

Aiheesta muualla muokkaa