Google, güvenlik araştırmacılarının dikkatlerini çekmek amacıyla, Chrome İnternet tarayıcısının özgür sürümü olan Chromium Projesi‘nin yazılım açıklarını tespit edenlere ödeme yapmaya başladı.
Resmi Chromium blogundan iletilen habere göre MS Windows, Mac OS X ve Linux platformları için geliştirilen Chromium ve Linux tabanlı Chrome OS’da da kullanılan Chromium “kodtabanında” tespit edilecek her bir açık için 500 dolar ödemeyi taahhüt ediyor.
Daha ileri bir teşvik olarak, şirketin güvenlik uzmanları kurulu tarafından “özellikle zorlu ya da beceri isteyen” olarak kabul edilecek hatalarda hoş bir fiyat artırımı yapılarak 1.337 dolar ödeme yapılabilecek. Şirket bu ücret artırımı kararını hangi kriterlere göre belirleyeceklerine dair bir bilgi vermemiş olsa da, blog iletisi özellikle ilgileneceklerinin “yüksek ve kritik etkili hatalar” olduğuna işaret ediyor.
Esin Kaynağı Mozilla Ekibi
Bir özgür yazılım projesinde, güvenlik açıklarını kontrol eden gözleri artırmak amacıyla ücret ödemesi yapılması ilk kez olan bir şey değil. Google bu son girişiminin, Mozilla Firefox ve Thunderbird’ün yaratıcısı Mozilla Vakfı’nın bir Mozilla tişörtü ve 500 dolar ödüllü Bug Bounty programına dayanmakta olduğunu kabul ediyor. Mozilla’nın uyguladığının aksine Google, aynı hatayı tespit eden farklı araştırmacıların olması durumunda adil bir şekilde ödülü paylaştırmayı planlamıyor, bunun yerine “ilk tespit eden ödülü alır” kuralını benimsiyor.
Bununla birlikte, hata tarafından etkilenmiş belirli bir kod parçası bölümü üzerinde çalışmış olan bir kimse, yeni “keşif”lere ortam hazırlayacak hataların oluşturulmasını önlemek amacıyla, yeni başvurulardan men ediliyor.
Güvenlik açığı raporlarına verilen ödül düşüncesi, güvenlik topluluğu tarafından genellikle farklı görüşlere neden oluyor; bazıları bunu şirketlerin güvenlik araştırıcılarını “susturmanın” ve ortaya çıkabilecek hatalarda kamu mahcubiyetini önlenmenin yolu olarak görürken; bazıları kritik güvenlik kusurlarını “ifşa etme sorumluluğunu” destekleme yolu olduğunu düşünüyor. Güvenlik araştırıcılarını bahsedilen ikinci bakış açısına yönlendirmek adına, Google, üstü kapalı bir şekilde araştırmacılar tarafından şirketin dikkatine sunulmadan ortaya çıkarılan hatalarda ödüllendirme yapılmayacağını ima etmesine rağmen, “bir kez çözüldükten sonra” güvenlik açıklarının kamuya mal edilmesinin herhangi bir sorun teşkil etmeyeceğini bildirdi.
Ekonomist dergisi, 11. sayısında, Pardus Proje Yöneticisi Erkan TEKMAN ile yaptıkları röportajı yayınladı. Pardus’un başlangıcından gelişimine, pazar payından gelecek planlarına kadar herşeyin net bir şekilde konuşulduğu röportajdan çıkan haberlere gelelim.
Bildiğiniz gibi, Pardus ekibi son 5 yılda gözle görülen hızlı bir ilerleme kaydetti. 2002 yılında ulusal güvenlikle ilgili birimler milli bir işletim sistemi oluşturmak ve geliştirmek fikrine olumlu yaklaştı ve TÜBİTAK’ı görevlendirmişti. Kurumsal şirketler de bu projeden olumlu etkilenecek kullanıcıların başında geliyordu. 2005’te ilk ürün, 2007’de ise ilk sürüm çıktı.
Türkiye’deki en büyük özgür yazılım kullanıcısı MSB (Milli Savunma Bakanlığı), 2006 yılında modernizasyona gitmek istedi ve yaptığı değerlendirmeler sonrasında Pardus’u seçti. Milli Savunma Bakanlığı bugün pek çok noktada artık Pardus işletim sistemini kullanılıyor.
20 milyon dolarlık ekosistem
Pardus’un başlangıcı stratejik bir yatırıma dayanıyor ve Erkan TEKMAN’a göre stratejik denildiği zaman, 5-10 yıla yayılmasını beklemek lazım. TEKMAN, Proje’de verilecek görevlere hazır bir teknolojiye erişildiğini söylüyor ve ekliyor: “TSK kullanımı için son derece güvenli ve birtakım şeyleri kapalı olan sistem kurun, bunu uluslararası normlara göre sertifikalandırın denilse bunu yapabilecek durumdayız. Bu konuya bir örnek gerekirse, EPDK’yı söyleyebiliriz. EPDK (Enerji Piyasası Düzenleme Kurulu) bütün bilişim sistemlerini Pardus üzerine kuracak ve sadece işletim sistemi değil döküman yönetimi gibi uygulamalar da gerçekleşecek. Özgür yazılım olan Pardus’u kullanarak kuruma özel uygulamalar koyulacak.”
Erkan TEKMAN‘ın işaret ettiği bu çalışmalar, oluşturulacak ekosistemin ne kadar geniş olacağına işaret ediyor. 5-10 milyon dolar olan proje portföyünün, 2011’de 20 milyon dolar civarına çıkması tahmin ediliyor. TEKMAN’a göre, beş yıl sonra 10 bin kişilik ekosistem oluşturulabilirse, bu hacim 100 milyon dolar seviyesine yükselebilir.
2011’de 100 bin kurumsal kullanıcı
Erkan TEKMAN göç ortaklığını anlatarak başlıyor. Başka yazılımlardan Pardus’a ve özgür yazılımlara geçişi ‘göç’ olarak tanımladıklarını belirten TEKMAN: “Şu anda 15 göç ortağımız var, hedefimiz 2010 sonunda 100 göç ortağı. Hedef, kısaca, Türkiye’nin her il ve noktasında Pardus göç ortağı yapacak şirketlerin olması.” diyor. Pardus Projesi Yöneticisi, çözüm ortakları ve potansiyel müşterilerle yapılan görüşmelerin iyi geçtiğini ve hedefe ulaşmaya yakın olduklarını belirtiyor.
Yeni projelerle birlikte kullanıcı sayısı ve pazar payı hedefleri de değişiyor. Şu an 10 binin altında olan kurumsal kullanıcı sayısının 2011 yılında, sözleşmeye bağlanmış halinin 100 binin üzerinde olması planlanıyor. Tekman, 200 bin bilgisayar için göç anlaşması yapmış ve bunlardan bir kısmına göç ettirmiş olması hedefiyle, 2015’te kurumsal pazarda, toplam masaüstü kullanıcı pazarında yüzde 10’luk pazar payına sahip olunabileceğini düşünüyor.
Kurumsal şirketlerdeki bu yaygınlıktan sonra özel sektörü merak etmemek elde değil. 2011’den itibaren özel sektörün de Pardus’a yöneleceğini düşünüyor Erkan TEKMAN. 2010 yılından itibaren çıkarılacak ürünlerin özel sektör ve KOBİ’yi hedefleyen ürünler olması planlanıyor. Bu kısımda çözüm ortakları devreye giriyor. Onların iş ortaklarıyla yaptıkları görüşmeler ilerleme aşamasında büyük bir yer kaplıyor. Çözüm ortaklarının pazarlama ve çözüm sunma şekilleri, iş oluşturmada Pardus’un en önemli destekçisi.
“Pardus taşınabilir cihazların içine girecek”
Pardus, her alanda, her sektörde daha avantajlı yeni bir işletim sistemi. Kurumsal şirketlerdeki değişim, domino taşı gibi ülkedeki diğer kullanıcıları da etkileyecek. Özgür yazılım olması, özelleştirilmeye açık olması, maliyetsiz ve geliştirilebilir olması, Pardus’un yayılmasını ve kullanıcılarının birlikteliğini coşkuyla devam ettirmesini sağlayan nedenler.
Erkan TEKMAN, Ekonomist dergisine verdiği bu uzun röportajda, Pardus’un mobil pazarda da yer alacağının müjdesini veriyor: “Taşınabilir cihazlarla ilgili Pardus’un çalışmaları var. Pardus işletim sisteminin küçük ebada getirme gibi bir proje üzerinde şu an hazırlık yapılıyor. Çok düşük güç harcayan, pille çalışabilen ve sahada çok rahat kullanılabilen bir cihaz haline getireceğiz. Tablet tipi cihazlar, sayısal panolar, navigasyon sistemleri ve cep telefonları içinde kullanılabilir hale gelecek. Biz platformu oluşturuyoruz. Bazı özel ürünlerde ürünü biz geliştireceğiz. Ama yine de iş ortaklarımız bu sistemi kullanarak yeni ürünlere entegre edip kullanabilecekler.”
Bu güzel röportajın devamına Ekonomist dergisinin bu haftaki sayısından ulaşabilirsiniz.
Geçtiğimiz günlerde Genel Kamu Lisansı (GPL) Fransa’da mahkemede bir kez daha kazandı. Bu ihlal davasını özel yapan ihlal edilen kodun geliştiricileri tarafından değil, kullanıcılar tarafından açılmasıydı. Bu durum, özel kullanıcıların da Genel Kamu Lisansı’nın başarılı şekilde haklarının kamunun kendisi tarafından da başarıyla korunabileceğini gösterdi. Pek çok insanın özgür bir lisans ile EULA (Son Kullanıcı Lisans Sözleşmesi) arasındaki farkları bilmediğini göz önüne alarak, fırsattan istifade meseleyi bir kez daha, ama bu sefer grafiklerle açıklamaya karar verdik.
Öncelikle bu davada neler olup bittiğine bir bakalım. Eğitim yazılımları satın alan Yetişkinler için Fransız Mesleki Eğitim Organizasyonları Birliği (AFPA), Edu4 firmasının sattığı uzaktan eğitim yazılımının Genel Kamu Lisansı’na sahip bir VNC istemcisinin kodlarını kullandığı farketti. İşin kötü tarafı, Edu4 VNC istemci yazılımın kaynak kodunu sunmuyordu ve istemci ile ilgili tüm telif hakkı mesajlarını da silmişti.
Bu gibi durumlar biraz irdelendiğinde, genellikle ya cehalet ya da yanlış anlama yüzünden böyle olduğu görülür ve Özgür Yazılım Vakfı ve Yazılım Özgürlüğü Hukuk Bürosu (Software Freedom Law Center) olayı mahkemeye taşımaya gerek kalmadan çözer. Fakat Edu4 ile böyle olmadı. Tekrar tekrar yapılan isteklere rağmen Edu4 kaynak kodu sağlamayı reddetti, dolayısıyla iş mahkemeye taşınmak zorunda kaldı. AFPA 2002 yılında FSF Fransa’nın da yardımıyla Edu4’e dava açtı ve geçtiğimiz günlerde dava Edu4’ün aleyhine sonuçlandı.
Böylece GPL lehine bir dava daha kazanılmış oldu. GPL ihlalleri bugüne kadar birçok ülkede düzenli olarak davalara konu oldu, yani GPL’i ihlal etmek pek akıllıca bir şey değil aslında. Ancak bu durum GPL’in geçerliliğinin değil, telif hakkının geçerliliğinin tasdik edildiği anlamına geliyor.
Klasik Telif Hakkı Modeli
Bu da bizi Windows kullanıcıların program yüklerken genelde okumadan tıkladıkları Son Kullanıcı Lisans Sözleşmesi(EULA) ile GPL ve BSD gibi özgür lisanslar arasındaki farka getiriyor. Bu belgelerin işlevini basit grafiklerle göstererek bu farkı açıklamaya çalışalım.
Aşağıdaki ilk grafiğimiz, klasik telif hakkı (copyright) durumunda geliştirici ve dağıtımcılar ile kullanıcıların haklarını gösteriyor. Telif hakları yargı yetkisinin kullanıldığı yere göre değiştiriyor, ama bu grafik meseleyi çok basitleştirilmiş olarak ele almaya çalışıyor. Gördüğünüz üzere, grafik “kullanıcı” ile “geliştirici/dağıtımcı”yı birbirinden ayırıyor. Her ne kadar bu ikisi sık sık birleşse de, ikisi arasındaki net farkı da kabul etmek lazım. Geliştirici kaynak kodda değişiklik yapmak, kullanıcı ise sadece kullanmak ister, kaynak kodla işi yoktur. Dağıtımcı çalışmayı çok sayıda insana ulaştırmayı ister, kullanıcının ise böyle bir derdi yoktur.
Buradaki yeşil çubuk hakları temsil ediyor. Klasik telif hakları (copyright) söz konusu olduğunda, çalışma (iş) üzerinde değişiklik yapmak veya çalışmayı dağıtmak tamamen ürün hak sahibinin elinde olduğu için, onay almamış geliştiricinin ve dağıtımcının hiçbir hakkı yoktur. Kullanıcının ise birkaç hakkı vardır, mesela kişisel amaçlı yedekler yapabilirsiniz. Bu nedenle de yeşil çubuk kullanıcı tarafında daha uzundur.
Genel Kamu Lisansı (GPL) Modeli
Şimdi bir de GPL‘e bakalım. Mavi kısımlar kullanıcılara ve geliştirici/dağıtımcılara GPL’in verdiği ek hakları temsil ediyor. Kullanıcı olarak, o işten istediğiniz kadar çok kopya çıkarabilir ve istediğiniz arkadaşınıza verebilirsiniz. Geliştirici/dağıtıcı olarak ise, işi değiştirebilir ve toplu olarak dağıtabilirsiniz, tabii özgün işi değiştirerek ortaya çıkardığınız ürünü de GPL ile lisansladığınız sürece…
Bu grafikten “GPL ihlali” dendiğinde aslında “telif hakları ihlali”nden bahsedildiğini anlıyoruz. Eğer GPL’in şartlarına uymazsanız (Edu4 davasındaki gibi istenildiğinde kaynak kodunu yayınlamazsanız) size GPL’in sağladığı ek haklardan da feragat etmiş olursunuz. Böyle olunca, klasik telif haklarına dönmüş oluyorsunuz, yani yetkisiz olarak dağıtamıyorsunuz. Diğer bir deyişle, Genel Kamu Lisanslı işin verdiği hakları ihlal ettiğinizde dava edilebilirsiniz!
BSD Lisansı Modeli
Son Kullanıcı Lisans Sözleşmesi’ne geçmeden önce, bir de BSD Lisansı‘na bakalım. Gördüğünüz üzere, BSD lisansı GPL’e çok benzer, ama geliştirici/dağıtımcı tarafında ek bir mavi bölge vardır. Bu ek bölge GPL’in “karşılıklı” doğasını oluşturur, “siz alıp değiştirebiliyorsanız başkaları da sizden alıp değiştirebilmeli” kısmıdır. GPL’in copyleft tabir edilen “aynı şekilde sen de paylaşmalısın” şartı, BSD türü lisanslar açısından bakıldığında da GPL bir kısıtlama gibi görünür. BSD lisansı, yazılımın kodunu değiştirerek kullanan kişinin aynı lisansı kullanmasını zorunlu kılmaz, dolayısıyla geliştirici ve dağıtımcılar için daha az kısıtlayıcıdır.
Bir başka deyişle, programınızı BSD lisansı ile yayınladığınızda, karşı tarafa sizin kaynak kodlarınızı kullanma ve değiştirdiği kısmı sizinle paylaşmama hakkını da veriyorsunuz!
Son Kullanıcı Lisans Sözleşmesi (EULA) Modeli
Son Kullanıcı Lisans Sözleşmesi (EULA) ise, grafikten de göreceğiniz üzere, tamamen farklı bir şekilde işler. Özgür lisanslar size normalde sahip olmadığınız haklar tanırken, EULA klasik telif hakları bağlamında sahip olduğunuz hakları elinizden alır (kırmızı bölge). Örneğin Apple, Mac OS X kullanımını “Apple etiketli bilgisayarlar”la kısıtlar. Klasik telif hakları, yazılımı nasıl kullandığınızı önemsemezken, Apple ya da Microsoft size bazı kısıtlamalar getirebilir!
Bu durum, Son Kullanıcı Lisans Sözleşmeleri (EULA ya da Yazılım Lisans Sözleşmesi ya da avukatların icat ettiği diğer janjanlı ifadeler) ile özgür lisanslar arasındaki en önemli farktır. Biri kısıtlamaları ortadan kaldırırken, diğer yeni kısıtlamalar getirir. GPL ihlali üzerine inşa edilen her türlü dava telif hakları temeline otururken, EULA davaları başka bir sürü dengesiz etkeni de beraberinde getirir: satış sonrası kısıtları, anlaşma şartları, bağlayıcılık, yazılımınızı başkasına devredememeniz, imza, vesaire, vesaire…
Sonuç olarak, Genel Kamu Lisansı (GPL) ile ilgili davalar hep özgür yazılım ve kamu lehine sonuçlanırken; EULA davaları bazen şirketlerin lehine, bazen de EULA’nın aleyhine sonuçlanmıştır. GPL açık seçiktir. Ya kurallarına uyarsınız ya da mahkemede kaybedersiniz!
EULA yani özgür olmayan işletim sistemlerinde kullandığınız Son Kullanıcı Lisans Sözleşmeleri ise bulanıktır. Sonuçtan asla emin olamazsınız.
TÜBİTAK UEKAE bünyesinde geliştirilen ve herkesin kolayca kurup kullanabileceği, Linux tabanlı bir işletim sistemi Pardus’un son sürümü Pardus 2009, kullanıcılarla buluştu. Pardus 2009’un Kurulum CD’sinde bir masaüstü kullanıcısının gereksinim duyacağı her türlü yazılım bulunuyor. Pardus 2009, bilgisayar teknolojileri hakkında temel bilgiye sahip olan ve kişisel bilgisayarlarını klasik ihtiyaçları için kullanabilen tüm kullanıcıları hedefliyor.
Pardus Projesi’nin daha hızlı, kaliteli ve yepyeni bir masaüstü deneyimi sunan son sürümü Pardus 2009, kullanıcılarla buluştu. YALI ve PiSi’de yapılan iyileştirmeler ile kurulum hızı iki kat artan Pardus 2009, ortalama bir bilgisayara 15 dakikada kurulabiliyor. Ayrıca kurulu sistemde son yapılan güncellemeleri geri almak, silinen önyükleyiciyi tekrar yüklemek gibi kurtarma ve sorun giderme işlemleri de yeni YALI ile yapılabiliyor.
Geliştirilen önbellek sistemi ile Paket Yöneticisi ve PiSi artık çok daha hızlı çalışıyor. PiSi’nin paketleme sisteminde yapılan iyileştirmelerle artık paketler ortalama yüzde20 daha az yer kaplıyor. Öntanımlı olarak delta paket desteğinin açık olduğu Pardus 2009’da paket kurma ve güncelleme işlemleri daha az ağ bağlantısı kullanıyor ve çok daha hızlı yapılıyor. Paket bileşenlerindeki değişiklikler ile artık Paket Yöneticisi’nde istenen araçları bulmak da çok daha kolay.
Sorunsuz ve hızlı bir açılış
Pardus kullanan sistemlerin açılışı YALI’da güncellemeler ve açılış sisteminde yapılan iyileştirmelerin yanı sıra, temel teknolojileri olan PiSi ve COMAR’a eklenen yeni özellikler sayesinde çok daha hızlı gerçekleşiyor. Pardus 2009’un sunduğu yeni özellikler arasında uzak dosya sistemleri altyapısı için yapılan iyileştirmeler de göze çarpıyor.
Bağlanılan ağı hızlı bir şekilde değiştirebilen Ağ Plasma Programcığı ile sistem servislerini yönetme ve durumlarını masaüstünden takip etmeye yarayan Servis Plasma Programcığı da Pardus 2009 için yeni hazırlanan araçlar arasında yer alıyor. Bütün Pardus yönetim araçlarının yeni KDE4 teknolojileri ile uyumlu çalışacak şekilde gözden geçirilmiş ve iyileştirmeler yapılmış sürümleri de Pardus 2009’da dikkat çeken özelliklerden.
Üstün dosyalama sistemi
Pardus için yapılan geliştirme ve iyileştirmeleri içeren en son kararlı KDE sürümü KDE4, Pardus 2009 ile öntanımlı olarak geliyor. Ayrıca tüm KDE yazılımları da yeni KDE ile uyumlu en güncel sürümleri ile Pardus depolarında yer alıyor. Her bileşenin masaüstünde herhangi bir yere konumlanabildiği ve özelleştirilebildiği Plazmoid teknolojisi, masaüstü ile tam uyumlu Strigi arama teknolojisi, masaüstü ortamı ile bütünleşik efektler ve uzaktan erişim gibi pek çok özellik içeren yeni nesil dosya sistemi yöneticisi Dolphin, kullanıcıları bekleyen yeniliklerden sadece birkaçı.
Yeni nesil dosya sistemi Ext4 de Pardus 2009 ile birlikte öntanımlı dosya sistemi olarak geliyor. Ext3 ile kıyaslandığında hem dosya sistemi yetenekleri açısından hem de dosya sistemi kısıtlamaları açısından çok daha üstün olan Ext4, aynı zamanda Ext3’ten çok daha hızlı çalışıyor. Yepyeni Pardus aracı Sistem Yöneticisi ise sistem genelinde klavye haritası, sistem dili, zaman dilimi gibi temel ayarların çok daha rahat yapılabilmesini sağlıyor.
Pardus, teknolojilerindeki yeniliklerin yanında birçok güncellemeyi de içeriyor:
* KDE 4.2.4
* Linux çekirdeği sürüm 2.6.30.1
* OpenOffice.org ofis araç seti 3.1.0.6
* Firefox internet tarayıcı 3.5.1
* Gimp 2.6.6
* Xorg 1.6.2
* Python 2.6.2
* Texlive 2008
* GCC 4.3.3
* GLIBC 2.9
Neden Pardus 2009?
Herkesin kolayca kurup kullanabileceği, Linux tabanlı bir işletim sistemi olan Pardus 2009, kullanıcıya bir işletim sistemiyle yapılabilecek her şeyi sunuyor. Hızlı, güvenli ve kararlı altyapısı ile Pardus 2009, kullanıcılar için özgür yazılımın kapılarını ardına kadar açıyor. Pardus 2009, bilgisayar teknolojileri hakkında yüzeysel bilgiye sahip olan, kişisel bilgisayarlarını klasik ihtiyaçları için kullanabilen ve yapmak istedikleri için hangi uygulama ya da donanımı kullanacağını seçebilen “bilişim okur yazarı” tüm genel kullanıcıları hedefliyor. Pardus 2009 kullanmak için kullanıcının bir sistemin arka planının nasıl çalıştığı hakkında fikir sahibi olması gerekmiyor, sadece ihtiyacına yönelik uygulamayı bulabilmesi ve kullanabilmesi yetiyor.
Pardus 2009 daha yeni
Pardus 2009, kullanıcılara daha önce yaşadıkları masaüstü deneyimlerinden çok daha fazlasını yaşatacak özgür bir masaüstü ortamı olan KDE 4.2 ile birlikte geliyor. İhtiyacı olan her şeyi kullanıcının elinin altına getiren KDE, son derece hızlı ve verimliliği artırıcı bir çalışma alanı sunuyor. KDE içinde temel masaüstü ihtiyaçlarını karşılayan her türlü araç sunuluyor. Pardus 2009 içinde kullanılan KDE 4.2 sürümünün en ilgi çekecek parçalarından biri ise plazma programcıkları. Kullanıcı, Pardus 2009 ile kurulu gelen yüzlerce plazma aracından birini seçerek, bilgisayarının masaüstüne yeni işlevler katabiliyor. Hava durumu, not kağıtları veya RSS aboneliklerini masaüstünden takip edebiliyor, hatta isterse masaüstüne bir analog saat bile ekleyebiliyor.
Pardus 2009 daha kolay
Pardus 2009’un kurulumundan sonra kullanıcıyı karşılayan Kaptan programı, artık eskiye oranla çok daha becerikli. Kullanıcı, Kaptan ile masaüstünü yapılandırabiliyor, görev çubuğunun yerini, duvar kağıdı ve temasını seçebiliyor, kolayca İnternet bağlantı ayarlarını yapabiliyor. Akıllı arama seçenekleri ve çevrimiçi Pardus’a ilk adım turunu da içeren Kaptan, kullanıcıya yüzlerce özgür yazılımı içeren Pardus katkı deposunu sistemine ekleme olanağı da tanıyor.
Kullanıcının bilgisayarını daha kolay kullanmasını ve yönetmesini amaçlayan çok sayıda özgün teknolojiyle donatılan Pardus 2009, kablolu veya kablosuz ağlara bağlanmak ise diğer işletim sistemlerine göre çok daha kolay. Kullanıcı, bu yönetim araçlarının hepsini ve daha fazlasını 2009 sürümü ile birlikte daha da gelişen yönetim arayüzlerinde bulabiliyor. Gelişmiş ağ yöneticisiyle oluşturulan profillerde farklı bağlantılar için sabit IP, farklı DNS sunucusu gibi farklı ayarlara tek bir tuşla geçilebiliyor ve kolayca İnternet’e bağlanılabiliyor.
Pardus 2009 daha hızlı
Pardus kullanıcıya, paket depolarında bulunan binlerce yazılımın tek bir tıkla bilgisayara kurulabilmesi olanağını da sunuyor. Bu yazılımlar, hiçbir ayar yapmadan ve uğraşmadan, PiSi paketlerinin paket yöneticisini kullanarak, tek tuşla bilgisayara yüklenebiliyor. Kullanıcıya tek kalan ise menüde yeni kurduğu programın simgesini bulup çalıştırmak oluyor.
Pardus 2009 ile gelen en devrimci yeniliklerden biri de Pardus yazılım depolarından yapılacak güncellemeler için tüm bir yazılımın baştan indirilmesine gerek kalmaması. Örneğin, kullanıcının MP3 dinlediği programın yeni bir sürümü çıktı. Yeni sürümü İnternet’te aramak, bulmak, indirmek, eski sürümü kaldırmak ve yeni sürümü kurmak için bir sürü “next” tuşuna basmaya gerek kalmıyor. Pardus Paket Yöneticisi, tüm güncellemeleri kullancının ayağına getiriyor. Üstelik bütün programı yeniden indirmeye de gerek yok, çünkü eski sürüm ile yeni sürüm arasındaki farkı, yani küçük bir delta dosyasını indirmek yeterli oluyor. Pardus 2009’un bu yeni özelliğiyle, güncellemeler yüzde 90’a varan oranlarda küçülüyor. Bir başka deyişle Pardus 2009, kotalı İnternet kullanıcısının limitlerini de koruyor.
Pardus 2009 tam donanımlı
Pardus 2009 Kurulum CD’sinde bir masaüstü kullanıcısının gereksinim duyacağı her türlü yazılım bulunuyor. İnternet araçları, ofis paketi, her tür görsel, müzik, film için oynatıcı ve düzenleyiciler, oyunlar ve daha birçok şey. Dünyanın en çok tercih edilen özgür ofis paketi OpenOffice.org, CD/DVD yazıcısı K3b, profesyonel grafik düzenleyicisi Gimp, İnternet tarayıcısı Mozilla Firefox, çok sayıda müzik ve video oynatıcısı da Pardus 2009’la beraber geliyor.
Pardus 2009’u hemen indirmek için Pardus ftp sunucularına uğrayabilirsiniz.
Atölye bölümümüzün açılmasıyla beraber yayınlamaya başlayacağımız PyQt dersleri yazı dizisinde, Qt görsel arayüz kitaplığının Python ile kullanılabilmesini sağlayan PyQt4 ile kolay ve hızlı bir şekilde görsel arayüze sahip yazılım geliştirmeyi öğreneceksiniz. Dersleri daha iyi anlayabilmek için, öncelikle İnternet’te kolayca bulabileceğiniz Python dili ve nesne yönelimli programlama hakkındaki kaynakları okumanız faydalı olacaktır.
Neden PyQt?
Çoğu programlama dilinde, aylar önce kendi ellerinizle yazdığınız bir koda tekrar baktığınızda kodun ne yaptığını anlamakta güçlük çekersiniz. Python’da ise bu durum farklıdır. Python’un sadeliği sayesinde kodun ne yaptığını anlamak epey kolaylaşır ve bu sayede büyük projelerde kodun yönetimi kolaylaşır. Qt arayüz kitaplığının tutarlılığı, zengin belgelendirmesi ve her platformda göze hoş görünen uygulamalar oluşturmayı sağlaması, projelerimde bu kitaplığı kullanmamdaki en büyük etken olmuştur. Qt, grafik arayüz kitaplıklarının yanında pek çok yardımcı kitaplık ve araç da içermektedir. Qt ile birlikte gelen modüllerin bazıları ve araçlar aşağıda verilmiştir:
QtCore -> Grafik arayüze ihtiyaç duymayan temel bileşenler
QtGui -> Grafik arayüz
QtNetwork -> Ağ ve İnternet
QtSql -> Veritabanlarıyla bilgi alışverişi
QtOpenGL -> OpenGL kullanarak grafik kartıyla hızlandırılan uygulamalar için
QtScript -> Uygulamanıza kolayca betik desteği kazandırır
Buradaki modüllere ek olarak 2008 yazında çıkacak olan Qt’nin 4.4 sürümü Phonon ve Webkit modüllerine de sahip olacak. Phonon ile video dosyalarını görüntüleyip sesleri çalabilmeniz mümkün olduğu gibi, Webkit sayesinde standartlara en uyumlu web sayfası görüntüleme motoru da elinizin altında olacak. Bütün bu modüllerin platform bağımsız çalışacağını düşünürsek, Qt’nin bu alanda yeni bir çağ başlattığını görebiliriz.
Kurulum
Pardus kullanıyorsanız, Paket Yöneticisi’nden PyQt4 assistant-qt4 designer-qt4 ve linguist-qt4 paketlerini kurarak tam bir PyQt4 geliştirme ortamına sahip olabilirsiniz. Aynı paketler diğer dağıtımlarda da python-qt4 adıyla yer alıyor. Diğer işletim sistemleri içinse kurulum dosyalarını buradan indirebilirsiniz: http://www.riverbankcomputing.co.uk/pyqt/download.php
Şimdi PyQt4 ile gelen araçları kısaca inceleyelim:
Designer
Daha önce de belirtildiği gibi Designer, grafik arayüzleri tasarlamak için kullanılıyor. İlerleyen bölümlerde designer ile neler yapılabileceğini ayrıntılı olarak işleyeceğiz.
Assistant
Tüm Qt belgelendirmesine bu aracı kullanarak erişebilirsiniz. Assistant, ne kadar tecrübeli olursanız olun, geliştirme süreci boyunca sürekli olarak açık kalması gereken bir yardımcıdır. Normalde C++ geliştiricileri için hazırlanmış olan Assistant, programınızı Python ile yazsanız bile çok faydalıdır.
Linguist
Yüzünü pek sık görmeyeceğiniz bu araç, çok dil destekli olarak geliştirdiğiniz yazılımları İngilizce dışında dillere çeviren kişilere kolaylık sağlıyor.
İlk Uygulama: Merhaba Dünya
Bu bölümde, hiçbir işe yaramayan, sadece “Merhaba Dünya” başlıklı bir ana pencereden oluşan bir PyQt4 uygulamasını inceleyeceğiz.
Örneği çalıştırmak istiyorsanız sevdiğiniz bir metin düzenleyicisini kullanarak aşağıdaki kodları merhaba.py adlı bir dosyaya kaydedin:
Bu arada, programınızı yazarken bazı geleneklere sadık kalmanızı öneririm. Bunlara uyduğunuz takdirde kodunuz her düzenleyicide aynı şekilde görünecektir, böylece farklı bir düzenleyici kullanmanız gerektiğinde güçlük çekmeyeceksiniz. Metin düzenleyicinizde; tab karakteri yerine boşluk kullanarak, sekme genişliğini 4 boşluğa çevirerek, Python girinti kipini kullanarak ya da bunlara benzer isimdeki ayarları yaparak programınızı Python geleneklerine daha uygun yazabilirsiniz.
Şimdi programdaki satırları tek tek inceleyelim:
#!/usr/bin/python
Bu satır Python betiğimizin kolayca çalıştırılabilmesine ve diğer programlar tarafından Python betiği olarak tanınmasına yarıyor.
# -*- coding: utf-8 -*-
Bu satırda ise programımızın pek çok dilin karakter setinin bir arada kullanılmasını destekleyen UTF-8 karakter kodlamasını kullanacağını belirtiyoruz.
import sys
Burada Python’un standart sys modülünü yüklüyoruz. Qt4 programımıza konsoldan verilen parametreleri gönderebilmek için bu modüldeki argv’yi kullanacağız.
from PyQt4 import QtGui
Grafik arayüzü olan bir program yapacağımız için QtGui modülünü yüklüyoruz.
def main():
Bu satır Python yorumlayıcısına ana fonksiyonumuzu tanımlayacağımızı belirtiyor.
app = QtGui.QApplication(sys.argv)
Arayüzü olan her Qt uygulamasının olmazsa olmaz bileşeni QApplication nesnesidir. Bu satırda app adında bir QApplication nesnesi oluşturuyoruz ve buna konsoldan gelen parametreleri veriyoruz. Kullanıcılar, konsoldan verilen parametrelerle uygulamanızın kullandığı tema gibi bazı özellikleri değiştirebilirler. QApplication ve diğer tüm Qt sınıfları ile ilgili ayrıntılı bilgiyi Assistant’tan alabilirsiniz.
Burada ise ana penceremizin başlığı Merhaba Dünya yapılıyor ve ardından pencere gösteriliyor. Buradaki u”Merhaba Dünya”da olduğu gibi karakter dizilerinin başında u karakterini kullanarak İngilizce’de olmayan karakterlerin düzgün görünmesini sağlayabilirsiniz.
return app.exec_()
Grafik arayüzlü programlar, arayüzlerini sunabilmek için sürekli çalışır durumda olup işlemciyi meşgul ederler. Bu satır, programımızın çalışır durumda kalmasını sağlayan döngüyü başlatıyor.
if __name__ == "__main__":
main()
Bu satırlar ise Python betiği çalıştırılmak istendiğinde main() fonksiyonunun çalışmasını sağlıyor.
Şimdi gelelim çalıştırmaya… PyQt programımızı çalıştırmak için çeşitli yöntemler mevcuttur:
merhaba.py’yi sağ tıklayınca gelen menüde Birlikte aç > Diğer‘i seçip çalıştırılacak programın adı yerine pythonyazabilirsiniz.
Kullandığınız masaüstünün özelliklerini kullanarak bir başlatıcı oluşturabilir ve komut olarak python merhaba.pyverebilirsiniz. Böylece sadece bu başlatıcıyı tıklayarak programınızı çalıştırabilirsiniz.
Daha karmaşık bir örnek
Bu örneğimizde, metin dosyalarını açıp düzenleyerek kaydetmeye yarayan bir metin düzenleyicisi yapacağız.
Arayüzün hazırlanması
Designer’da Dosya menüsünden Yeni’yi tıklayarak bir Main Window oluşturalım. Ana penceremize Dosya, Yardım menülerini ve QTextEdit parçacığını ekleyelim. Dosya menüsünün altına Yeni, Aç, Kaydet, Çıkış; Yardım menüsünün altına da Düzenleyici Hakkında ve Qt Hakkında eylemlerini ekleyelim. Eklediğimiz QTextEdit parçacığının ekran görüntüsündeki gibi tüm pencereyi kaplaması için, parçacığı seçtikten sonra Form menüsünden Izgara içerisine yerleştir‘i seçelim. Son olarak da ana penceremizi seçip Özellik düzenleyicisinden windowTitle‘ı Düzenleyici olarak değiştirelim ve dosyayı mainwindow.ui adıyla kaydedelim.
Kodların yazılması
Öncelikle ana penceremizi hayata geçirecek kodları, daha sonra ise programı oluşturacak kodları yazalım. Qt Designer ile hazırladığımız ui dosyasını PyQt uygulamasında kullanabilmek için çeşitli yöntemler mevcuttur:
PyQt4’ün uic modülü kullanılarak .ui dosyası program açıldıktan sonra yorumlanabilir. Bu yöntem kısmen yavaş olmakla beraber sağladığı tek kolaylık projedeki dosya sayısını azaltmaktır.
PyQt4 ile birlikte gelen pyuic4 aracını kullanarak pyuic4 mainwindow.ui -o ui_mainwindow.py komutuyla .ui dosyasını ui_mainwindow.py adındaki bir Python betiğine dönüştürebilirsiniz. Dönüşüm işlemi, program çalışması sırasında gerçekleşmediği için bu yöntem çok daha hızlıdır. Bu yöntemde oluşturduğunuz python betiğini üç farklı yaklaşımla programınızda kullanabilirsiniz: basit yaklaşım, tek miraslı yaklaşım, çok miraslı yaklaşım. Yaklaşımlar hakkındaki ayrıntılı bilgiyi Assistant’ta Home > Qt Designer Manual > Using Forms and Components bölümünden edinebilirsiniz.
Bu örneğimizde, kodu göze en hoş görünen ve düzenleme yapması en kolay yaklaşım olan, çok miraslı yaklaşımı kullanacağız. Çok miraslı yaklaşımda, oluşturduğumuz bir sınıfta hem pyuic4’ün ui dosyamızdan oluşturduğu sınıfı, hem de Qt’nin bir sınıfını miras alan yeni bir sınıf oluştururuz. Sonuç olarak mainwindow.py dosyamızın ilk hali şöyle olacaktır:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from PyQt4 import QtGui
from ui_mainwindow import Ui_MainWindow
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
Kodları satır satır inceleyelim:
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
Bu satırda MainWindow adında bir sınıf oluşturuyor ve bu sınıfı oluştururken Qt’nin QMainWindow sınıfını ve ui dosyamızdan pyuic4 ile oluşturduğumuz Ui_MainWindow sınıfımızı miras alıyoruz.
Bu satırlar MainWindow sınıfımızdan yeni bir nesne oluşturulduğunda çalışacaktır. Öncelikle QMainWindow’un kendi oluşturucusunu çağırıyor ve ardından Ui_MainWindow‘un içindeki setupUi‘yi çağırarak ana pencerenin istediğimiz hale gelmesini sağlıyoruz.
Bu kodları kullanan bir main.py dosyası ise tıpkı ilk örneğimizdeki gibi olacaktır:
Bu şekilde yazdığımız programı çalıştırmak için python main.py komutunu vermemiz yeterli olacaktır. Programı bu haliyle çalıştırdığınızda göreceğiniz gibi sadece Designer’da hazırladığımız pencereyi oluşturduk ve gösterdik. Pencereye işlev katmak için mainwindow.py dosyasını aşağıdaki gibi düzenlemeliyiz:
Bu şekilde yazdığımız zaman Qt’nin autoconnect özelliği sayesinde metodlarımız otomatik olarak sinyallere bağlanacak ve dolayısıyla menüden bir eylemi tıkladığımızda bu dosyadaki ilgili metodumuz çalışacaktır. Sinyal kavramından kısaca bahsetmek gerekirse; grafik arayüzü kullanırken yaptığımız her işlem (fareyi kımıldatmak, bir yere tıklamak, klavyedeki bir tuşa basmak) bir sinyal yayar ve eğer bu sinyali bir kod parçasına bağlamışsak, sinyal her yayıldığında bağladığımız kod parçası çalışır. PyQt’de her nesnenin kendine özgü sinyalleri bulunur. Bunların ne olduğunu ve sinyal kavramı hakkındaki detaylı açıklamayı yine Assistant’tan okuyabilirsiniz. Autoconnect’in düzgün çalışması için metodun başına, sinyalin gönderdiği parametrenin türünü @QtCore.pyqtSignature(“parametrenintürü”) şeklinde belirtmelisiniz. Bunun hemen altına def on_sinyalgönderennesne_sinyalinadı(self): yazarak sinyal geldiğinde ne yapılacağını belirtiriz. Eğer bağlayacağımız sinyal birden fazla parametre gönderiyorsa, bunları virgülle ayırarak belirtebiliriz.
Dikkat ederseniz bu örnekteki programımızda dosyayı açarken ve kaydederken bu işlemlerin başarılı olup olmadığını kontrol etmedik. Dosya işlemlerinde Qt’nin mis gibi QFile sınıfı dururken Python’un dosya fonksiyonlarını kullandık. Üstüne üstlük bir de arayüz metinlerini Türkçe yaparak programımızın diğer dillere çevrilmesini engelledik. Tabi ki burada böyle göstermemin nedeni örneğin küçük boyutlu kalabilmesiydi. Siz, gerçek hayatta kullanılacak programlarda bu hataları yapmamaya dikkat edin. Bunlara rağmen metin düzenleyicimiz, QTextEdit kullandığımız için geri alma, kopyalama ve yapıştırma gibi işlemlere doğuştan sahip olacaktır.
Bir sonraki konumuz programımıza dil desteğinin ve simgelerin nasıl ekleneceği olacak. Görüşmek üzere.
Sorunsuz bir kurulum için lütfen dosyaları indirdikten sonra dosya özetlerini kontrol etmeyi unutmayın, CD’lerinizi kaliteli CD’ler üzerine, DAO modunda ve en fazla 16x hızında yazdığınızdan emin olun.
Alfa’da Ne Yenilikler Var?
Pardus 2009 Alfa ile beraber kullanıcılarımızı yepyeni bir masaüstü anlayışı bekliyor. En son KDE kararlı sürümü ile birleştirilmiş Pardus araçları, yeni donanım tanıma sistemi, gelişmiş sürücü desteği, yeni nesil dosya sistemi EXT4, depolarımızdaki yazılımların en güncel sürümleri,
KDE masaüstü ortamı 4.2.3
Linux çekirdeği 2.6.30_rc7
OpenOffice.org ofis araçları 3.1rc6
Mozilla Firefox İnternet tarayıcı 3.5beta4
Gimp grafik işleme yazılımı 2.6.6
Xorg 1.6.2pre
Python 2.6.2
GCC 4.3.3
GLIBC 2.9
ve daha pek çok yenilik Pardus 2009 sürümünde kullanıcılarımızla buluşuyor.
Tüm bu değişiklikler ile gelişirken her zamanki temel özelliklerini de ihmal etmiyor : tüm masaüstünde Türkçe yazım denetimi, İnternet araçları, ofis yazılımları, çokluortam (resim, müzik, video vb) oynatıcıları ve sayısız yazılım ile kullanıcılarının tüm gereksinimlerini karşılayacak tek bir CD olarak geliyor.
Sürümün bilinen hataları
CD’den kurulum sırasında paket kurulum işleminin başlaması uzun sürüyor
Kaptan Türkçe kurulum yapılsa bile İngilizce açılıyor
Son olarak, bu sürümün ilk deneme sürümü olduğunu bir kez daha hatırlatıyoruz. Alfa sürümleri, nihai sürüm hazırlıkları yapılırken sürüm testlerinin daha çok kullanıcı tarafından yapılabilmesi için hazırlanmaktadır. Sistem kararlılığı bozulabilir, veri kaybı yaşanabilir. Çok hızlı ilerleyen gelişme süreci içerisinde çok fazla güncelleme yapılabilir. Deneme sürümlerini incelemek istiyorsanız lütfen önemli verilerinizin yedeğini alınız ve sık sık güncelleme yapılacağını unutmayınız.
Testlerinizde karşılaştığınız hataları ve iyileştirme isteklerinizi her zamanki gibi hata takip sistemimize bekliyoruz.
Pardus Test Takımı, Pardus kullanıcılarına daha kararlı ve sorunsuz bir bilgisayar deneyimi sunmak için çalışmalarına devam ediyor. Kurulduğu günden bu yana gönülden desteklediğimiz Pardus Test Takımı ile ilgili geçtiğimiz günlerde bir aktif katılım çağrısı yapmıştık. Pardus’a katkı vermek isteyen kullanıcılarımız bu çağrıya kayıtsız kalmadı ve test takımına bu hafta içinde 16 yeni kullanıcı katıldı. Bu katılımların artması, hem test sürelerinin kısalması hem de çok daha fazla donanım üzerinde çok daha fazla kişi tarafından yapılan testler sayesinde güncellemelerin daha kararlı olması anlamına geliyor.
Pardus Test Takımı, bugün kararlı depoya giren güncellemeler ile ilgili geçtiğimiz günlerde yoğun bir çalışma yaptı. 29 Ekim Cumhuriyet Bayramı günü tamamlanan testler neticesinde paketler kararlı depoya girmeden önce bulunan bazı hatalar ile ilgili hata kayıtları açıldı ve takiplerine başlandı. Bu konuda biraz bilgi vermek gerekirse,
Gift ve Gift ağları ile bu ağları kullanmamızı sağlayan grafik arayüz olan Apollon paketinin bugüne kadar paketlerin inşa dosyalarına eklenmemiş bir bağımlılığı olduğu, Test Takımı tarafından keşfedildi. Bind Tools bağımlılığının yazılmaması nedeniyle, kararlı depoda bulunan Apollon grafik arayüzü ile gift ağları paketleri, Bind Tools’un kurulu olmadığı sistemlerde çalışmayacaktı. Bu hatanın düzeltilmesiyle Apollon ve diğer paketlerin depoya kırık olarak girmesinin önüne geçildi.
NTFS disklerin otomatik olarak sisteme bağlanmasını engelleyebilen bir hata, test ekibi üyelerinden Mustafa Kılıçtarafından tespit edildi ve Pardus hata bildirim sisteminde 8521 numaralı hata olarak raporlandı.
Bilgisayara bağlı CD-Rom ve DVD-Romların /dev dizini altında yer alan ilgili klasörlere bağlarının oluşmasını engelleyen ve bilinen ama raporlanmayan bir udev hatası test ekibi üyeleri tarafından fark edildi ve 8520 sayılı hata olarak Pardus hata bildirim sistemine bildirildi. Bu hata nedeniyle Amarok, MPlayer gibi bazı çok kullanılan programlar, öntanımlı ayarlarıyla bilgisayarın CD ya da DVD okuyucusunda bulunan veriye erişemiyorlar.
Yoğun bir haftayı bu şekilde geride bırakan Test Takımı, şimdiden bir sonraki güncelleme testi için hazırlıklarına başladı. Eğer siz de Pardus’un oluşumuna katkı vermek istiyor ama nereden başlayacağınızı bilmiyorsanız, hemen bu adresteyer alan formu doldurun ve psts _at_ pardus.org.tr adresine yollayarak gün geçtikçe büyüyen ve Pardus için çok önemli bir süreci yürüten Test Takımı’na katılın. Özgürlükİçin forumlarında da test süreçleri ile ilgili fikirlerinizi paylaşabilirsiniz.
Özgürlükİçin olarak test ekibine yeni katılan üyelere şimdiden bol testli günler diliyor ve Pardus’a yaptıkları katkı için teşekkür ediyoruz.
2007, 2008 derken artık Pardus 2009’u beklemeye başladık… Pardus 2009 hakkında az da olsa bilgi edinmiş olanlar bilir; Pardus 2009, birçoğumuzun vazgeçilmezi olan KDE Masaüstü Ortamı’nın 4.2 sürümü ile gelecek. KDE 4.2’nin beta sürümlerini şimdilik Pardus 2008’in test deposundan takip edebiliyoruz.
Beta sürümlerini deneme şansı olanların da çok iyi bildiği gibi KDE 4.2, KDE 3 serisinden ve hatta KDE 4.0 serisinden epey farklı ve birçok yenilik getiriyor. Tabii bu yenilikler de yerelleştirme ekiplerine yeni çeviri eksikleri olarak yansıyor. Tüm yerelleştirme ekipleri gibi KDE Türkiye Yerelleştirme Ekibi de bu büyük KDE sürümü için kalan kısa zaman diliminde (yaklaşık 1 ay) çok sıkı çalışarak eksiklerini kapatmaya çabalıyor.
Yerelleştirme ekibimiz çeviriler konusunda kötü denilemeyecek bir noktada. İletilerin yaklaşık yüzde 85’i çevrilmiş durumda ve SVN deposuna en çok gönderim yapan ekipler arasında da ilk 10 arasına girdik.
Tüm bu iyi haberlere karşın hâlâ çok eksiğimiz var… Bu haber yayına hazırlandığı sırada 2.731 bulanık, 16.468 çevrilmemiş ileti mevcuttu. Yoğun bir çalışmayla çevrilmiş ileti oranını kolaylıkla yüzde 90’lar oranına yükseltebiliriz.
Aslında bu haberi okuyanların arasında ekibe katılmak isteyip de neyi nasıl yapacağını bilemeyen birçok çevirmen adayı olduğunu biliyoruz :). Eğer kendinizi bu büyük sürüm için çeviri yapma konusunda istekli hissediyorsanız, yerellestirme@kde.org.tr, turkce@pardus.org.tr listelerine ya da doğrudan çeviri koordinatörüne bir e-posta göndererek sürece dâhil olabilirsiniz.
KDE 4.2’de daha iyi Türkçe desteği için haydi pamuk parmaklar klavyeye! :)…