Eski bir BT mühendisi avukatı, sözleşme kontrolü ile hata ayıklama arasındaki benzerlikleri açıklıyor
Sözde “şirketin danışman avukatı”nın görevlerinin merkezinde, şirketin her gün müşterileri ve iş ortakları gibi taraflarla imzaladığı sözleşmelerin kontrolü ve düzeltmeleri yer alır. Ve bu tür kontroller ve düzeltmeler, kaçınılmaz olarak, “hukuk ve ilgili iş alanında bilgili kişiler” olmadan tam olarak gerçekleştirilemez. Neden böyle olduğunu açıklıyoruz.
Ancak, aşağıdaki açıklamaların, mühendisler veya programlama deneyimi olan kişiler olmadan anlaşılması zor olabilir. Monolith Hukuk Bürosu, eski bir IT mühendisi ve şirket yöneticisi olan bir avukatın temsil ettiği bir hukuk bürosudur. Sonuçta, “eski bir IT mühendisi ve şirket yöneticisinin temsil ettiği bir hukuk bürosu olarak, mühendisler ve programlama deneyimi olan yöneticilere, sözleşme kontrolü ve düzeltmeleri hakkında açıklama yapan bir makale” konumlandırmasıdır.
Ve bu konumlandırma üzerinde, sözleşme kontrolü ve düzeltmeleri, sözde “hata ayıklama”ya benzer bir işlem olacaktır.
- Öncelikle “hata” nedir?
- “Hata ayıklama” ne tür bir işlemdir?
- Sözleşmeler nasıl bir algoritmayı belirler?
- Sözleşme düzeltmeleri ne tür bir işlemdir?
Sırasıyla, bu nedenle mühendisler için “doğal” bir konuşmadan başlayacak, ancak aşağıda açıklıyoruz.
“Hata” ve “Hata Ayıklama” Nedir?
Hata, “Bilgisayarın Bozulması” Değildir
“Hata” denildiğinde, bilgisayarda bir işlem yaparken makineden duman çıktığını ve ekranın garip bir görüntüye dönüştüğünü düşünenler olabilir. Ancak, bir bilgisayar temelde “söyleneni” yapar. Bu, bir hatanın oluştuğu durumlar için de geçerlidir. Yani “hata”,
- Bilgisayarın söyleneni yaptığı halde
- Kullanıcı için bu eylemin “beklenmeyen bir davranış” olması
gibi bir durumdur.
“Beklenmeyen Davranış” Neden Oluşur?
Örneğin, Mario tipi bir aksiyon oyunundaki “duvardan geçme” hatası hakkında düşünelim.
Mario’nun zıplaması, bir ikinci derece fonksiyondur. İvme, hız, koordinat. Ancak, bir ikinci derece fonksiyon olsa bile, örneğin “X=1.76582 olduğunda Y ne olur?” gibi, X’i sonsuz derecede ince bir şekilde bölebiliriz, ancak bir video oyununda zamanı sonsuz derecede ince bir şekilde bölemezsiniz. Çünkü ekran saniyede (örneğin) sadece 30 kez değişir. Dolayısıyla, Mario adeta her saniye 30 kez “ışınlanıyor”.
Bu durumda, örneğin, “Mario zıpladığında yukarıda bir duvar vardı ve geri sekti” durumu şöyle bir durumdur:
- Bir önceki an Mario hala havadayken
- Sonraki an Mario’nun koordinatları duvarın içine girer
gibi bir durumdur.
Bu durumda, “Mario zıplarken yukarıdaki duvara çarptı” şeklinde bir sonuca varabiliriz. Dolayısıyla, doğal dilde ifade edersek,
Eğer Mario’nun koordinatları duvarın içindeyse, geri sektirme işlemi yapılır (※1)
gibi bir program yazarsak, “Mario zıpladığında yukarıda bir duvar vardı ve geri sekti” işlemi gerçekleştirilebilir.
※1, yukarıda yazıldığı gibi, doğru görünür. Ve gerçekten de, “belirli koşullar altında” bu işlem doğrudur.
Ancak, daha dikkatli düşünürsek, aşağıdaki gibi bir durum da olabilir (※2).
Bu durumda, “Mario’nun koordinatları duvarın içinde” anı yoktur ve dolayısıyla geri sektirme işlemi yapılmaz ve Mario duvardan geçer.
İşte bu, bir “hata” örneğidir. Bu tür bir nedenle “duvardan geçme hatası” oluşsa bile, bilgisayarın bozulmuş olması gerekmez. Bilgisayar sadece söyleneni yapar ve bu davranışı “beklenmeyen” veya “hata” olarak değerlendiren insanlardır. Ve bu “hata”, algoritmanın uygun olmaması nedeniyle oluşur.
“Beklenmeyen Bir Davranışın Oluşup Oluşmayacağını” İncelemek
Ancak, gerçekten bir oyun oynarken yukarıdaki “duvardan geçme” durumunun oluşup oluşmayacağı, yukarıda belirtildiği gibi soyut bir şekilde düşünerek belirsizdir. “Duvardan geçme” durumunun oluşup oluşmayacağı,
- Mario’nun zıplama gücü (başlangıç hızı) ne kadar, zıplama gücünü artıran bir öğe var mı
- Duvar en ince haliyle ne kadar kalın
gibi koşullara bağlıdır. Bu koşullar altında, ※2 gibi bir durumun oluşup oluşmayacağına bağlıdır. Eğer ※2 oluşmazsa, ※1 programında bir sorun yoktur.
“Hata Ayıklama” Ne Tür Bir İşlemdir?
Dolayısıyla, “hata ayıklama”, yani hatayı bulup düzeltme işlemi için,
- Programın hangi algoritmayı kullandığını okuyup anlamak (yukarıdaki ※1 doğal dilde ifade edilmiştir, ancak gerçekte programlar özgün bir dilde yazılmıştır, bu yüzden okuma ve anlama zordur)
- Programın hangi koşullar altında çalıştığını incelemek (zıplama gücü ve duvar kalınlığı hakkında araştırma yapmak)
- Bu sırada beklenmeyen bir davranışın oluşup oluşmayacağını incelemek
gibi bir süreç gereklidir.
Sözleşme Kontrolü Nedir ve Nasıl Bir İşlem Yapılır?
Sözleşme kontrolü de bu işlemle benzerdir. Aslında bir sözleşme, taraflar arasında, gelecekte oluşabilecek durumları öngörür ve bu durumlar karşısında tarafların hangi hak ve yükümlülüklere sahip olacağını, sonuç olarak her iki tarafın nasıl hareket edeceğini düzenler. Bu anlamda, bir sözleşme ‘gerçek dünyayı düzenleyen bir program’ olarak adlandırılabilir. Örneğin,
●● durumu gerçekleştiğinde, taraf A, taraf B’ye 1 milyon Yen tazminat öder.
Bu tür bir düzenlemeyi içeren sözleşmeler, gelecekte oluşabilecek durumlar için koşulları ve etkileri tanımlar.
Ve bu ‘gerçek dünyayı düzenleyen program’ın herhangi bir sorunu olup olmadığını doğrulamak ve sorun varsa düzeltmek, kaçınılmaz olarak ‘hata ayıklama’ya benzer bir işlem olacaktır.
Sözleşmede Algoritmanın Tüm Detayları Belirtilmemiştir
Ancak, “sözleşme” denilen şeyde, hukuk konusunda uzman olmayanlar için anlaması zor, ancak son derece önemli bir nokta vardır. Sözleşme, taraflar arasındaki düzeni belirleyen algoritmanın sadece “bir kısmını” belirler. Başka bir deyişle, sadece sözleşmeyi okuyarak, kendinizin ve karşı tarafın hangi algoritma altında düzenlendiğini, tüm detayları öğrenemezsiniz.
Örneğin, bir mağazadan ikinci el bir CD satın alırken, mağaza ve müşteri arasında bir “satış sözleşmesi” gibi bir şey imzalanmaz, ancak CD’nin yüzeyinde, çalarla oynatılamayan bir çizik varsa, mağazadan şikayet etmek istersiniz ve mağazanın buna yanıt vermesini beklersiniz. Bu, “hizmet sektörü olduğu için” düzeyinde bir konu değil, teorik olarak,
- Sözleşme olmasa bile, satış sözleşmesi yapılmıştır
- Medeni Kanun (Japon Medeni Kanunu), ikinci el CD’ler gibi (“belirli mallar” olarak adlandırılır) satış sözleşmeleri hakkında, satıcının kusur garantisi sorumluluğu olduğunu belirtir
- Dolayısıyla, Medeni Kanun’un belirlediği algoritma mağaza ve müşteri arasında çalışır ve mağaza kusur garantisi sorumluluğunu taşır
mantığıdır. Ve “sözleşme”, Medeni Kanun gibi yasaların tanımladığı algoritmayı değiştirir. Örneğin, eğer mağaza ve müşteri arasında “Mağazamız, CD’nin tüm kusurları hakkında sonradan yapılan şikayetleri kabul etmez” şeklinde bir sözleşme imzalanmışsa,
- Satış sözleşmesi yapılmıştır
- Medeni Kanun, ilgili sözleşme hakkında, satıcının kusur garantisi sorumluluğu olduğunu belirtir
- Ancak, sözleşmenin hükümleri gereği, 2. ilke değiştirilmiş ve mağazada kusur garantisi sorumluluğu doğmamıştır
şeklinde olur.
Sözleşmeler, Medeni Kanun gibi ilkeleri ‘üzerine yazan’ şeylerdir
Bu, sistem geliştirme gibi, şirketler arasında yapılan anlaşmalar için de geçerlidir. Örneğin, iki taraf arasında bir taahhüt tipi sistem geliştirme sözleşmesi imzalanmışsa,
- Sözleşmeyi imzalamakla açıkça, bir taahhüt sözleşmesi yapılmış olur
- Taahhüt sözleşmesi durumunda, Medeni Kanun hükümlerine göre hizmeti kabul eden tarafın kusur garantisi sorumluluğu doğar
- Eğer sözleşmede bir kusur garantisi hükümü varsa, bu hüküm, Medeni Kanun ilkelerini ‘üzerine yazar’. Örneğin, Medeni Kanun ilkelerinden daha uzun bir süre için kusur garantisi maddesi belirlenmişse, bu süre hüküm olarak geçerli olur
Yani, örneğin, sözleşmede özellikle bir kusur garantisi hükmü olmasa bile, kusur garantisi sorumluluğu doğar.
Bu, sadece taahhüt veya sistem geliştirme gibi durumlarla sınırlı değildir, hisse devri, borçla finansman sağlama (para tüketme kredisi), istihdam, hisse senedi ihraç etme gibi şirketlerin yaptığı tüm sözleşmelerle ilgili genel bir durumdur.
Dolayısıyla, sadece sözleşmeyi okuyarak, karşı taraf ve kendi şirketinizin ilişkisini düzenleyen ‘algoritmanın’ tamamını anlamak mümkün değildir. Bu tamamı anlamak için, ‘Medeni Kanun gibi yasaların belirlediği varsayılan algoritmayı’ anlamak gereklidir. Çünkü sözleşme, sonuçta bu ‘varsayılan algoritmayı’ ‘üzerine yazan’ bir şeydir.
Gelecekte oluşabilecek olayları tahmin edemezsek “hata ayıklama” yapamayız
Yalnızca bir algoritmayı anlamak, “bu algoritma ile beklenmeyen bir işlem oluşur mu?” sorusunu doğrulamak için yeterli değildir. Bir oyunun “hata” durumu ile aynı şekilde, bir algoritma sonuçta soyut bir kavramdır ve gelecekte hangi olayların oluşacağını tahmin etmedikçe, “bu tür olaylar oluştuğunda beklenmeyen bir davranış oluşur mu?” sorusunu doğrulayamayız.
Bu, özellikle yeni uygulamalar, hizmetler veya diğer ürünler, yeni iş modelleri gibi durumlarda önemli bir sorun olabilir. Bu tür ürünler veya modellerle iş yapmaya başladığınızda, gelecekte neler olabileceğini tahmin etmek zordur, özellikle de belirli bir alanda bilginiz yoksa. Ayrıca, özellikle şirketler arası sözleşmelerde, hem diğer şirket hem de kendi şirketiniz belirli bir ekonomik mantığa göre hareket eder, bu yüzden gelecekteki olayları ve bu olayları tetikleyecek diğer şirketin eylemlerini tahmin etmek için, iş yönetimi hakkında oyun teorisi düşüncesi de gereklidir.
“Beklenmeyen” Durumlar Yönetimsel Kararlara da Dayanır
Ayrıca, bir olayı “hata” olarak değerlendirenin PC değil insan olduğu gibi, bir sözleşmenin getirdiği belirli bir sonucun “beklenmeyen” olup olmadığını değerlendirmek de saf bir hukuki mesele değil, yönetimsel bir sorundur.
Örneğin, “Japon Medeni Kanunu’nun ilkelerine göre” bir algoritmanın, belirli bir şirketin belirli bir işinde kabul edilemez olduğu durumlar gerçekten olabilir. Bu örnekle konu biraz değişiyor, ancak örneğin, Japon Medeni Kanunu, bir taahhüt sözleşmesi hakkında, “taahhüt eden tarafın yeniden taahhüt etmesi sözleşme ihlali olur” şeklinde bir varsayılan algoritmayı belirler. Ancak, “belirli bir şirket için, belirli bir iş, doğal olarak alt yüklenici şirketlerin kullanılacağı bir durum” gibi durumlar olabilir. Bu tür durumlarda, yeniden taahhütün mümkün olmadığı bir sözleşme, yani
- Yeniden taahhütün mümkün olup olmadığına dair hiçbir şey belirtilmemiş (bu durumda, yukarıda belirtildiği gibi, Japon Medeni Kanunu’nun ilkeleri uygulanır)
- Yeniden taahhütün mümkün olmadığı belirtilmiş
gibi bir sözleşmeyi kabul etmek, hatta bu “Japon Medeni Kanunu’nun ilkelerine göre” olsa bile, mümkün olmamalıdır.
Ayrıca, yönetimde her zaman “belirli bir durum gerçekleştiğinde sorumluluk almak” riski vardır. Kendi şirketiniz için “risk” olmayan bir sözleşme, temelde var olmaz. Bu riski kabul edip etmemek sonuçta bir yönetim kararıdır. Yönetim kararını veren yöneticidir, danışman avukatlar gibi danışmanlık pozisyonundaki kişiler değil, ancak danışmanlar, yöneticinin yönetim kararı vermesi için gerekli ve yeterli bilgiyi sunmalıdır,
- Her seferinde belirtmeye gerek olmayan riskler
- Kabul etmek, ilgili şirket için önemli bir karar olacak, bazen toplantılar vb. gerektirebilecek riskler
gibi konuları, belirli bir ayrım ile belirtmelidirler. Bu “ayrım”ın ayarlanması için, diğer alanlarda danışmanlık yapanlar gibi, sözleşme kontrolünü yapan avukatın da belirli bir “yönetim” hissiyatına ihtiyacı vardır.
Özet
Bu şekilde, sözleşme kontrolü ve düzeltmeleri büyük ölçüde aşağıdaki gibi işlemler olduğunu söyleyebiliriz.
- Sözleşme ile Medeni Kanun gibi ilkelerin nasıl üzerine yazıldığını ve sonuç olarak hangi algoritmanın oluştuğunu anlamak
- Bu algoritmanın altında, gelecekte hangi olayların olabileceğini düşünmek
- Bu durumda beklenmeyen bir davranışın olup olmayacağını düşünmek
Ve yukarıdakiler sırasıyla;
- Hukuku anlayan bir kişi olmadan zor olan bir işlem
- Sözleşmenin düzenlediği, örneğin bir uygulama veya web hizmeti gibi işin içeriği, iş modeli vb. anlamayan bir kişi olmadan zor olan bir işlem
- Belirli bir dereceye kadar ilgili şirketin veya işin içeriğini, işletme hissiyatını anlamayan bir kişi olmadan zor olan bir işlem
olacak şekildedir.
Sözleşme kontrolü ve düzeltmeleri, bu nedenlerle, oldukça “uzmanlık” gerektiren bir işlemdir.
Sözleşme Hazırlama ve İnceleme Hizmetlerimiz
Monolith Hukuk Bürosu olarak, IT, İnternet ve İş Hukuku alanlarında uzmanlaşmış bir hukuk firmasıyız ve çeşitli sözleşme hazırlama ve inceleme hizmetlerini danışmanlık yaptığımız şirketler ve müşterilerimize sunmaktayız.
İlgilenenler aşağıdaki detayları inceleyebilirler.
Category: IT
Tag: ITSystem Development