Yazılım lisansı ile mülkiyet arasındaki fark nedir?
Birçok sözleşmede “kullanım hakkı süresiz olarak müşteriye verilir” yazar. Bu mülkiyet değil, lisanstır. Yazılımı kullanabilirsiniz ama değiştiremez, başka bir tedarikçiye geliştirtemez ve çoğu zaman başka bir sunucuya taşıyamazsınız.
Fark, ilişki sürerken görünmez. Tedarikçi fiyat artırdığında, yavaşladığında ya da faaliyetini durdurduğunda ortaya çıkar. O noktada elinizde çalışan bir yazılım vardır ve onunla hiçbir şey yapamazsınız.
Özel olarak geliştirilmiş ve bedeli ödenmiş bir iş yazılımında doğal olan mülkiyettir. Hazır bir ürünün lisanslanması ayrı bir iştir ve ayrı fiyatlanır; ikisinin aynı sözleşmede birbirine karıştırılması alıcının aleyhinedir.
Yazılım devri neleri kapsamalı?
Kaynak kodun size ait olması tek başına yetmez. Kodu alan yeni bir ekip onu kurup çalıştıramıyorsa sahiplik işlevsizdir.
Devredilebilir bir teslim şunları içerir:
- Kaynak kodun tamamı ve sürüm geçmişi
- Sıfırdan kurulum belgesi ve ortam değişkenleri listesi
- Veritabanı şeması, göç (migration) dosyaları ve örnek veri
- Altyapı, alan adı, sertifika ve üçüncü taraf hesaplarının sahipliği
- Yedekleme düzeni ve geri dönüş prosedürü
- Mimari kararların ve bilinen teknik borcun yazılı kaydı
Bu listenin sınavı basittir: sizin ekibiniz ya da başka bir tedarikçi, bizim yardımımız olmadan sistemi sıfırdan ayağa kaldırabiliyor mu? Cevap hayırsa devir tamamlanmamıştır.
Üçüncü taraf bileşenler ve açık kaynak lisansları
Her sistemde başkalarına ait bileşenler bulunur: açık kaynak kütüphaneler, ödeme altyapısı, harita servisi, model sağlayıcısı. Bunların size ait olması beklenmez.
Beklenmesi gereken şey şeffaflıktır: hangi bileşen kullanıldı, hangi lisansla, ticari kullanımda bir kısıt var mı ve o bileşen kaybolursa yerine ne konur. Bu envanterin teslim belgelerinde bulunması gerekir.
Kaynak kod emaneti (escrow) ne zaman gerekir?
Kaynak kodun müşteriye devredilmediği kurgularda, kodun tarafsız bir üçüncü tarafta emanette tutulması ve tedarikçi faaliyetini durdurursa müşteriye açılması düzenlenir.
Emanet bir çözümdür ama ikinci en iyisidir: koruma sağlar, devredilebilirliği sağlamaz. Emanetteki kod da kurulum belgesi olmadan çoğu zaman çalıştırılamaz. Mülkiyetin doğrudan alınabildiği durumlarda emanete gerek kalmaz.
Yazılım sözleşmesinde kaynak kod maddesi nasıl yazılır?
Şu maddelerin açıkça yazılı olması gerekir: kaynak kodun mülkiyeti kime ait, ne zaman devredilir, devir kapsamında hangi belgeler var, altyapı hesapları kimin adına açılır, sözleşme sona erdiğinde devir hangi sürede tamamlanır.
Bir madde daha önemlidir ve sıklıkla atlanır: devir, ilişkinin kötü bittiği senaryoda da geçerli midir? İyi ayrılıkta herkes yardımcı olur; sözleşme kötü ayrılık için yazılır.
Kurduğumuz sistemlerde kaynak kod müşteriye ait olur ve sistem müşterinin kendi sunucusunda çalışır. Bunu cömertlik olarak değil, alıcının pazarlık gücünü koruyan bir düzen olarak görüyoruz: bizimle çalışmaya devam etmeniz, mecburiyetten değil tercihen olmalıdır.