Bilindiği üzere bilgi teknolojileri dünyasının belkemiği olarak bahsedebileceğimiz süreçlerden biri de yazılım süreçleridir. Bir yazılımın baştan sona ele alındığı, değerlendirildiği ve uygulandığı bu süreçler özellikle hukukçuların genel olarak yabancı kaldıkları konuların başında olması kuvvetle muhtemel. Peki bu süreçlerde özellikle yazılım geliştirme aşamasında olan tarafların hangi sözleşmelere ihtiyaç duyabileceğini düşündünüz mü hiç?
Yazılım süreçleri çoğu zaman kompleks yapılarda ilerler. Bu sürecin kendine has özellikleri sayesinde bu sürece özgülenen sözleşmelerin de yapısını farklılaştırılıyor.
Yapılan bu sözleşmeler çoğu zaman yazılım süreçlerinin doğası gereği yazılımları korumaya yönelik olması dışında, yazılım hizmeti satın alan kullanıcıların da haklarını korumaya yönelik düzenlenebilir.
Bu sözleşmeleri şu şekilde inceleyebiliriz.
Yazılım geliştirme sözleşmelerinde öncelikli olarak geliştiricilerin ve müşterilerin hak ve yükümlülüklerini detaylı bir şekilde açıklanması gerekir. Keza sözleşmeye konu olan yazılımın geliştirme aşamalarının ve fazların detaylı şekilde açıklanarak bu aşamaların sonucunda özellikle müşterilerin nasıl bir denetim, kabul yetkisine haiz olacağı belirtilmelidir.
Ardından yine yazılım geliştirme sürecinin doğası gereği yapılacak işlemlerin, çıktıların detaylı şekilde belirtilmesi gerekir. Örneğin yazılım hangi platform için geliştiriliyor, hangi cihazlar için özelleştiriliyor gibi soruların cevapları verilmelidir. Bunun dışında bu fazların ardından müşteri tarafının yapacağı kabul testlerinin hangi koşullar altında yapılacağının da belirlenmesi gerekir.
Bir yazılım geliştirme sözleşmesinin en önemli maddelerinden biri de belki müşterinin revizyon taleplerini düzenlemek olabilir. Bu düzenlemeye göre geliştirici yapılacak değişikliklere yönelik ek süreyi ve ek ücreti sözleşmeye eklemeli. Bu sayede özellikle geliştirici tarafındakiler, müşteriler nezdinde sözleşmeyi değiştirebilecek revizyonlar karşısında daha sağlıklı hareket edebilir.
Yazılım geliştirme sözleşmelerine konu olan yazılımlara ilişkin, garanti verilmesi durumunda yahut bu konuyla alakalı diğer düzenlemelerin de sözleşmeye eklenmesi tarafların yararına olur.
Bunun dışından geliştirilen yazılım ile alakalı fikri mülkiyet haklarının da dikkatlice ele alınması gerekir. Özellikle yazılım süreçlerinde kullanılan kodlamalar, şablonlar ile ilgili haklara dikkat edilmesi gerekir.
Eğer yazılım geliştirme sözleşmeleri çok uluslu taraflar arasında yapılıyorsa, yargı yetkisi alanında uluslararası tahkim uygulamalarını da göz önünde bulundurmak gerekir.
Son olarak ödeme planıyla alakalı sözleşmeye özellikle geliştirme fazlarını ve kabul testleri göz önünde alınarak bir plan geliştirilebilir. Bu şekilde geliştirici, ödeme konusunda daha güçlü şekilde hareket edebilir.
Yazılım bakım ve güncelleme sözleşmeleri, geliştirilen ve hizmete sunulmuş sözleşmeler hakkında taahhüt edilen bakım ve güncelleme hizmetlerine yönelik yapılan sözleşmelerdir.
Bu sözleşmelerde dikkat edilmesi gereken en önemli hususlardan biri yapılacak bakım yahut güncellemenin içeriğini belirlemek, bunun yazılım tarafında oluşturabilecek belirli birtakım sonuçlarını öngörmek gerekir. Bakım ve güncellemenin kapsamı dışında sorumsuzluk kaydı da keza bu sözleşmelerde dikkat edilmesi gereken hususlardandır. Bu konu hizmet veren taraf ile müşteri arasındaki ilişkiye göre aktarılması gerekir. Yazılım bakım ve güncelleme sözleşmeleri, geliştirilen ve kullanıma hazır hale getirilen yazılımların müşteri nezdinden ömrünün uzunluğunu sağlamak ve geliştirici marka değerini korumak için kullanılabilir.
Yazılım danışmanlık sözleşmeleri, mevcut koşullarda kullanımı zor yahut özel bilgi isteyen yazılımlara yönelik müşterilere sağlanabilecek danışma hizmetlerini düzenler. Bu sözleşmelerde danışmanlığın kapsama alanının iyice belirlenmesi gerekir. Keza danışmanlık hizmeti, yukarıda da bahsedilen yazılım bakım ve güncelleme hizmetleriyle çok kolay şekilde iç içe geçebilir.
Hizmet seviyesi sözleşmeleri ya da Service Legal Agreement (SLA) olarak anılan sözleşmeler, bir hizmetin sağlanacağı ve sağlayacağı şartları düzenleyen sözleşmelerdir. Bu sözleşmeler, bahsedilen hizmet düzeylerinin sağlanamadığı takdirde kullanılabilecek yolları düzenler. Bu sözleşmeler bir servis sağlayıcı ve müşteri arasında bir taahhüttür. Bu sözleşmelerde genel olarak şu tanımlar yer alır;
SLA; bir ağın yönetimini, izlenmesini ve bakımını net bir şekilde açıklayan önemli bir belgedir. Genel olarak bu hizmeti sunan servis sağlayıcıları, kullanıcılara belirli seviyelerde paketler sunarak anlaşmaları özelleştirmektedirler.
Yazılım geliştirme, bakım, güncelleme, hizmet gibi tüm bu süreçler her ne kadar oldukça teknik bilgi gerektiriyor olsa da tarafların hak ve yükümlülüklerinin korunması anlamında yukarıda anılan sözleşmeler hayati derecede öneme sahip olabilir. Yapılan bu sözleşmeler sayesinde süreç içerisinde yaşanabilecek her türlü aksaklığa karşı hazırlanılmış olur. Yazılımlar sayesinde hayatımızın büyük bir bölümünü oldukça rahat geçiriyor olsak da süreçlerin güvenliğini ve sektörün de gelişim halini devam ettirebilmesi açısından anılan sözleşmelere mutlaka dikkat edilmeli.