Ali Gündoğdu

engineering

Mattermost'un 10.000 Mesaj Sınırı ve Matrix'e Taşınma Hikayem

9 Ocak 2026 · 4 dk okuma

Mattermost'un 10.000 Mesaj Sınırı ve Matrix'e Taşınma Hikayem

Kalenin Kapısı Kapanınca

İki yıl önce, daha yolun başında bir startup olarak iletişim altyapımızı kurarken önümüzde iki yol vardı. Biri, kullanıcı başına dolarla ödenen, verinin bulutta ve bizim kontrolümüz dışında durduğu kapalı sistemler. Diğeri, ipleri tamamen elimizde tutabileceğimiz açık bir yapı.

Türkiye’de bir girişim yönetiyorsan maliyet bir tasarruf kalemi değil, hayatta kalma meselesidir. Mattermost, o dönemki Community Edition’ıyla tam aradığımız şeyi verdi: kendi sunucumuzda, kendi güvenlik duvarımızın arkasında, verinin gerçek sahibi olduğumuz bir ortam. Go ve React üzerine kurulu, GitLab ile derin entegrasyonu olan, teknik ekiplerin sevdiği bir araç. O gün için doğru karardı.

Sonra Mattermost, Community Edition’ı sessizce “Entry Edition” yaptı ve yanına bir 10.000 mesaj sınırı koydu. Bu teknik bir limit değil, yapay bir bariyer. Bir ekibin geçmiş mesajlarına erişimini kesmek, sadece bir özelliği kısıtlamak değil; o ekibin hafızasını bir ödeme duvarının arkasına kilitlemek.

Veri Sadece Bayt Değildir

Bir kurumun verisi, veritabanında kapladığı yerden ibaret değil. İki yıl önceki bir mesajdaki ton, bir kriz anında alınan kararın mantığı, bir hatadan sonra yazılan post-mortem. Hepsi birleşip şirketin nasıl düşündüğünü oluşturuyor. 10.000 mesaj sınırı, tam da bu birikimi kesip atıyor.

Bu yüzden hafıza meselesini ciddiye alıyorum. Anadolu’nun kalbinde Hattuşaş’ta Hititler, kazandıkları savaşı da kaybettikleri kıtlığı da kil tabletlere kazırdı. Çünkü yazıya geçmeyen unutulur, unutulan da aynı hatayı tekrar eder. Bugün “kurum kültürü” dediğimiz şey, o kil tabletlerin veritabanı satırlarına taşınmış hali. Geçmişine erişimin kesilirse, geleceğe dair her kararın bir tahmine dönüşür.

Karar vermem gereken nokta buydu: bu sınırı kabul edip hafızamızı her ay kiralık mı tutacaktık, yoksa ipleri yeniden elimize mi alacaktık?

Masadaki Seçenekleri Dürüstçe Tartmak

Mattermost’tan çıkacaktık, ama nereye? Her seçeneğin kendi pürüzü vardı.

Rocket.Chat güçlü görünüyor ama mimari olarak hantal kalabiliyor, üstelik kurumsal özellikleri (LDAP gibi) her an daha sıkı bir ödeme duvarının arkasına geçirme potansiyeli taşıyor. Aynı filmi bir daha izleme riski. Zulip’in konu-bazlı yapısı muhteşem, ama mobil bildirim tarafındaki kısıtlar ve self-hosted kurulumun teknik maliyeti, dinamik bir ekip için ileride başka tıkanıklıklar demek.

Discord’u görmezden gelmek de dürüst olmaz. Sadece kullanıcı deneyimi ve stabilite üzerinden puanlasaydım, listedeki herkesi geçerdi. Ama bir teknoloji liderinin masasında yalnızca “kullanım kolaylığı” yazmaz; “sürdürülebilirlik” ve “hukuki zemin” de en az kod kalitesi kadar yer kaplar. Türkiye’de bir startup yönetiyorsan Discord güvenli bir liman değil: erişim engelleri, kapalı bir kutuda ve ülke dışında tutulan veri. Bir sabah ana iletişim kanalının mahkeme kararıyla kapandığını görmek risk yönetimi değil, doğrudan operasyonun durması olur. Bir belirsizlikten çıkıp başka bir belirsizliğe sığınamazdım.

Yazılım Değil, Protokol

Radarıma Matrix ve referans sunucusu Synapse girdi. Matrix’i bir yazılım değil, bir protokol olarak görmek gerekiyor. Bugün e-posta nasıl tek bir firmanın tekelinde değilse, Gmail’den Outlook’a mail atabiliyorsak, Matrix de iletişim için aynı açık zemini vaat ediyor.

Dürüst olayım: Matrix’e de körü körü bağlanmıyorum. Ekosistemin büyük kısmını bugün Element üstleniyor ve günün birinde onlar da Mattermost’un yoluna sapabilir. Ama protokolün merkeziyetsiz doğası bir sigorta sunuyor. Bir sunucu beni kısıtlamaya kalkarsa, veriyi başka bir sunucuya taşımak ya da kendi yapımı kurmak, kapalı bir sistemden kaçmaktan çok daha kolay. Teknoloji dünyasında hiçbir şeye tam güvenmemeyi öğrenecek kadar fırtına gördüm. Şu an elimdeki en özgür seçenek bu.

Pazar Anahtarı Vermeyince

Karar verilmişti, ama mevcut köprü çözümlerine bakınca karşımda hantal bir yapı buldum. Çoğu, kurulumda bile insanı yoran konfigürasyonlarla geliyor, bir hata anında kaldığı yerden devam edemiyordu. Sunucular arası manuel taşımalar, yarım kalan aktarımlar. Yarım aktarılmış, metadata’sı bozulmuş bir arşiv ise aslında hiç olmamış bir arşivdir.

Burada içimdeki maker devreye girdi. İhtiyacım olan şey, uzak sunucularla boğuşmak yerine kendi makinemden tüm süreci yönetebileceğim bir araçtı. Pazarda bulamadığım bu çözümü, planlamamı AI ile hızlandırarak yazdım. MatrixMigrate böyle doğdu.

Bu araç hâlâ gelişiyor. Temiz bir başlangıç için onlarca kez Synapse kurup siliyorum, her seferinde “nerede takılırız?” sorusunun peşine düşüyorum. Çünkü göçün temelini sağlam atmazsam, yarın Matrix’te de aynı hafıza sorunuyla boğuşurum. Amacım veriyi bir yerden bir yere fırlatmak değil, hata payını en aza indiren, adım adım kendini doğrulayan bir geçiş hattı kurmak.

Mülkiyet, Faturayı Ödemek Değildir

Bu süreç bana şunu bir kez daha gösterdi: teknolojide mülkiyet, faturayı ödeyince sahip olunan bir şey değil. Mülkiyet, verinin üzerinde kurduğun egemenliktir. Birkaç şeyi de kendime not ettim.

  • Hafıza pazarlık kozu olamaz. Bir ekibin geçmişi, fiyat artışı için rehin tutulacak bir şey değil.
  • Sahiplik protokolden gelir. Bir yazılıma değil, bir protokole güvenmek bağımsızlığın ilk adımı.
  • Pazar anahtar vermiyorsa, anahtarı kendin döversin. Çoğu zaman “imkansız” diye görünen şey, sadece henüz yazılmamış koddur.

Mattermost’un iş modeli bugün bizi bu göçe zorladı, yarın Matrix tarafında da benzer rüzgârlar esebilir. Ama bir teknoloji liderinin asıl işi gemiyi hangi limana bağladığı değil, içindeki yükün, yani kurumsal hafızanın güvende kalmasıdır. Bunun nasıl bir karar olduğunu, CTO’nun rolünü tartıştığım yazıda daha geniş anlatmıştım. Biz şimdilik kendi köprümüzü kurup hafızamızı omuzlayarak daha özgür bir zemine yürüyoruz.

Yazının İngilizce versiyonuna bu linkten ulaşabilirsin.