Özgür yazılım nedir?

Özgür yazılım nereden çıktı?

Doğrusunu söylemek gerekirse özgür yazılım, özel mülk yazılımlardan daha önceden vardı.

Eskiden bilgisayarlar, delikli kartlar ile programlanıyordu. Delikli kartlar, “At yarışı kuponu” benzeri üzerinde delinecek noktalar olan kartondan kartlardı. Delinen her nokta mantıksal “1” delinmeyen kısımlar ise mantıksal “0” anlamına geliyordu. Ayrıca kartın üzerinde hangi deliğin ne anlama geldiğini gösteren bir tablo da mevcuttu (aynı ÖSYM optik formlarındaki gibi). Dolayısıyla yazılımın kendisi aslında o kart olduğundan, karta bakan herhangi biri yazılımın nasıl çalıştığını anlayabilmekte ve “kaynak koduna” erişebilmekteydi. Bu yüzden, yapılan bir yazılım her koşulda özgürdü. Yazılıma baktığınızda nasıl çalıştığını anlayabiliyor, onu değiştirebiliyor veya yeni bir karta kolayca delikleri geçirip onu kopyalayabiliyordunuz. Ayrıca yazılımı değiştirip dağıtmanızda da hiçbir engel yoktu elbette.

Ardından geçen birçok yılın ardından, teknoloji ilerlemiş ve C dili ortaya çıkmıştı. Ayrıca bilgisayarlar birkaç “0 veya 1” ile değil, yüz binlerle ifade edilen “0 veya 1” lerle çalışır hale gelmişti. Ayrıca yazdığınız bir C kodu, derleme adı verilen bir işlemden geçiriliyor ve bu işlemin sonucunda 0-1’lere yani makina diline dönüşüyordu. Bu işlemin ise geri döndürülmesi çok zordu. Dolayısıyla derlenmiş bir C programının yanında kaynak kodu verilmez ise ilgili yazılımın nasıl çalıştığını anlamak veya onu değiştirmeye çalışmak imkansız hale gelmişti. Yazılım geliştiricileri de artık yazılımları birer meta olarak görmekteydi. Yazılımların yalnızca çalıştırılabilir “binary” dosyaları, birçok kısıtlama ile birlikte kullanıcıya veriliyordu. Yazılımlar üzerinde çalışmak, değişiklik yapmak yazılım lisanslarına göre suçtu.

MIT’de ise, 70’lerden o zamana kadar devam eden hacker kültürü bir nebze sekteye uğramıştı. MIT AI laboratuvarında çalışan hacker’ların önemli bir kısmı yazılım firmaları için çalışmaya başlamıştı.

Bir gün, MIT AI laboratuvarındaki hackerlardan biri olan Richard M. Stallman, orada bulunan bir Xerox yazıcının kağıt sıkıştırdığını fark etti ve Xerox ile iletişime geçti. Xerox’a hatayı kendinin çözebileceğini, ancak yazıcıda çalışan yazılımın kaynak koduna ihtiyaç duyduğunu belirtti. Xerox, bu yazılımın kendilerine ait olduğunu söyleyip, Stallman’ın talebini reddetti.

Bu olay, Stallman’ın kafasında bir fikir oluşturmuştu: Özgür yazılım.

İlk duyuru

Bahsedilen dönemde, bilgisayarların büyük çoğunluğu UNIX adı verilen bir işletim sistemini çalıştırmaktaydı. UNIX işletim sistemi de, Amerikan telekomünikasyon şirketi olan AT&T’nin mülküydü. Fahiş lisans ücretleri altında dağıtıldığı için çoğu bir kişinin UNIX’e erişimi yoktu. UNIX, yüksek oranda ancak büyük kurumların bilgisayarlarında kullanılabiliyordu.

27 Kasım 1983’te Richard M. Stallman, UNIX’in Usenet haber gruplarına Free Unix! başlıklı bir duyuru gönderdi. Bu duyuru ile dünya ilk defa özgür yazılım kavramıyla tanışıyordu.

Richard M. Stallman, dönemin popüler özel mülk işletim sistemi UNIX ile birebir uyumlu bir işletim sistemi geliştirmeye başladı. Bu işletim sisteminin adı ise GNU idi. GNU, özgür olarak dağıtılacaktı.

Özgür yazılım nedir?

Bir yazılımın özgür yazılım olabilmesi için sağlaması gereken dört temel özgürlük vardır.

  1. Yazılımı herhangi bir amaç için herhangi bir koşulda çalıştırma özgürlüğü. (Kullan)
  2. Yazılımın nasıl çalıştığını anlama ve onu değiştirme özgürlüğü. (Araştır)
  3. Yazılımı kopyalama ve dağıtma özgürlüğü. (Paylaş)
  4. Yazılımın değiştirilmiş ve geliştirilmiş kopyalarını dağıtma özgürlüğü. (Geliştir)

Bu dört özgürlüğün tamamını sağlayan yazılımlar, özgür yazılımlardır.

Özgürlük, para ile ilişkili değildir. Özgür yazılım, “ticari olmayan yazılım” veya “ücretsiz yazılım” anlamına gelmez. Özgür yazılımlar ticari amaçlarla kullanılabilir, ayrıca kopyaları ücret karşılığında satılabilir. Yazılımı nasıl edindiğiniz bu konuda hiçbir şey değiştirmez, satın aldığınız bir özgür yazılımı ücretsiz veya ücretli olarak dağıtabilirsiniz.

Özgür bir yazılım, kopyalarını edinen tüm kullanıcılara dört temel özgürlüğü sağlamalıdır. “Kübalılar ve Kuzey Koreliler bu yazılımı kullanamaz”, “bu yazılım yalnızca araştırma amaçlı kullanılabilir”, “bu yazılımı yalnızca geliştiricisine yıllık 2000 Türk lirası öderseniz kullanılabilir” gibi durumlar içeren yazılımlar özgür değildir.