Yazılım Sözleşmesi, tarafların aralarında karşılıklı olarak anlaşmaya vararak, eğer varsa sözleşme kapsamında hazırlanan şartnameye göre yazılımın oluşturulmasını, testlerin yapılmasını, teslimini, gerekli eğitimleri ve tüm süreçleri kapsamaktadır.

Günümüz dünyasında yazılım çözümleri hemen hemen her sektörde farklı ölçeklerde kullanılmaktadır. Sektörün bu denli gelişmiş olması da bu konuyla alakalı hizmet alanların ve hizmet verenlerin geniş kitleler olması sonucunu doğurmaktadır. Ülkemiz açısından düşünüldüğünde özellikle doksanlı yılların sonundan itibaren yazılım endüstrisi giderek artmaktadır. Yazılım endüstrisi incelendiğinde de bireysel ve kurumsal ölçekte ciddi anlamda istihdam sağlamaktadır. Ancak ilk yıllarda çok da fazla gündem olmayan, belki de çok teknik bir alan olması sebebiyle hukuk dünyasında da fazla bir karşılık bulmayan sorunların çözümünde yetersiz kalınmaktaydı. Ancak bir taraftan özellikle kurumsal yazılımlarının maliyetlerinin artması, karşılığında sunulan çözümlerin ifası tartışılır olmuştur. Bu durumda da ortaya çıkabilecek anlaşmazlıkların azaltılması adına işin ifası için yapılan sözleşmelerin önemi de giderek artmıştır. Yazılım Sözleşmelerini incelemeye başlamadan önce sözleşme tanımına yer vermek gerekmektedir. Sözleşme dendiği zaman belirli bir hukuki ilişkiyi kurmak adına, aynı zamanda da değiştirmeye sonrasında da sona erdirmeye yönelik olacak şekilde sözleşme taraflarının karşılıklı olarak ve birbirlerine uygun anlamda irade açıklamalarına denmektedir. Türk Borçlar Kanunu 1. Maddesinde de açıklandığı üzere, sözleşmenin oluşabilmesi için tarafların karşılıklı olacak şekilde, birbirine uygun irade açıklamalarında bulunmaları gerekmektedir. Dolayısıyla sözleşmenin kurulabilmesi için öneri-kabul sürecinin başarıyla tamamlanması gerekmektedir. Burada Kabul açıkça söylenebileceği gibi, kabul anlamına gelen fiiller veya örtülü bir şekilde de olabilir.

Tüm bunları ortak bir zeminde buluşturduğumuz zaman, Literatürde Bilgisayar İmal Sözleşmesi olarak da geçen Yazılım Sözleşmesi, tarafların aralarında karşılıklı olarak anlaşmaya vararak, eğer hazırlanmışsa sözleşme kapsamında hazırlanan şartname kapsamında belli bir yazılımın oluşturulmasını, gerekli testlerin yapılmasını, teslimini, gerekli eğitimlerin verilmesini, dokümanların paylaşılmasını, bakımını vs. yapılan tüm çalışmaları kapsamaktadır. Bir başka anlamda da sözleşme tarafının karşı taraftan belli bir yazılım çözümünün üretilmesini sağlayan tüm süreçleri kapsamaktadır.

Yazılım süreçleri yapısı itibariyle sayılamayacak şekilde parametreleri olan karmaşık bir süreçtir. Bu anlamda düşünüldüğünde iş sahibinin sözleşme için getirdiği teklif, öneri yazılım sürecinin sona ermesine kadar ki gereksinimleri kapsayamayacaktır. Ayrıca yazılım geliştirme süreçleri çoğu zaman iş sahibi ve yazılım ekibinin birlikte çalışmasını gerektiren süreçlerdir. Dolayısıyla da Yazılım Sözleşmesinin kurulmasından sonra ayrıntılarıyla düzenlenmiş bir şartnameye ihtiyaç bulunmaktadır. Şartname sözleşme kurulduktan sonrada hazırlanabilir. Veya şartname kapsamında da sözleşme kurulabilir.

Türk Borçlar Kanunu’nda da belirtildiği üzere sözleşmelerde varolan şekil serbestisi, şartnameler içinde geçerlidir. Ancak yazılım süreçleri dinamik bir yapıya sahiptir. Değişkenlik gösterdiği gibi, yazılımın bitmesi halinde de iş sahibi kendine sunulan yazılımın gerekli çözümleri sunmadığını da iddia edebilir. Veya sözleşme kurulurken işin tanımına karşılık belirlenen ücret olmasına rağmen, iş süreçlerinin dürüstlük kurallarını aşacak şekilde makul olmayacak biçimde büyümesi durumunda ek ücret durumu ortaya çıkabilir. Veya yazılım geliştirme aşamalarında kullanılan yazılım dili, desteklenen platformlar, üçüncü parti yazılımların güvenilirliği, uluslararası yazılım standartlarının karşılanamaması gibi birçok sorun ortaya çıkabilir. Dolayısıyla sözleşmenin ifası sırasında karşılaşabilecek sorunlar için şartnamenin yazılı olarak hazırlanması ispat açısından son derece önemlidir.

Yazılım sözleşmesi veya literatürdeki adıyla Bilgisayar Programı İmal Sözleşmesi, iki tarafa borç yükleyen karşılıklı sözleşmedir. Bu sözleşmede yazılımı yerine getirecek tarafın asli yükümlülüğü iş sahibinin istek ve talimatları kapsamında aynı zamanda da sözleşme (şartname) dahilinde istenen özelliklerde işi tamamlamak ve iş sahibinin kullanabileceği şekilde teslim etmektir. Bu kapsamda teslim etmenin ayrıntısı olarak, yazılımın çalışıyor olması için elektronik olarak veya donanımsal olarak teslim gerçekleşebilir.

Yazılım Sözleşmesi ayrıntıları olan, her yazılım için farklı değerlendirmeler gerektiren karmaşık süreçlerdir. Bu kapsamda sonraki yazılarımızı da takip etmenizi öneririz.

* Gökhan ŞAHAN, Bilgisayar Programı İmal Sözleşmesi Kitabından Faydalanılmıştır.