Yazılım Projelerinde Kaynak Kod Neden Önemli?
Bir işletme olarak yazılım sistemi satın aldığınızda, sadece çalışan bir ürün almıyorsunuz—aynı zamanda o projenin geleceğini de belirliyorsunuz. Kaynak kod, yazılımın "resepte" benzeyen, içindeki tüm işlemleri açıklayan dosyalardan oluşur. Eğer kaynak kodun elinizde yoksa, yazılım geliştirici şirketi kapandığında, başka bir mühendise sorun çözmesi istediğinizde veya sistemi geliştirmek istediğinizde tamamen o şirketin iyisine kalırsınız.
25 yıllık yazılım geliştirme kariyerimde, işletme sahiplerinin "Kod teslim edilmemesi" sorunu nedeniyle hukuki ve teknik çıkmaza girdiğini birçok kez gördüm. Bu durumun ne gibi sonuçları olabileceğini ve haklarınızı nasıl koruyabileceğinizi açıklamak istiyorum.
Kaynak Kod Teslim Edilmemesinin Yasal Sonuçları
Sözleşme Hukuku Açısından Durum
Türk Borçlar Kanunu'na göre, yazılım geliştirme sözleşmesi bir "eser sözleşmesi" olarak kabul edilir. Bu demektir ki, sipariş eden (siz) ve sipariş yapan (yazılım şirketi) arasında, eserin tamamlanması ve teslimi hakkında net bir anlaşma bulunmalıdır. Eğer sözleşmede "kaynak kod teslim edilecek" diye açık bir madde yoksa, hukuki açıdan zayıf durumdasınız.
Ancak—sözleşme ne derse desin—yazılım projesi ücretini tamamen ödediyseniz, o projeyi kullanıyor ve projedeki hatayı düzeltmesi gerekiyorsa, bu yazılımı sağlayan kişi veya şirkete karşı bazı haklar sahibisiniz:
- Ürün sorumluluğu talebi: Yazılım hatalıysa veya beklenen işlevleri yapmıyorsa, düzeltilmesini talep edebilirsiniz.
- Sözleşmenin feshi: Yazılım şirketi uzun süredir müdahale etmiyorsa veya hizmet vermiyorsa, sözleşmeyi feshetme hakkınız vardır.
- Tazminat talebi: Yazılımın olmaması veya işlememesi nedeniyle uğradığınız maddi zararı talep edebilirsiniz.
Kod Kilit Sistemi ve Ticari Hapis
Bazı yazılım şirketleri, müşterilerinin sisteme erişimini "kilit" sistemiyle kontrol ederler. Yani sunucular onların kontrolündedir ve isterse sistemi kapı kapı. Eğer ödeme yapamıyor veya anlaşmaya uyamıyorsanız, sistemi askıya alabilirler. Bu, ticari "rehin" anlamına gelir ve Alanya, Antalya gibi bölgelerde birçok işletmenin başına gelmiş bir sorundu.
Yazılımın kaynak kodun elinizde olması, bu riski büyük ölçüde azaltır. Çünkü başka bir mühendis, o kodu başka bir sunucuya taşıyıp çalıştırabilir.
Kaynak Kod Hakınız Nasıl Korunur?
Sözleşmenin Doğru Yazılması
Yazılım projesi başlamadan önce, sözleşmede aşağıdaki maddeler kesin olarak yer almalıdır:
- "Tüm kaynak kod, tasarımlar ve veri tabanı yapıları projesinin sonunda müşteriye teslim edilecektir."
- "Teslim edilen kod, açık, anlaşılır ve belgelenmiş olacaktır."
- "Müşterinin, teslim alınan kodu herhangi bir amaçla kullanma, değiştirme veya başka birine verme hakkı vardır."
- "Yazılım şirketi iflas etse veya hizmet vermez hale gelse, kod otomatik olarak müşteriye aittir."
Sözleşme hazırlarken, hukuki destek almakta sakınca görmemelisiniz. Başlangıçta birkaç saat hukuk müşaviri ile görüşmek, sonradan uyuşmazlık çıkmasından çok daha ekonomik ve pratiktir.
Versiyon Kontrol Sistemi ile Takip
Profesyonel yazılım geliştiriciler, projeleri "versiyon kontrol sistemi" (GitHub, GitLab gibi) kullanarak takip ederler. Bu sistemler, kodun her değişikliğini kaydeder ve erişim haklarını yönetir. Sözleşmede, proje boyunca kodun bu sistemde tutulacağı ve projeyi ödediğiniz an sizin de erişim hakkınız olacağı belirtilmelidir.
Alanya Bilişim Hizmetleri'nde yer alan projelerinde, bu standart uygulandığından müşteriler her zaman kodun nereye gittiğini bilirler.
Yazılımın Depoya Yatırılması
Kod teslim edildikten sonra, siz veya başka bir yazılımcı tarafından güvenli bir depo sunucusunda (cloud storage, kendi sunucunuz) saklanmalıdır. Bu, yazılım şirketi kapansa bile sistemi korur.
Kaynak Kod Verilmeyen Yazılımdan Kurtulma Yolları
Uzlaştırma ve Arabuluculuk
Eğer halen bir yazılım şirketiyle çalışıyorsanız ve kod istediğiniz halde verilmiyorsa, ilk adım yazılı olarak talebinizi tekrar bildirmektir. E-mail veya mektupla, belirli bir tarih vererek ("30 gün içinde") teslimi talep edin. Bu, hukuki süreçte kanıt görevi yapacaktır.
Karşı taraf "ticari sır" veya "başka müşteri verileri var" gibi bahaneler öne sürerse, bu kısımları redakte etmesini veya ayrıştırmasını talep edin. Yasal bir neden olmadıkça, kodu tutma hakkı yoktur.
Hukuki Başvuru
Yazılı talepler sonuç vermezse, Alanya/Antalya'da bir hukuk müşaviriyle istişare edin. Yazılım şirketine yapılan ihtar mektubu, çoğu zaman sonuç verir. Mübaşir vasıtasıyla tescil ettirilen ihtar, davada ispat aracı haline gelir.
Yazılımın Yeniden Yazılması
Eğer yazılım şirketi ile iletişim kesildi veya kapandıysa, başka bir yazılımcı (ben de dâhil) aynı sistemin benzersini yazabilir. Bu daha pahalı olabilir, ama en azından sisteminiz çalışmaya devam eder. Ek olarak, Alanya'da küçük işletmeler için dijital yatırım sırası konusunda düşünüldüğünde, baştan doğru sözleşme yapmanın maliyeti çok daha azdır.
Sonuç: Kaynak Kod Haklarınızı Baştan Güvenceye Alın
Yazılım satın aldığınızda, "o sistemi ben yönetiyorum" anlayışında olan şirketlerden uzak durun. Profesyonel yazılım geliştirici, kodunuzun sizin olduğunu bilir ve bu konuda açıktır. Sözleşmenize kaynak kod teslimatı hakkını kesin olarak yazın, proje boyunca kodun nereye gittiğini takip edin ve proje bittiğinde tam, belgelenmiş bir teslim alın.
Yazılım, işletmenizin kalbidir. O kalbin kontrolünü başkasının elinde tutmayın. Baştan sağlam bir temel atmak, ileriye dönük özgürlüğü garantiler.
Yazılım satın alma veya proje süreci hakkında sorularınız varsa, Instagram sayfamızdan veya ana siteden iletişime geçebilirsiniz. Proje başlamadan sözleşme incelemesi konusunda da danışmanlık veririm.
Projeni konuşalım
Fikrini yaz, birkaç saat içinde dönüş yapayım.