Açık Kaynak: Birlikten Doğan Güç
Bazı şeyler paylaştıkça çoğalır, öyle değil mi? İşte bu bölümde, paylaştıkça çoğalmış, ve bugün biz farkında olmasak da, dört bir yanımızı sarmış bir şeyi konuşuyoruz: Açık Kaynak Yazılım. Bozulan bir yazıcı, nasıl oldu da açık kaynak felsefesine ilham verdi? Bir adamın "sırf eğlence olsun diye" başlattığı proje, nasıl oldu da dünyanın en büyük projesi haline geldi?
18 Şubat 2021'de araba boyutunda bir keşif aracı Mars atmosferinin tepesinden, yavaaaş yavaş gezegenin yüzeyine indi: Perseverance Keşif Aracı'ndan söz ediyorum. Hatırlarsınız, bu tarihi olayı hep birlikte bir YouTube canlı yayını ile takip etmiştik. Perseverance'ın inişi yaklaşık yedi dakika sürdü. Yedi dakika boyunca, salına salına Mars'ın yüzeyine yaklaştı. Süpersonik paraşütünü açtı, ısı kalkanından ayrıldı ve havada bir gökyüzü vincini de açtıktan sonra, Perseverance sonunda Mars yüzeyine indi.
Bugüne dek ben de, YouTube kanalımda, NASA'nın Mars 2020 programı hakkında pek çok video yaptım. İniş sırasında kullanılan paraşütteki gizemli mesajları da konuştuk, Mars helikopteri Ingenuity'nin ilk uçuşunu da.
Ama şimdiye dek konuşmadığımız bir şey var: Mars 2020 projesi, aslında yalnızca NASA'nın projesi değil. Hatta bu projeye katkı sağlayan insanların çoğu, aslında NASA çalışanı bile değil. Üstelik, sizin benim gibi, binlerce sıradan insandan söz ediyorum. Peki ama, nasıl oldu da bu insanlar, böylesine prestijli bir projenin, önemli bir parçası olabildi? NASA, nasıl hiç bünyesinde çalışmamış insanları, böylesine önemli bir görev için çalıştırabildi?
Bütün bunların cevabı, iki kelimede gizli: Açık Kaynak.
Neden bahsettiğimi anlatabilmem için, hikayeyi biraz geriden alalım. Her şey, 1970'lerde, Massachusetts Teknoloji Enstitüsü'nün Yapay Zeka Araştırma Laboratuvarı'nda başladı. Bu laboratuvarda, yerel ağa bağlı bir yazıcı vardı, ve çalışanlar bir belge yazdırmak istediklerinde, yerel ağ üzerinden yazıcıya dosyayı gönderiyor ve yazdırma işlemi bittiğinde de gidip, belgelerini alıyordu. Ama bu iş her zaman, sanıldığı kadar kolay olmuyordu. Yazıcının, kronik bir problemi vardı: Kağıt sıkışması.
Yazıcıya 10 dakikada bir, kağıt sıkışıyordu. Ve herkes belgelerini yerel ağ üzerinden gönderdiği için, yazıcının başında duran, ve sıkışan kağıdı çıkaran biri de yoktu. Yani yalnızca 10 dakika kadar çalışıp duruyor, ve biri kağıt sıkışmasını farkedene kadar da hiçbir işlem yapmıyordu: Bazen 15 dakika, bazen ise birkaç saat. Ofisteki çalışanlar, ne zaman belgelerini almak için yazıcı odasına girseler, yarım kalmış bir işlemle karşılaşıyordu, ve sorunu çözüp, beklemeye devam ediyordu.
Çok sinir bozucu bir durum, öyle değil mi?
İşte, bu sorun, ofisteki bilgisayar programcılarından biri olan, Richard Stallman'ın da çok sinirini bozuyordu. Bir gün yine belgelerini almak için yazıcı odasına girdiğinde, yine aynı manzarayla karşılaştı. Yazıcıya kağıt sıkışmıştı ve Stallman'ın 1 saat önce gönderdiği belgelere, daha sıra gelmemişti bile.
İşte bu, Stallman için bardağı taşıran son damla oldu. Bir çözüm bulmalı ve bu probleme bir son vermeliydi. Ama Stallman, bir makine mühendisi değil, bir bilgisayar programcısıydı, yani yazıcıyı asla kağıt sıkıştırmayacak şekilde tamir edemezdi. Ama onun aklına başka bir çözüm gelmişti. Yazıcıyı yöneten bilgisayar yazılımının kaynak kodunda, birkaç değişiklik yapmak. Bu kağıt sıkışma sorununu çözmeyecekti, ama artık ne zaman kağıt sıkışsa yerel ağa bağlı tüm bilgisayarlara
"kağıt sıkıştı, biri gitsin ve düzeltsin" şeklinde bir bildirim ulaşacaktı. Ve Stallman, yazıcıyı yöneten yazılımın kaynak kodunda yaptığı birkaç basit değişiklikle, bu sorunun üstesinden gelmişti.
Ama, her şey, dönemin ofis aletleri konusunda öncü firması olan Xerox'un, MIT laboratuvarına son model bir yazıcı hediye etmesiyle değişiverdi. Xerox'un hediye ettiği bu yazıcı, firmanın çıkaracağı bir sonraki modelin bir prototipiydi, bu yüzden çok hızlıydı, ama prototip olduğu için bir o kadar da sorunluydu. Ve ofistekiler, tekrar kağıt sıkışması yüzünden saatlerce bekledikleri günlere geri döndüler.
Ama endişeye gerek yok. Sorunun çözümü belliydi. Stallman yine yazılımın kaynak kodunda yapacağı ufak bir değişiklikle, bu sorunu da ortadan kaldırabilirdi, öyle değil mi? Maalesef değil.
Stallman, yeni yazıcının yazılımının kaynak koduna erişmeye çalıştığında, bunun mümkün olmadığını farketti. Kaynak kodu, yani makinenin ne durumda ne yapacağını belirleyen kod satırları, yalnızca "çalıştırılabilir" formattaydı, görüntülenip düzenlemeye açık formatta değil. Bunun üzerine, Stallman bizzat Xerox'a, derdini anlatan ve yazılımın kaynak kodunu kendisine göndermelerini isteyen bir e-posta gönderdi. Ama, Xerox firmasından gelen cevap, oldukça net bir "Hayır"dı. Xerox'a göre, yazılım ve yazılımın kaynak kodu, firmanın özel mülküydü. Bu yüzden de bir başkası tarafından kaynak kodunun görülmesi, kopyalanması, çoğaltılması veya değiştirilmesi engellenmişti.
Şimdi, "Kaynak kodu ne demek, bunun kapalı ya da açık olması ne anlama geliyor?" diye soruyor olabilirsiniz. Eğer bir yazılımcıysanız, bunun ne anlama geldiğini zaten biliyorsunuzdur. Veya bilgisayarlarla aranız iyiyse, bu ikisi arasındaki farktan haberdarsınızdır. Ben şimdi bilmeyenler için bunu başka bir şekilde anlatayım.
Daha önce hiç programlama yapmamış olsanız bile, eminim hayatınızda en az bir kez yemek yapmışsınızdır, öyle değil mi? Ve eğer bir aşçı falan değilseniz, muhtemelen yemek yaparken, internetten ya da bir kitaptan bir yemek tarifine bakmışsınıdır. Hatta belki bir ihtimal eğer yemek yapmak konusunda çok da amatör değilseniz, tarife harfiyen uymamışsınızdır, yani tarifi değiştirmişsinizdir.
Mesela bir tatlı tarifinde önerilen şeker miktarını çok bulduğunuz için, şekerini azalttınız diyelim. Veya, tatlıya portakal kabuğu rendesinin çok yakışacağını düşündüğünüz için, biraz portakal kabuğu rendelemiş olun. Öyle ya, kimse bir tarife harfi harfine uymak zorunda değil. N'olmuş yani, kendi zevkinize ve ihtiyacınıza göre, tarifi biraz değiştirmişseniz? Ve diyelim ki, bir arkadaşınız, yaptığınız bu tatlıyı çok sevdi; o kadar sevdi ki sizden tarifini istedi. Tarifin değiştirilmiş halini bir kağıda yazabilir, ve arkadaşınız için bir kopyasını oluşturabilirsiniz.
İşte, bir programın kaynak kodunu da, tıpkı bir yemeğin tarifi gibi düşünebilirsiniz. İstediğiniz sonucu elde etmek için gerçekleştirmeniz gereken bir dizi adım gibi yani: Önce unu kavurun, sonra sütünü ekleyin, biraz sonra şekeri, gibi gibi. Bir programın kaynak kodu açık olduğunda, herkes onu okuyabilir, ve değiştirmek istediği kısmı değiştirip, kendi tarifini ortaya çıkarabilir ve bunu istediği gibi de kopyalayabilir.
Şimdi bir de, nezih bir restorana gittiğinizi ve çok lezzetli bir yemek yediğinizi hayal edin. O kadar beğendiniz ki yemeği, garsonlardan birini çağırıp, tarifini istediniz. Peki garson size ne cevap verdi dersiniz? "Kusura bakmayın, bu yemeğin satışından para kazanıyoruz. Bu yüzden de tarifinin başkaları tarafından kullanılmasını istemiyoruz, yemeğin tarifini paylaşamayız." Düşününce, anlaşılır bir tepki. Sonuçta, örneğin Windows işletim sistemi, Microsoft'a ait bir ürün, ve Microsoft bu ürünün satışından para kazanıyor. E bu yüzden de, kaynak kodunu kimseyle paylaşmıyor. Veya aynı şey Adobe'nin Photoshop ürünü için de geçerli. Bu, günümüzde gayet alışık olduğumuz bir durum: Bir yazılımın fikir hakları, o yazılımı yaratan şirkete aittir, öyle değil mi?
Aslına bakarsanız, 1960'lar ve 70'lerin başlarında, yani bilgisayar biliminin ve programcılığın henüz yeni yeni ortaya çıktığı dönemlerde bu durum pek de böyle değildi. Çünkü programcılık üzerine yapılan araştırma ve yeniliklerin çoğu, üniversitelerdeki akademisyenler tarafından gerçekleştiriliyordu. E, bilimsel gelişmenin ilerlemesi adına, bu akademisyenler de pek çok programın kaynak kodunu açık bir şekilde paylaşıyordu.
İşte, az önce hikayesini anlattığım Richard Stallman da, MIT'nin Yapay Zeka Araştırma Laboratuvarında çalıştığı için, vaktinin çoğunu böyle paylaşımcı bir ortamda geçirmişti. Yani Xerox tarafından talebi reddedilene dek, kullandığı programların kaynak kodlarına sorunsuzca erişebilmişti. Şimdi ise, Xerox onun bu talebini reddetmişti.
Siz Stallman'ın yerinde olsanız, ne yapardınız? Amaaan, boşver canım, bir yazıcı sonuçta, hem zaten hediye değil miydi, en kötü ihtimalle yenisini alırız, değil mi? Ama aramızda kalsın, Richard Stallman birazcık inatçı birisi. Bu yüzden, aldığı bu olumsuz cevap onu deliye döndürdü. Stallman, MIT'deki işinden istifa ederek Özgür Yazılım Hareketi'ni başlattı. Ve böylece kapalı kaynak politikalarının giderek yaygınlaştığı teknoloji dünyasına bir savaş açtı.
Savaş diyorum, ve emin olun abartmıyorum. Stallman'ın kurduğu Özgür Yazılım Vakfı'nın, fikir haklarıyla ilgili şirketlere açtığı bu savaşa, karşı cepheden de karşılık geliyordu.
Duyduğunuz bu ses, Microsoft'un kurucusu Bill Gates'e ait. Bill Gates, bu röportajda, 1974 yılında yazdığı bir açık mektuptan söz ediyor. Mektubun adı, "Hobicilere Açık Mektup", ve Gates, bu mektupta, bilgisayarla hobi olarak uğraşıp, Microsoft'a ait yazılımı izinsiz şekilde kopyalayan insanlara sesleniyor. Gates'in mektupta söylediği şey oldukça basit: Yazılım da tıpkı herhangi bir ürün gibi, üretim süreci gerektiren, emek, vakit ve bilgi isteyen bir şey. Ve kimse vaktini, bir hiç uğruna harcamak istemez. Bu yüzden de bir yazılımı kopyalamak, hırsızlıktan başka bir şey değil, Gates'e göre. Aslında o, bu mektubu, internet korsanlarına yönelik yazmıştı. Ama o yıllarda Gates'in açık kaynak yazılım konusunda da, düşünceleri pek farklı değildi. Ona göre, bir yazılımın kaynak kodunu paylaşmak, fazlasıyla anti-Amerikan tarzda bir işti ve bilişim sektörünün altını oyuyordu.
Ayrıca telif haklarından kazanç sağlanamayan bir iş modeli, Gates'e göre sürdürülebilirlikten uzaktı ve kaybetmeye mahkumdu. Ne de olsa programcılar, sırf keyif olsun diye bir projeyi uzun süre sürdüremezdi, öyle değil mi?
Bu soruya cevap vermeden önce, başka birinden daha bahsetmem gerekli.
1991 yılında, "Minix işletim sistemi kullananlar mail grubu"na bir e-posta geldi. Evet farkındayım, "bisiklet sürenler grubu" veya "çiçek yetiştiricileri grubu" gibi, biraz Facebook gruplarını andıran bir adı var bu mail grubunun. Ama birkaç bölüm önce World Wide Web'in, 1991'de genel kullanıma açıldığını söylemiştim. Ne Facebook vardı o zaman, ne de YouTube. Web henüz daha emekleme aşamasında olduğu için de, insanlar daha çok mail grupları üzerinden haberleşiyordu.
Her neyse, ne diyorduk. Hah, 1991 yılında "Minix işletim sistemi kullananlar mail grubu"na bir e-posta geldi demiştim. E-posta'da şu yazıyordu:
"Merhaba tüm Minix kullanıcıları,
Minix'ten yola çıkarak ücretsiz ve kaynak kodu herkese açık bir işletim sistemi yazmaya başladım. Tamamen hobi olsun diye yapıyorum, öyle profesyonel bir şey yaratmak gibi bir amacım yok. Deneyip, olumlu veya olumsuz yorum yaparsanız, çok sevinirim.
Hobi olarak uğraştığım için, muhtemelen elimdeki donanım dışında hiçbir donanımı desteklemeyecek."
E postayı gönderen kişi, 21 yaşındaki Finlandiya'lı bilgisayar programcısı Linus Torvalds'tı. Ve Torvalds, bu maili gönderdikten sonra, elindeki kaynak kodunu, mail grubundaki herkesle paylaştı.
İnsanlar Linus'un yazdığı bu yazılımı denediler ve yorum yaptılar. Kaynak koduna erişebildikleri için de, kendi istekleri doğrultusunda, ufak tefek kod satırları yazarak, bunları Linus'a gönderdiler.
Zamanla, giderek daha fazla insan, boş zamanlarında Linus'un hobi projesi için öneriler yapmaya, ve vakit buldukça bu proje için kod geliştirmeye başladılar. Muhtemelen onların da öyle "büyük, profesyonel bir şey yaratmak" gibi bir amaçları yoktu, sonuçta kimse kimseye para falan vermiyor, maaş falan ödemiyordu.
Yani başlangıçta herkes, bir para karşılığı olmadan, tamamen zevk için işin bir ucundan tutmuştu. Ama artık Linus Torvalds, tek başına çıktığı bu projede yalnız değildi. Hatta bırakın yalnız olmayı, işin ucundan tutan insan sayısı her geçen gün daha da artıyordu.
Hani bir laf vardır, "dünyadaki herkes bir lira verse, zengin olurdum diye", işte Linus'un projesi de birazcık böyle işliyordu. Herkes, boş vakitlerinden artırdığı ufak tefek katkılarla, imece usülü, büyük bir resim çizmeye başlamıştı. Ve nihayet Linus Torvalds'ın bir mail grubunda, "çok profesyonel bir şey yaratma amacım yok" diyerek başlattığı bu hobi projesi, onun hayallerini aştı. Onlar, yüzler, ve nihayetinde binlerce yazılımcının gönüllü katılımıyla, dünyanın en büyük açık kaynak projesine dönüştü: Yani Linux'a.
Bir hobi olarak başlayan bu proje, bugün dünyadaki akıllı cihazların yüzde doksanının altyapısını oluşturuyor. Android telefonlar, akıllı televizyonlar ve akıllı saatler, ve hatta Web'in %95'i, Linux altyapısı üzerine kurulu, yani aslında internette gezinirken de, bir bakıma farkında olmadan Linus Torvalds'ın sırf eğlence olsun diye başlattığı bu projeden yararlanıyoruz. Dedim ya, dünyanın en büyük açık kaynak projesi. Hatta, dünyayı da aşarak, Mars'a bile ulaştı.
Mars mı? Mars tabi. E hatırlamıyor musunuz, bölüme Perseverence keşif aracının hikayesiyle başlamıştık.
Perseverence ekibinden Justin Mackey'in bu sözleri, NASA'nın, açık kaynak yazılım dünyası ile ilişkisini açıklıyor. Justin Mackey, açık kaynak yazılım dünyasına teşekkür ediyor. Çünkü NASA da son dönemde projelerini giderek daha çok açık kaynak sistemleri üzerine kurmaya başladı. Sonuçta kimsenin kimseye "bu yazılımın kaynak kodunu değiştiremezsin" demediği bir dünyadan söz ediyoruz. NASA da açık kaynak dünyasında uzun zamandır var olan bazı projeleri, ihtiyaçlarına göre değiştirip, bir uzay keşif aracının yazılımında bile kullanabiliyor.
Ve, aslında NASA'yla uzaktan veya yakından bir ilişkisi olmayan yüzlerce yazılımcı da, NASA'nın açık kaynak projelerine katkıda bulunarak, yüzyılın en önemli uzay görevlerine yön veriyor.
Zaten açık kaynak hareketinin bize öğrettiği en önemli derslerden biri bu: Bir şeyi, bir fikri başkalarıyla paylaşmak, onların da diledikleri gibi kullanmalarına ve değiştirmelerine izin vermek, çoğu zaman çok daha çeşitli ve zengin sonuçlar doğuruyor. Sizin tahmin bile edemeyeceğiniz sonuçlar. Kim derdi, Linus Torvalds'ın hobi olarak başlattığı projenin, bugünkü büyüklüğe ulaşacağını?
Zaten açık kaynağın ikinci dersi de bu değil mi? Bir işi sürdürürken, karşılığında para alıyor olsak bile, o amatör heyecanı sürdürmeli, keyif almaktan vazgeçmemeliyiz. Çünkü dünyayı değiştiren projeler, bir karşılık beklentisiyle değil, keşif duygusuyla yapılanlardır.
Künye
- YazanBerkant Gültekin
- Ses Tasarım ve KurguMetin Bozkurt
- Müzik SeçimleriUmut Barış Genç