Nuri Çilengir

I'm application security & software development enthusiast. Also, translator and writer at Arka Kapı Magazine.

Navigation


Search

Açık Dünyada Özgür Olmak

23 Apr 2020 » free-software

Yazılımlardan söz ederken genellikle unutulan asıl nokta yazılımın lisansı olur. Yazılım lisansları aslında, var olan yazılımın ideolojisini, güvenirliğini, ticari kullanımını ve dağıtım metotlarını tanımlar. Birçok farklı lisanslama türü mevcut fakat bu yazıda, Google’ın, Trump’ın kara listesi nedeniyle Huawei’nin Android hizmetlerini durduması üzerine ortaya çıkan: “Ee Android açık kaynak değil miydi, Huawei neden kullanamayacak? “ ve türevi söylemlerin ortaya çıkması üzerine, genellikle aynı olguyu ve kapsamları belirttikleri sanılan ya da karıştırılan özgür yazılım ve açık kaynak kavramları üzerinden yürüteceğiz.

Özgür yazılım felsefesi ve onu temel almış özgür yazılım hareketi, açık kaynak hareketinin tarihsel olarak önünü açtı ve açık kaynak hareketinin sahip olduğu teknolojik, yasal, metodolojik ve ideolojik kavramları edinmesinde büyük rol oynadı. Buna rağmen, özgür yazılım ve açık kaynak dediğimizde iki yaklaşımın da aynı hareketi ve olguyu ifade ettiği bir durum söz konusu. Peki aynı olguyu ifade ediyorlarsa, neden aynı hareket için iki ayrı kavram kullanıyoruz? Bu sorunun cevabı tarihsel bir süreç ve oluşumlar arasında kurulan yakın ilişkilerdeki nüanslarda gizli. Bu nedenle, iki başlığı kıyaslarken, hem toplum hem de egemen medyada yanlış aksettirilen birkaç kavramı da dahil edip, karşılaştırma ve tanımlamalarımızı bu perspektiften yürüteceğiz.

Hack, Hackerlar ve Hacker Etiği

İlk bilgisayar sistemleri, 1940’larda ve 1950’lerde esasen askeri ve bilimsel amaçlarla yapıldı. Bilgisayarları kullanmak ve incelemek için en eski araştırma enstitülerinden biri, Massachusetts Teknoloji Enstitüsü’dür (MIT). MIT’deki yapay zeka (AI) laboratuvarı 1958’de kuruldu ve bilgisayar bilimi ve bilgisayar kültürünün doğum yerlerinden biri oldu. Hack kavramı ilk yıllarda MIT öğrencilerinin aralarında yaptıkları şakaya verilen isim olarak ortaya çıktı. 1970’lerde MIT’de bulunan öğrenci kulübü Tech Model Railroad Club, kampüsteki tek elektro-mekanik kumanda sistemleri ile yönetilen model demiryolu ağına sahipti. Kulüp bünyesinde elektronik cihazlara ilgi duyan birçok öğrenci bulunuyordu. Bir süre sonra öğrencilerin kulüp etkinliklerindeki katkıları, elektro-mekanik kumanda sistemi ile model demiryolu ağı üzerinde yaptıkları düzenlemelerin basit ve etkili olması üzerinden değerlendirilmeye başlanmıştı. Bu yüzden, hack kavramı da bir süre sonra “başarılı ve etkili çözümler geliştirme” şeklinde evrildi. Daha sonraları bilgisayarların yaygınlaşmasıyla yaşanacak olan teknik ve teknik olmayan üye ayrımı üzerindeki tartışma Hacker kavramını doğuracaktı.

Bilgisayarların yaygınlaşması sadece bilgisayar devriminin değil, bu devrimden doğacak kültürlerin de başlangıcı olarak kabul edilebilir. Bu yaygınlaşmanın doğurduğu kültür: “Bilgisayarda yapılabilecek her türlü iyileştirme, geliştirme ister donanım ister yazılım olsun amaçladığını yerine getirebiliyorsa ve bunu da olabilecek en iyi şekilde yapıyorsa bu bir “hack”tir. Bunu yapan kişi de yaşı, cinsiyeti vs dikkate alınmaksızın topluluğun saygısını kazanır ve topluluk tarafından başarısını gösteren bir ünvan yani diğer bir deyişle “hacker” olarak adlandırılır.” şeklinde tanımlanabilir. MIT hackerlarının aralarında oluşturduğu etik kavramını Steven Levy 1984’te şu maddelerle tanımladı:

  1. Sistemlere, donanıma ve bilgisayarlara erişim kısıtlanamaz. Bireyler, bir sistemin, teknolojinin nasıl işlediğini öğrenmekte özgürdürler.
  2. Bilgi (enformasyon) özgürdür. Bilginin üretilmesi, üretilen bilginin yaygınlaştırılması üzerinde bir kısıtlama kabul edilemez.
  3. Otoriteye güvenmeyin. Baskı her zaman otoriteden kaynaklanır. Güç tek bir noktada toplanmamalıdır.
  4. Eserleriniz, yaptıklarınız, başarınızı sizi değerli kılar.
  5. Bilgisayarlar kullanılarak güzel ve iyi şeyler yapılabilir.
  6. Bilgisayarlar yaşamınızı olumlu yönde geliştirir. Bilgisayarların yaygınlaşmasıyla programlar günümüzdeki gibi yazılımcılar tarafından değil kullanıcılar tarafından delikli kağıtlar üzerine geliştiriliyordu. Bu yüzden bilgisayar programları, bilimsel topluluk tarafından oluşturulan herhangi bir bilgi gibi ele alındı. Yazılım herkesin kullanması, incelemesi ve geliştirmesi için serbestti. Yani programlara bir yandan hiç kimse sahip değildi, diğer yandan da topluluğun ortak mülkü idi.

1970’lerde yazılımın üretilmesi daha karmaşık ve pahalı hale geldikçe, yazılım şirketleri, gelir akışlarını korumak ve rakiplerin uygulamalarına erişimini engellemek için kaynak kodu dahil olarak göndermekten vazgeçti ve bir çok kısıtlama ve telif sözleşmeleri eklediler. 1980’lerin başlarında, MIT’de bulunan AI laboratuvarında, bazı hackerlar laboratuvarda geliştirilen teknolojiyi barındıran bilgisayarları satmak için Symbolics adlı bir şirket kurdular. Şirketi kuran hackerlar, bilgisayarlarındaki yazılımın ticari bir sır olarak kabul etmesi büyük bir krize neden oldu. Topluluk ve topluluk kültürü yok edildi. Richard Stallman daha sonra kendisini “ölü bir kültürün son kurtulanı” olarak tanımlayacaktı.

Stallman, burada yazılım mülkiyeti açısından doğabilecek bir sorunu öngördü. AI laboratuvarında dayanışma, işbirliği ve paylaşım ruhu vardı. Bu ruh kendini kısıtlamalara bırakmıştı fakat bilginin kaynağına olan kısıtlamalar insanların birbirlerine nasıl yardım edebileceği konusunda da kısıtlamalar getiriyordu. 1983 yılında Stallman, kullanıcılarına kaynak kodunu görüntüleme, değiştirme ve paylaşma özgürlüğü sağlayacak eksiksiz bir işletim sistemi oluşturma niyetini ilan eden GNU (GNU is not UNIX) Manifestosu’nu yayımladı. Proje ilgi gördü ve Stallman geliştiricilerin katkılarını projeye dahil etmeye başladı. Sistem kütüphanesi, kabuk, C derleyici ve bir metin editörü dahil olmak üzere bir işletim sisteminin ana bileşenleri geliştirdi. Ancak, Stallman’ın işletim sisteminin çekirdeği, Linus Torvalds’ın 1991’de Linux çekirdeği üzerinde çalışmaya başlayana kadar hala eksikti.

GNU Manifestosu ve Özgür Yazılımın Doğuşu

Özgür yazılım hareketi büyük ölçüde Richard Stallman’ın buluşudur. Richard Stallman GNU manifestosundaki motivasyonunu, lisanslı yazılımların toplum odaklı yazılım geliştirmeyi önlediğini, inovasyonu sığlaştırdığını ve teknolojinin ilerlemesinin yavaşlattığını öne sürerek açıkladı. GNU projesi hem özel lisanslı yazılımların yükselişine hem de önceki dönemlerde işbirliğine dayalı yazılım geliştirmenin engellemesine bir cevap olarak görülmelidir. Stallman’ın GNU Manifestosu’ndaki (1983) temel argümanı, “Yararlı bir program, ihtiyacı olan herkesle paylaşılmalıdır.” olmuştur. Onun bu niyeti kapitalizm ya da ticaret karşıtı olmak değildi, sadece özel yazılımların toplum ve işbirliği üzerinde yarattığı etik problem üzerine bir başkaldırıydı. Bu argümandan yola çıkarak 1985 yılına döndüğümüzde, Stallman, özgür yazılım kavramını daha geniş kitlelere tanıtmak amacıyla, kar amacı gütmeyen Özgür Yazılım Vakfı’nı (Free Software Foundation - FSF ) GNU projesi üzerine kurdu. Stallman, programlardaki telif hakkı probleminin getirdiği kısıtlamalar nedeniyle, “insanlığın ortaya çıkardığı servet miktarının” azaldığını ileri sürüyordu. Bu yüzden, daha sonra, son kullanıcıların kaynak kodunu özgürce çalıştırma, görüntüleme ve paylaşma haklarını garanti eden bir yazılım lisansı olan GNU Genel Kamu Lisansını (GPL) da geliştirecekti.

FSF’ye göre, bir yazılımın tamamen “özgür” sayılması için, lisansının kullanıcılarına dört temel özgürlüğü garanti etmesi gerekir:

  1. Herhangi bir amaç için yazılımı çalıştırma özgürlüğü (0 numaralı özgürlük).
  2. Her ne istiyorsanız onu yaptırmak için programın nasıl çalıştığını öğrenmek ve onu değiştirme özgürlüğü (1 numaralı özgürlük). Kaynak koduna erişmek, bunun için bir ön koşuldur.
  3. Kopyaları dağıtma özgürlüğü. Böylece komşunuza yardım edebilirsiniz (2 numaralı özgürlük).
  4. Tüm toplumun yarar sağlayabileceği şekilde programı geliştirme ve geliştirdiklerinizi yayınlama özgürlüğü (3 numaralı özgürlük). Kaynak koduna erişmek, bunun için bir ön koşuldur.

Açık Kaynak Hareketi Nasıl Oluştu?

Stallman, kullanıcıların uygun gördükleri şekilde kaynak kodunu değiştirme ve paylaşma konusunda özgür olacağı fikrini ifade etmek için “özgür yazılım” (Free Software) ifadesini seçmişti fakat İngilizcede free kelimesi “ücretsiz” anlamına da gelmesi hareket üzerinde negatif sorunlar doğuruyordu. Bu, insanların özgür yazılımın aslında bedava yazılım anlayışını edinmelerini sağlıyordu. Bu yüzden Özgür Yazılım Vakfı, isim seçimlerini “Yazılımı “özgür” olarak adlandırdığımızda, kullanıcının kendi temel özgürlüğüyle ilgili olduğunu ifade ediyoruz. Bu bir özgürlük meselesidir, fiyat değil. Bu yüzden “bedava bira” olarak değil “konuşma özgürlüğü” gibi düşünmelisiniz.” şeklinde açıklamak durumunda kalıyorlardı. 1990’ların sonlarına doğru, bazı GNU Linux meraklıları arasında, bu ikili anlamın, kullanıcıların özgür yazılımın arkasındaki felsefeyi ve lisanslı yazılımlar üzerindeki avantajlarını kaçırmasına neden olacağı konusunda artan bir endişe vardı. Bunun dışında FSF’nin lisanslı yazılımlara karşı sert bir tutumu mevcuttu. Bazı özgür yazılımın hareketi üyeleri, dostça olmayan bu tavra karşı çıkıyor ve endişelerini dile getiriyorlardı.

1997’de özgür bir yazılım savunucusu ve geliştiricisi olan Eric S. Raymond, çeşitli özgür yazılım projelerinde kullanılan iki farklı geliştirme modelini karşılaştıran, geniş çapta alıntılar yapan bir makale olan Katedral ve Pazar’ı yazdı. Raymond “Katedral” ile GNU Emacs’in gelişimini, topluluğa dayalı, yukarıdan aşağıya (top-down) geliştirme modeli üzerinden ifade ederken, “Pazar” ile de Linux çekirdeğinin gelişimi için olduğu gibi, kodun internet üzerinden halka açık bir şekilde geliştirildiği bir yöntemi ifade etti. Kısaca Raymond, daha fazla insan kaynak kodunu görüntüleyebildiği ve denetleyebildiğinden, Pazar modelinin yazılım hatalarını bulmakta ve çözmede doğal olarak daha etkili olduğunu ve topluluk odaklı, aşağıdan yukarıya(bottom-up) geliştirme süreci kullanarak, daha güvenilir yazılımlar elde edilebileceğini savundu. 1998’de kısmen Katedral ve Pazar’daki fikirlerine ispat olarak Netscape Communicator web tarayıcısının (daha sonra Mozilla Firefox’u oluşturan) kaynak kodunu açık kaynak olarak yayınladı. Netscape’in açık kaynak sürümünde gördüğü ticari potansiyelden esinlenen Raymond, Linus Torvalds, Philip Zimmerman ve diğerleri özgür yazılım hareketini yeniden markalaştırmak için etik ve felsefi bağladan uzaklaştırmaya çalıştı. Ekip daha sonra kendilerine ortak çalışmaya ve toplum odaklı geliştirme dayalı, özgürce paylaşılabilir yazılım umuduyla “Açık Kaynak” ifadesini benimsedi.

Kısa bir süre sonra, Açık Kaynak Girişimi (Open Source Initiative) Raymond ve Bruce Perens tarafından hem yeni terimin kullanımını hem de açık kaynak ilkelerinin yayılmasını teşvik etmek için kuruldu. Açık kaynak girişimi ayrıca açık kaynak tanımını geliştirdi ve yazılımın lisansının açık kaynak olarak kabul edilmesi için uyması gereken prensipleri belirledi. Bu tanımlamara https://opensource.org/docs/osd adresinden ulaşabilirsiniz.

Sonuç: Politik yaklaşım mı yoksa bir geliştirme modeli mi?

Çoğu insan için, “özgür yazılım” ve “açık kaynaklı yazılım” arasındaki anlam farkını göz ardı edilebilir fakat şimdiye kadar görüldüğü üzere özgür yazılım felsefesi, bir programcının özgürlüğü ve gereksinimlerinin ötesine geçer. Özgür yazılımda temel odak aslında özgür bir toplumu hedeflemektedir, dolayısıyla sosyal bir harekettir. Öte yandan, açık kaynak hareketi özgürlüğü bu bağlamdan uzak bir tavırla, çıkış noktası ve niteledikleri gereği belirli kişiler (örn: geliştiriciler) adına hedeflemektedir. Açık Kaynak hareketinin motivasyonu, yazılımın nasıl daha iyi geliştirileceği ve mülk sahibi rakiplerin haksız avantaj elde etmesini önlemek için bir geliştirme modeli (örn: pazar) sunmaktır. Dolayısıyla, yazılımı “Özgür yazılım” ya da “Açık kaynak” olarak adlandırmak arasında rasyonel bir fark bulunmaktadır.

Özgür yazılım ya da açık kaynak hareketlerinin motivasyonları ve neyi ifade ettiklerinin anlaşıldığını umarak, belirli bir yazılımın, özgür yazılım ya da açık kaynak bir yazılım olup olmadığı gelecek olursak. Bu yazılımın hangi lisans altında dağıtıldığı ve lisansın Açık Kaynak Girişimi, Özgür Yazılım Vakfı veya her ikisi tarafından onaylanıp onaylanmadığına bağlıdır. Hangi lisansların hangi kuruluş tarafından onaylandığı arasında çok fazla örtüşme var fakat birkaç farklılık bulunmaktadır. Eğer projeleriniz için hangi yazılımın daha uygun olacağına karar vermek için Özgür Yazılım Vakfı’nın hem özgür lisansları hem de özgür olmayan lisansları inceleyen detaylı lisans listesini inceleyebilirsiniz.

Kısaca yazının ana kaynağı olan soruya gelirsek, “E, Android açık kaynak değil miydi, Huawei neden kullanamayacak?”. Tarihsel sürece baktığımızda durum çok net görülmekte fakat yine de bazı noktalara değinmekte fayda var. Evet Android açık kaynak, üstelik Linux çekirdeğini kullanmakta fakat kesinlikle özgür değil. Google, 2005’te Android’i satın aldıktan sonra şirket politikaları gereği üzerini mülk/tecilli yazılımlar ve servislerle doldurdu. Öte yandan, geliştiricileri ve şirketleri de buna dahil ederek, üçüncül kişiler tarafından yazılan uygulamalar ve servisleri de mülk yazılım olarak kendi servisleri üzerinden sundu. Dolayısıyla Google, Android’i tekeline dahil etti. Gelecek Huawei, Google, ABD, Çin ve özgürleşemeyen dünya ülkeleri için ne gösterir bilinmez fakat özgür yazılımların bu tip durumlarda ilk tercih olması, güvenlik, güvenirlik ve arkasında yatan sosyal felsefe bize özgür yazılımların her geçen gün öneminin arttığını göstermektedir.

Not: Bu makale yazılırken sadece “Özgür yazılım” ve “Açık kaynak” hareketi ele alınmış, mülk/telif yazılımlara değinilmemiştir. Bunun sebebi, her iki hareket de mülk/telif yazılımlara karşı yeterince iyi argümanlar sunmaktadırlar. Bu yüzden yazının sonuna, hem özgür yazılım ve açık kaynak arasındaki ilişkinin hem de bu kültürlerin mülkiyet, lisans ve patent konularına bakış açılarının daha detayına inmek isteyenler için ufak okuma önerileri bırakılmıştır.

Kaynaklar ve Okuma Önerileri