Özgür Yazılım

Adem Efe Devrez
TechSheet
Published in
5 min readMay 5, 2023

“Eğer bir ürün bedavaysa ürün sizsinizdir.”

Bu sözü mutlaka daha önce duymuşsunuzdur. Genellikle kullandığınız uygulamalar eğer ücretsizlerse yine de para kazanmak için sizden veri toplarlar ve size sürekli reklam gösterirler. Uygulamayı keyfiniz bölünmeden ve veriniz toplanmadan kullanmak isterseniz ya bir premium ücreti ödemek zorunda kalırsınız ya da programı korsan indirerek bilgisayarınıza zararlı yazılım ve virüs indirme riskini göze alırsınız. Peki bu böyle olmak zorunda mı? Kullandığımız uygulamalar hem ücretsiz hem de güvenilir olamazlar mı? Böyle olduğunu iddia eden programlar varsa bile bunu nasıl teyit edebiliriz? İşte bu soruların cevabı Özgür Yazılım’da yatıyor.

Özgür Yazılım

Özgür Yazılım’ın GNU web sitesindeki tanımı şöyledir: Kullanıcılarının özgürlüğüne ve topluluğuna saygı duyan yazılım. Kullanıcılara sunulan bu özgürlükler şöyle sıralanır: kopyalama, çalıştırma, inceleme, değiştirme, geliştirme ve dağıtma özgürlüğü. Peki bunlar ne anlama geliyor? Sırasıyla gidelim.

  1. Kopyalama: Özgür yazılıma sahip bir uygulamayı istediğiniz gibi indirebilir, cihazınıza kaydedebilir ve kopyalarını çıkarabilirsiniz. İndirme ve cihazınıza kaydetme özgürlüğü uygulamaların neredeyse tamamı için geçerli olsa da kopyalarını çıkarma özgürlüğü özellikle önemli. Bunun önemine Değiştirme ve Dağıtma kısımlarında değineceğiz.
  2. Çalıştırma: Uygulamayı istediğiniz zaman istediğiniz şekilde çalıştırabilirsiniz. Yani uygulama kafasına göre kendini kitleyemez, bir başkası programı kullanmanızı uzaktan kısıtlayamaz. Bu kısım da oldukça basit.
  3. İnceleme: İşte geldik ilk önemli noktaya. Özgür yazılıma sahip bir uygulama açık kaynaklıdır, yani programın kodlarını istediğiniz zaman istediğiniz şekilde okuyabilirsiniz. Peki bu ne demek? Uygulamanın sizin verilerinizi toplayıp toplamadığını, işlevinden alakasız yerlere erişimi olup olmadığını kendiniz kodu okuyarak teyit edebilirsiniz. Yani açık kaynaklı uygulamalar kullanıcılarını kandıramazlar, her şeyleri ortadadır ve şaibeli bir durum varsa bile bu kullanıcılar tarafından açıkça görülebilir. Ayrıca açık kaynaklı uygulamalar bu özellikleri yüzünden yazılımcılar için paha biçilemez bir nimettirler, buna yazımızın devamında daha detaylı değineceğiz.
  4. Değiştirme: Özgür yazılıma sahip bir uygulamayı indirdiniz ve kodlarını inceleyebiliyorsunuz. Diyelim ki programı kullanırken “Ya şurası şöyle olsa daha iyi olur aslında” dediniz. İşte böyle bir senaryoda uygulamanın kodlarını istediğiniz gibi değiştirme özgürlüğüne sahipsiniz! Olağan (default) ayarları değiştirebilir, arayüzü baştan tasarlayabilir, uygulamanın işlevini genişleten eklentiler yazabilir, kısacası ne istiyorsanız onu yapabilirsiniz.
  5. Geliştirme: Değiştirmek yetmez, ben bu uygulamayı geliştirmek istiyorum diyorsanız bunda da özgürsünüz! Uygulamaya yaptığınız değişiklikleri GitHub gibi platformlarda proje havuzuna (repository) atabilirsiniz, havuz adminleri yani uygulamanın resmi gelişimini denetleyen diğer yazılımcılar yaptığınız değişiklikleri onaylarsa uygulamanın sonraki versiyonunda bu değişiklikleri kendiliğinden görebilirsiniz!
  6. Dağıtma: Diyelim ki bu yaptığınız değişiklikler havuz adminleri tarafından kabul edilmedi ama siz bunları yine de paylaşmak istiyorsunuz. Hatta diyelim ki bu programın temel kodunu alıp geliştirdiğiniz versiyonunu yeni bir program olarak yayınlamak ve insanlara sunmak istiyorsunuz. İşte bunda da özgürsünüz! Bu uygulamanın özgür yazılım lisansındaki şartları göz önünde bulundurarak kendi yazdığınız eklentileri internete yükleyebilir, isterseniz bu programı temel alan başka bir programı internette yayınlayabilirsiniz.

Bunlar iyi hoş da, yazılımcı olmayan birisi için bu maddelerin önemi ne? Özgür Yazılımı neden tercih edelim?

Özgür Yazılım düşüncesinin ortaya nasıl çıktığının hikayesini bir türlü bulamadığım logosu

Neden Özgür Yazılım?

Sanal dünyanın para birimi veridir. Kullandığınız uygulamalar sizden doğrudan para kazanmıyorlarsa dolaylı yoldan para kazanırlar: verilerinizi toplayıp satarlar. Hatta bazen para verdiğiniz uygulamalar dahi verinizi toplamaya siz farkında olmadan devam ederler. Bunun sizin, yani kullanıcının gizliliğini ve güvenliğini nasıl ihlal ettiğini anlatmama gerek yok herhalde. Ayrıca yine sizden topladıkları verilerle size reklam gösterip uygulama deneyiminizi kesintiye uğratabilmelerinden bahsetmiyorum bile.

Belki “İstedikleri kadar veri toplasınlar, bana zararı yok ki.” diye düşünüyor olabilirsiniz ama unutmayın, verilerinizi toplarken sizin bilgisayarınızın kapasitesini ve enerjisini kullanarak, sizin internetiniz üzerinden gerçekleştirirler bu alışverişi. Bazen kastığı için kullanmakta sorun çektiğiniz bir uygulamanın kasmasının nedeni kaynak önceliğini veri toplamaya ayırıyor olmasından kaynaklanıyor olabilir, aynı işlevi yerine getiren ancak özgür yazılıma sahip bir uygulamayı kullanmakta sırf bu yüzden bile net bir performans artışı gözlemleyebilirsiniz.

Özgür yazılıma sahip uygulamaların veri toplayacaklarsa bile bunu lisansları gereği belirtmeleri ve sizden onay almaları gerekir, o da lisansları daha en başında veri toplamalarına izin veriyorsa. Zaten kodları ortada olduğu için bunu gizli gizli yapamazlar, yapsalar bile bir başkası aynı uygulamanın veri toplamayan halini yazıp öne geçeceği için daha en başında bu tarz bir sistemi uygulamaya dahil etmemek daha akıllıcadır.

Ancak özgür yazılımın tek avantajı sizin gizliliğinize saygı duyması da değil. Herhangi birinin kodları açıp okuyabileceğini söylemiştik. Bunu duyunca “Ama o zaman bu uygulamalarda güvenlik açığı olursa bunun suistimal edilmesi daha kolay değil mi?” diye düşünmüş olabilirsiniz. Ancak özgür yazılıma sahip bir uygulamada güvenlik açığı varsa birinin bunu görüp buna yönelik zararlı bir program yazması için gereken sürede bir başkası bu güvenlik açığını görüp ortadan kaldırabilir. Sırf bu yüzden açık kaynaklı programların hacklenmesi daha zordur ve hacklenseler bile buna sebep olan güvenlik açığı çok kısa bir sürede kapatılır. Bu yüzden özgür yazılıma sahip uygulamalar gizliliğinize saygı gösterdiği gibi güvenliğinizi de sağlarlar.

Kullandığınız her bir programın açık kaynaklı ve özgür yazılıma sahip bir versiyonunu kolayca bulabilirsiniz. Bu yüzden bir programa para vermeden önce sırf ücretsiz olduğu için bile özgür yazılıma sahip alternatiflerini deneyip size uygun olanını kullanabilirsiniz.

Bu bahsettiğim özellikler yazılımcı olmayan kişiler için de geçerli olan maddelerdi. Ama yazılımcı dostlarım, özgür yazılım günlük kullanıcılar için güzel bir seçenekken sizler için paha biçilemez bir altın madenidir. Yazılımın temellerini öğrendikten sonra bu temelleri nasıl kullanacağımıza dair gerçek hayattan örnekler bulmak çok zor oluyor. Kendi yaptığımız projelerde her zaman takıldığımız, düzeltemediğimiz ve nereden başlayacağımızı dahi bilmediğimiz noktalar oluyor. Hatta aklımızdaki projeye dahi nereden başlayacağımızı netleştiremeyebiliyoruz. Böyle bir durumda, aklınızdaki projeye paralel bir yapısı olan açık kaynaklı bir programın kodlarını okumak, bu uygulamayı geliştirenlerin belirli problemlerin üstesinden nasıl geldiklerini görmek kadar açık bir rehber olamaz. Kendi kullandığınız programların kodlarını okuyarak nasıl çalıştıklarını anlamaya uğraşabilir, programların mimarilerinin nasıl olduğunu canlı örnekleriyle görebilir, hatta kullandığınız programa kendiniz bir özellik yazabilirsiniz. Yazılımın profesyonel seviyesi zaten bunun ta kendisi. Özgür yazılım da bu seviyeye ulaşmak için elinizdeki en iyi imkan.

Özgür Yazılıma Sahip Bazı Uygulamalar

Özgür yazılımın ne olduğundan ve neden özgür yazılıma sahip uygulamaları tercih etmemiz gerektiğinden kısaca bahsettik. Peki hangi uygulamalar özgür yazılıma sahip? Bir uygulamanın özgür yazılıma sahip olup olmadığını nasıl öğrenebiliriz?

Kullandığımız neredeyse her programın onlarla aynı işleve sahip ve özgür olan versiyonları vardır. Hatta şu an bile özgür programlar kullanıyor olabilirsiniz. Örneğin eğer tarayıcı olarak Firefox ya da Chromium kullanıyorsanız bilin ki bunlar özgür yazılıma sahip uygulamalar. Pek çoğumuzun yazılım için kullandığı Visual Studio Code/Codium ve Atom/Pulsar da özgür programlar. İşletim sistemlerinden Linux, oyun motorlarından Godot ve 3D modelleme programlarından Blender da kendi sektörlerine adını duyurmuş olan açık kaynaklı programlar arasında. Görsel tasarım için GIMP ve Krita, ses editlemek ve farklı ses formatlarını çalıştırmak için Audacity ve VLC de kullanıcılar tarafından gönül rahatlığıyla kullanılan özgür uygulamalar.

Özetlemek Gerekirse

Özgür Yazılım kullanıcılarına saygılı olan, açık kaynaklı ve ücretsiz uygulamaları ifade etmek için kullanılan bir tabirdir. Kullandığımız neredeyse her programın özgür yazılıma sahip bir alternatifi vardır ve bunlar günlük kullanıcılar için güzel birer seçenekken yazılımcılar, özellikle de yeni yazılımcılar için kod okuma ve uygulama geliştirme deneyimi kazanabilecekleri bir altın madenidir. Gelecekte yazılarımda bahsetmek istediğim uygulamalardan söz ederken sık sık Özgür Yazılım tabirini yineleyeceğim için bu kavramı açıklayan ve o yazılarda referans verebileceğim bir yazı yazayım dedim ve bu yazıyı yazdım. Umarım Özgür Yazılım’a dair aklınızda bir fikir oluşmasını sağlayabilmişimdir. Sonraki yazılarımda görüşmek üzere, hoşça kalın!

--

--