Fork (pengembangan perangkat lunak)

Dalam rekayasa perangkat lunak, fork proyek adalah hal yang terjadi ketika suatu pengembang menyalin kode sumber dari suatu paket perangkat lunak dan memulai pengembangannya sendiri secara terpisah, menghasilkan perangkat lunak yang berbeda dan terpisah. Istilah ini biasanya mengimplikasikan tidak hanya percabangan dalam pengembangan, tetapi juga perpecahan dalam komunitas pengembangnya, sebuah bentuk skisma.

Perangkat lunak bebas dan sumber terbuka adalah perangkat lunak yang, secara definisi, boleh di-fork dari tim pengembang yang asli tanpa meminta izin terlebih dahulu, tanpa melanggar hukum hak cipta. Akan tetapi, fork berlisensi dari perangkat lunak perorangan (contoh: Unix) juga bisa terjadi.

Etimologi 
Kata "fork" telah digunakan dalam artian "membagi menjadi cabang-cabang, berpisah" sejak abad ke-14th. Dalam linkungan perangkat lunak, kata ini mengacu pada panggilan sistem fork, yang menyebabkan suatu proses yang sedang berjalan membagi dirinya sendiri menjadi dua salinan yang (hampir) sama persis yang kemudian (biasanya) melakukan tugas-tugas yang berbeda.

Dalam konteks pengembangan perangkat lunak, "fork" digunakan dalam artian membuat sebuah "cabang" kendali revisi oleh Eric Allman pada tahun 1980, dalam konteks SCCS:

Istilah ini digunakan di Usenet pada tahun 1983 untuk proses pembuatan sebuah subkelompok untuk menampung topik-topik diskusi.

"Fork" belum digunakan dalam artian skisma komunitas pada permulaani Lucid Emacs (sekarang XEmacs) (1991) atau berbagai BSD (1993–1994); Russ Nelson menggunakan istilah "shattering" (bahasa Indonesia: pemecahan) untuk peristiwa ini pada tahun 1993, mengatribusikannya kepada John Gilmore. Akan tetapi, "fork" digunakan dalam bentuk kala kini sejak tahun 1995 untuk menjelaskan pemisahan XEmacs, dan penggunaannya sudah dipahami dalam GNU Project pada tahun 1996.

Lihat pula 
 Daftar fork perangkat lunak
 Pemrograman modular
 Modding
 Personalisasi
 Peretasan ROM

Referensi

Pranala luar 
 Right to Fork  di Meatball Wiki
 Sebuah PhD mengamati proses fork: (Nyman, 2015)  "Understanding Code Forking in Open Source Software - An examination of code forking, its effect on open source software, and how it is viewed and practiced by developers"

 
Manajemen proyek perangkat lunak
Istilah teknologi informasi dalam bahasa Inggris