GNUMail.app, taşınabilirlik kanıtı

ArticleCategory:

Applications

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech 

en to tr Sibel Karabulut 

en to tr Burcu Tunga 

en to tr Şükrü Kocakaya 

AboutTheAuthor

Georges, uzun zamandan beri bir UNIX kullanıcısıdır. Bir NeXTSTEP aşığı olarakta, NeXTSTEP'i görsel ve şemantik olarak sunmayı amaçlayan bu bedava projelerin de tam bir düşkünüdür.

Abstract:

GNUMail.app NeXT Mail.app'nin GNUstep ve MacOS X altında çalışan bir klonudur. Tasarımı, aynı kaynak kodu değişik ortamlarda kullanmamıza olanak sağlıyor. Bu yüzden bu harika yazılım GNUstep ve MacOS X arasında taşınabilirliğin bir kanıtı olarak önümüzde duruyor.

ArticleIllustration:

mail

ArticleBody:[The article body]

Bir Zamanlar...

80'li yılların sonlarında, yeni bir işletim sistemi ortaya çıktı, NeXTSTEP. Bu işletim sistemi daha önce o zamana kadar hiç görmediğimiz şeyleri sunuyordu. Diğer bir çok şeyin yanında, kullanıcılara ilk grafik mail istemciyi, Mail.app'yi sunmuştu. Mail.app, sadece grafik arayüzlü mail istemci olmakla kalmıyor, aynı zamanda resim, ses, vb. gibi değişik tipte verileri de işleyebiliyordu.
NeXT, bir kaç yıl sonra NeXTSTEP'i diğer ortamlara taşımaya karar verdi. Böylece OpenStep doğdu.
Bu tarihten sonra, insanlar aynı felsefe (ortamlar arası taşınabilirlik) ile yola çıkarak bedava yazılım projeleri üzerinde çalışmaya başladılar. En büyük proje tabi ki, bize OpenStep'in bedava uygulamasını sunmayı amaçlamış olan GNUstep'dir. Böylesine bir projenin gerektirdiği işyükünü dikkate aldığımız zaman, GNUstep üzerinde çalışan insanların ne kadar harika, ne kadar büyük bir iş çıkardıklarını görüyoruz.
Diğer bir büyük çalışma ise Window Maker dır. Bu pencere yöneticisi aynı zamanda GNUstep projesinin de bir parçasıdır. Her ikisininde (GNUstep, WindowMaker) sanaldoku yörelerini ziyaret ettiğinizde, bedava olan bu harika ürünler hakkında öğrenmek istediğiniz herşeyi bulabilirsiniz. Bu ürünler hakkında bilgi sahibi olmak için, aynı zamanda LinuxFocus'taki şu eski yazılara da bakabilirsiniz: Window Maker, NeXTStep'in ruhu ve GNUstep, açık kaynak kodlu OpenStep.
Tarih dersine, "çocuğunun" ne kadar gelişmiş olduğunu unutmayan NeXTSTEP'in kurucusunu da ekleyerek, son verelim. NeXTSTEP'i Apple'a sattı (ki kendi Apple kurucularından biri), "eve" döndü ve Apple'ın "geçici" patronu oldu. Bu gelişmeler bize, Apple tadında bir NeXTSTEP olan, MacOS X'i getirdi. Böylece elimizde bir çok ortak noktaları olan GNUstep ve MacOS X'imiz oldu. GNUstep ve MacOS X'in sahip oldukları ortak noktalar yüzünden, uygulamalar arasında, kaynak kodunda uyumluluk beklenebilir. GNUstep bir çok ortamda çalışabildiğinden (az veya çok kararlı bir şekilde), bu da taşınabilirliği mümkün kılmaktadır. Bilginiz için, GNUstep, BSD'lerin ve Linux dağıtımlarının bir çoğunda, Solaris, Irix..ve hatta Windos üzerinde bile çalışabilmektedir.
Hala bazı projeler üzerinde çalışmalar devam ediyor: Darwin'in (OS X'in çekirdeği) ix86 üzerine taşınması http://gnu-darwin.sourceforge.net/.
Sanaldoku yöresinin adindan da anlaşılacağı gibi, aynı şekilde http://www.linuxstep.org/
Ayrıca,http://simplygnustep.sourceforge.net/ 'de CD'den açabileceğiniz bir ISO dosyası olan basit bir GNUstep de var. Diğer bir deyişle, herşeyi yüklemenize gerek yoktur.

Not: MacOS X üzerinde GNUstep'e veya X Window sistemine gereksiminiz yoktur. Biliyorum, bu apaçık ortada, ancak insanlar bana sordukları için bu konuda israr etme gereğini duydum ;-)
Önemli olan nokta şu : Eğer bir çok farklı UNIX kullanıyorsanız, X pencere sistemi altında çalışan uygulamaların taşınabilirliği önemli bir konu olmaktadır. Bu, hangi UNIX'i kullanırsanız kullanın uygulamalarınızı herhangi birinde derleyebilmeniz ve kullanabilmeniz anlamına geliyor. İster bedava, ister tescilli, BSD, System V, vs. hepsinde ortak bir şey var o da X pencere sistemidir. MacOS X, ismine rağmen X pencere sistemi'ne sahip değildir (Aslında X 10 anlamına gelir, X pencerenin X'i değil). Onun yerine Aqua adı verilen güzel bir KGA'sı (GUI kullanıcı grafik arabirimi) vardır (Aqua, Quartz, OpenGL ve QuickTime tabanlıdır). Bu yüzden, X kullanırken apaçık olan ne varsa, bir sürü farklı grafik altyapısı olan başka işletim sistemleri olduğu zaman daha fazla karmaşık hale geliyor.
Bu arada, eğer MacOS X altında X Window sistemi istiyorsaniz bu da var. Bunu mesela Apple'in yöresinden indirebilirsiniz (http://www.apple.com/downloads/macosx/unix_apps_utilities/) .
Bu yüzden, GNUstep'ten sözederken, eğer hatırlamamız gereken bir nokta varsa, o da "taşınabilirlik" tir. Ve, en azindan konunun özüne inmiş olduk: GNUMail.app. Eğer bir kanıt istiyorsaniz, işte size kanıt.

GNUMail.app nedir?

GNUMail.app, GPL (General Public License) altinda yayınlanmış, Ludovic Marcotte ve arkadaşlarının bir çalışmasıdır. İşin artistik tarafı (ikonlar) üzerinde Andrew Lindesay çalışmış. GNUstep sitesinde Andrew'in GNUstep için yarattığı güzel ikonlara bakabilirsiniz (Bu ikonlar User Apps bölümünde bulunuyor).
Daha önce sözettiğimiz gibi, GNUMail.app bir mail istemcisinin, ilk defa NeXT ile gelen Mail.app'nin bir klonudur ( veya günümüzde Apple MacOS X'in Mail.app'sinin klonu). İşte bütün aile birarada, soldan sağa, babadan oğula, ... yeğenlere kadar.

NeXTmail MacOS X mail GNUstep GNUMail MacOS X GNUMail

GNUMail.app, görünüm ve hissel (look and feel) olarak NeXT Mail.app'ye benziyor. Tabi ki aynı benzerliğe sahip olan daha başka bir sürü mail istemcisi vardır, özellikle Window Maker altında çalışması düşünülenler. Sözgelimi, Postillion'a http://www.postilion.org/ veya Aileron'a http://ucsu.colorado.edu/~nwanua/Aileron/ bakabilirsiniz.
Fakat bunlara durdurulmuş projeler gözüyle bakabilirsiniz: Her iki yazar da GNUMail.app'nin NeXT'in bir adımı olduğuna inanıyorlar.
GNUMail.app: Objective C ile yazılmıştır, Apple'ın (NeXT) Mac üzerindeki InterfaceBuilder (Arayüz oluşturucu) ve ProjectBuilder (proje oluşturucu) gibi geliştirme araçlarını kullanıyor, ve yakında GNUstep tarafında Gorm veya ProjectCenter'ı kullanabiliyor olacaktır(Her ikisi de GNUStep sanaldoku yöresinde Developer apps bölümünde bulunuyor). Bununla birlikte en önemlisi, MacOS X veya GNUstep altında, aynı kaynak kodu derlemek için kullanabilirsiniz. Bu yazının yazıldığı sıralarda sürümü 1.0.0 idi. Mail bağlantılarını (SMTP, POP, IMAP gibi) yönetmek için bir iskelet oluşturan, Pantomime adlı bir kütüphaneye ihtiyaç duyuyor. Yazının yazıldığı sıralarda Pantomime versiyonu 1.0.2, ve MacOS X veya GNUstep için de aynı idi. Her iki arşiv de http://www.collaboration-world.com/gnumail/ adresinden indirilebilir.

Özellikleri

Sonuçta tekerleği yeniden icat etmeyeceğiz, GNUMail.app sanaldoku yöresinde ne yazıyorsa, aşağıda yer alıyor:
- Yerel önbellek destekli çoklu POP3 (APOP desteği ile) hesabı (mesajların sunucu üzerinde bırakılmasıyla);
- Çoklu taşıma ajanları (SMTP veya yerel postalayıcı);
- Alım için posta bekletme dosyası desteği;
- Yerel önbellekleme ile IMAP desteği;
- Tam RFC822 ve RFC2822 desteği;
- Posta'lari okuma, cevaplama, iletme, oluşturma, yansıtma;
- Berkeley mbox formatını kullanan postakutusu yönetimi (mesajları yaratma, silme, kilitleme ve aktarım);
- Kişisel tercihler yönetimi;
- MIME desteği (kodlama ve kod çözme);
- MIME tipleri yöneticisi;
- Quoted Printable (alıntılı yayım) ve BASE64 desteği;
- Grup destekli adres defteri;
- Düzenli ifade destekli arama paneli;
- Postalarınızın otomatik veya elle getirimi (kullanıcı tercihine göre);
- Düzenli ifadeleri destekleyen güçlü filtreler;
Ludovic yakında daha fazla özellik eklemeyi umut ediyor, yeni bir Preferences (tercihler) paneli veya GPG desteği gibi. Eğer Ludovic'in ne kadar hızlı çalıştığını biliyorsanız, ona güvenebilirsiniz!

Bu yüzden GNUMail.app sanaldoku yöresini bolca ziyaret etmenizde fayda var ;-)

GNUMail.app'nin Derlenmesi ve Kurulması

GNUMail.app ve Pantomime kaynak kod olarak MacOS X ve Linux için mevcut (GNUMail.app ve Pantomime, her ikisine de gereksinimimiz olduğunu hatırlayın). Linux dediğimiz zaman biraz kısıtlayıcı oluyoruz, Linux deyince aslında GNUstep'in çalışabildiği bütün işletim sistemlerini ilgilendiriyor. Mesela GNUMail.app'nin FreeBSD ve NetBSD altında da çalıştığı biliniyor.
Eğer derleme yapmaktan hoşlanmıyorsanız MacOS X için çalışabilir sürümünü de alabilirsiniz. Debian ve FreeBSD için de paketler vardır, ama burada bunlar hakkında konuşmayacağız.
GNUMail.app'yi derlemek ve kullanmak için bazı gereksinimleri yerine getirmek zorundasınız.
MacOS X altında geliştirme araçlarına gereksiniminiz olacaktır. GNUstep altında da ... GNUstep'e. GNUstep'i nasıl kuracağınız bu yazı kapsamında değildır, ancak GNUstep sanaldoku yöresinde gereksinim duyduğunuz herşeyi bulabilirsiniz. Bununla birlikte, derleme ile ilgili problemlerden kaçınmak için, gcc'nin 3.0 sürümünü veya daha üstünü kullanmanızı tavsiye ediyoruz. Ayrıca GNUstep için make(1.3.0), base(1.3.0), gui(0.7.6) ve xpgs(0.7.6)'in "kararsız" sürümlerine gereksiniminiz olacaktır. Hemen üzülmeyin, "kararsız" diyoruz ama gayet güzel çalışıyorlar.

MacOS X

Öncelikle (eğer SSS'ı okumuyorsanız) komut satırını kullanarak, tar zxvf archive.tar.gz gibi bir komutla arşivleri açmanız gerekiyor. Eğer Stuff gibi otomatik araçları kullanırsanız arşivdeki bazı dosyaları değiştirecektir, siz de bu dosyaları yeniden isimlendirmek zorunda kalacaksınız. O yüzden komut satırından yapmanızda fayda vardır.
docs dizini altında bulunan README dosyasında, Pantomime ve GNUMail.app'yi ProjectBuilder kullanarak nasıl derleyeceğinizi ve kuracağınızı anlatan bilgileri bulacaksınız (İlk önce Pantomime'i derlemek zorundasınız). Dosyada yazılı adımları takip etiiğinizde yeni bir çalıştırılabilir GNUMail'iniz olacaktır.
Eğer bu işi komut satırından yapmak istiyorum diyorsanız pbxbuild ve pbxbuild install'u kullanabilirsiniz. Eğer pbxbuild'i bilmiyorum diyorsanız ProjectBuilder'den, size bu araçla ilgili yardım alabilirsiniz.
Özet olarak, ProjectBuilder'dan hedef dosyayı yükleyemeyeceğinizden de bahsedelim, bunun yerine pbxbuild install'u kullanmanız gerekiyor. Bu şu demek, ProjectBuilder ile elde ettiğiniz çalıştırılabilir dosya, uygulamayı derlediğiniz dizine bağlanmıştır. Bu çalıştırılabilir dosyayı başka bir yere taşır ve derleme yaptığınız dizini silerseniz, uygulama düzgün bir şekilde çalışmayacaktır. Eğer hem kaynak kodun bulunduğu dizini (yani derleme yaptığınız) silmek istiyorum hemde uygulamam düzgün bir şekilde çalıssın diyorsanız, pbxbuild install'u kullanmak bir zorunluluk haline geliyor. Bu durumda, pbxbuild ve pbxbuild install'u kullanmanız en doğru yöntem olacaktır.
Bütün bu adımları yapıp işiniz bittiğinde ikon'ununu tıklamak GNUMail'i çalıştırmak için yeterli olacaktır.

GNUstep

GNUstep ayakta ve çalışır durumda iken, arşivleri yukarıdaki komutları kullanarak açın. Sonra, bir kabukta (shell) make ve make install komutlarını yazın, hepsi bu (tabi ki Pantomime'ın GNUMail.app'den önce derlenmiş olması gerekiyor). openapp GNUMail.app komutunu çalıştırdığınızda, ekranınızda çok hoş, küçük, mail istemcisini göreceksiniz.
Eğer bazı şeyleri güncel tutmak istiyorsanız, GNUMail.app'nin (ve Pantomime) CVS sürümlerini alabilirsiniz. Lukovic ve arkadaşları hemen hemen hergün gelişmeleri size sunmak için sıkı bir şekilde çalışıyorlar. Tabi ki bu, yani CVS sürümlerini kullanmak, ilk sürümünüzü derlerken kullandığınız kaynak kodu saklamanız anlamına geliyor. Aynı zamanda GNUstep (bu da CVS) güncellemesi veya eğer var ise Apple'dan geliştirme araçlarının güncellerini indirmeniz icap edebilir. Bu güncellemeleri Apple'dan indirip yapabilmeniz için, geliştirici olarak kayıtlı olmanız gerekiyor (Hemen üzülmeyin, kaydolmak bedavadır).
Şimdi elinizin altında hoş bir uygulama var, muhtemelen kullanırken çok memnun olacaksınız.

GNUMail.app yapılandırılması

GNUMail.app size çok güzel bir tercih panosu sunar, işlemlerinizi kolayca düzenlemenizi sağlar. Bu pano farklı bölümlere ayrılmıştır: kişisel, görünüm, mesaj gönderme, mesaj alma, mesaj yazma, yazı biçimi, MIME ve ayrıştırma.
İsmindende anlaşıldığı gibi, kişisel bölüm GNUMail.app'a sizin mail adresi, isim, imza gibi kişisel bilgilerinizi vermenizi sağlar.

personal personal

Görünüm bölümü, sizin mesajlarınızdaki veya mesaj içindeki URL adreslerinde görünmesini istediğiniz başlıkları tanımlamanızı amaçlar.

viewing viewing

Mesaj gönderme bölümü haberleşme yollarıyla ilgilidir. Burada siz, taşıyıcı bir yol tanımlarsınız, sizin kullanıcı isminiz geçişsözcüğü gibi..

sending sending

Mesaj alma bölümü nasıl mail alınacağını tanımlar. Burada siz belli bir mail servisinde olmalısınz.

receiving receiving

Mesaj yazma panosu imza pozisyonunuzu tanımlar, imzadan önce kaç karekter kullanacağınızı.

compose compose

Font panosunda, mesaj görüntülendiğinde kullanmak istediğiniz fontu seçebilirsiniz.

fonts fonts

MIME panosu, sizin paket halinde gönderdiğiniz dosyalarınızı (resim, döküman, PDF gibi) tanımlamanıza izin verir.

mime mime

Son olarak, filtre panosu, filtre kurallarının tanımlandığı yerde yer alır.

filters filters

Anlaşıldığı gibi, yapılandırma işlemleri çok kolay ve arkadaşçadır. Amaç tabii ki size GNUstep ve MacOS X'e benzediğini göstermektir.

GNUMail.app kullanımı

GNUMail.app kullanımı özel bir bölümde anlatılmaya gereksinim duyulmayacak kadar basittir. MacOS X altında, finder'den GNUMail.app ikonuna basmak, bu kadar. Tabii ki siz istiyorsanız yeni bir ikon alabilirsiniz. Uygulama çalıştığı zaman, açık mailbox üzerinde tıklamak için yeterince ikon vardır. Bir mesajı silmek için, mesajlarınızı almak yada göndermek için, farklı bir mailbox açmak için, yeni mesajlar yazmak için, bir mesaja karşılık yazmak için, adres defterini açmak veya mailbox içinde arama yapmak için.
Ana menü size benzer özellikler ve bazı yenilikler sağlar. En önemli özellik, klavye kısayollarıdır. Bu menü ayrıca popup menu olarak çalışır.
GNUstep altında, tek farklılık ilk kullanım için uygulamanın çalışma yolunu vermekten kaynaklanır. Eğer, siz GNUstep kullandıysanız, openapp yazmanız ve uygulama yoltanımını yazmanız gerektiğini biliyorsunuzdur. Eğer sizin bir pencere yapıcınız varsa tercih ettiğiniz pencere yöneticisi gibi, siz bir uygulama ikonu alacaksınız: yeteri kadar sürükle-bırak yapabilmek için ve siz GNUMail.app başlatabilmek için kabuğunuzda herhangi birşey yazmaya gereksiniminiz olmayacaktır.
GNUMail.app sağlam olması görünen en önemli özellik. Önceki versiyonlarıyla karşılaştırıldığında, özellikle GNUstep altında. Kullanımdan bir kaç hafta sonra, benim hiçbirşeyim bozulmamıştı. GNUMail.app şimdi sizin günlük ajandanız olarak da çok faydalıdır.
MacOS X altında, GNUMail.app 1.0 sürümünden önce bile çok sağlam çalışmaktadıydı.

NeXT nedir?

GNUMail.app'ı taşınabilirliğin bir denemesi olarak düşünebiliriz. Fakat çalışan bir deneme! Emin olun diğer mail servislerinin de pek çok özelliği var. Ancak GNUMail.app, MacOS X ve GNUstep gibi aynı kodda farklı koşullarda çalışabilen ilk gerçek uygulamadır. Ludovic, GNUMail.app'den daha az nitelikli olsa da, yine de ilginçtir, başka bir proje üzerinde de çalışmaktadır.
Adı Affiche dir ve MacOS X ve GNUstep için yazılan bir 'post-it' uygulamasıdır. Sanaldoku yöresi ayrıca EasyDiff'e de evsahipliği yapmaktadır, Affiche, Pierre-Yves Rivaille tarafından yazılan diff uygulamasınına bir grafik arayüz oluşturan bir programdır. Program sadece GNUstep altında çalışmaktadır, en azından şimdilik.
Eğer pek çok insan MacOS X ve GNUstep arasındaki taşınabilirlik için şüphe içinde olan bir çok insana, Ludovic kanıt sağlamaktadır. Tabii ki GNUstep'in tamamlanması için önümüzde uzun bir yol var, ancak ilerleme süreklilik göstermektedir. GNUstep ile ilgli olan tüm insanları kutlamalıyız. Ana neden müthiş bir çalışma gerektiricek kadar büyük bir proje olması ve diğer neden ise, projede çok az kişinin yeralmasıdır. Böyle müthiş bir yazılımın bir parçası olduğu için Adam Fedor ve arkadaşlarına çok teşekkür ederiz.
Açıktır ki her gelişme GNUstep'in gelişmesine bağlıdır. Her ne kadar henüz başlangıç durumunda olsalar bile, birçok çalışan uygulama vardır. İşin büyük bir kısmı GNUstep altında yapılmaktadır. Eğer, MacOS X için geliştirilen uygulamalar, taşınabilirlik gözönünde bulundurularak yapılırsa, gelişmeler hız kazanabilir. Bu da gerçek çoklu ortam uygulamalarına büyük bir başlangıç oluşturabilir.
Windos'u klonlamanın kural olduğu şu zamanda başka bir alternatifin olması bir şanstır. Eğer, bu günün "modası", open (açık) kelimesi ise, GNUstep de bir modeldir. Linux topluluğunun bir kısmı, masaüstü sistemleri arasında yaygınlaşmasını beklemektedir veya "dünyaya hakim" olmayı!!!. Lütfen: Tekelcilik, bedeva veya paralı olması farketmeksizin, yine tekeldir. Ve diğer şeylerin yanısıra, yaratıcılığı da öldürmektedir. Çeşitlilik çok daha önemlidir ve sözde standardı (ve onun uygulamalarını), sanki onun yaratıcısı tüm gerçeği elinde tutuyor ve kesin bir referans olarak düşünülüyor gibi, "klonlama" anlamına da gelmemektedir.
Yaklaşık 15 yıl önce, NeXTSTEP Unix dünyasında bir devrim yarattı: Bugün MacOS X yaptığı gibi, NeXTSTEP insanlara Unix hakkında hiçbirşey bilmeden, onu kullanma olanağını verdi!. Aslında, "yanlış" referansı klonlamasına rağmen, Linux bu noktadan çok uzaktır. Belki de fark etmişsinizdir, GNUstep bir Windos klonu değildir (En azından ben öyle diyorum!). O tüm zamanların en yaratıcı işletim sistemleri olan NeXTSTEP'in oğlu olan OpenStep'in, serbest (serbest yazılım anlamında) olarak hayata geçirilmiş halidir.
Yanlış anlamaları önlemek için şunu da söylemek gerekiyor. GNUstep bir çerçeve uygulamasıdır ve GNUMail.app gibi uygulamaları eklemeye başladığınızda (hafif) bir masaüstü ortamına dönüşmektedir.
Daha da fazlası, GNUstep Linux ile sınırlı değildir.
80'lerin ortalarında çok farklı işletim sistemleri vardı. Şimdilerde ise, sadece Unix ve Windos var, ne yazık. Yine de ben, birkaç işletim sistemi olan bir dünyada omayı ve onların arasından seçim yapabilmeyi tercih ederdim. Ne kadar çok olursa, o kadar iyi.
En azından bizm şansımız var. Birçok farklı Unix'ler vardır ve onların pekçoğunda GNUstep'i çalışmaktadır!
Bu herzamanki konu dışı kısmı idi ve sadece benim kendi görüşlerimi yansıtmaktadır.
GNUMail.app ' a geri dönecek olursak, biz onun pek çok program yazılımcıya yeni fikirler vermesini umut ediyoruz. MacOS X kullanıcıları çok şanslılar, çünkü InterfaceBuilder (ve ProjectBuilder) adında araçlara sahiptirler. Bu araçları keşfederek, kullanıcılar hayatlarını değiştirebilirler. Çok yakın bir gelecekte, Gorm ve ProjectCenter'dan da, modeli oldukları uygulamalar ile aynı işi yapmaya başladıklarında, GNUstep sahip olunması şart olan bir şey haline gelecektir.
Ludovic'e bu yolda liderlik yaptığı için çok teşekkür ederiz.
Size daha önce müthiş bir zamanda yaşadığımızı söylememişmidim?

Bağlantılar

GNUMail.app'ın ana sayfası: http://www.collaboration-world.com/gnumail/
GNUstep hakkında herşey: http://www.gnustep.org/
GNUstep hakkında daha fazlası: http://www.gnustep.net/
Uygulamalar, belgeler, NASIL dosyaları, Nicola Pero ve Pierre-Yves Rivaille tarafından: http://www.gnustep.it/
Apple MacOS X  program geliştirme araçları : http://developer.apple.com/tools/macosxtools.html