Yazılım yaptırdığınızda kaynak kod mülkiyeti kime ait olur?
Kaynak kod mülkiyeti, sözleşmede yazılı olarak size devredilmediyse kural olarak yazılımı yazan tarafta kalır. Ödeme yapmak ve çalışan bir program teslim almak, kodun mali haklarını kendiliğinden size geçirmez; bu fark çoğu işletmenin ilk uyuşmazlıkta öğrendiği şeydir.
Türkiye'de bilgisayar programları, 5846 sayılı Fikir ve Sanat Eserleri Kanunu'nda (FSEK) ilim ve edebiyat eseri sayılır. Kanuna göre bir eserin sahibi, onu meydana getirendir (m. 8). Eser sahibinin hakları ikiye ayrılır: manevi haklar eser sahibinde kalır, mali haklar ise (çoğaltma, yayma, işleme gibi) devredilebilir. Yani "yazılım bizim" diyebilmek için iki şeyi ayırmanız gerekir: programı kullanma hakkı ve kodun mali haklarına sahip olma.
Devir için kanun şekil şartı koyar. FSEK m. 52'ye göre mali haklara dair sözleşme ve tasarrufların yazılı olması ve konusu olan hakların ayrı ayrı gösterilmesi gerekir. "Yazılımın tüm hakları müşteriye aittir" gibi tek satırlık bir ifade bu yüzden tartışma çıkarabilir. Hangi hakların, hangi süre, yer ve kapsamla devredildiğini yazmak daha güvenlidir; m. 48, hakların süre, yer ve muhteva bakımından sınırlı ya da sınırsız devredilebileceğini söyler.
Pratikte sözleşmeler iki farklı yol izler. Birincisi tam devirdir: mali haklar size geçer, tedarikçi aynı kodu başka bir müşteriye veremez. İkincisi lisanstır: kod tedarikçide kalır, siz de süresiz ve geniş bir kullanım hakkı alırsınız. Lisans genellikle daha ucuza gelir ama kodu istediğiniz gibi değiştirmenizi, satmanızı ya da başka bir ekibe vermenizi kısıtlayabilir. Hangisini seçtiğinizi sözleşmede açıkça yazın; "ne tam devir ne lisans" gibi belirsiz bir ifade en pahalı seçenektir.
Bu yazı genel bir çerçeve sunar. Somut sözleşmenizde bir hakkın devredilip devredilmediği, kullanılan ifadeye ve olaya göre değerlendirilmelidir.
Kodu kim yazdıysa sahiplik nasıl değişir?
Aşağıdaki tablo sık görülen beş durumu özetler. Her satır, sözleşmede açıkça başka bir düzenleme yapılmadığı varsayımıyla yazılmıştır.
| Kodu kim yazdı? | Genel durum | Sözleşmede ne olmalı? |
|---|---|---|
| Kendi çalışanınız | Haklar işverence kullanılır (m. 18) | İş sözleşmesinde fikri ürün maddesi |
| Yazılım firması | Devir yoksa haklar firmada kalır | Yazılı, hakları sayan devir maddesi |
| Serbest çalışan (freelancer) | Eser sahibi kendisidir | Devir sözleşmesi, ödemeye bağlı |
| Açık kaynak bileşen | Lisans şartlarını lisans belirler | Bileşen listesi ve lisanslar |
| Alt yüklenici | Firmanın devri yetmeyebilir | Zincir boyunca devir belgesi |
Çalışan satırı için FSEK m. 18 şöyle der: aralarındaki özel sözleşmeden veya işin mahiyetinden aksi anlaşılmadıkça, memur, hizmetli ve işçilerin işlerini görürken meydana getirdikleri eserler üzerindeki haklar bunları çalıştıran veya tayin edenlerce kullanılır. Maddedeki "aksi anlaşılmadıkça" kaydı nedeniyle iş sözleşmesine açık bir hüküm koymak yine de yararlıdır.
Sözleşmede mülkiyet için hangi maddeler bulunmalı?
Mülkiyet sorusunu sözleşmedeki birkaç somut madde cevaplar. Aşağıdaki listeyi taslak sözleşmenizle karşılaştırın.
- Devredilen hakların sayılması: Çoğaltma, işleme, yayma, kullanım gibi hakları tek tek yazın; FSEK m. 52 hakların ayrı ayrı gösterilmesini şart koşar.
- Süre, yer ve kapsam: "Süresiz, tüm dünyada, her türlü kullanım için" gibi açık bir ifade belirsizliği azaltır.
- Devrin zamanı: Hakların ne zaman geçeceğini yazın; örneğin son ödemenin yapıldığı ya da kabulün tamamlandığı an. Tedarikçi ödemeden önce devri kabul etmek istemeyebilir.
- Kaynak kod teslimi: Derlenmiş uygulamanın yanında kaynak kodun, derleme talimatlarının, bağımlılık listesinin ve veritabanı şemasının teslim edileceğini yazın.
- Tedarikçinin mevcut bileşenleri: Firma kendi kütüphanelerini ya da önceki projelerden kodu kullanıyorsa, bunlar için size verilen hakkın türünü (devir mi, kullanım lisansı mı) ayrıca belirtin.
- Açık kaynak ve üçüncü taraf bileşenler: Kullanılan bileşenlerin ve lisanslarının listesi sözleşme ekinde yer almalıdır.
- Alt yüklenici zinciri: Tedarikçi, işe katılan herkesten kendisine devir alındığını taahhüt etmelidir.
Kaynak kod gerçekten elinizde mi? Teslim ve erişim kontrolü
Haklar kâğıt üzerinde sizdeyse bile kodun kendisine ulaşamıyorsanız bunun pratik değeri sınırlıdır. Teslimle ilgili şunlara bakın:
- Depo sahipliği: Kod deposunu (GitHub, GitLab gibi) kendi kurumsal hesabınızda açtırın ve tedarikçiye yazma erişimi verin. Tedarikçinin hesabında tutulan bir depo, anlaşmazlıkta erişimi kesilebilen bir depodur.
- Hesaplar ve anahtarlar: Alan adı, bulut aboneliği, uygulama mağazası geliştirici hesabı, API anahtarları ve sertifikalar sizin adınıza açılmalıdır.
- Dokümantasyon: Kurulum, ortam değişkenleri ve dağıtım adımları yazılı olmalı. Başka bir ekibin yazılımı ayağa kaldırıp kaldıramayacağını teslimde deneyin.
- Kaynak kod emaneti (escrow): Tedarikçi kodu kendi elinde tutacaksa, kodun üçüncü bir tarafta saklanması ve belirli durumlarda (iflas, hizmetin kesilmesi) size açılması sözleşmeyle düzenlenebilir. Mekanizmanın nasıl işleyeceği sözleşmeye ve saklayıcının şartlarına bağlıdır.
Teslimde kaynak kodu nasıl kabul etmelisiniz?
Kaynak kodu teslim almak, bir dosyayı e-postayla göndermekten fazlasıdır. Kabul aşamasını sözleşmede bir adım olarak tanımlayın ve son ödemeyi bu adıma bağlayın. Aşağıdaki sıra pratikte işe yarar:
- Teslim edilen kodu, kendi hesabınızdaki depoya tam geçmişiyle (commit kayıtlarıyla) alın.
- Temiz bir bilgisayarda, yalnızca dokümantasyona bakarak yazılımı derleyin ve çalıştırın.
- Bileşen ve lisans listesini kodla karşılaştırın; listede olmayan bir kütüphane var mı bakın.
- Hesap, alan adı ve anahtar devirlerinin tamamlandığını teyit edin; tedarikçinin eski erişimlerini kapatın.
- Devir belgesini imzalayın ve son ödemeyi yapın.
Bu denemeyi iç ekibinizden ya da bağımsız bir yazılımcıdan yapmasını isteyebilirsiniz. Kodu kimse çalıştıramıyorsa, mülkiyet yazılı olsa bile fiilen teslim tamamlanmamıştır.
Açık kaynak bileşenler sahipliği nasıl etkiler?
Modern yazılımların büyük bölümü açık kaynak bileşenlerden oluşur. Bu bileşenlerin sahibi tedarikçi değildir; kullanım şartlarını her bileşenin lisansı belirler. Open Source Definition, bir lisansın açık kaynak sayılması için kaynak koda erişim, serbest dağıtım ve türev eserlere izin verme gibi ölçütler sıralar. Lisanslar bu ölçütleri karşılasa da şartları birbirinden farklıdır; kimi lisans, kendi koduna eklenen kodun da aynı şartlarla yayımlanmasını isteyebilir.
Bu yüzden teslimde, hangi bileşenin hangi lisansla kullanıldığını gösteren bir liste isteyin. Standart lisans kimlikleri için SPDX lisans listesi ortak bir dil sunar. Listeyi baştan almak, ileride yazılımı satmak, yatırım almak ya da kamu ihalesine girmek istediğinizde gelecek inceleme sorularına hazır olmanızı sağlar.
Örnek: 400.000 TL'lik bir projede devir eksik kalırsa ne olur?
Örneğin bir lojistik şirketi, filo takip yazılımı için bir firmayla anlaşıyor ve bedeli aşamalı öderken sözleşmede yalnızca "teslim edilen yazılım müşteriye aittir" yazıyor. Tutarlar varsayımsaldır. İki yıl sonra şirket, geliştirmeye başka bir ekiple devam etmek istiyor.
Üç sorunla karşılaşıyor. İlk olarak, hangi hakların devredildiği sayılmadığı için devrin kapsamı tartışmalı hale geliyor (FSEK m. 52). İkinci olarak, kod yalnızca tedarikçinin deposunda duruyor ve şirketin elinde derlenmiş sürüm var. Üçüncü olarak, uygulamanın bir kısmı tedarikçinin diğer müşterilerde de kullandığı ortak bir kütüphaneye dayanıyor ve sözleşmede bu kütüphane için ayrı bir lisans yazılmamış.
Aynı sözleşmede hakların sayıldığı bir devir maddesi, depo erişimi, bileşen listesi ve ortak kütüphane için süresiz kullanım lisansı olsaydı, şirket yeni ekiple ilk haftada çalışmaya başlayabilirdi. Bu maddeleri sözleşme aşamasında yazmak birkaç saatlik iştir; sonradan çözmek ise aylarca süren bir pazarlığa dönüşebilir.
Sık yapılan hatalar nelerdir?
- Sözleşmede yalnızca "yazılım müşteriye aittir" yazıp hakları ayrı ayrı saymamak.
- Kod deposunu tedarikçinin hesabında bırakmak ve yalnızca derlenmiş uygulamayı teslim almak.
- Alan adı, mağaza hesabı ve bulut aboneliğini tedarikçi adına açtırmak.
- Tedarikçinin kendi kütüphanelerini ve açık kaynak bileşenleri sözleşmede hiç anmamak.
- Freelancer ya da alt yükleniciyle çalışırken, onların tedarikçiye yaptığı devri belgelememek.
- Devri son ödemeye bağlamamak ya da son ödemeden sonra devir belgesini imzalatmayı unutmak.
Hatson Tech bu konuda nasıl yardımcı oluyor?
Hatson Tech'le ilk görüşme ve keşif ücretsizdir. Özel yazılım geliştirme projelerinde depo, hesap ve teslim konularını keşif aşamasında birlikte netleştirebiliriz. Hatson sabit fiyat yayımlamaz; kapsamı keşifte konuşuruz. Devir maddelerinin yazımı için hukuk danışmanınızla çalışmanızı öneririz; hukuk ekipleri için Hatson'un geliştirdiği Caseon ürünü de sözleşme inceleme ve durum tespiti işlerinde kullanılabilir.
Tedarikçi değerlendirmesi için yapay zekâ tedarikçisi seçimi rehberine, kendi geliştirme ile satın alma arasındaki karar için satın al mı, geliştir mi yazımıza da bakabilirsiniz.