Friday, February 29, 2008

Ayın Olayları - Şubat 2008

Ayın Olayları

Aslına bakarsanız, geçen aylarda yaptığım gibi ay boyunca gözüme çarpan ve not aldığım olayları, biraz daha detaylı araştırıp yazmayacağım... Ya da durun durun yazayım... Microsoft Yahoo'ya 44,5 milyar dolar teklif etti, Yahoo reddetti, Microsoft Açık Kaynak dünyasına daha uslu olacağına kimse ile uğraşmayacağına dair söz verdi, ne gariptir bir hafta sonra Avrupa Komisyonu tarafından 1,35 milyar dolar cezaya çarptırıldı.

Evet bu ay kayda değer herhangi bir olay olmadı gibi değil mi? Microsoft, Oracle'dan örnek ala ala açgözlülüğü örnek alınca, Yahoo'ya inanılmaz bir teklif yaptı, ama kabul edilmemesi, olayın kaydadeğerliğini bir hayli azalttı. Sonrası tiyatro gibiydi.

Microsoft'un nasıl bir toplulukla uğraştığını farketmesi biraz uzun sürdü. Özür babında bir söz verdi, ama hemen ardından daha önce yaptığı hovardalık (hovardalık değil de kurnazlık diyeyim) için cüzzi!!! bir miktar ceza aldı. Yani bu ayı (sanırım kısa olduğu için bu ayı seçti) doldurmaya çalıştı...


Korkunun ecele faydası var mı ki?

Ama farkedilen bir gerçek var ki, artık Microsoft'un büyük bir korkusu var, bu korku tamamiyle dinamik bir topluluktan, bu topluluk Windows'a alternatif arıyor, Linux kuruyor, Open Solaris'i kurcalıyor.. MS Office yerine Open Office veya Lotus Symphony kullanıyor... Thunderbird ve Firefox'u, Outlook ve Internet Explorer'dan daha çok seviyor.. Evet bazılarının terimiyle "Akademik düşünüyor", ama üretmeyi düşünüyor, kendinin de bazı şeyleri üretebileceğini biliyor.. Kullandığı açık kaynaklardan dolayı, para verdiği ürünleri sorgulayabiliyor.. Orada neler olup bittiğini biliyor... Kısacası, bu topluluk kollarını sıvayıp işe koyulmayı biliyor... Ve inanın bütün bunları sadece kendisi için yapıyor.. Evet Açık Kaynak Gönüllülerinden bahsediyorum, o topluluktan, windows olmayınca hiçbirşey yapamayanlar değil, ya da MS Office olmayınca excel dosyalarını okuyamayanlar değil... Gerekirse Visio dosyalarını okumak için açık kaynak alternatifleri olanlardan...

SonSöz

Unutulmaması gereken bir nokta var ki, her tür organizasyonun her tarafında açık kaynak gönüllüsü insanlar vardır, ve bu insanlar sorgulamayı sürdürdükçe başarı daima daha yakın olacaktır..

Tuesday, February 19, 2008

Java Day'08 İstanbul

Java Day'08'deydim... Bir ay önceden planlarını yaptığım ve nihayetinde katılabildiğim eğlenceli bir etkinlik oldu... Schwartz'ın önderliğinde açık kaynak projeleri ile gönlümde yer eden Sun, güzel bir etkinliğe imza attı diyebilirim.. Her ne kadar öğle yemeğine yetişip, öğleden sonraki programı takip edebilsem de konular gayet güzeldi... Java SE 6'nın özellikleri ve SE 7 ile ilgili ipuçları, Ruby, Ruby on Rails ve JRuby, JavaFX, Java EE 5.0, GlassFish, Grizzly ve Sun SPOT ve daha birçok konu konuşuldu... Tabi güzel bir öğle yemeği ve kahve molasını (benim için sütlü çay) unutmamak lazım...

Simon Ritter, Java SE 6'nın özelliklerini ve SE 7'yi anlatırken içimdeki programcı taraf bir hayli ağır bastı ve yeniden kod yazsam diye içimden geçirdim... SE 7'de özellikle super package konusu bir hayli ilgimi çekti, özellikle compiling ve classpath sorunları ile bu kadar uğraşırken, tüm paketleri tek bir paket ile yönetmek, siz de kabul edersiniz ki büyük bir avantaj... Daha sonraki session'da Java FX ve yapabildikleri ile ilgili sunumu bir hayli etkileyici idi.. Kimbilir, belki de Java FX ile kodlamaya yeniden başlayabilirim..

Daha sonra Doris Chen, Ruby, Rails ve JRuby ile ilgili sunumunu yaptı, her ne kadar Ruby'den çok NetBeans ile ilgili olsa da, Sun'ın bu tür dil alternatiflerine (tamam kendileri scripting dili diyorlar, ama Rails (MVC) ile yapilabildiklerine bakılırsa pek scripting denmeyebilir) yer vermesi beni bir hayli şaşırttı... Daha sonraki sunumu GlassFish ile ilgili idi, ya da en azından tamamiyle GlassFish üzerine olur diye bekliyordum, tamam GlassFish'i anlattı, ama neredeyse ondan çok Java EE 5.0'in özelliklerinden ve GlassFish'in ne kadar Java EE 5.0 uyumlu olduğundan bahsetti... Uygulama sunucuları ile bu kadar haşır neşir olan ben, sanki biraz daha teknik detay duymayı bekler gibiydim...

Bu kadar laf ettikten sonra nasıl güzel bir aktivite dediğimi sorarsanız, anlatılanların hepsi açık kaynak idi, anlatılmasını beklediklerimin hepsinin açık kaynak olduğu gibi... James Gosling ile Times dergisinin Şubat sayısı kapağına çıkmam (tamamiyle düzmece, konferansa katılanlar anladılar) ve Duke'u masama koyabilmem de bu etkinliği yeterince anlamlı hale getirdi :) ...



Fakat bir kaç nokta var ki, değinmeden edemeyeceğim...

Birincisi bu tür konferanslar (özellikle açık kaynak ve teknoloji ağırlıklı olanlar) çanta, şemsiye almak için değildir. Eger onları almak isterseniz, Eminönü'nde gayet ucuz fiyata satan yerler var.

İkincisi, Java'yla ilgili herkesin, kullandıkları dili yazanların daha başka nelerle ugrastığını, kullandıkları dilin geleceği ile ilgili nasıl çalışmalar yapıldığını bilmeleri açısından bu tür konferanslara katılması muhakkak gereklidir..

Umarım 2008'de daha fazla konferans ve teknoloji etkinliklerine katılma fırsatı buluruz..

Monday, February 18, 2008

Sürekli Entegrasyon Pratikleri - I

Sürekli Entegrasyon Pratikleri - Bölüm 1

Sürekli entegrasyon kurallarını uygulayarak bir sürüm sistemi kurdu iseniz, unutmayın bu sistem dikkatle hazırlanması, yönetilmesi ve takip edilmesi gereken bir sistemdir. Daha önce bu konu ile ilgili olarak Hudson ve Ant konuları ile ilgili yazılar yazdım.. Bunların hepsi deneyimler üzerine dayanan yazılardı.



Son zamanlarda bu tür yazılar yazmaya, yeni araçları incelemeye çok fırsat bulamadım. Ama Continuous Integration: Improving Software Quality and Reducing Risk kitabını satın aldım, ve müsait olduğum zamanlarda bu kitabı okumaya ve mümkün mertebe uygulamaya çalıştım... Uygulamaya çalışma işlemini ise, uygulamak istediğim maddeleri post-it'lere yazıp, uygulayabildiklerimi bu listeden çıkarmak şeklinde yapabildim...

Belli bir sayıda post-it'i uyguladığımda ise bunları yorumlarımla birlikte burada paylaşmaya karar verdim. Bu ilk yazımda dört tane pratikten bahsedeceğim.


Pratik I - Veritabanı işlemlerini ANT JOB'ı haline getirmek

Sürekli entegrasyon sistemi içerisinde aynı zamanda Veritabanı yapılarının da taşınması söz konusudur. Yani yeni bir sürüm ile birlikte yeni kodlar, yeni veritabanı yapıları ve veriler de taşınır. Bu konuyu daha önce, hassasiyet gerektiren bir konu olmasından dolayı manuel yapıyordum. Tabi manuelden kastım, bir SQL Editor ile çalıştırmak değil tabi, komut satırından çalıştırma yöntemi ile, bir tür otomasyon vardı ama yine de manuel sayılırdı... Daha sonra farkettim ki, bu işlem hem yönetmesi zor, hem geriye dönük herhangi bir log tutulmayan bir işlem haline dönüşüyor... Tekrar edilmesinde yaşanan zorluklar ve modüler olmaması da cabası.. Hem bu işlemi manuel yapma sebebim lokasyon farklılığından dolayı idi ve bu engelin de ortadan kalktığını düşünürsek zaten bu tür bir çevirimin zamanı gelmişti...

Tabi, bu durumda sürüm esnasında manuel işlemleri de minimize etmiş oldum. Yani kısacası bu işlemi ant job'ı ile yapmak ve bunu bir de Hudson'a eklemek ileride bize çok büyük avantaj getirecek...

Pratik II - Developer'ları Sürekli Entegrasyon Konusunda Eğitmek (veya Bilgilendirmek)

Yaşadığımız en büyük sıkıntı, daha doğrusu en can sıkıcı konu, developer'ın "sürekli entegrasyon" konusuna olan uzaklığı idi.. Eğer developer, sistemi ne kadar az bilirse, o kadar sorun ile karşılaşır ve/veya soruna yol açar... Dolayısıyla, developer'ı eğitmek sorunları en aza indirebilmenin en kolay yollarından birisidir. Peki nasıl yapılır?

  • Birim içi konferans ve eğitimlerle
  • Dokümantasyon ile

Konferans veya eğitim, hem uzman olmadığım hem de zaman darlığımızın olması nedeniyle tercih edemediğimiz bir seçenek oldu. Bunun yerine Confluence üzerinde (daha önce Twiki ile hazırladığım dokümantasyonu buraya taşıyarak) bir know-how oluşturmaya çalıştım. Özellikle, ana sayfama Sürekli Entegrasyon Sistemi ile İyi Geçinmenin 7 Altın Kuralı diye de bir yazı ekledim. Continuous Integration kitabından bir bölümün çeviri ve yorumlarının olduğu bir yazı oldu.. Developer'lara en azından bu şekilde bir bilgi aktarımı yapmanın gerekli olduğuna inanıyorum...

Pratik III - Deploy edilen Artifact'ları depolamak

İlk etapta kulağa saçma gelecek, "yaa nasıl olsa sürüm scriptlerim var, subversion üzerinde gerekli ayarlamaları yapip sürümü yeniden çıkarırım" diyebilirsiniz, yapabilirsiniz de... Ama bir kere yaptıktan sonra bir daha konuşalım olur mu?.. İnanın acı verici boyutlara gelebileceği için söylüyorum... En azından benim yönettiğim sistemde bu tür bir işi yapmak bir hayli acı verici.. Projenin tek bir jar, veya war'dan oluşmadığını belirtmekte fayda var... Tabi her proje bu şekilde olacak diye bir kaide yok.. Ama işin içinde 10'dan fazla JAR, bpm dosyalari, ön yüz dosyalari (EBML), EAR, veritabanı vs. varsa, bu tür bir işlem o kadar da kolay olmuyor...

Neyse, uzun lafın kısası, bütün bu deploy edilen artifactları, deployment işleminden hemen önce ayrı klasörlerde tutarak, olası bir geri dönme işleminde nasıl davranacağımızı, ya da o sürümde neleri deploy ettiğimizi daha rahat görebiliyoruz.. Hele bu depolama işlemini yaptığımız klasörleri sürüm numarası ile isimlendirirsek, o zaman sistemin keyfine bakmaya başlayabiliriz...

Pratik IV - JAR, EAR ve Konfigürasyon dosyalarının SVN üzerinde tutulması

En sık karşılaştığım sorulardan bir tanesi "PROD ortamında JAR'ımın hangi versiyonu var?" sorusudur heralde.. Her ne kadar Developer'ın bunu öğrenmek için 343 ayrı yöntemi olsa da, sanırım bu işi sorumlu birisine sormak daha eğlenceli oluyor. Ya da "PROD ortamındaki EAR'ı alabilir miyiz?" sorusu karşısında birkaç saniye durup da "Allright, I'm on it" demektense, bu istenilen JAR, EAR ve konfigürasyon dosyalarını her ortam için ayrı ayrı SVN'e koymak, hem sistemin yedeğinin alınması, hem de bu tür durumlarda Developer'ın "self-servis" yapabilmesi açısından çok faydalı olabilir..

SonSöz

Bayılıyorum son söz yazmaya ama bu sefer herhangi bir son söz yok, çünkü bu yazı devam edecek...

Monday, February 04, 2008

Ayın Olayları - Ocak 2008

Üfff, amma hararetli bir ay geçirdik, birbirini satın alan, satın alana.. Sun MySQL'i aldı, hemen ardından Oracle BEA'yı, ardından daha küçük çapta alımlar oldu.. Tabii ben de biraz geciktim bu yazıyı yazmakta.. Aslında Cuma günü yazacaktım ama güzel bir Uludağ tatili ve herhangi bir internet bağlantısı olmadan bir haftasonu geçirdim, dolayısıyla bu yazı da Pazartesi'yi beklemek zorunda kaldı...

(16.01.2008) - Sun MySQL'i 1 milyar dolara bünyesine kattı.

Herhalde yıla bu şekilde bir başlangıç yapmayı kimse beklemiyordu. 16 Ocak'ta bu resmi yazı ile Sun Microsystems, MySQL'i bünyesine kattı. Hayatına 1995'te başlayan MySQL 2006 senesinde de Oracle tarafından bir teklif almıştı, bu konuyu Oracle tried to buy open-source MySQL yazısında bulabilirsiniz. Bu satın alma Jonathan Schwartz'ı o kadar sevindirmiş olacak ki, Helping Dolphins Fly yazısında havalara uçuyor ve ardından In a Vortex yazısında satın alımdan önce MySQL CEO'su Marten Mickos ile yediği akşam yemeklerinde, satın almayı nasıl şekillendirdiklerini anlatıyor. Sun çalışanlarından birinin, MySQL Reaction Summary - Very Positive yazısı ve MySQL'den bir blog olayların iki taraf açısından ne kadar pembe göründüğünü çok güzel anlatıyor. Aynı şekilde yapılan basın toplantısı da bir hayli neşeli ve balayı modunda geçiyor, ayrıntıları Excerpts from the Sun/MySQL press conference yazısında bulabilirsiniz.

Bu satın alma sanırım en çok açık kaynak dünyasını etkiliyor. Matt Asay, What Sun's acquisition of MySQL means for the software industry yazısında, Sun'ın bu hamlesinin açık kaynak dünyasının merkezinde bir taht sahibi olmaya çalışması olarak yorumlanabileceğini söylüyor. Bu savı destekleyen diğer yazılar ise Sun’s planned deal to acquire MySQL will strengthen its open source story ve Sun To Acquire MySQL. MySQL'in Web dünyasında kullanım yüzdesi gözönüne alındığında Sun'ın yaptığı bu hamlenin bir hayli akıllıca olduğu da söylenebilir, nitekim Sun buys MySQL for $1 billion to take centerstage in the web economy yazısında bu konu detaylandırılıyor.

Bu satışın ardından en fazla konuşulan konu ise MySQL'in değeri ve Sun'ın yaptığı kar ya da zarar idi. Aşağıdaki linklerin her biri bu konuda yapılmış güzel yorumları içeriyor.

Jboss'u satan Maison Fleury'nin güzel bir yorumu, SUN acquires MySQL for $1Gazillion
Bu satıştan ne kar edildiğini anlamadığını anlattığı bir yazı, SUN acquires MySQL, Day2
Satış değerlerini irdeleyen güzel bir makale, More thoughts on Sun & MySQL

Bunun dışında bulabileceğiniz diğer faydalı linkler...

Sun Shines on LAMP
Sun to fork out $1 billion for open-source firm MySQL
Sun Microsystems has agreed to buy MySQL AB for $1B
Sun Plunks Down $1BN For MySQL
What Red Hat missed and Sun gained in MySQL
Sun to acquire MySQL


(16.01.2008) – Oracle BEA'yı 8,5 milyar dolara satın aldı.

Aynı gün ikinci bombayı Oracle patlattı ve 8,5 milyar dolara BEA'yı satın aldığını açıkladı, açık kaynak dünyasını daha çok Sun-MySQL olayı ilgilendirse de ilerisi için Oracle'ın bu hamlesi de oldukça stratejik oldu, bu stratejiyi ve yorumları Oracle-BEA: A fight against IBM, Sun, and open source, and a nasty hairball of technology yazısı çok güzel ifade ediyor.

Matt Asay (adamım), çok ilginç bir noktaya değiniyor, Oracle'ın bu satın almasının JBoss'un download sayısını nasıl artırdığını Oracle's acquisition of BEA is a big win for JBoss/Red Hat - the downloads don't lie yazısında detaylı bir şekilde açıklıyor.

Bu konu ile ilgili diğer linkler ise;

Oracle acquires BEA for $8.5 billion
An Open Letter to BEA WebLogic Customers - From GigaSpaces
Oracle set to buy BEA for $8.5B
Oracle-BEA: It aint over till it's over
The two-horse application server race: IBM and Red Hat/JBoss


(24.01.2008) - HP FOSSology ve FOSSBazaar ile açık kaynak dünyasına girdi.

Sun'ın açık kaynak hamleleri karşısında bir hamle de HP'den geldi, FOSSology ve FOSSBazaar isimli iki ürünle açık kaynak dünyasına girdi. SourceForge'un daha önce SourceForge Marketplace ürünü ile bu konuda yatırım yapmasından sonra HP'de FOSSBazaar ile aynı türden iş yaparak rekabeti artırmayı hedefliyor. HP'nin stratejisini Proprietary take-over of open source a fairy tale yazısı gayet net bir şekilde açıklıyor, işin arkaplanını ise The story behind HP's FOSSology open-source tools yazısı anlatıyor. Tabi tereciye tere satmaya çalışmak tepkileri beraberinde getiriyor. Açık kaynak dünyasının bu tür yardımcı ellere ihtiyacı olup olmadığını sorgulayan ve HP'nin stratejisini eleştiren yorumlarda yok değil, bunlardan birisi HP tells enterprises fear the source.

Bu konuda birkaç değişik link aşağıda;

HP May Accidentally Kill Black Duck & Palamida
The Open Source Census, OSS Discovery, FOSSology and FOSSBazaar!


(29.01.2008) - SpringSource, Covalent'i aldı

Ayın son alım satım işi ise ilginç bir şekilde, iki açık kaynak şirket arasında oldu, SpringSource Apache ürünleri ile ilgili bağlantısını güçlendirmek adına Covalent'i satın aldı. Tüm hikayeyi Springsource buys Covalent in enterprise Java push yazısında bulabilirsiniz. Maison Fleury ise bu olayı iki kamyonun çarpışmasına benzettiği yazısında bu konuyu detayları ile eleştiriyor, Spring Source merges with Covalent.

Diğer yazılar...

SpringSource acquires Covalent, gains Apache support network
Some Decisions are Easy – Like SpringSource Acquiring Covalent
SpringSource Acquires Covalent
When open source eats itself: SpringSource acquires Covalent
Open-source toolmaker acquires Covalent


SonSöz

Bu ay iştahı kabarık büyük şirketlerin olumlu, ya da olumsuz, karlı ya da zararlı, açık kaynak şirketlere yönelmesi ve bir hamlede yutması ile geçti. Tek dilediğimiz bu açık kaynak şirketlerin yerlerini yenilerinin alması.. Ve gidişattan umutlu olan ben, bu döngünün gerçekleşeceğini de tahmin ediyorum..