Yazılım yaptırma · 3 dk okuma

Yazılım sözleşmesinde kaynak kod, bakım ve garanti maddeleri

Yazılım geliştirme sözleşmesinde kaynak kodun sahipliği, garanti ile bakımın farkı, teslim belgeleri ve kabul testi nasıl yazılır? İmzadan önce kontrol listesi.

Burak Kasap · Bella Binary ·

Yazılım projelerindeki anlaşmazlıkların çoğu teknik değildir; sözleşmede yazılmamış bir beklentiden çıkar. “Kaynak kodu bize verecektiniz”, “bu hata garantiye girmez mi”, “sunucu kurulumu fiyata dahil değil miydi” gibi tartışmaların hepsi imzadan önce tek cümleyle çözülebilirdi.

Bu yazı, bir yazılım geliştirme sözleşmesinde en çok sorun çıkaran dört başlığı ve her birinde neyin açıkça yazılması gerektiğini anlatıyor. Hukuki görüş değildir; sözleşmenizi bir avukata da okutun. Amaç, avukata hangi soruları soracağınızı bilmenizdir.

1. Kaynak kod: “teslim” ile “hak devri” aynı şey değil

Sözleşmede “kaynak kod teslim edilir” yazması, kodu istediğiniz gibi kullanabileceğiniz anlamına gelmez. Türkiye’de yazılım, 5846 sayılı Fikir ve Sanat Eserleri Kanunu kapsamında eser sayılır. Kanun, mali hakların devrine ilişkin sözleşmelerin yazılı yapılmasını ve devredilen hakların ayrı ayrı gösterilmesini şart koşar. Yani “kod sizindir” demek yetmez; hangi hakların (çoğaltma, işleme/değiştirme, yayma vb.) devredildiği yazılmalıdır.

Sözleşmede şunlar net olmalı:

  • Neyin devredildiği: Mali hakların tamamı mı, yalnız kullanım hakkı mı? Süre ve coğrafi sınır var mı?
  • Neyin devredilmediği: Firmanın projeden önce geliştirdiği ortak kütüphaneler ve hazır ürünler genellikle devredilmez, lisansla kullandırılır. Bu ayrım yazılı olmazsa iki taraf da yanlış bir şey varsayar.
  • Açık kaynak bileşenler: Projede kullanılan açık kaynak kütüphanelerin listesi ve lisansları teslim edilmeli. Bazı lisanslar, dağıttığınız yazılımın kaynağını açmanızı gerektirebilir.
  • Ne zaman ve nasıl teslim: Kodun her döngüde mi yoksa yalnız sonda mı verileceği, sürüm geçmişiyle mi (git deposu) yoksa tek bir arşivle mi teslim edileceği.

Sürüm geçmişiyle teslim önemlidir: tek bir zip dosyası, kodun neden o hâlde olduğunu anlatmaz. Başka bir ekip devralacaksa geçmiş, belgelerin yarısı kadar değerlidir.

2. Garanti ile bakım ayrı kalemlerdir

En sık karışan iki kavram:

  • Garanti: Kapsamda yazan bir özelliğin çalışmaması, yani teslim edilen işin hatası. Ücretsiz düzeltilmesi beklenir. Süresi yazılmalıdır (ör. teslimden itibaren 12 ay).
  • Bakım: Yazılımın zamanla değişen dünyaya uyumu. İşletim sistemi ve kütüphane güncellemeleri, güvenlik yamaları, bağlı sistemlerin (ERP, e-fatura, banka) değişikliklerine uyum ve kullanıcı desteği. Hata değildir ama yapılmazsa sistem eskir.

Sözleşmede ayrıca şunlar yazmalı:

  • Garantinin dışında kalanlar: Kapsam dışı yeni istekler, sizin ya da üçüncü tarafın yaptığı değişikliklerden doğan hatalar, desteklenmeyen ortamda çalıştırma.
  • Yanıt süreleri: Kritik bir hatada ne kadar sürede dönüş yapılacağı. “En kısa sürede” ölçülebilir değildir; “iş günü içinde 4 saat” ölçülebilir.
  • Bakım bitince ne olur: Ücretli devam mı, sizin ekibinize devir mi? Devir varsa hangi belgelerle?

3. Teslim belgeleri: kodun yanında ne gelecek?

Yazılımı yazan ekip ortadan kalktığında sistemi ayakta tutacak olan belgelerdir. Teslim listesinde en az şunlar olmalı:

  • Kurulum ve dağıtım belgesi (sunucuya sıfırdan nasıl kurulur, yapılandırma ayarları nelerdir)
  • Veri modeli ve mimari notlar
  • Yönetici ve kullanıcı kılavuzu ya da eğitim kaydı
  • Yedekleme ve geri yükleme adımları
  • Dış sistem bağlantılarının listesi (hangi servise hangi hesapla bağlanılıyor)

Bu listeyi sözleşmeye ek olarak koyun. Teslimde tek tek işaretleyin.

4. Kabul testi: “bitti”nin tanımı

“Proje teslim edildi” ifadesinin ne anlama geldiği yazılmadıysa, son ödemenin ne zaman yapılacağı da belirsizdir. Kabul testi şunları tanımlar:

  • Neyin test edileceği: Kapsam belgesindeki her madde, gerçek ya da gerçeğe yakın veriyle.
  • Ne kadar süre: Ör. teslimden sonra 10 iş günü. Bu sürede bildirim yapılmazsa kabul edilmiş sayılır mı?
  • Hatalar nasıl sınıflanır: İşi durduran hata kabulü engeller; kozmetik hata garantiye kalır.

İmzadan önce kontrol listesi

  • Hangi mali hakların devredildiği tek tek yazılı mı?
  • Firmanın kendi ürünleri ve ortak kütüphaneleri ayrıca belirtilmiş mi?
  • Açık kaynak bileşen listesi teslim edilecek mi?
  • Kaynak kod sürüm geçmişiyle mi teslim ediliyor?
  • Garanti süresi ve garanti dışı durumlar yazılı mı?
  • Bakımın kapsamı, süresi ve ücreti garantiden ayrı mı?
  • Kritik hata için yanıt süresi ölçülebilir mi?
  • Teslim belgeleri ek olarak listelenmiş mi?
  • Kabul testinin süresi ve ölçütü tanımlı mı?

Bizde nasıl?

Özel geliştirmede kaynak kod kurulum belgesiyle birlikte teslim edilir ve müşterinindir; hazır ürünlerimiz lisansla kullanılır. Teslimle birlikte 1 yıl garanti ve 1 yıl bakım başlar, sonrası bakım sözleşmesiyle sürer. Hangi işin hangi modelde olduğu proje başında yazılı olarak netleştirilir. Adımların tamamı çalışma süreci sayfasında.

Projenizi konuşalım.

İlk görüşmede ihtiyacı, yöntemi ve kabaca takvimi birlikte çıkarırız; bağlayıcı bir şey istemeyiz.