Bir ağaç gibi tek ve hür ve bir orman gibi kardeşçesine: Debian

Debian GNU/Linux dağıtımının kurucusu Ian Murdock 28 Aralık 2015’te, 42 yaşında aramızdan ayrıldı. Ölüm nedeni hakkında fazla bilgi sahibi değilim. Sadece San Francisco’da yaşayan Ian Murdock’un polis şiddetine maruz kaldığını ve sonrasında intihar ettiğini biliyorum (http://techaeris.com/2015/12/28/debian-founder-ian-murdocks-tweets-raising-eyebrows/). Ian Murdock bir Steve Jobs değildi. Ölümünün o kadar haber değeri yoktu. Okullarda onun için anma törenleri de düzenlenmedi (bkz. http://www.kartalgazetesi.com/15679-ahmet-simsek-koleji-teknoloji-kulubu-mr-steve-jobs%E2%80%99u-anma-toreni-duzenledi). GNU/Linux’u biraz duymuş olanlar içinse Ian Murdock sadece yüzlerce dağıtımdan biri olan Debian’ın kurucusuydu.

Bill Gates, Steve Jobs, Richard Stallman, Linus Torvalds, Larry Page, Sergey Brin, Mark Zuckerberg ve Ian Murdock. Her biri eylemleriyle bilişim teknolojilerine ayrı bir yön verdi. Bu isimlerden herhangi biri olmasaydı muhtemelen bilgisayar ve internet farklı bir yönde gelişim gösterecekti. Bill Gates, kapitalizmin genel eğilimine uygun bir biçimde yazılımı metalaştırmaya çalıştı. Metalaşma, Richard Stallman’ın çalıştığı laboratuvarın kapısını çaldığında ve alıştığı hayatı paramparça ettiğinde Richard Stallman metalaşmanın bir parçası olmayı değil, GNU projesini başlatarak mücadeleyi tercih etti. Linus Torvalds GNU yazılımlarını kullanarak bir işletim sistemi geliştirmeyi denerken büyük UNIX şirketlerine ya da Microsoft’a meydan okumak aklının ucundan bile geçmiyordu. Ama Linus Torvalds, Linux’u geliştirmemiş olsaydı sunucularında bundan faydalanan birçok şirket gibi Google da kurulamayacaktı. Peki Ian Murdock’ın ve kurucusu olduğu Debian’ın bilişim teknolojileri tarihindeki yeri ne?

Öncelikle Debian’ın herhangi bir GNU/Linux dağıtımı olmadığını belirtmem gerekiyor. Dağıtımlar, “GNU yazılımlarını ve diğer özgür yazılımları bir araya getiren ve tüm bunları bir Linux çekirdeği ile beraber toplu, derlenmiş ve kurulumu kolay bir işletim sistemi olarak kullanıcılara sunmayı amaçlamış olan yazılım birliktelikleri”dir (bkz. https://linux.org.tr/dagitimlar-kilavuzu/) . Dağıtımların bileşenleri aşağı yukarı aynıdır: Linux çekirdeği, masaüstü ortamı, kelime işlem programları, web tarayıcılar ve sistemi yönetmek için çeşitli yapılandırma ve güncelleme araçları. Dağıtımları farklılaştıran ise bazen hedef kitleleri bazen de öncelikleri dolayısıyla yaptıkları tercihler ve bu doğrultuda işletim sisteminde yaptıkları ek düzenlemelerdir. Örneğin, Mint (https://www.mint.com/) dağıtımında hedef kurulum ve kullanım kolaylığı olduğundan kullanıcının kafasını karıştırmamak için bazı kararlar kullanıcı yerine dağıtımı hazırlayanlarca alınmıştır. Böylece acemi bir kullanıcı bile işletim sistemini hızla kurup kullanmaya başlayacaktır. İleri düzey kullanıcıların gereksinimleri farklı olabilir; örneğin işletim sistemini kullandığı donanıma göre optimize etmek ve bilgisayarı en ince ayrıntısına kadar yapılandırmak istiyorsa Gentoo’yu (https://www.gentoo.org/) tercih edecektir. Kullanıcı düzeyinin yanı sıra farklı gereksinimler için özelleştirilmiş dağıtımlar da vardır: Güvenlik uygulamaları için Tails (https://tails.boum.org/), görme engelliler için Vinux (http://vinuxproject.org/), çoklu ortam uygulamaları için Ubuntu Studio (http://ubuntustudio.org/) gibi.

GNU/Linux dağıtımlarının listesinin yer aldığı DistroWatch (http://distrowatch.com/) sitesindeki sıralamaya göre ilk beş sırada Mint, Debian (https://www.debian.org/), Ubuntu (http://www.ubuntu.com/), openSUSE (https://www.opensuse.org/) ve Fedora (https://getfedora.org/) dağıtımları yer almaktadır. Debian’ın bazıları için olumlu olan özellikleri farklı gereksinimi olan kullanıcılar için bir engel olabilmekte, bu da Debian tabanlı yeni dağıtımların geliştirilmesine neden olmaktadır. Birçok popüler dağıtım gibi Mint ve Ubuntu da Debian’dan türemiş dağıtımlardır (bkz. https://upload.wikimedia.org/wikipedia/commons/6/69/DebianFamilyTree1210.svg). Ayrıca Pardus (https://www.pardus.org.tr) da 2013 yılında alınan bir kararla Debian tabanlı bir dağıtımlar kervanına katılmıştır.

Debian dört özelliğe ile diğer dağıtımlardan ayrılmaktadır. Birincisi, Debian depolarında 43000’den fazla yazılım paketi vardır. Çoğu GNU/Linux dağıtımında kullanıcılar, dağıtımın depolarından arama yaparlar ve buldukları yazılımı bilgisayarlarına kurarlar. Örneğin vlc adlı ortam oynatıcısını, pdf okuyucuyu, ses montaj programını ya da LibreOffice’i bilgisayarınıza indirip sorunsuz bir şekilde (!) kurmak en fazla bir iki dakikanızı alacaktır. İkincisi Debian, “Evrensel İşletim Sistemi” adına layık olarak çok sayıda bilgisayar mimarisini desteklemektedir (https://www.debian.org/ports/). Üçüncüsü, kullanıcı ve geliştirici sayısının fazla olmasıdır (https://wiki.debian.org/Statistics). GNU/Linux dağıtımlarında kullanıcı ve geliştirici sayısının fazla olması sorunlarınıza yanıt bulmanızı da hızlandırmaktadır. Yaşadığınız sorunun bir Debian, Ubuntu ya da Mint kullanıcısı tarafından forumlarda sorulmuş ve yanıtlanmış olması yüksek olasılıktır. Sonuncu ve diğerlerine temel olan özelliği ise etik değerlere ve yazılımın özgürlüğüne bağlılığıdır. Dolayısıyla Debian derken yalnızca bir işletim sisteminden söz etmiyoruz. Debian, aynı zamanda en iyi özgür işletim sistemini geliştirme hedefi olan bir proje ve çalışmalarında belirleyici olan etik değerleri olan bir topluluktur (Zacchiroli, 2011).

Kamuoyunda özgür yazılım, iyi yürekli insanların topluma armağanı olarak değerlendirilmektedir. Aynı iyimserlikte olmasa da bir çok akademik çalışmanın temel araştırma konusu, hackerların (veya özgür yazılım taraftarlarının) gönüllü çalışmaya katılırken nasıl bir motivasyona sahip olduklarıdır. Bu konuda özellikle iki çalışmaya referans yapılmaktadır: Steven Levy’nin Hackerlar’ı ve Pekka Himanen’in Hacker Etiği. Levy’nin hacker etiği kapsamında anlattıkları bugün copyleft ile yasalaşmıştır. O yıllarda yazılımı paylaşmak etik bir yükümlülükken paylaşım günümüzde GPL ile (Genel Kamu Lisansı) yasal bir biçime kavuşmuştur. Ama bu dönüşüm kendiliğinden olmamıştır. Bir zamanlar laboratuvarlarda yaşayan bu kültür, internette nasıl gelişip serpilmiştir? Himanen’in yaklaşımında ise temel sorun, belirli bir iş etiğine sahip hackerlardan yola çıkıyor olmasıdır. Oysa bu iş etiği hackerların pratiğinde tekrar tekrar yeniden üretilmektedir. Hackerlar değiştirirken, değişmektedir. Bu nedenle, özgür yazılım projelerindeki pratikleri diyalektik bir süreç olarak değerlendirmek, pratiğin bireylerde yarattığı değişimi göz ardı etmemek gerekir.

Yazının devamında, Debian’ın gelişiminin tarihsel uğraklarını, ortak değer ve düşüncelere sahip Debian topluluğunun kendini yeniden üretim süreçlerini tartışacağım. Kurucuları her ne kadar belirli ilke ve değerler doğrultusunda Debian’ın temellerini atmış olsa da etik değerlere ve yazılımın özgürlüğüne bağlılık süreç içinde gelişmiş, netleşmiş ve yayılmıştır.

Debian’ın Doğuşu

Çok sayıda GNU/Linux dağıtımı vardır. Ama Ian Murdock’ı, diğer dağıtımların kurucularından farklı yapan çok kritik bir geçiş sürecinde özgür yazılıma yaptığı katkıdır. Richard Stallman GNU Projesini 1983’te duyurmuş, Linus Torvalds’ın 1991 yılında Linux çekirdeğini geliştirmesiyle bilgisayar kullanıcıları özgür bir işletim sistemine kavuşmuştur. Linus Torvalds, Linux’u geliştirirken GNU araçlarından faydalanmış olmasına rağmen GNU ve Linux projeleri arasında kültürel farklılıklar vardır. Debian, GNU ve Linux kültürlerinin bir sentezini oluşturmuş, özgür yazılımı daha ileriye götürmüştür.

1973 yılında Batı Almanya’da doğan Ian Murdock GNU/Linux’la 1993 yılında üniversite öğrencisiyken tanışır. O zamanlar sadece birkaç GNU/Linux dağıtımı vardır. Ian Murdock da SLS (Softlanding Linux System) adlı dağıtımı kullanmaktadır. SLS teknik olarak sorunludur; dağıtımda çok sayıda bug vardır. İlk başta bu sorunları çözmeyi dener ama sonra sıfırdan dağıtım hazırlamanın daha kolay olacağına karar verir. Murdock’a göre SLS’nin başındaki kişi her şeyi tek başına yapmaya çalıştığından iş yükünün altında ezilmektedir. Linus Torvalds’ın Linux’ta uyguladığı yazılım geliştirme yönteminin dağıtım geliştirmek için de uygulanabileceğini düşünür. Buradaki temel sorun, fiziksel olarak bir araya gelip aynı anda çalışması neredeyse imkansız olan geliştiricilerin bir dağıtımı nasıl hazırlayacağıdır. Çünkü o güne kadar kullanıcılar GNU/Linux’u disketlerdeki kurulum dosyalarından kurmaktadırlar (bugün Windows’u DVD’den kurar gibi…). Ian Murdock bu monolitik yapıyı GNU/Linux’u paketlere ayırarak ve paketlerin sorumluluğunu geliştiricilere vererek aşar. Her geliştirici, sorumlu olduğu yazılım paketini (ya da paketlerini) dağıtımın bütününe uygun hale getirecektir. Yeni dağıtım disketlerden değil, paketlerden oluşacaktır. İnsanlar, dağıtımda olmasını istedikleri yazılımlar için belirli standartları takip ederek yazılım paketleri hazırlayacaklardır. Kısacası, Debian, standartlara uyulduğu taktirde herkesin yetenekleri doğrultusunda katkıda bulunabileceği bir platformdur.

Yeni dağıtımın adı ise Ian Murdock’ın kız arkadaşının (daha sonra eşi olacaktır) ve kendi isminin bileşiminden oluşmaktadır: DEBra Lynn + Ian Murdock. Debian GNU/Linux’un ticari işletim sistemleri ile rekabet eden, kolay kurulan ve yazılım uzmanları ile ortaklaşa üretilen bir dağıtım olması hedeflenmektedir.

Bu tasarımsal karar, Unix’in aristokratik kültüründen bir kopuş anlamına gelmektedir. Geçmişte geliştirilen bir yazılımı Unix’e eklemek için, Berkeley’deki ekibe iletmek, onların uygun görüp görmeyeceğini beklemek gerekirdi. Linux’la başlayıp, Debian’la gelişen kültür ise bireyleri üretmeye ve kendilerini geliştirmeye teşvik etmektedir. Geliştiriciler Debian’a belirli bir motivasyonla yaklaşmaktadır. Ama diyalektik bir süreç söz konusudur. Coleman’a göre (2013) özgür yazılım projelerindeki ve özellikle Debian’daki yazılım geliştirme pratikleri, ritüeller ve örgütsel süreçler geliştiricilerde etik değişim yaratmaktadır. Coleman (2013) bu değişimi üç farklı sürecin bileşimi olarak değerlendirmektedir: Proje kültürünün içselleştirilmesi, fikri mülkiyet hakları kapsamındaki yasal karşılaştırmalar ve karşıtlıklar, kriz anları. Yazının devamında bunun örneklerini göreceğiz.

Debian Sosyal Sözleşmesi ve Debian Özgür Yazılım Yönergeleri

Debian’ın ilk günlerinde projeye katkıda bulunanların sayısı 20 civarındadır. Ortak değerleri özgür yazılımdır. Ian Murdock’ın 1996 yılında yazdığı Debian Manifestosu, topluluğun özgür yazılım felsefesine bağlılığını ve hedeflerini bildirmektedir (https://www.debian.org/doc/manuals/project-history/ap-manifesto.en.html).

1996 yılında Ian Murdock Debian’ın proje liderliğini özgür yazılım hareketinin tanınmış isimlerinden Bruce Perens’a devreder. Debian geliştiricilerinin sayısı 120’ye ulaşmış ve metalaşma sürecinin baskısı hissedilmeye başlamıştır. Bu atmosferde bir çok geliştirici, Debian Manifestosu’nun artık yetersiz kaldığını, Debian’ın özgür yazılım tartışmasındaki konumunu netleştirmesi gerektiğini düşünmektedir. Az sayıda geliştirici de diğer dağıtımlarla rekabet edebilmek için ısrarla Debian’ın özgür olmayan yazılımları da dağıtıma dahil etmesi gerektiğini savunmaktadır.

Özgür yazılım konusunda en uzlaşmaz isimlerin başında gelen Richard Stallman da dahil olmak üzere kimsenin özgür yazılım iş modellerine itirazı yoktur. Ama geliştiriciler arasında ticari dağıtımlara karşı tereddütler vardır. Bir konferansta Ean Schuessler, ticari bir dağıtım olan Red Hat’in kurucusu Bob Young’a, Red Hat’ın özgür yazılım ideallerine her zaman bağlı kalacağını beyan eden bir sosyal sözleşme hazırlamasını önerir. Young bunun Red Hat gibi kar etmeyi hedefleyen bir şirket için ölüm öpücüğü olacağını söyler ve reddeder.

Ean Schuessler ve bazı Debian geliştiricileri bu öneriyi daha sonra Debian’a sunar. Bu sözleşme, Debian topluluğunun özgür yazılım tartışmasındaki konumunu belirlemek için önemli fırsattır. Bruce Perens bir belge taslağı hazırlar ve Temmuz 1997’de bir ay süren e-posta konferansı sonucunda Özgür Yazılım Topluğu ile “Sosyal Sözleşme” ve Debian Özgür Yazılım Yönergeleri başlıklı iki belge yayımlanır (https://www.debian.org/social_contract.tr.html). Bu belgeler, Debian’ın resmi hareket tarzını belirtmektedir. Belgelerde, şeffaflık, açıklık, izlenebilirlik, ayrımcılık gözetmeme konuları üzerinde durulmuştur.

Sosyal Sözleşme’de aşağıdaki taahhütlerde bulunulur:

  • Debian %100 özgür kalacaktır
  • Ürettiklerimizi yine özgür yazılım topluluğuyla paylaşacağız
  • Sorunları gizlemeyeceğiz
  • Önceliklerimiz, kullanıcılarımız ve özgür yazılımdır

Burada “%100 özgür”lük ifadesi, Debian’da özgür olmayan yazılımların yer almayacağını değil, “Sistemi hiçbir zaman özgür olmayan bir bileşene gereksinim duyar hale” getirmeyeceklerini taahhüt etmektedir. Nitekim sözleşmenin sonunda da “özgür olmayan çalışmalar Debian sisteminin bir parçası olmamasına rağmen” bu yazılımların Debian üzerinde kullanımlarına olanak sağlanacağı belirtilmektedir.

Debian Özgür Yazılım Yönergeleri’nde ise erişim, kullanım, değiştirme ve dağıtım bağlamında hangi yazılımların özgür yazılım olarak değerlendirileceği yer almaktadır. Fikri mülkiyet tartışmaları, Debian topluluğun oluşumunda son derece önemli bir konudur. Debian geliştiricileri, yazılım lisanları tartışmalarına aktif olarak katılmakta, bilgi paylaşımı yapmaktadırlar. Birçok geliştirici fikri mülkiyet hakkı kanunlarını eleştirel olarak takip etmekte ve bu konulardaki yasal düzenlemelere katkıda bulunmaktadır. Bazı geliştiriciler için yasal mevzular sıkıcı konular olmasına karşın teknolojik üretime katılabilmek için yasal konularda bilgi sahibi olmaları gerekmektedir. Örneğin, hangi yazılımın Debian’a katılabilir, hangisinin katılamaz olduğuna karar verebilmek için en azından Debian Özgür Yazılım Yönergeleri’nde yazılanları anlamak zorundadırlar.

Bu hukuksal mücadele, Coleman’ın da (2013) vurguladığı gibi topluluk kültürünün oluşumunda ve geliştiricilerdeki etik dönüşümde etkili bir faktördür. Ayrıca Özgür Yazılım Vakfı (Free Software Foundation – FSF) ile Debian arasındaki tartışmalar ve anlaşmazlıklar, fikir ayrılıklarına rağmen geliştiricilerin fikri mülkiyet hakları konusundaki bilinç düzeyini yükseltmektedir.

Bu belgelerle, hem topluluk için hem de dışarıdan katılanlar için projenin hedefleri netleştirilmiştir. Bu iki belgeyi hazırlayan Bruce Perense ironik bir şekilde Debian için bir başka önemli belge olan Debian Anayasası’nın ortaya çıkmasına (https://www.debian.org/devel/constitution) da vesile olur.

Debian Anayasası

Debian 1993-1996 yılları arasında, birçok özgür yazılım projesinde olduğu gibi, projenin kurucusu tarafından yönetilmiştir. Debian’ın paketlerden oluşan modüler yapısı geliştiricilere inisiyatif vermekte, daha demokratik bir çalışma ortam sunmaktadır. Ian Murdock, gelen önerileri dinlemekte, ama son kararı yine kendisi vermektedir. Geliştiriciler arasında bir güven ilişkisi oluştuğu ve doğru teknik kararlar verildiği sürece tek kişinin yönetimi özgür yazılım projelerinde sorun yaratmaz. Ama proje büyüdükçe, alınması gereken kararlar arttıkça ve karmaşıklaştıkça proje liderinin yönetim biçimi nedeniyle sorunlar ortaya çıkabilmektedir. Ian Murdock, 1996’da Debian liderliği projenin aktif geliştiricilerinden Bruce Perens’a devrettiğinde proje liderinin görev ve sorumlulukları, yetkilerinin sınırları henüz belirsizdir. İnsanlar bir süre sonra yaşadıkları gibi düşünmeye başlarlar; önceki bölümde belirtilen belgelerde yer alan şeffaflık, açıklık, izlenebilirlik, ayrımcılık gözetmeme kaygıları yalnızca koddan değil, proje yönetiminden de beklenmektedir. Fakat Bruce Perens’in proje liderliğini daha geniş anlamda algılaması, kendini Debian’ın başkanı olarak görmesi ve geliştiricilerin işlerine müdahale etmesi topluluk içinde sorunlara neden olur. Bazı kararların tartışılmadan alınması rahatsızlık yaratır ve liderin otoritesi sorgulanmaya başlar. Bruce Perens diktatörlükle suçlanmaktadır. Bruce Perens, her kararı kendisinin almak zorunda kalmasından hoşnut olmadığını yazar ve topluluğun bir yönetim kurulu seçmesini önerir (Mahony ve Ferraro, 2007).

Projelerin, bir yönetim kurulu ya da vakıf tarafından yürütülmesi özgür yazılım dünyasındaki pratiklerden biridir. Fakat seçimin ve kişi yerine bir kurulun yönetiminin tam bir çözüm olamayacağı düşünülmektedir. Bunun yerine, görev ve yetkileri Debian Anayasası ile belirlenen bir yönetim biçimi ortaya çıkar. Debian Anayasası’yla proje liderinin, teknik komitenin, proje sekreterinin ve proje liderinin atayacağı delegelerin görev ve yetkilerinin sınırları belirtilir, bireysel geliştiricilerin haklarının altı çizilir. Anayasada proje liderinin dikkat etmesi gereken konular da yazılmıştır:

  • Kararlarının geliştiricilerin görüşüyle oluşan oydaşmayla (konsensüs) olması
  • Pratikse, gayrı resmi olarak geliştiricilerin düşüncelerini alması,
  • Lider sıfatıyla alacağı kararlarda kendi görüşlerini aşırı vurgulamaktan kaçınması

Lider, teknik konulara karar veren değil, geliştiricilerin bu kararları almasını kolaylaştıran kişidir.

Anayasada, genel kararların nasıl alınacağı, seçimlerin nasıl yapılacağı ve oyların nasıl sayılacağı belirtilmektedir. Anayasanın ilk sürümlerinden itibaren oylamalarda basit çoğunluk yerine tercihlere dayanan bir sistem kullanılmaktadır. 2003 yılında ise daha ileri bir yöntem olan Schulze yöntemi kullanılmaya başlanır. Schulze yöntemi, Debian’ın yanı sıra çok sayıda özgür yazılım kuruluşu ve özellikle de Korsan Partileri tarafından kullanılmaktadır.

Örneğin, A, B, C, D, E adlarında 5 adayımız ve 45 seçmenimiz var. Seçmenlerden bir tercih sıralama yapması istenmiş (1.C 2.A 3.B 4.E 5.D gibi) ve aşağıdaki tablo oluşmuş olsun:

Schulze1
Schulze1

Klasik bir seçim olsa, C’nin seçimi kazanması büyük olasılıktır. Fakat C’yi hiç istemeyen de çok fazladır. Schulze yöntemine göre en çok oy alan değil, en çok tercih edilen seçimi kazanacaktır. Yöntemi uygularken önce adaylar arasındaki tercihler belirlenir. A’yı B’ye tercih edenlerin sayısı 5+5+3+7=20, B’yi A’ya tercih edenlerin sayısı 8+2+7+8=25’dir. Bunu diğer adaylar için de yaptığımızda aşağıdaki matris oluşur:

 

A B C D E
A 20 26 30 22
B 25 16 33 18
C 19 29 17 24
D 15 12 28 14
E 23 27 21 31

B’yi A’ya tercih edenler daha fazla olduğu için BA alanını daha koyu yaparız ve aşağıdaki çizgeyi (graph) oluştururuz:

Schulze2

Daha sonraki adımda adayların dolaylı karşılaştırması yapılır. Buna göre, AC arasındaki doğrudan yolun değeri 26’dır. Dolaylı yolda (AD – DC) ise zincirin en zayıf halkasını alırız ve A’yı C’ye tercih edenlerin sayısını 28 olarak güncelleriz. Bunu diğer adaylar arasında da tekrar ettiğimizde aşağıdaki tablo oluşur:

 

 

A B C D E
A 28 28 30 24
B 25 28 33 24
C 25 29 29 24
D 25 28 28 24
E 25 28 28 31

Buna göre seçim sonucu, E A C B D olur (Ayrıntılı bilgi için bkz. https://en.wikipedia.org/wiki/Schulze_method).

Debian Anayasası’nda yer alan bu seçim yöntemi, klasik çoğunluğa göre daha başarılı olmasına karşın seçim Debian topluluğunda çok fazla tercih edilen bir yöntem değildir. Herhangi bir konuda karar alınması gerektiğinde ise duruma göre üç farklı yöntemden biri uygulanmaktadır: Demokratik çoğulculuk, meritokrasi ve tartışmalar sonucu oydaşma sağlamak.

Coleman (2013) Debian içi birçok krizin, bu üç yöntem arasındaki gerilimden kaynaklandığını yazmaktadır. Demokratik çoğulculuk, proje liderinin seçimi ve Debian’ın bütününü ilgilendiren kararların alınması için kullanılmaktadır. Her geliştirici eşittir. Ama teknik konularda oylamaya başvurmanın verimsiz ve uygun olmayan bir yöntem olduğu düşünülmektedir. Birçok özgür yazılım projesinde meritokrasi yani yönetim gücününün kişinin bilgi ve yeteneklerine dayandığı yönetim biçimi tercih edilmektedir. Debian’ın ilk günlerinde egemen olan yaklaşım meritokrasidir. Fakat teknik beceriye önem veren topluluklarda, görünürde herkesin eşit oy hakkı olmasına rağmen bilgi, beceri ve adanmışlık özellikleri nedeniyle bazı üyeler sivrilebilmekte, topluluk içinde hiyerarşik bir yapı oluşmakta ve diğer üyeler ustalar karşısında sessizliğe bürünmektedir. Ustalar karşısındaki sessizlik zamanla ustaların yozlaşmasına neden olabilmektedir. IRC kanallarında, e-posta listelerinde ve bug raporlarındaki tartışmalar neticesinde oydaşma sağlanması ise daha çok tercih edilen bir yöntem olmasına karşın sonuç alınması daha zor olabilmektedir. Projede şeffaflık, temel teknik kararlar, özgürlüğün anlamı ve kapsamı, sıradan geliştiricilerle yetkili geliştiriciler arasındaki ilişkiler konusunda zaman zaman tartışmalar yaşanmaktadır. Geliştiriciler ortak etik ilkelere sahiptir. Ama bu ilkelerin uygulanmasında fikir ayrılıkları çıkabilmektedir. Her zaman bir sonuca varılamasa da bu tartışma süreçleri, insanların düşüncelerini yeniden gözden geçirmesine yardımcı olmakta, böylece kişisel ve örgütsel gelişime katkı sağlamaktadır (age).

Tekrar Debian Anayasası’na dönersek… Örgüt içi demokrasi krizi projedeki görev ve sorumlulukların belirlenmesiyle aşılmıştır. Kriz ve çözüm süreçleri Coleman’ın (2013) vurguladığı gibi Debian’ın oluşumunda belirleyicidir. Krizler, kimi zaman oldukça sert ve acımasız tartışmalara neden olmasına rağmen Debian’ın gelişimi için verimli bir ortam sunmakta, örgütsel yenilenmeyi sağlamaktadır.

Bu kriz, henüz yeni atlatılmışken 1998-1999 yılları arasında Debian bir başka büyük krizle karşı karşıya kalır. Projeye katılımlar hızla artmaktadır. Eski geliştiriciler, yeni gelenlerin yetersizliğinden şikayetçidir. Sorun sadece teknik yetersizlikler de değildir. Özgür yazılım felsefesini içselleştirememiş yeni geliştiriciler projenin hedeflerine aykırı katkılarda bulunabilmektedir. Debian hesaplarından sorumlu görevli, projeye yeni katılımları durdurmak zorunda kalır.

Yeni Geliştirici Süreci

Debian’ın dördüncü lideri olan Wichert Akkerman 17 Ekim 1999 tarihinde Debian listesine attığı e-postada yeni geliştiriciler için bir katılım süreci taslağı sunmaktadır. Oldukça ayrıntılı olan YGS’de (Yeni Geliştirici Süreci), geliştirici adayının aşağıdaki şartları yerine getirmesi beklenmektedir (https://lists.debian.org/debian-project/1999/10/msg00003.html):

  • Özgür yazılım hakkında güçlü bir görüşe sahip olmalıdır.
  • Özgür yazılım hakkında güçlü bir görüşe sahip olmalıdır.
  • Uzun mesafeli telefon görüşmeleri yapmaya uygun ve istekli olmalıdır.
  • Ne yaptığını biliyor olmalıdır
  • Ona, herhangi bir aktif geliştiriciden daha fazla güven duyulmalıdır.
  • Yeni geliştiricinin, makinelerde boş hesaplar oluşturmaktan daha öte bir şey olduğunu bilmelidir.

YGS, topluluğa katılmak isteyen kullanıcı için teknik yeterlilik ve etik eğitimidir. Teknik işlerin nasıl işlediğini öğrenmek kadar etik konuların öğrenilmesi de önemli olmaktadır. Böylece yeni üyelerin topluluğa entegrasyonu, belirli davranış kodlarını ve prosedürlerini öğrenmesi ve bir güven ilişkisinin oluşması kolaylaşacaktır.

İlk madde yanlışlıkla değil, özellikle tekrarlanmıştır. Yeni geliştiricinin, herhangi bir dağıtım değil, özgür yazılımlardan oluşan bir dağıtım oluşturmak için Debian’da olduğunu bilmesi gerekmektedir.

YGS’nin birinci aşamasında, geliştirici olmak isteyen kişinin Debian’a olan ilgisini ve bulunacağı katkıyı anlatan bir başvuru yapması gerekmektedir. Başvurular Debian’daki Yeni Geliştirici Komitesi’ne gelecek ve başvuru sırasına göre Komite ya da komite yardımcılarından biri tarafından değerlendirilecektir.

İkinci aşamada, başvuran kişinin kimliği saptanacaktır. Bu aşamada Komite farklı kimlik saptama seçeneklerine başvurabilir. Örneğin pgp ya da gpg anahtarının kayıtlı bir Debian geliştiricisi tarafından imzalanmış olması kimlik tespitinde kullanılabilir. Ayrıca bu aşamada geliştirici adayıyla telefonla iletişime geçilmektedir.

Üçüncü aşamada bir Debian geliştiricisinin danışmanlığında staj başlar. Eski geliştiricilerden biri Debian’a yeniden katılmak istediğinde bu aşama atlanabilir. Geliştirici adayına kendini ispatlaması için fırsat verilecek ve danışman, adayın gelişimini takip edecektir. Danışman bu aşamada adayın yalnızca teknik bilgisini (“paketlerin hazırlanması”) takip etmekle kalmayacak, Debian Anayasası, Debian Özgür Yazılım Yönergeleri ve uygulamaları hakkındaki bilgisini de takip edecektir.

Son aşamada ise artık kullanıcının kimliği doğrulanmış, geliştirici adayı bir Debian geliştiricisi olmanın anlamını kavramıştır. Danışmanın raporu doğrultusunda YGS tamamlanır.

YGS bir test değil, süreçtir. Aday bu süreçte topluluğun değerlerini öğrenmekte, yasal konuları irdelemektedir. Örneğin adaylardan, özgür yazılımla tanışmalarını anlatmaları istenmekte, adaya özgür yazılım felsefesi ve Debian belgeleri hakkında sorular sorulmakta, buradaki ilkeleri kendi sözleriyle ifade etmesi istenmektedir. Adayın yasal konulardaki eğitim sürecinde adaya lisanslara ilgili çeşitli sorular yöneltilmektedir: “mpg123 Debian Özgür Yazılım Genelgesi’ne göre neden özgür bir yazılım değildir?” gibi. Çünkü Debian’a geliştirici olarak kabul edildiğinde bu sorular, sorun olarak karşısına çıkacaktır (Coleman, 2013).

Kısacası YGS’nin üç anlamı vardır: Kişinin kimliğinin tespiti, törensel bir giriş ritüeli ve Debian içindeki kuralların ve teknik konuların öğrenilmesi (YGS’nin güncel sürümü için bkz. https://www.debian.org/devel/join/newmaint).

***

Dışarıdan baktığımızda sadece özgür yazılım geliştiren insanları ve ürünlerini görürüz. Coleman’ın (2013) ayrıntılı biçimde tartıştığı gibi özgür yazılım geliştirme süreci bu sürecin içinde yer alanları da değiştirmektedir. Özellikle Debian gibi, insan ne yaptığının bilincinde olarak eylemde bulunuyorsa bu değişim süreci daha belirgin olmaktadır. Düşünmeden, sadece yazılım geliştiriyorsa bu değişim hem sınırlı olacak hem de krizleri aşmakta sıkıntı yaşayacaklardır.

İşletim sistemini paketlerden oluşacak bir bütün olarak tasarlama kararıyla insanlar “bir ağaç gibi tek ve hür” çalışmaya başlamış; krizler ve buna yönelik çözümleriyle “bir orman gibi kardeşçe” çalışmanın yollarını yaratmışlardır.

Rahat uyu Ian Murdock…

Kaynaklar

Coleman, E. G. (2013). Coding freedom: The ethics and aesthetics of hacking. Princeton University Press.

O’Mahony, S., & Ferraro, F. (2007). The emergence of governance in an open source community. Academy of Management Journal, 50(5), 1079-1106.

Zacchiroli, S. (2011, July). Debian: 18 years of free software, do-ocracy, and democracy. In Proceedings of the 2011 Workshop on Open Source and Design of Communication; New York, NY, USA: ACM (pp. 87-87).

 

 

6 Yorum

  1. Güzel bir yazı olmuş, bir yeri düzeltmekte fayda var.

    Geliştirici (developer) ve bakıcı (maintainer) tamamen farklı kavramlar. Geliştiricilerin tüm Debian projesi üzerinde etkin yetkileri bulunurken, bakıcıların sadece belli (bakıcılığını yaptıkları) paketleri yükleme yetkisi vardır. Sizin de bahsettiğiniz süreç aslında geliştirici süreci değil, yeni paket bakıcısı sürecidir.

    Ayrıca şunu da belirtmekte fayda var. Debian bir özgür yazılım projesi olduğundan, Debian’a katkı sağlamak için geliştirici ya da bakıcı olmanıza gerek yok, hatta bir çok iş geliştirici olmanızı gerektirmiyor. Örneğin çevirilere hemen başlayabilirsiniz soru ve sorularınızı debian-l10n-turkish@lists.debian.org adresine sorabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir