//
Şu anda okuduğunuz...
açık kaynak kod, Özgür yazılım söyleşileri, özgür yazılım, bilgisayar mühendisliği, bilişim, linux, söyleşi

Özgür Yazılım Deneyimleri – 2: Oğuz Yarımtepe ile GSoC (Google Summer of Code) Deneyimi üzerine söyleşi

Oğuz`u ve çalışmalarını bir süredir takip ediyorum. GSoC (Google Summer of Code)`a katıldığında deneyimlerini blog`unda paylaşmıştı, daha ayrıntılı olarak bu konuda söyleşi yapmak istediğimde sağolsun beni kırmadı. Bu deneyimden öğrenciler başta olmak üzere herkesin faydalanacağı umuduyla ….

  • Selamlar, öncelikle kendinizi tanıtır mısınız?

Selamlar, İsmim Oğuz Yarımtepe. İzmir doğumluyum. Çocukluğum Aydın-Söke’de geçti. Üniversite hayatımda İstanbul ve Çanakkale var. Lisansımı Çanakkale’de tamamladım. Çanakkale’de yaşıyorum. Çanakkale’ye gelmeden önce özel sektörde Linux sistemler için yazılım geliştirme, sistem yöneticiliği ve tasarımı tecrübelerim oldu. Bana ulaşmak isteyenler için http://about.me/oguzy adresi sosyal medyadaki erişim bilgilerimi içeriyor.

  • Eğitiminiz hakkında kısaca bir bilgi verir misiniz?

Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği mezunuyum. Lisansımı bitirdikten sonra İzmir’de yüksek lisansa başladım. İzmir Yüksek Teknoloji Enstitüsü’nde ağ güvenliği konusunda 2 yıl yüksek lisans yaptım. Yüksek lisans bittikten sonra da Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği’nde doktora öğrenimine başladım. Doktoradaki 2 yılımı geçen günlerdeki yeterlilik sınavımla tamamladım.

  • Şu anda nerede ve hangi konuda çalışıyorsunuz?

Çanakkale Onsekiz Mart Üniversitesi Bilgi İşlem Dairesi’nde sistem yöneticisi olarak çalışıyorum. Temelde üniversiteye servis veren sunucuların büyük çoğunluğundan sorumluyum. Bunların başlıcaları web, DHCP, DNS, veri tabanı, FTP sunucuları. Bunlar dışında sorumluluğumuz dahilinde ve yapmamız gereken işlerle ilgili de servisleri hayata geçirmemiz gerekiyor. Ateş duvarı yönetimi, log sunucusu kurma, analizi gibi. Bizdeki gibi 20 den fazla kampüsü, 30000 civarında öğrencisi olan bir üniversite için sunucu yönetimi elinizde tuttuğunuz bir ateş topu gibi oluyor. Canlı sistemler dediğimiz bu sistemlerdeki hatalar  doğrudan erişim sorunlarına yol açabiliyor. Bu da yapılan her işin temkinli yapılmasını gerektiriyor. Verilen servisler üniversite web sayfalarına erişim ya da kablosuzdan bağlantı gibi son kullanıcı için gündelik hayatın parçası olan işler veya DNS, DHCP gibi sunucuların düzenli çalışması olunca, bu servislerdeki aksamalar ciddi sorunlara yol açabiliyor.

  • Özgür yazılım tecrübenizi bize özetleyebilir misiniz?

Linux ile iş yapmaya lisans döneminde başladım diyebilirim. 2. sınıftan itibaren makinamdaki Windows dizini silip Debian kurmuştum ve her işimi onla yapmaya çalışmıştım. Önce Debian kararlı sürümü, sonra test sonra da kararsız sürümlerine geçiş yapmış, her seferinde de karşılaştığım sorunları çözmeye çalışmıştım. 2. sınıftan itibaren üniversite bilgi işleminde Necdet Yücel hocamın tavsiyesi ile yarı zamanlı olarak çalışmaya başlamıştım. Bir özgür yazılım gönüllüsü, öğrenci ile iş yapmaktan zevk alan, Türkiye’deki özgür yazılım hareketini takip edenlerin ismini bildiği birisidir Necdet Yücel. Ben gibi pek çok öğrenci yetiştirmiştir.

İlk stajımı bilgi işlemde yapmıştım. Python ve GTK kullanarak bir iş yapmamı istemişti Necdet Hoca. Python’u ilk o zaman kullanmaya başlamıştım. Sonraki hayatımda varsayılan olarak her işimi yaptığım bir programlama dili oldu. Gene Necdet Yücel’in teşvikleri ile Türkiye’de değişik üniversite kurumlara Linux eğitimleri vermeye gittim. Seminerler verdim. Bunların hepsi Linux Kullanıcıları Derneği adına yaptığım keyifli işler idi. Pardus projesi başladığında da kullandıkları paket yöneticisinin web arayüzü için Django kullanarak katkı vermeye çalıştım. Ama iş hayatında ama başka zamanlarda yazdığım uygulamaların bir kısmını kişisel sayfamda birer özgür yazılım projesi olarak yayınlıyorum. 2011 yılında Google Summer of Code kapsamında Honeynet projesi için bir Django kullanarak web tabanlı kötü yazılımları görselleyen bir uygulama geliştirdim. Bu sene de aynı proje için başka bir konuda kabul oldum. Gene Django ve Python kullanarak trafik analizi yapan bir araç yazıyorum. Fırsat buldukça seminerlere gitmeye, bildiklerimi paylaşmaya çalışıyorum. Yerelleştirme çalışmalarına katkı vermeye çalışıyorum. Bir dönem Çanakkale`deki öğrencilik zamanlarımda yoğun olarak belge çevirileri yapar idik. Şimdilerde o iş dağıtım veya uygulamalar için yerelleştirme çalışmalarına dönmüş durumda.

  • Google Yaz Kodlaması (Google Summer of Code – GSoC)’ndan nasıl haberiniz oldu?

GSoC, Google tarafından finanse edilen ve her sene düzenlenen bir kodlama maratonu. Dünyada özgür yazılım ile iş yapmış adını bildiğimiz veya bilmediğimiz ne kadar proje varsa hemen hepsi her sene bir takım proje çağrıları ile görücüye çıkıyor. Ama Google ile ilgili resmi günlük (blog) sayfalarından (http://google-opensource.blogspot.com/), ama Twitter hesaplarından (https://twitter.com/gsoc) bu projenin başladığını haber almış idim.

  • GSoC’ta bu zaman kadar hangi projelere kabul oldunuz? Projelerde yaptıklarınızdan bahseder misiniz?

Geçen sene Honeynet projesinin önerdiği projelerden WebViz projesine kabul olmuş idim. Amaç dünyadaki kötü amaçlı yazılımların 3 boyutlu bir ortamda grid yapısı ile görsellenmesi idi. Web tabanlı bir görselleme yaptım proje sonunda. Dağıtık yapıdaki bal çanaklarından (honeypot) bilgi toplayan merkezi bir balçanağından alınan bilgileri işleyerek, web tabanlı olarak görsellemiştim. Proje detaylarına http://webviz.comu.edu.tr/doc adresinden bakılabilir. Bu sene de aynı ekibin Network Analyzer isimli projesine kabul oldum. İşlenmemiş ağ trafiğinin web tabanlı olarak işlenip, uygulama katmanı seviyesinde bilgi alınması hedefleniyor. Bir web trafiği için, hangi adrese ne isteğinin yapıldığı, dönen web sayfası, bir eposta trafiği için gönderilen epostanın içeriği, eklentileri, eğer kötü yazılım içeriyorsa bunla ilgili bilgilerin verilmesi hedefleniyor. Eklenip çıkarılabilir bir yapısı olması, isteyenin kendi eklentilerini yazabilmesi de hedefleniyor. Anlamlı görsellemeler yapması da hedeflenen bir diğer nokta. Projedeki gelişmeleri Honeynet sayfasından (https://www.honeynet.org/gsoc/slot13) takip edebilirsiniz.

  • Başvuru sürecinde ne tür elemeler oldu, proje danışmanları nelere dikkat ederek sizi seçti?

Ben geçen sene de bu sene de başvururken doktora konuma yakın projeler aramıştım. Google Melange (http://google-melange.appspot.com/) sayfasında anahtar kelimelere göre proje araması yapmak mümkün. Geçen sene “visualization” diyerek arama yapmış ve karşıma çıkan projelerden anlamlı bulduklarımın açıklamalarını okumuştum. Sonrasında kafamda bir çözüm oluşan, bana heyecan veren tek projeye kafamdaki sorulara cevap verecek şekilde hazırlanıp bir başvuru yazısı ile başvurmuştum. Bu sene de buna benzer bir yol izledim. Bu sene beni heyecanlandıran iki proje vardı. Kabul olduğum Honeynet projesi dışında diğeri, iş yerinde de işime yarayacak bir UMIT projesi idi. Doktora konuma yakın olduğundan eleme sürecinde Honeynet projesini seçtim.

Proje başvuruları Google Melange üzerinden bir başvuru metni ile oluyor. Genelde projelerin belli bir taslak metni oluyor ve sizin onu doldurmanız gerekiyor. Bu metin içerisinde daha önceki özgür yazılım tecrübeleriniz, haftada kaç saat bu işe vakit ayıracaksınız, saat diliminiz, yaz boyunca yapmanız gereken başka işler olup olmadığı ve projeyi nasıl hangi zaman çizelgesi ile çözmeyi planladığınız gibi sorular var. Bence bu kısım işin %50si. Buraya kendinizin inandığı, hazırlanarak cevap verdiğiniz ve kafanızda çözümü hazır bir metin yazmanız durumunda sonrasında epey rahat ediyorsunuz. Ben bu sene, geçen seneye göre daha çok ön hazırlık yaptım diyebilirim. Kafamdaki tüm soru işaretlerine bunu nasıl çözerim diyerek hazırlanmış ve proje yöneticileri ile irtibata geçerek projeye talip olduğunu belirtmiş idim. Projenin eposta listesine yazıp proje ilgilendiğiniz belirtmek, kafanızdaki çözümü paylaşmak, iyi hazırlanmış bir başvuru yapmak, proje IRC kanalında proje danışmanlarının sorularına iyi cevaplar vermek kabul olmanızı neredeyse garantiliyor. Eğer proje daha önce geliştirilmiş bir uygulama ile ilgiliyse onun kaynak kodlarını incelemek, nasıl çalıştığını anlamak, üzerinde konuşabilecek kıvama gelmek de önemli.

  • GSoC’a katılmak isteyecek kişiler, sizce öncelikle kendilerini hangi konuda yetiştirmeliler?

Git/SVN gibi sürüm takip sistemlerini kullanmış olmak, herhangi bir programlama dili ile bir özgür yazılım projesi yapmış olmak veya ona katkı vermek bence GSoC’a katılacakların hedeflemeleri gereken noktalar. Benim takip ettiğim projelerde Python ağırlıklı kullanılıyor idi. Python bilmek bir artı idi. Daha düşük seviye iş isteyenler de oluyor. C, C++, Java dillerinde de yazabileceğiniz işler bulabilirsiniz. Nesneye dayalı programlama bilginizin iyi olması, en azından bir prosedürel, bir web, bir nesneye dayalı dilde kendinizi rahat hissederek kod yazabiliyor olmanız, veri tabanı ile iş yapmış olmanız, güncel teknolojiden haberdar olup duruma göre kendi çözümlerinizi bulabilmeniz de bir artı.

  • Sizce bilgisayar mühendisliği öğrencilerini bu tür özgür yazılım projelerine  yönlendirmek için neler yapılabilir? GSoC kazanımlarınız nelerdir?

Aslında bu konuda şu projeye yönelin diyemeyeceğim. Ben Honeynet projesini biliyorum. Oldukça kolay anlaşılan, sorunsuz, kendi geliştirmelerini rahat yapabildiğiniz sizi sıkmayan boğmayan bir ekip tanıdım bu ana kadar. Ama UMIT projesinde çalışıp da gece gündüz kodlayanlar, danışmanlarından iş üstüne iş alan arkadaşlar da var. Bu tamamen sizin ve danışmanızın aranızdaki ilişkiye bağlı.

Bence GSoC için geçen senelerde açılmış projelere bakmak, size ilginç gelen eğlenceli bulduğunuz projeleri inceleyip şimdiden onların kaynak kodlarını indirip kullanmaya başlamak lazım. Zaman içerisinde hatalarını bulacak, hata düzeltmeleri göndermeye başlaycaksınız. Sonrasında zaten projeye dahil olması muhtemel birisi olacağınızdan, o uygulama ilgili başvurularınızın değerlendirilmesi sizi tanıyan geliştirici ekip tarafından farklı değerlendirilecektir.

GSoC süresince uzaktan çalışmayı öğrendim diyebilirim. Zamanında iş yapmak, farklı disiplinlerdeki insanlar ile iletişip ortak çözüm bulmak diğer bir tecrübem oldu. Honeynet projesini tanıdım. Resmi olmasa da artık projeye dahil olmuş biriyim. Seneye bu sene üzerinde çalıştığım projenin danışmanı olmak gibi de bir hedefim var. Dünyanın değişik yerlerindeki insanlarla aynı konu üzerinde eposta yoluyla konuşmak, mesajlaşmak, ortak iş yapmak aslında heyecan verici. Geçen sene yapılan Honeynet Workshop’una gidememiştim. Kim bilir belki bu sene vakit bulup gider ve projemi sunarım.

  • GSoC’a katılacak kişiler için önerileriniz?

Linux kullanın. Geçen senelerde açılmış projeleri inceleyin. Size heyecan veren projeleri takip edin. Kaynak kodlarını indirip kullanmaya, eksiklerini o konuda gidermeye çalışın. Linux altındaki sorunlarınızı kendiniz gidermeye çalışın. Öğrenme ve problem çözebilme yeteneği aslında kazanılması zaman alan ama sonrasında size pek çok kapı açacak bir yetenek. Sabırlı olun ve çok çalışın.

  • Eklemek istedikleriniz …

Okuyanlara faydalı olması ümidiyle.

  • Çok güzel bir paylaşım oldu. Çok güzel öneriler var, çok teşekkürler.
Bu sitede sunulan yazıların belge lisansları aksi belirtilmediği sürece: by-nc-sa. (CC lisansları hakkında detaylı bilgi için tıklayınız). 
Bütün yazılar kaynak göstermek şartıyla çoğaltılabilir, yazılardan alıntı yapılabilir.

Özgür yazılım söyleşileri – https://enisden.wordpress.com/2012/06/26/ozgur-yazilim-deneyimleri-ve-soylesileri/

Reklamlar

About enisden

Muğla Sıtkı Koçman Üniversitesi Bilgisayar Mühendisliği Bölümünde öğretim üyesiyim. "Bilgiyi paylaştıkça artar." ilkesine inanıyorum. Bu blogda; akademik dünya, araştırma yöntemleri, eğitim ve bilgisayar mühendisliği çoğunlukta olmak üzere, hayata dair deneyim ve bilgilerimi paylaşmayı hedefliyorum.

Tartışma

3 thoughts on “Özgür Yazılım Deneyimleri – 2: Oğuz Yarımtepe ile GSoC (Google Summer of Code) Deneyimi üzerine söyleşi

  1. Bu güzel söyleşi için teşekkür ediyorum, kafamda oluşan bütün sorulara cevap buldum.

    Posted by burak | 11 Ocak 2014, 12:32 am

Trackbacks/Pingbacks

  1. Geri bildirim: Özgür Yazılım Söyleşileri « enisden - 29 Haziran 2012

  2. Geri bildirim: Özgür Yazılım Deneyimleri ve Söyleşileri « enisden - 29 Haziran 2012

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

"Tanrım, Bana değiştirebileceğim şeyler için CESARET, Değiştiremeyeceğim şeyler için SABIR, Ve her iki şey arasındaki farkı anlayabilmek için BİLGELİK ver."

"God grant me the serenity to accept the things I cannot change; courage to change the things I can; and wisdom to know the difference."
(P.R. Niebuhr)

TEGV

TEGV - eĞİTİM İÇİN BEN DE VARIM

Kategoriler

%d blogcu bunu beğendi: