
MySQL, veritabanı dünyasının her zaman kara koyunu oldu. Hor görüldü, dışlandı, “has” yazılımcılar tarafından sevilmedi. Bugün Türkiye’de hemen her kurumun PostgreSQL ile ilgilendiğini görürsünüz. MySQL ise bilinir ama gündeme gelmez. Tüm bunlara karşın MySQL, db-engines.com’un 2025 istatistiklerine göre (açık ara) dünyanın en yaygın ikinci veritabanı sunucusu (Oracle DB’den sonra). Yıllardır da bu değişmedi.
MySQL, 1995 yılında, artan bir ihtiyacı karşılayan bir özgür yazılım olarak doğdu. O dönemki veritabanı servisleri için web uygulamaları önemsizdi. Web uygulamaları çok ufaktılar. Veritabanı servisleri kendilerine adanmış ayrı bir sunucuda çalışmak istiyorlardı (sanallaştırma henüz yaygın değil). Yetkilendirme sistemleri minnak minnak bir sürü web uygulamasının ortak kullanımı için uygun değildi. Çok fazla kaynak tüketiyorlardı. Pratikte 90’lı yılların web uygulamalarında kullanılamıyorlardı.
MySQL, dönemin ilişkisel veritabanı sunucularının işlevlerinin %80’ine sahipti. Kalan özelliklerse web uygulamaları için gerekli değildi. Üzerine paylaşımlı kullanıma uygun bir yetkilendirme sistemi getirdi. Kolay kullanılabilir yapısının yanı sıra bir de diğerlerinden çok daha az kaynak tüketip çok daha hızlı çalışınca bir anda yaygınlaştı.
MySQL’in yaygınlaşması sadece kendi başarısı değildi. Çok benzer bir öykü aynı yıl yayınlanan PHP programlama dili için de geçerliydi. PHP de benzer ihtiyaçları web programlaması için karşıladı. O da programlama dünyasının kara koyunu oldu. O da hep “eziklendi”. İki uygulama beraber, has yazılımcıların sinirlerini bozarak yaygınlaştı. Bugün, 30 yıl sonra hala çok yaygınlar. İnternet’te web sitelerinin %40’ından fazlasını tek başına WordPress oluşturuyor. WordPress de bir PHP uygulaması ve MySQL kullanıyor.
MySQL’in o dönem için bir farklılığı da bir firma ürünü olmasaydı. Firmaların özgür yazılım modeliyle yazılım üretmesinin yaygın olmadığı o yıllarda, GPL lisanslı olmasına karşın gerçek bir özgür yazılım olmadığı söylenerek dışlandı (benzerini Red Hat de yaşamıştı). Çifte (dual) lisanslama modeliyle, isteyen kurumlara, MySQL’i tamamen aynı özellikler ile kapalı bir lisansla satması insanları iyice gıcık etti.
MySQL’in GPL lisansı, başka firmaların MySQL için ürettiği çözümlerin de GPL yayınlanmasını ve tüm toplum tarafından kullanılabilmesini sağladı. Bugün de hala MySQL’in öntanımlı depolama motoru olan InnoDB, başka bir firma tarafından üretildi. Benzer biçimde 2007’de gelen Galera tipi çoklu kaynak (multi source) replikasyon yapısı da MySQL’in kendisi dışında bir firma tarafından üretildi.
MySQL firması önce 2008’de Sun Microsystems, sonra da 2010’da Oracle tarafından satın alındı. GPL lisansı MySQL yazılımını ve onun için üretilen dış çözümleri tüm bu el değiştirmeler sırasında korumaya devam etti. Öte yandan MySQL’in orijinal firması da dahil her sahibi, GPL’in yanı sıra kapalı lisansla da satma modelleri nedeniyle, kendilerine ait olmayan MySQL çözümlerini MySQL’in resmi sürümüne eklememeyi tercih ettiler. Hatta kendilerine ait olması için aynı özellikleri kendileri sıfırdan geliştirdiler.
Tüm bunlar, MySQL’in sahibi dışındaki herkesi kendi MySQL çözümlerini kendileri bağımsız olarak geliştirme yöntemine itti. Ortak bir topluluk yazılım geliştirme modeli oturmadı. Bu da aynı iş için, farklı zamanlarda üretilmiş, MySQL ile canlı sistemlerde kullanılabilecek kalitede (production grade), GPL lisanslı, yaygın kullanılan farklı çözümler oluşmasına yol açtı. Replikasyon çözümleri, yük dengeleyicileri, proxy’ler ve daha nice araçlar yazıldı.
MySQL’in (ve bu çifte lisanslanmasının) yaratıcısı Michael Widenius, MySQL’i Sun’a satarken mutluydu ve zengindi. Oracle’ı Sun satın alınca “bende kız bol” dedi; zamanında kızının adını verdiği MySQL’i forkladı. Diğer kızının adını verdiği MariaDB ürününü oluşturdu. MariaDB için de bir firma kurdu ve benzer kafada bir “enterprise platform” oluşturdu. İlk başta %100 MySQL uyumlu olacağım diyen MariaDB, zamanla bu uyumluluğu da kırdı.
Oracle da boş durmadı, MySQL’e kendi geliştirdiği yeni özellikler eklemeye ve MySQL müşterilerine hizmet vermeye devam etti. Bu çözümlerin bir kısmını MySQL’in GPL sürümüne de ekledi. Sonra MySQL’in minör sürümlerinde bile özellik eklemeye başladı. Örneğin 8.0.35 ile 8.0.36 arasında davranış farklılıkları oluştu.
Youtube, MySQL’i yönetmek ve ölçeklemek için Vitess isimli kendi platformunu oluşturdu. MySQL’in üzerine ek bir katman gibi yerleşen Vitess altyapısı Youtube için geliştirilen irili ufaklı birçok parçayı kullanıyor. Tüm bu altyapı da GPL lisanslı olarak geliştiriliyor.
MySQL Sun’a satılmadan bile önce, giderek özgür yazılım modelinden uzaklaşmaya başlamıştı. Bundan mutsuz olan bir ekip, MySQL’den ayrılarak Percona isimli bir danışmanlık firması kurdu. Sun’a satılması sonrası, 2008’de Percona MySQL ismiyle kendi MySQL dağıtımlarını oluşturdular. Ortalıktaki GPL çözümleri bir dağıtım olarak toparladılar. Zaman zaman Oracle’ın ve MariaDB’nin kapalı kodla ürettikleri parçaları, sıfırdan kendileri GPL olarak tekrar yazdılar. MySQL kullanmak isteyen ya da kullanmak zorunda olanlar için orijinal MySQL’den kopmayan bir “kararlı çözüm” sundular.
Herkesin bir tarafa çekelediği MySQL’in, tüm çözümleri ile beraber değerlendirildiğinde, bugün piyasadaki en yetenekli ilişkisel veritabanı sunucusu olduğu iddia edilebilir. Öte yandan bu yetenekleri kurumunda kullanmak ve yönetmek isteyenlerin, önce bu kaotik dünyayı anlamaları ve daha sonra da orada yollarını bulmaları gerekiyor. Bu da, ilk çıkış noktası basitlik ve kolaylık olan bir veritabanı sunucusu için ironik bir durum.