Yazılım Sözleşmesinde Mutlaka Bulunması Gereken Maddeler
Anlaşmazlıkların çoğu sözleşmede yazmayan konulardan çıkar. Baştan netleştirilecek yedi başlık.
Görsel: Pixabay · Pixabay Lisansı
Neden önemli?
Yazılım projelerindeki anlaşmazlıkların çoğu kötü niyetten değil, belirsizlikten doğar. İki taraf da farklı şey anladığını teslim anında fark eder.
İyi bir sözleşme, tarafları korumaktan çok, beklentileri hizalar.
Bir: kapsam ve kapsam dışı
Teslim edilecek ekranlar, akışlar ve entegrasyonlar ekte listelenmelidir.
Kapsam dışı olanlar da açıkça yazılmalıdır. "Mobil uygulama bu kapsamda değildir" cümlesi, sonradan çıkacak tartışmayı baştan önler.
Kapsam değişikliği için bir usul tanımlanmalıdır: talep nasıl iletilir, nasıl fiyatlanır, nasıl onaylanır.
İki: kaynak kod ve fikri mülkiyet
Kaynak kodun kime ait olacağı açıkça yazılmalıdır. Varsayılan hükümler beklediğinizden farklı olabilir.
Kodun yanında veritabanı şeması, dokümantasyon ve dağıtım betikleri de teslim kapsamında olmalıdır.
Kullanılan açık kaynak bileşenlerin lisansları ve bunların getirdiği yükümlülükler belirtilmelidir.
Üç: hesap ve anahtar sahipliği
Mağaza hesapları, sunucu erişimleri, alan adı ve imzalama anahtarları kimin adına açılacak?
Bunların proje sonunda devredileceği yazılmalıdır. Anahtarlar elinizde değilse, sağlayıcı değiştirmeniz pratikte imkânsız hale gelir.
Dört: teslim ve kabul kriterleri
Neyin "bitti" sayılacağı tanımlanmalıdır. Kabul testleri ve kriterleri yazılı olmalıdır.
Kabul süresi belirlenmelidir; süresiz kabul beklemesi ödeme takvimini kilitler.
Beş: hata düzeltme ve garanti
Teslim sonrası ne kadar süreyle hangi tür hatalar ücretsiz düzeltilecek?
Hata ile yeni talep arasındaki fark tanımlanmalıdır. Bu ayrım yapılmazsa her yeni istek garanti kapsamında sayılmaya çalışılır.
Altı: bakım ve devir
Garanti sonrası bakım koşulları ve fiyatı baştan belirlenmelidir.
Sözleşme sona erdiğinde devir süreci nasıl işleyecek? Dokümantasyon ve bilgi aktarımı için süre tanımlanmalıdır.
Yedi: gizlilik ve veri koruma
Geliştirici ekibin üretim verisine erişimi olacak mı? Hangi koşullarda?
Kişisel veri işleniyorsa, veri işleyen sıfatıyla yükümlülükler ve alınacak teknik tedbirler yazılmalıdır.
Test ortamlarında gerçek kişisel veri kullanılıp kullanılmayacağı netleştirilmelidir.
Ödeme takvimi
Ödemeleri takvime değil, teslim edilen işe bağlayın. Aşama bazlı ödeme her iki tarafı da disipline eder.
Gecikme ve cezai şartlar
Her iki taraf da gecikebilir. Sözleşme yalnız geliştiriciyi değil, müşteri kaynaklı gecikmeleri de düzenlemelidir.
İçerik teslimi, karar verme ve test onayı gecikmeleri takvimi doğrudan etkiler; bunların etkisi yazılmalıdır.
Cezai şart koyulacaksa karşılıklı olmalıdır; tek taraflı düzenlemeler ilişkiyi baştan bozar.
Fikri mülkiyette ayrım
Projeye özel yazılan kod ile geliştiricinin daha önce üretmiş olduğu genel bileşenler farklı değerlendirilir.
Genel bileşenler için size kullanım hakkı verilir, mülkiyet devredilmeyebilir. Bu, sektörde olağan bir uygulamadır.
Önemli olan, bu ayrımın açıkça yazılması ve size verilen hakların sistemi bağımsız olarak çalıştırmaya ve geliştirmeye yetmesidir.
Açık kaynak bileşenlerin lisans yükümlülükleri de listelenmelidir; bazı lisanslar ticari kullanımda ek koşullar getirir.
Sık sorulanlar
Kaynak kod bende olmazsa ne olur?
Başka bir ekiple devam edemez, sistemi bağımsız olarak geliştiremezsiniz. Sağlayıcı değişikliği gerektiğinde projeyi sıfırdan yazmak zorunda kalabilirsiniz.
Sabit fiyatlı sözleşmede kapsam değişikliği nasıl yönetilir?
Değişiklik talebi usulü sözleşmede tanımlanmalıdır. Her talep yazılı olarak iletilmeli, etkisi fiyat ve süre olarak belirtilmeli, onaylandıktan sonra uygulanmalıdır.
Sözleşmeyi avukata mı yazdırmalıyım?
Teknik kapsam ekini işi bilen taraf hazırlamalı, hukuki çerçeveyi avukat düzenlemelidir. En sık yapılan hata, teknik eki olmayan genel bir sözleşme imzalamaktır; anlaşmazlıkların çoğu o ekin eksikliğinden doğar.



