Pardus ne durumda?

Aşağıdaki yazıyı BMO Dergi için yazdım, olduğu gibi buraya da alıyorum. Tek farkı daha fazla bağlantı içermesi.

Pardus başlangıcında kendi özgün teknolojilerini geliştirme hedefinde olan bir GNU/Linux dağıtımı projesiydi. Geliştiricilerinin çok büyük bölümü TÜBİTAK çalışını olan proje kullanıcı tarafında ciddi bir heyecan yaratmıştı. Daha önce hiç GNU/Linux dağıtımı kullanmamış, özgür yazılım kavramından haberi olmayan kullanıcılar bile Pardus’la özgür yazılım dünyasına adım attılar. Bireysel kullanımda bir miktar yaygınlığı olsa bile kurumsal anlamda kayda değer bir yaygınlık elde edemedi, hatta TÜBİTAK kendi bünyesinde bile kullanmadı Pardus’u.

Ülkemizde işletim sistemi ölçeğinde bir yazılım projesinin geliştirilmesi hem özgür yazılım alanında bir bilinç oluşması, hem de bilişim dünyasındaki genç insanlara ‘ben de yapabilirim’ duygusunu vermesi açısından çok önemliydi. Etkinliklerde geliştiricileri görebildiğiniz, hatta katkıda bulunabildiğiniz bir işletim sistemi kullanmak heyecan verici bir şeydi. Proje böyle bir heyecanla devam ederken 2011 yılında geliştiricilerin neredeyse tamamı işten çıkartılınca, TÜBİTAK çalışanı olmayan hiç geliştiricisi kalmamış Pardus’un nasıl sona erdiğini hepimiz gördük. Bu süreçte yaşananlar hakkında çok az yazı yazıldığından tek bildiğimiz projenin durdurulması kararının teknik bir karar olmadığı. 2012 Mart’ında Pardus’un Yarını Çalıştayı adında bir toplantı TÜBİTAK tarafından düzenlendi ve bir şekilde Pardus’la ilgili tarafların fikirleri alındı. Daha sonra bu fikirler değerlendirilmeye alınmadı ama Pardus’un bir işletim sistemi olarak değilse de kendi şemsiyesi altında özgün yazılımlar geliştirilen bir program olarak hayatına devam edeceği mesajını daha o toplantıdan almıştık. [5], [6], [7]

İzlenen yöntem ve geldiği yer açısından çok şey söylenebilecek olsa da Fatih Projesinin ülkemizin en kapsamlı bilişim altyapısı projesi olacağı o zaman da belliydi. Yukarıda bahsettiğim toplantının ardından Fatih Projesi kapsamında okullara verilen etkileşimli tahtalarda Debian paket yöneticisini kullanan bir dağıtımın Pardus adıyla kullanıldığını gördük [8]. Bu Pardus’un o zamana kadar geliştirdiği bütün özgün teknolojilerin kullanılamaz duruma gelmesi anlamına geliyordu. Bu tarihten itibaren Pardus yeni bir yola girdi ve TÜBİTAK bünyesinde yeni çalışanlar işe alarak Debian temelli dağıtımlardan biri oldu.

Mevcut durumda Pardus çok büyük ölçüde Debian paketlerini kullanan bir GNU/Linux dağıtımı. Kendine hedef olarak özgün bir dağıtım hazırlamaktan daha çok kamuda özgür yazılımın kullanımını yaygınlaştırmayı amaçlıyor ve ülkenin ihtiyacı olan yazılımları özgür yazılımlar olarak geliştirmeyi hedefleyen bir programa dönüşmüş durumda [1]. “Bunun yapılması için Pardus tarafından geliştirilen yazılımlardan vazgeçilmesi gerekiyor muydu” sorusu üzerinde tartışılabilecek konulardan biri ama bundan sonra yapılacaklar için bu tartışmanın öncelikli olmadığını düşünüyorum.

Pardus ülkenin hangi ihtiyaçları için özgür yazılım çözümleri geliştiriyor sorusu üzerinde biraz duralım.

Yukarıda da bahsi geçen Fatih Projesi için geliştirilen Etkileşimli Tahta Arayüzü Projesi (ETAP) [2] geliştirilen yazılımların en geniş kullanım alanına sahip olanlarından biri. Yüzbinlerce sınıfta, milyonlarca öğrencinin karşısına çıkacak ilk işletim sisteminin bir özgür yazılım olması çok önemli bir konu [9]. Pardus’un geliştirdiği ETAP bence çok başarılı bir proje. İlk prototiplerinden [10] bu yana takip ettiğim ETAP Fatih projesinin bütün ihtiyaçlarına cevap verebilen modern bir araç durumunda. Umarım Milli Eğitim Bakanlığı Fatih Projesinde özgür olmayan alternatifleri değil de ETAP’ı kullanır. Bu konu işletim sistemine ve onun üzerinde koşacak yazılımlara ödenecek lisans bedellerinin çok fazla olmasından daha çok ülkedeki özgür yazılım bilincinin artması açısından önemli. İlk işletim sistemi olarak sahipli bir yazılımı çocuklarımıza göstermek hem doğru değil, hem de ülke menfaatlerine uygun değil. [11],

Kurumların Pardus veya başka bir GNU/Linux’u işletim sistemi olarak kullanabilmeleri için ihtiyaç duydukları bir diğer proje de merkezi sistem yönetimi yazılımı olan Lider/Ahenk [3]. Kurumsal politika belirleme ve uygulama konusundaki ciddi bir ihtiyaca cevap veren Lider/Ahenk [12] mevcut durumda oldukça kullanılabilir bir ürün. Engerek [13] ve Ahtapot [14] gibi diğer projelere de Pardus’un sayfasından ulaşılabilir.

Kamuda özgür yazılım kullanımına geçiş hedefinin sadece Debian paketleri ve onun üzerinde koşacak kendi yazılımlarımızla gerçekleşmeyeceğini de bilmemiz gerekiyor. İngilizce konuşan dünyadan farklı bir alfabemiz olduğunu ve tek farkımızın da bundan ibaret olmadığını unutmadan yaygın kullanılan özgür yazılım projelerinin geliştiricilerinin de yetiştirilmesi/desteklenmesi gerekiyor. Bir küçük örnekle bunu netleştireyim. LibreOffice 30 yıllık köklü bir özgür ofis programı. Bir kurumun veya kullanıcının ihtiyaçlarına cevap verebilecek durumda ve dünyada çok yaygın kullanılıyor. İngilizce konuşan dünyada yüzde ifadesi 50% şeklindeyken biz %50 olarak yazıyoruz. Bu farklı kullanım LibreOffice belgelerinde sorunsuz kullanılabiliyor çünkü bizden bir geliştirici bunu gördü ve düzeltti [4]. Bir özgür yazılım göçü sırasında böyle çok şeye ihtiyaç duyacağımız ve bunların çözümü için sadece Pardus’un yeterli olmayacağı çok açık olmalı. Tek başına TÜBİTAK’ın veya Pardus’un yapabileceklerinin sınırlı olduğunu göz önüne alıp ülkedeki özgür yazılım ekosisteminin büyütülmesinden başka bir çözümün olmadığını düşünüyorum.

Bugün itibariyle Pardus hedeflerine ulaşmış değil. Henüz kendi projelerine kurum dışından katkı alamadığı gibi sürüm politikaları ve geliştirici belgeleri kamuyla paylaşılmış değil. Bunları gerçekleştirmek için çabalar var ama hızlandırılması ve yoğunlaştırılması gerektiği de açık.

Pardus’un kat edeceği uzun bir yol var ama ülkemizde özgür yazılımın kullanımının arttırılması açısından çok büyük önem taşıyor.

22 Mart 2017

Posted In: Debian, etkileşimli tahta, Gezegen, Özgür yazılım, pardus, tubitak

10 Dakika 7 Saniyede Kendi Github Sunucumuzu Kurmak

"21 Günde Python Öğrenin" veya "24 Saatte Java" gibi kitapları görmüşsünüzdür ve sonuç, hiç de kitabın adında yazdığı gibi olmaz. Bu başlıkta yazan da aslında doğru değil ama bir farkla: zaman kısmı doğru, GitHub kısmı yalan... Aslında GitHub değil, web arayüzü GitHub'a çok benzeyen, kendi Git sunucumuzu kuruyoruz.

Saat tutup denedim ve gerçekten de 10 dakika 7 saniye sürdü. Ve daha da güzeli, bütün yapacağımız, sadece 2 komut yazıp basit bir web formunu doldurmak...

Bu bilişime fazla kafa yorarsan, sıyırırsın
Aslında yapılacak işlem hiç de basit değil. Birazdan yazacağım birkaç basit komutu çalıştırdığınızda, arkaplanda şunlar gerçekleşecek:
  • host makinede, dışarıya kapalı sanal bir network oluşturulacak
  • bir Linux container (LXC) oluşturulacak ve ayarlanacak
  • veritabanı sunucusu kurulacak
  • Reverse proxy olarak çalışacak bir Nginx sunucu kurulacak ve ayarlanacak
  • Git sunucu kurulacak
  • iptables ile NAT ayarları yapılacak
  • Self signed SSL sertifikası oluşturulacak
  • vs vs vs
Şimdi bütün bu adımları detaylı detaylı yazarsam ne olur? Değerli bir büyüğümüzün dediği gibi kafayı sıyırılsınız. Büyüğümüz ne demiş bakalım: "Bu bilişime fazla kafa  yorarsan sıyırırsın, nimetlerinden kullanıp yararlanıp işini göreceksin. Kafayı taktın mı o zaman işin kötü."                        
                                                  
"Yok, ben illa kafayı sıyırmak istiyorum. Olayın detaylarını da öğrenmek istiyorum" dersen, kaynak kodlar açık. Dilediğin gibi inceleyebilirsin. Takıldığın yer olursa bana email at.              
                                                  
Bulut sistemi dedikleri bir şey var, herkes oraya bir şey atıyor              
Yalnız bu işi yapabilmek için tek bir şey gerekiyor: Debian Jessie kurulu bir makine...                                         
                                                  
"Ya şimdi kim uğraşacak Debian kurmakla" dersen, cevap yine sayın büyüğümüzden geliyor: "Bulut sistemi dedikleri bir şey var, herkes oraya bir şey atıyor gelen oradan işine yarayanı alıyor kullanıyor ben böyle anlıyorum. Sistematik bir şey yok. Abur cubur dolduruyorsun, herkes ihtiyacını oradan alıyor ama hiç de karışmıyor. İstediğini buluyorsun"             
                                                  
Siz de öyle yapın. Ben öyle yaptım. Gittim Digital Ocean'a, açtım Debian Jessie bir makina... Beyin bedava...

"Yok ben yine arıza çıkaracağım. Bulutsuz olmaz mı" dersen, sanal makineye, Debian Jessie kurup deneyebilirsin. Yalnız (swap dahil) minimum 1 GB RAM ayırmanız gerekiyor ve (i386 değil) AMD64 mimarisini kullanın.

Bildiğiniz gibi bilgisayarlar Binali sistemiyle çalışır
Şimdi sıra geldi mucizevi komutlarımıza... Debian Jessie makineye root olarak bağlandıktan sonra şu 2 komutu veriyoruz:

wget https://raw.githubusercontent.com/emrahcom/emrah-jessie/master/installer/ej
bash ej ej-gogs

Birinci komut, kurulumu yapacak olan Bash scriptini indiriyor. İkinci komut ise kurulumu yapıyor. Script işini bitirdikten sonra web tarayıcımızı açıp IP adresini kullanarak sunucuya bağlanıyoruz. Açılan formda sadece 2 yeri değiştirmeniz gerekiyor: Domain ve Application URL

Eğer bu sunucu için bir alan adı kullanmayacaksanız, "your.domain.name" yazan yerlere, sunucunun IP adresini yazabilirsiniz. Bu kadar...

Başka numaraların var mı
Evet, var. Aynı yöntemle kendi Gmail sunucunuzu, canlı video yayını yapabileceğiniz stream sunucunuzu, web panelden yönetebileceğiniz PowerDNS sunucunuzu veya web sitenizin önüne koyabileceğiniz WAF (web application firewall) sunucunuzu da kurabiliyorsunuz. Her biri yaklaşık 10 dakikada ve 2 komutla oluyor. Detaylar, benim GitHub hesabında var ama siz yine de detaya girmeyin, kafayı sıyırmayın.

selamlar

21 Ocak 2017

Posted In: Debian, git, github, linux, lkd

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).

 

 

27 Şubat 2016

Posted In: Debian, Emek, gnu/linux, Ian Murdock, Örgütlenme, Özgür yazılım, Teknoloji Tarihi

Etkileşimli tahtalarda GNU/Linux

Fatih projesi ülkemizin eğitim hayatını çokça değiştirdi. Etkileşimli tahtalar ve tabletler neredeyse bütün sınıflara girdi. Hem bir bilişimci hem de bir baba olarak projede benim de eleştirdiğim çok şey var ama şimdi yazmak istediğim konu başka.

Hepimizin malumu fatih projesinde kullanılan işletim sistemi çok önemli. Bir kısmı hayatlarındaki ilk bilgisayarı görecek olan çocukların karşısına özgür olmayan bir işletim sistemi çıkarmak ve bütün eğitim hayatları boyunca onu karşılarında tutmak onları "lisans bedeli, krekli yazılım, kırılmış yazılım, izinsiz kullanım, virüs, antivirüs" kavramlarıyla büyütmek demek olacaktır. Debian, Pardus veya Android ise sunacağı teknik olanakların yanında çocuklarımızın "özgürlük, sınırsız kullanım, özelleştirebilme, paylaşım" gibi kavramlarla büyümelerine imkan verecektir.

Her ne kadar etkileşimli tahtalarda windows ve linux yüklü olsa da açılış ekranında işletim sistemini dokunarak seçmek mümkün olmadığından pratikte sadece windows kullanılıyor. İşin doğrusu bir usb klavye takarak linux tarafı seçilse bile üzerinde neredeyse hiç bir eğitim uygulaması bulunmadığından kullanılacak halde de değildi.

Geçen ay TÜBİTAK'ta katıldığım bir toplantıda etkileşimli tahtalar için hazırlanan KDE arayüzünü inceleme fırsatı buldum. Hiç kolay beğenmeyen biri olarak Pardus ekibinin üzerinde çalıştığı bu arayüzü çok başarılı bulduğumu söylemeliyim. Milli Eğitim Bakanlığının etkileşimli tahtalarda GNU/Linux kullanmayı tercih etmesi ülkemizin önünü açacak büyük bir hamle olacaktır diye düşünüyorum.





12 Temmuz 2015

Posted In: Debian, fatih, Gezegen, kde, linux, pardus, tahta

apt-get Komutunun Güzellikleri – 2

Birkaç ay önce aynı adı paylaşan bir başka yazıda yazdıklarıma benzer şekilde bugün yine apt-get ile yapılabilecek bir başka numara öğrendim, geç öğrenmişsem affola 🙂 Problemimiz şu olsun: sistemde var olan bir paketi kaldırırken aynı zamanda başka bir paketin de yüklenmesini sağlamak. Normal şartlar altında sistemden bir paketi kaldırırken remove/purge parametresini, sisteme yeni bir paketi kurarken de install paremetresini kullanırız:

# apt-get install libreoffice-kde
# apt-get remove libreoffice-gtk

Yukarıda örnek verdiğim iki komutu aslında bir arada kullanmak mümkünmüş:

# apt-get install libreoffice-kde libreoffice-gtk-

Veya;

# apt-get remove libreoffice-gtk libreoffice-kde+

Aslında yukarıdaki her iki komutun da yarattığı sonuç aynı fakat yaptıkları işler farklı: ilk komut libreoffice-kde paketini kurarken sonuna ‘-‘ işareti koyduğumuz libreoffice-gtk paketini sistemden kaldırıyor, ikinci komut ise libreoffice-gtk paketini sistemden kaldırırken sonuna ‘+’ eklediğimiz libreoffice-kde paketini sisteme kuruyor.

27 Ekim 2014

Posted In: apt-get, Debian, Gezegen Yazıları, linux, ubuntu

apt-get Komutunun Güzellikleri

Debian tabanlı dağıtımlarda paket yönetim işleri için kullanılan apt-get’in birkaç farklı parametre ile çalıştırıldığını bilirsiniz. Bunların en sık kullanılanları olan install ile yeni paket kurulumu, remove ile kurulu paketlerin kaldırılması, upgrade ile kurulu paketlerin güncellenmesi gerçekleştiriliyor.

Aynı anda hem sistemde var olan paketlerin güncellenmesi, hem de yeni paketlerin kurulumu için ayrı ayrı önce apt-get upgrade, sonra apt-get install çalıştırmak yerine tek seferde “apt-get upgrade <yeni paket adı>” şeklinde bir komut çalıştırılabileceğini de 8 yıllık apt-get geçmişimde ilk defa bugün farkettim 🙂

                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...

5 Ağustos 2014

Posted In: apt-get, Debian, Gezegen Yazıları, Kubuntu, linux, Özgür yazılım, ubuntu

Debian 6.0’ı (Squeeze) 7.0’a (Wheeze) Yükseltmek

Linux’u özellikle Debian GNU/Linux’u sevme nedenlerimden biri, ana sürümler arası yükseltme işlemini başarılı bir şekilde yapabilmesi. 2009 yılında aldığım netbook, Debian 5 ile başlayan yolculuğuna sadece güncellemeler sayesinde Debian 7 ile devam ediyor. Daha önce bu güncelleme işleminde çok sistem...

The post Debian 6.0’ı (Squeeze) 7.0’a (Wheeze) Yükseltmek appeared first on Bahri Meriç CANLI Kişisel Web Sitesi.

7 Mayıs 2013

Posted In: apt, apt-get, cdn.debian.net, Debian, linux, Squeeze, Wheeze

Debian GNU/Linux üzerinde Dropbox kurulumu

Uzunca bir süre yüklemeyi denemeye vakit ayıramadığım için kullanamadığım Dropbox’u kullandığım masaüstü ve netbook cihazlarıma yükledim. Dropbox sitesinde Ubuntu  paketlerini sunuyor. Fakat bir şekilde Debian ile Ubuntu bağımlılıkları aynı olmasına rağmen paket sürüm numaraları  sebeb ile Debian üzerine Dropbox kurulamıyor....

The post Debian GNU/Linux üzerinde Dropbox kurulumu appeared first on Bahri Meriç CANLI Kişisel Web Sitesi.

14 Mart 2011

Posted In: Debian, Dropbox, gnu/linux, linux, ubuntu

Bilgisayarlarınızı kontrol edin

Uzun bir süredir kullanıcı parolarını ele geçirip sistemden sisteme SSH ile atlayan bir takım art niyetli ve/veya meraklı kişiyi takip ediyorduk. Onlar parola ele geçirdikçe ilgili kullanıcıların hesaplarını kilitleyi parolarını değiştirmelerini sağlıyorduk. Ara sıra oynadığımız bu köşe kapmaca fazla sık olmadığı için elle tutulur çok fazla önlem almamıştık.

Bu son bir haftalık bir süre içinde, ele geçirilen kullanıcı hesaplarından girilip, yerel açıklardan faydalanarak pek çok makinada root olunduğunu fark ettik. Root olduktan sonra saldırganımız, ssh sunucusunu ve istemcisini kendi getirdiği sürümlerle değiştiriyor; aynı makinaya bağlanan başka kullanıcıların parolalarını topluyor. ssh istemcisini değiştirerek de, bu ele geçmiş makina üzerinden yapılan diğer ssh bağlantılarındaki parolaları da kaydediyor.

Olayın çapı oldukça geniş, ele geçirilen makina üzerinden geçerek bağlantı kurulan tüm diğer makinalar da ele geçirilmiş. Bunun içinde sunucular, asistanların ve hocaların ofislerindeki makinaları, ve bağlantı kurdukları evlerindeki diğer makinalar da var. Bize yapılan saldırının aynısının kendi makinalarınıza yapılıp yapılmadığına bakmak için aşağıdaki komutları kullanabilirsiniz. Eğer komutlar ekrana çıktı veriyorsa siz de etkilenmişsiniz demektir.

strings /usr/sbin/sshd|grep "password auth from"
strings /usr/bin/ssh|grep "password auth to"
Temiz bir makinada bu komutlar çıktı vermiyor. Ancak komutun çıktı vermemesi makinanıza girilmemiş olduğunu garantilemiyor. Farklı bir yöntem kullanılarak bilgisayarınıza girilmiş olabilir. Eğer komutlar çıktı veriyorsa bizim makinalarımızda kullanılan yöntem ile sizin makinanıza da girildiğinden emin olabilirsiniz.

Saldırganımız çaldığı paroları /usr/share/doc ve /usr/share/locale altındaki dosyalarda şifrelenmiş bir biçimde tutuyor. "file" komutu bunları "data" dosyası olarak gösteriyor. Şüpheli dosyaları aramak için aşağıdaki komutları kullanabilirsiniz. Kurduğunuz paketlere göre /usr/share/doc altında bazı "data" dosyaları bulunuyor olabilir, bunlara tek tek bakarak şüphelerinizi giderebilirsiniz.

find /usr/share/locale/ -exec file {} \; | grep ": data"
find /usr/share/doc/ -exec file {} \; | grep ": data"

İşletim sisteminin farklı olmasının pek faydası olmadı bu saldırıda. Debian ve Ubuntu'nun farklı sürümlerinin yanı sıra Gentoo makinalara da girildiğini tespit ettik. Pardus ya da Fedora gibi başka bir dağıtım kullanıyor olmanız sizi tek başına korumaz; parolanız ele geçirildiğinde sudo ile root olunabilir. Ya da -şimdilik- sadece hesabınızı etkileyen bir keylogger ile root parolası ele geçirilebilir. Neler yapabileceğinizle ilgili aşağıda öneriler var.

Eğer makinanıza girilmişse, makinanıza tekrar güvenebilmek için sıfırdan kurulum yapmalısınız, çünkü saldırgan root olduktan sonra nereye nasıl bir arka kapı koyduğunu bulamazsınız. (Bazı şeyler bulsanız bile hepsini bulduğunuzdan %100 emin olamazsınız).

Yeni kurulum yaptıktan sonra bu tarz bir saldırıdan korunmanın yollarını şöyle sıralayabiliriz:

  • Kurulu paketlere güncelleme geldiğinde bunları hemen uygulayın. Servisleri ya da makinayı yeniden başlatmanız gerekiyorsa bunu ertelemeyin. Kullandığınız dağıtımın güvenlik duyurularını takip edin. (Pardus, Debian, Ubuntu)
  • SSH bağlantılarını sadece sizin kullanıdığınız bir kaç IP adresine sınırlayın.
  • Parola ile girişleri devre dışı bırakın: sadece anahtar çiftleri ile girişe izin verin. Evet çok sert bir önlem ama, IP kısıtlaması uygulayamayacağınız kadar çok kullanıcınız varsa şart. iki yıl köşe kapmaca oynadıktan sonra makinaların kırılabilme eşiğini oldukça yükseltecek olan bu önlemi alacağız, sizlere de tavsiye ederiz. Böylelikle basit bir keylogger kullanarak yakalanan parola ile makinaya girilemeyecek, girilebilmesi için anahtar çiftindeki özel anahtar dosyasının da ele geçirilmesi gerekecek. Nasıl yapacağınızı öğrenmek için SSH ile anahtar çifti kullanımı yazısı faydalı olacaktır.
  • Tek kullanımlık parolalara geçin: diğer iki önlemle birlikte de kullanılabilir. Özel anahtar dosyasının ele geçmesi senaryosuna karşı da korunmuş olursunuz. tek kullanımlık parola(one time password) yazısı yardımcı olabilir.

Son olarak siz de bir kurban iseniz; makinası ele geçirilen sistem yöneticileri için terapi grubumuza bekleriz :)

4 Şubat 2009

Posted In: Debian, Gezegen, güvenlik, linux, oi, ssh

Zemberek’in dağıtımlardaki durumu

Pek çok yerde dağıtımlarda Zemberek'in nasıl kurulacağına dair sorular ya da belgeler görüyorum. Onun için bunları tek yerden ulaşılabilir bir döküman haline getirmek istedim.

Pardus: Zemberek-server KDE ve GTK/GNOME etkileşimleriyle beraber entegre edilmiş durumda. Openoffice.org eklentisinin de eski bir sürümünü içeriyor. Firefox ve Thunderbird kullanırken Zemberek ile yazım denetimi yapılabiliyor.

Gentoo: Zemberek kütüphanesi, Zemberek-server KDE ve GTK/GNOME etkileşimleriyle beraber entegre edilmiş durumda. Openoffice.org eklentisi ve Firefox Zemberek eklentisi (MozZemberek) layman ile geliştirici depomu kullanarak kurulabilir. Kurulum ile ilgili kişisel günlüğümde yazdığım yazılar[1][2][3] incelenebilir.

Arch Linux: Zemberek kütüphanesi, Zemberek-server KDE ve GTK/GNOME etkileşimleriyle beraber entegre edilmiş durumda. Firefox kullanırken Zemberek ile yazım denetimi yapılabiliyor. Openoffice.org eklentisi programın kendi eklenti yöneticisi ile kurulabiliyor. Arch Linux paketleme çalışmaları için Samed BEYRİBEY'e ve Alper KANAT'a teşekkürler. Alper KANAT'ın duyurusuna http://raptiye.org/blog/2008/10/13/arch-linuxda-turkce-yazim-kontrolu/ adresinden ulaşılabilir.

Lapis Linux: Zemberek-server KDE ve GTK/GNOME etkileşimleriyle beraber entegre edilmiş durumda. Openoffice.org eklentisi de birlikte geliyor. Firefox ve Thunderbird kullanırken Zemberek ile yazım denetimi yapılabiliyor.

Debian ve Ubuntu için Rail ALİEV'in çalışmaları sürüyor. Tamamlandığında Zemberek kütüphanesi, Zemberek-server KDE ve GTK/GNOME etkileşimleri ve Openoffice.org eklentisi olacak. Bu iki dağıtım için de bilgileri tamamlandığında vereceğiz.

1: http://serkank.wordpress.com/2008/07/19/zemberek-gentoo-ile-bulustu/
2: http://serkank.wordpress.com/2008/11/22/zemberek-ooo-eklentisi-layman-ile-kurulabilir/
3: http://serkank.wordpress.com/2008/12/28/zemberek-firefox-eklentisi-layman-ile-kurulabilir/

Düzenleme: Pardus paketi kaldırıldıktan sonra Zemberek Openoffice eklenti listesinde görünmeye devam ediyor(muş)
Ekleme: Lapis Linux bilgileri
Ekleme: MozZemberek Gentoo için paketlendi.

26 Aralık 2008

Posted In: archlinux, Debian, gentoo, pardus, ubuntu, zemberek

Twitter Auto Publish Powered By : XYZScripts.com