Caliency.
Birlikte Çalışmak

Kodun Sahibi Kim? Fikri Mülkiyet ve Devir

Sahiplik bir madde değil, bir hesaptır. Madde kodun sizin olduğunu söyler; hesap, ihtiyaç duyduğunuz gün ona ulaşıp ulaşamayacağınızı belirler.

C

Caliency

11 dk okuma
Masadaki geniş ekranda koyu temalı bir depo dosya listesi; yanında defter ve kahve fincanı.

"Kod sizindir" neredeyse her ajans sözleşmesinde yazıyor ve neredeyse her zaman doğru. Aynı zamanda, ihtiyaç duyduğunuz gün kodla gerçekten bir şey yapıp yapamayacağınızı belirleyen şey neredeyse hiç bu değil.

Sahiplik bir maddedir. Erişim bir hesaptır. Madde hakları devreder; hesap, şirketinizde birinin push atıp atamayacağını, dağıtım yapıp yapamayacağını, bir anahtarı döndürüp döndüremeyeceğini ya da depoyu taşıyıp taşıyamayacağını belirler. İkisi aynı anda doğru olup sizi yine de kilitli bırakabilir; aradaki boşluk da yalnızca mümkün olan en kötü anda görünür olur.

Doğru yerde başlayın, soru ortadan kalksın

Sorunun tamamını bir varsayılan yaratıyor: ajans depoyu kendi kuruluşunda açıyor, çünkü araçları zaten orada. Ondan sonraki her şey kurtarma operasyonu.

Alternatifin başlangıçta hiçbir maliyeti yok. Depoyu kendi kuruluşunuzda açın ve ajansı katkıda bulunan olarak ekleyin. Barındırma hesabı, analitik mülkü, hata izleyici ve alan adı için de aynısı. Ajans erişim alır; hesap sizde kalır. İşin hiçbir yanı değişmez ve devir bir olay olmaktan çıkar.

Bunun mümkün olmadığı yerde — gerçekten ortak bir araç zinciri olan bir ajansta diyelim — geri çekilme planı, devir tarihini sonda değil sözleşmede kararlaştırmak. Var olan bir tarih, tutulan bir tarihtir.

Bir depo devri gerçekte neyi taşıyor

Temiz başlamak yerine kurtarma yapıyorsanız, devrin ne yaptığını bilmek işe yarıyor. GitHub'ın depo devretme dokümantasyonu ayrıntılı ve liste çoğu kişinin sandığından geniş.

Depoyla birlikte taşınanlar:

"Bir depoyu devrettiğinizde konuları, pull request'leri, wiki'si, yıldızları ve izleyicileri de devredilir."

"Katkılar dâhil commit'lere dair git bilgileri korunur."

"Devredilen depo webhook, servis, gizli anahtar ya da deploy anahtarı içeriyorsa, devir tamamlandıktan sonra ilişkili kalırlar."

"Önceki depo konumuna verilen tüm bağlantılar otomatik olarak yeni konuma yönlendirilir."

Peşinden gelmeyenler:

"Depoyla ilişkili GitHub Pages'i yönlendirmiyoruz."

Ve bir kuruluştan kişisel hesaba taşımada "deponun salt okunur katkıda bulunanları devredilmez." Konu atamaları da devrin yönüne göre temizlenebiliyor.

Bunların hiçbiri kodu bozmuyor. Hepsi birinin dayandığı bir şeyi bozuyor — bir dokümantasyon sitesi, bir gözden geçirenin erişimi, bir atama kuyruğu. Devir bir tıklama değil, bir kontrol listesi gerektiriyor.

Anlaşmazlıkta önemli olan cümle

GitHub, bir devri başlatmak için "depoda yönetici erişimi" gerektiriyor; kuruluş deposu içinse "kuruluşta sahip yetkisi ya da depolarından birinde admin yetkisi."

Bunu bir risk beyanı gibi okuyun. Şirketinizde depoda admin yetkisi olan kimse yoksa, fikri mülkiyetin kime ait olduğunu sözleşme ne kadar net yazarsa yazsın depoyu kendiniz taşıyamazsınız. Karşı taraftan, yalnızca onun yapabileceği bir işlemi yapmasını istiyor olurdunuz — üstelik onunla ilişkinizin çoktan bozulduğu bir anda.

Kilitlenmenin pratik tanımı bu ve onu bir sözleşme maddesi değil bir kurulum kararı yaratıyor.

Aynı mantık, diğer her şeye

Depolar en net vaka, tek vaka değil.

  • Alan adı. Geri alınması en zor olanı; çünkü yasal bekleme süreleri olan tek şey o. ICANN'in devir politikası, kayıt tarihinden sonraki 60 gün içinde, önceki bir devirden sonraki 60 gün içinde ve kayıt sahibi değişikliğinin ardından kayıt şirketinin devri reddetmesine izin veriyor — işlem sırasını alan adı ve DNS rehberinde yazdık.
  • Barındırma ve dağıtım. Yeniden kurulabilir; ama ortam değişkenleri kurulamaz ve genelde bir kişinin terminal geçmişinde durur.
  • Analitik. Ajansın oluşturduğu bir mülk, geçmiş verinizi de yanında götürür. Kendiniz oluşturun.
  • Üçüncü taraf hesaplar. Ödeme sağlayıcı, e-posta göndericisi, SMS ağ geçidi, hata izleyici. Her biri ya size ait olan ya da olmayan bir giriş.
  • Tasarım dosyaları. Yayındaki bir sitenin sahipliği, onu üreten kaynak dosyanın sahipliği değildir.

Gerçek bir devir neleri içerir

Devir bir zip dosyası değildir. Sözleşmeye yazılmaya değer sürümü:

  1. Depoda, barındırma hesabında ve her üçüncü taraf hesapta admin yetkisi — kuruluşunuzun adına.
  2. Alan adı kayıt sahibi olarak sizin adınıza, kayıt şirketi hesabında kendi e-postanızla.
  3. Ortam değişkenleri ve gizli anahtarlar kalıcı bir yerde belgelenmiş — sohbet mesajında değil, yalnızca bir dağıtım platformunun arayüzünde de değil.
  4. Yeni bir geliştiriciyi yerelde çalıştıran bir README, projede hiç çalışmamış biri tarafından test edilmiş.
  5. Yazılı dağıtım adımları, geri alma dâhil.
  6. Bitiş tarihi belirtilmiş bir destek süresi, soruların hâlâ yanıtlandığı.

Bu liste sözleşmede yoksa, ayrılan kişi tarafından zaman baskısı altında derlenir — motivasyon ve son tarihin mümkün olan en kötü birleşimi.

Nerede hayır diyoruz

Müşteri deposu, alan adı ya da hesabı tutmuyoruz. İhtiyacımız olana erişim istiyor, ürettiğimizi geri veriyoruz — şartlar sonda yapılan bir iyilik değil, sözleşme görüşmesinin parçası. Sınır ötesi evrakın geri kalanı ABD'li bir ajansla çalışmak yazısında.

Devri ayrı faturalanacak bir kilometre taşı saymıyoruz. Müşteri yaptığımız şeyi çalıştıramıyorsa iş bitmemiştir; eksik yarıya hizmet demek de iki kez ücret almanın bir yolu.

Ve müşterinin sahip olamayacağı araçlar üzerine inşa etmiyoruz. Bir siteyi sürdürmenin tek yolu bizim adımıza bir lisanssa, web sitesi değil bağımlılık satmışız demektir — müşterinin alan adını yönetmeye dair itirazımızın aynısı.

Mevcut projenizde beş dakikalık kontrol

  1. Depoyu açın. Kimin kuruluşunda ve şirketinizde admin yetkisi olan var mı?
  2. Alan adınızın kayıt sahibine bakın. Kayıt şirketine değil — kayıt sahibine.
  3. Ortam değişkenlerinin nerede belgelendiğini sorun. Cevap bir kişiyse, risk odur. Aynı risk freelancerla ya da tek bir kadrolu geliştiriciyle çalışırken de geçerli; üç modeli ajans mı, freelancer mı, kendi ekibiniz mi yazısında karşılaştırdık. Bu kişi bağımlılığının küçük yazılım firmalarında neden yaygın olduğunu yazılım şirketi nasıl seçilir yazısında açtık.
  4. README'yi temiz bir makinede deneyin. Ya da birinden deneyip süresini tutmasını isteyin.
  5. Analitik mülkünün sahibini kontrol edin. Hesap taşınmıyorsa geçmiş veri de taşınmaz.

Bunların proje bittiğinde keşfedilmesi yerine başlamadan önce yazılı yanıtlanmasını tercih ederseniz, devir şartlarını baştan isteyin — iki durumda da aynılar, mesele de bu. Bu şartların çalışma biçimimizin geri kalanıyla nasıl birleştiğini Caliency nedir yazısı anlatıyor.

Bir fikriniz mi var?

Kısa bir görüşmede kapsamlandırıp sabit fiyat verelim.

Proje başlat →