
Yazılım yaptıran işletmelerin çoğu sözleşmede iki şeye bakar: fiyat ve teslim tarihi. Kaynak kodun kimde kalacağı ise genellikle ancak bir sorun çıktığında, yani en pahalı anda gündeme gelir.
Bu yazı hukuki danışmanlık değildir; imzalayacağınız metni bir hukukçuya okutmanız gerekir. Burada bulacağınız şey, o metinde nelerin yazıp yazmadığını kendi gözünüzle kontrol edebilmeniz için bir çerçevedir.
Kaynak kod nedir ve neden önemlidir?
Kaynak kod, yazılımın insan tarafından okunup değiştirilebilen hâlidir; yazılımı geliştirmek ya da düzeltmek için gereken şey budur. Size teslim edilen çalışan program ile onun kaynağı aynı şey değildir: programı kullanabilirsiniz, ama kaynağı olmadan değiştiremezsiniz.
Önemi şuradan gelir: yazılım bir kez yazılıp bırakılan bir ürün değildir. İşiniz değiştikçe yeni ekran, yeni rapor, yeni entegrasyon istenir. Kod kimdeyse, bu değişiklikleri kimin yapabileceğine o karar verir.
Parasını ödemek kodu sizin yapar mı?
Kendiliğinden yapmayabilir; bunu sözleşme belirler. Yaygın yanılgı, bedeli ödenen yazılımın tüm haklarıyla birlikte alıcıya geçtiğini varsaymaktır. Oysa bir yazılımı kullanma hakkı ile o yazılımın üzerindeki haklara sahip olmak ayrı şeylerdir.
Türkiye’de bilgisayar programları 5846 sayılı Fikir ve Sanat Eserleri Kanunu kapsamında korunur ve hakların nasıl devredileceğini bu kanun düzenler. Madde ayrıntısı ve sizin durumunuza nasıl uygulanacağı için güncel metne ve bir hukukçuya başvurun. İşletme sahibi olarak bilmeniz gereken pratik sonuç şudur: devir isteniyorsa sözleşmede açıkça yazmalıdır.
Lisans mı, devir mi: fark nedir?
Lisansta yazılım geliştiricide kalır ve siz kullanırsınız; devirde haklar size geçer. İki model de meşrudur ve ikisinin de mantıklı olduğu durumlar vardır.
| Lisans | Devir | |
|---|---|---|
| Yazılım kimin | Geliştiricinin | Sizin |
| Ödeme biçimi | Çoğunlukla aylık ya da yıllık | Çoğunlukla proje bedeli |
| Kullanıcı sınırı | Olabilir | Olmaz |
| Başka ekibe geliştirtme | Genellikle mümkün değil | Mümkün |
| Firma kapanırsa | Yazılımın geleceği belirsiz | Kod sizde, devam edebilirsiniz |
Hazır programlar neredeyse her zaman lisansla satılır; bu normaldir, çünkü aynı ürün binlerce işletmeye sunulur. Firmanıza özel yazdırdığınız bir yazılımda ise hangi modelin uygulandığını açıkça sormalısınız. Hazır ve özel yazılım arasındaki seçimi özel yazılım nedir yazısında ele aldık.
Sözleşmede hangi yedi madde bulunmalı?
Aşağıdaki yedi başlığın her biri sözleşmede bir cümleyle bile olsa karşılık bulmalıdır.
- Hakların durumu. Yazılım devrediliyor mu, lisanslanıyor mu? Devrediliyorsa neyin devredildiği açıkça yazılmalı.
- Teslim edilecekler. Kaynak kod, veritabanı yapısı ve dökümü, kurulum notu, erişim bilgileri. “Yazılım teslim edilir” ifadesi yeterli değildir.
- Teslim zamanı ve biçimi. Kod hangi depoda duracak, erişiminiz ne zaman başlayacak, ödeme aşamalarına nasıl bağlanacak?
- Veri sahipliği. Yazılıma girilen müşteri, stok ve satış verisi sizindir; bunun yazılı olması ve istediğinizde dışa aktarılabilmesi gerekir.
- Hesaplar. Alan adı, sunucu, e-posta ve üçüncü taraf servisler kimin adına açılacak?
- Üçüncü taraf bileşenler. Kullanılan hazır kütüphane ve servislerin listesi, lisanslarının ticari kullanıma uygunluğu.
- Ayrılık hâli. Sözleşme sona erdiğinde ya da taraflardan biri ayrılmak istediğinde ne, ne kadar sürede teslim edilir?
Bu yedi maddenin yazılı olması, karşı tarafa güvenmediğiniz anlamına gelmez; iki tarafın da aynı şeyi anladığını gösterir. Maddeleri görüşmede açıkça konuşmak, sözleşme taslağını beklemekten iyidir: bir firmanın bu sorulara verdiği ilk tepki, çoğu zaman taslağın kendisinden daha öğreticidir.
Kod teslim edilmezse hangi sorunlar çıkar?
Kod sizde değilse yazılımın geleceği hakkındaki her karar başkasına aittir. Bu, işler yolunda giderken fark edilmez; üç durumda ise aniden görünür olur.
Fiyat değiştiğinde. Bakım ya da lisans bedeli artırıldığında pazarlık gücünüz yoktur, çünkü alternatifiniz yazılımı baştan yazdırmaktır.
Firma ulaşılamaz olduğunda. Geliştirici işi bırakır, kapanır ya da sizin projenize zaman ayıramaz hâle gelirse, küçük bir hata bile düzeltilemez. Çalışan bir yazılım, değiştirilemediği gün eskimeye başlar.
İşiniz değiştiğinde. Yeni bir şube, yeni bir ürün grubu ya da yeni bir yasal zorunluluk yazılımda değişiklik ister. Kod sizde değilse bu değişikliğin yapılıp yapılmayacağına ve ne zaman yapılacağına siz karar veremezsiniz.
Bunların hiçbiri kötü niyet gerektirmez; iyi niyetli bir firma da kapanabilir ya da büyüyüp küçük müşterilerine zaman ayıramaz hâle gelebilir. Sözleşme, iyi günde değil kötü günde okunmak için yazılır.
Bakım anlaşması devirden ayrı mı yazılmalı?
Evet; yazılımın sahibi olmak ile ona bakım yaptırmak ayrı konulardır ve ayrı yazılmaları iki tarafı da rahatlatır. Kod size devredilmiş olsa bile sunucunun izlenmesi, yedeklerin alınması, hataların düzeltilmesi ve küçük geliştirmeler için birinin sorumlu olması gerekir.
Bakım maddesinde şunlara bakın:
- Hangi işler bakıma dahil, hangileri ayrı ücretlendirilir?
- Bir hata bildirildiğinde ne kadar sürede dönüş yapılır?
- Yedek ne sıklıkla alınır ve geri yükleme denenmiş midir?
- Bakım anlaşması bittiğinde yazılım çalışmaya devam eder mi?
Son soru önemlidir: bakımı durdurduğunuzda yazılımın kapanması, devir değil kiralama anlamına gelir.
Kod kadar önemli olan: veri ve hesaplar kimde?
Uygulamada en çok sorun koddan değil, hesaplardan çıkar. Kod sizde olsa bile alan adı geliştiricinin hesabında kayıtlıysa, sunucu onun kartıyla ödeniyorsa ya da SMS ve ödeme servislerinin anahtarları ondaysa bağımsız değilsiniz.
Şunların sizin adınıza ve sizin e-postanızla açıldığından emin olun:
- Alan adı kaydı.
- Sunucu ya da bulut hesabı.
- Kod deposu.
- E-posta, SMS, ödeme ve harita gibi üçüncü taraf servis hesapları.
- Uygulama mağazası hesapları (mobil uygulama varsa).
Geliştirici bu hesaplara yetkili kullanıcı olarak eklenir; sahibi siz olursunuz. Aynı ilke web siteleri için de geçerlidir.
Pratik bir öneri: bu hesapların listesini, hangi e-posta adresiyle açıldıklarını ve yenileme tarihlerini tek bir belgede tutun. Şifreleri değil, hesabın varlığını ve sahibini yazın. İşletmede bu belgeyi bilen en az iki kişi olsun; tek kişinin bildiği hesap, o kişi ayrıldığında kaybolur.
Hazır bileşenler ve açık kaynak kütüphaneler ne olacak?
Size devredilen şey, sizin için yazılan koddur; kullanılan hazır bileşenler kendi lisanslarıyla kalır. Bu bir eksiklik değil, yazılım geliştirmenin olağan hâlidir.
Dikkat edilecek iki nokta var:
- Geliştiricinin birden fazla müşteride kullandığı kendi hazır altyapısı varsa, bunun size hangi koşulla verildiği yazılmalıdır.
- Ücretli bir üçüncü taraf servise bağımlılık varsa, o servisin maliyeti ve hesabın kimde olduğu baştan konuşulmalıdır.
Ayrılmak isterseniz teslim nasıl olur?
Sağlıklı bir ayrılıkta dört şey el değiştirir: kodun güncel hâli, veritabanının tam dökümü, tüm erişim bilgileri ve sistemin nasıl kurulduğunu anlatan kısa bir not. Bunların bir teslim tutanağıyla, tarih atılarak verilmesi iki tarafı da korur.
Bir firmayla çalışmaya başlamadan önce bu soruyu sormak garip gelebilir, ama cevabın rahatlığı çok şey söyler. Firma seçerken sorulacak diğer soruları yazılım şirketi nasıl seçilir yazısında topladık.
Biz geliştirdiğimiz iş yazılımlarında kaynak kodu ve veritabanını müşterinin adına bırakıyoruz; kullanıcı sayısına bağlı tekrar eden bir lisans kalemimiz yok. Yaklaşımın ayrıntısı iş yazılımları sayfasında.
Sözleşme imzalamadan önce kontrol listesi
- Sözleşmede “devir” mi “lisans” mı yazdığını biliyorum.
- Teslim edilecekler tek tek sayılmış: kod, veritabanı, erişimler, kurulum notu.
- Kodun duracağı depoya baştan erişimim olacak.
- Alan adı, sunucu ve servis hesapları benim adıma açılacak.
- Verimi istediğim zaman dışa aktarabileceğim yazıyor.
- Üçüncü taraf bileşenler listelenmiş.
- Ayrılık hâlinde teslim süresi belirtilmiş.
- Metni bir hukukçuya okuttum.