Çatal ya da çatallama (İng. fork), bir yazılım projesinin mevcut kaynak kodları kopyalanarak başlatılan yeni projeye verilen addır. Özgür yazılım alanında yaygın bir şekilde görülmekle birlikte özel mülk yazılımlarda da örnekleri görülebilir.
Bir özgür yazılım projesini farklı bir yönde geliştirmek isteyen geliştiriciler, yazılımın kaynak kodlarını kopyalayarak farklı bir isim altında yeni bir proje başlatabilir ve uygulamak istedikleri değişiklikleri, yenilikleri uygulamaya başlayabilirler. Bir özgür yazılımın kodlarını kopyalayarak çatal yazılım oluşturmak önceden izin almayı gerektirmez ve telif hakları ihlaline de yol açmaz. Ancak bununla birlikte temel alınan yazılımda kullanan özgür lisansının diğer şartlarını da sağlamak gereklidir (yazılımın önceki kaynağının belirtilmesi, yeni yazılımın yine özgür bir lisansla lisanslanmak zorunda olması gibi şartlar olabilir).
Bir özgür yazılım projesinde farklı düşünen geliştiriciler yol ayrımına geldiklerinde, kendi aralarında birleşerek yeni bir yol çizmeleri nedeniyle yol ayrımı kavramından türetilmiştir.
Örnekler
Çatal olarak başlatılan çok sayıda yazılım projesi bulunur. Bunlardan birkaç örnek:
LibreOffice ofis yazılım seti projesi 2011 yılında OpenOffice.org'dan çatallanarak geliştirilmeye başlamıştır.[1] Çatallanma nedeni ve süreci LibreOffice tarihçesinden öğrenilebilir. OpenOffice ise 2001 yılında StarOffice projesinden çatallanarak ortaya çıkmıştır.
Debian isimli Linux dağıtımının kodları temel alınarak onlarca çatal proje geliştirilmiştir. Örneğin popüler Linux dağıtımlarından Ubuntu[2] ve Türkiye'de geliştirilen Pardusişletim sistemleri geçmişte Debian'ın kaynak kodları temel alınarak geliştirilmeye başlanmıştır. Yandaki grafikten incelenebilir.
Inkscape vektörel çizim programı, 2003 yılında Sodipodi'den çatallanarak geliştirilmeye başlamıştır.[3] Sodipodi ise daha önce Gill (GNOME Illustration Application) projesinden çatallanmıştır.[4]