Giriş

Özgür yazılımın en harika farklılığı işbirliğine ve çok fazla uzmanlığa izin vermesidir. Özgür yazılım projelerine katkıda bulunan muazzam sayıda birey katılımcıların belirli teknolojilere odaklanmasına ve bu teknolojilerde ihtisas yapmasına olanak sağlar - bu teoridir, gerçekleştirimdir ve yöndür. Bu belge yama sistemlerinin çok özet bir açıklamasıdır; programcılar tarafından kullanılan sistem, özgür yazılım projelerinde işbirliğine izin verir. Yama sistemi, toplumdaki birçok uzmanın bir arada çalışmasını mümkün kılmak için geliştirilen bir teknolojidir. Bu teknoloji, halkın geliştirme gayretlerinde güçlü bir rol oynar ve bu nedenle geliştirme projelerinde temel düzeyde anlaşılabilirlik, katılım için önemlidir.

Yama sistemleri, yama olarak adlandırılan özel biçimli metin dosya dağıtımları ile çalışır. Yama, kaynak kodun değiştirilmiş biçimi ile asıl kaynak kod arasındaki farklılıkları tanımlayan bir metin dosyasıdır. Bir yama, kaynak kodun aslının kopyası ile değiştirilmiş biçimini karşılaştırmaya başvurmayı (veya değiştirmeyi) mümkün kılan bir şekilde var olur. Yamalar, iki farklı GNU yardımcı program kümesi tarafından oluşturulur ve uygulanır. diff yardımcı programı, bir yama dosyası oluşturmakta kullanılır. GNU patch yama dosyalarının uygulanmasında kullanılır. Yama dosyaları, asıl kaynak kodun diğer kopyalarına dağıtılabilen ve uygulanabilen diff yardımcı programı tarafından oluşturulmuştur. Bu yüzden, kaynak kodun tümünün kopyasını çevirme ihtiyacı ve değişiklikleri bulmak ve anlamak için kodun tamamını tarama ihtiyacı azalır. Bu iki yardımcı program, yama sisteminde birlikte çalışır ve yazılım geliştirmede işbirliğinin karmaşıklığını önemli derecede azaltır.

Açıkça olmasına rağmen; birleştirilen koddaki karmaşıklığın çoğunluğu, tasarım kararlarının doğasında yatar. Yama, bu karmaşıklığı yok edemez. Geliştirici, mümkün olduğunca bu karmaşıklığı azaltmaya çalışmalıdır. Bakımcının karşılaşacağı zorlukları azaltacak anlaşılabilir ve uygulanabilir paketler için aşağıdaki adımları uygulayın:

  1. Eğer değişiklikler önemliyse, değişikliği yapmadan önce bakımcı ile görüşün.
  2. Yamasını sunacağınız programın kodlama tarzına uyun.
  3. Bir tasarıda, kod değişikliklerinde veya bunlarla ilişkili küçük gruplarda yamanızın sade ve hedefli olmasını sağlayın.
  4. Yamanızın sunumu, detaylı bir yama tanımlamasını ve neden onu düşündüğünüzün açıklamasını içermelidir.
  5. Kodunuz yorum satırları ve ayrıca yorum satırı olarak adınız ve e-posta adresinizi içermelidir.