Ozgurluk on Özgür Yazılım Derneği https://www.oyd.org.tr/categories/ozgurluk/ Recent content in Ozgurluk on Özgür Yazılım Derneği Hugo -- gohugo.io tr-tr Tue, 17 Sep 2019 20:38:03 +0300 Özgür yazılım nedir? https://www.oyd.org.tr/yazilar/ozgur-yazilim/ Tue, 17 Sep 2019 20:38:03 +0300 https://www.oyd.org.tr/yazilar/ozgur-yazilim/ <h3 id="özgür-yazılım-nereden-çıktı">Özgür yazılım nereden çıktı?</h3> <p>Doğrusunu söylemek gerekirse özgür yazılım, <strong>özel mülk</strong> yazılımlardan daha önceden vardı.</p> <p>Eskiden bilgisayarlar, delikli kartlar ile programlanıyordu. Delikli kartlar, &ldquo;At yarışı kuponu&rdquo; benzeri üzerinde delinecek noktalar olan kartondan kartlardı. Delinen her nokta mantıksal &ldquo;1&rdquo; delinmeyen kısımlar ise mantıksal &ldquo;0&rdquo; 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 &ldquo;kaynak koduna&rdquo; erişebilmekteydi. Bu yüzden, yapılan bir yazılım her koşulda özgürdü. Yazılıma baktığınızda <em>nasıl çalıştığını anlayabiliyor, onu değiştirebiliyor veya yeni bir karta kolayca delikleri geçirip onu kopyalayabiliyordunuz.</em> Ayrıca yazılımı <em>değiştirip dağıtmanızda</em> da hiçbir engel yoktu elbette.</p> <p>Ardından geçen birçok yılın ardından, teknoloji ilerlemiş ve C dili ortaya çıkmıştı. Ayrıca bilgisayarlar birkaç &ldquo;0 veya 1&rdquo; ile değil, yüz binlerle ifade edilen &ldquo;0 veya 1&rdquo; lerle çalışır hale gelmişti. Ayrıca yazdığınız bir C kodu, <strong>derleme</strong> adı verilen bir işlemden geçiriliyor ve bu işlemin sonucunda 0-1&rsquo;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 <strong>meta</strong> olarak görmekteydi. Yazılımların yalnızca çalıştırılabilir &ldquo;binary&rdquo; dosyaları, birçok kısıtlama ile birlikte kullanıcıya veriliyordu. Yazılımlar üzerinde çalışmak, değişiklik yapmak <strong>yazılım lisanslarına göre</strong> suçtu.</p> <p>MIT&rsquo;de ise, 70&rsquo;lerden o zamana kadar devam eden <strong>hacker</strong> kültürü bir nebze sekteye uğramıştı. MIT AI laboratuvarında çalışan <strong>hacker</strong>&lsquo;ların önemli bir kısmı yazılım firmaları için çalışmaya başlamıştı.</p> <p>Bir gün, MIT AI laboratuvarındaki <strong>hacker</strong>lardan biri olan <strong>Richard M. Stallman</strong>, 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&rsquo;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&rsquo;ın talebini reddetti.</p> <p>Bu olay, Stallman&rsquo;ın kafasında bir fikir oluşturmuştu: <strong>Özgür yazılım.</strong></p> <h3 id="ilk-duyuru">İlk duyuru</h3> <p>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&amp;T&rsquo;nin mülküydü. Fahiş lisans ücretleri altında dağıtıldığı için çoğu bir kişinin UNIX&rsquo;e erişimi yoktu. UNIX, yüksek oranda ancak büyük kurumların bilgisayarlarında kullanılabiliyordu.</p> <p>27 Kasım 1983&rsquo;te Richard M. Stallman, UNIX&rsquo;in Usenet haber gruplarına <strong>Free Unix!</strong> başlıklı bir duyuru gönderdi. Bu duyuru ile dünya ilk defa <strong>özgür yazılım</strong> kavramıyla tanışıyordu.</p> <p>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 <strong>GNU</strong> idi. <strong>GNU</strong>, özgür olarak dağıtılacaktı.</p> <h3 id="özgür-yazılım-nedir">Özgür yazılım nedir?</h3> <p>Bir yazılımın özgür yazılım olabilmesi için sağlaması gereken dört temel özgürlük vardır.</p> <ol> <li>Yazılımı herhangi bir amaç için herhangi bir koşulda çalıştırma özgürlüğü. (Kullan)</li> <li>Yazılımın nasıl çalıştığını anlama ve onu değiştirme özgürlüğü. (Araştır)</li> <li>Yazılımı kopyalama ve dağıtma özgürlüğü. (Paylaş)</li> <li>Yazılımın değiştirilmiş ve geliştirilmiş kopyalarını dağıtma özgürlüğü. (Geliştir)</li> </ol> <p>Bu dört özgürlüğün tamamını sağlayan yazılımlar, özgür yazılımlardır.</p> <p>Özgürlük, para ile ilişkili değildir. Özgür yazılım, &ldquo;ticari olmayan yazılım&rdquo; veya &ldquo;ücretsiz yazılım&rdquo; anlamına gelmez. Özgür yazılımlar <strong>ticari amaçlarla kullanılabilir</strong>, ayrıca kopyaları ücret karşılığında <strong>satılabilir</strong>. 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.</p> <p>Özgür bir yazılım, kopyalarını edinen tüm kullanıcılara dört temel özgürlüğü sağlamalıdır. &ldquo;Kübalılar ve Kuzey Koreliler bu yazılımı kullanamaz&rdquo;, &ldquo;bu yazılım yalnızca araştırma amaçlı kullanılabilir&rdquo;, &ldquo;bu yazılımı yalnızca geliştiricisine yıllık 2000 Türk lirası öderseniz kullanılabilir&rdquo; gibi durumlar içeren yazılımlar <strong>özgür değildir</strong>.</p>