37 puan yazan GN⁺ 2025-03-17 | 1 yorum | WhatsApp'ta paylaş

Açık kaynağı popüler hale getirmeden önce bilinmesi gerekenler

  • Açık kaynak sayesinde ünlü olmak ya da zengin olmak istiyorsanız bu yanlış bir yaklaşımdır
  • Popüler bir proje üretmektense blog yazmak veya konferanslarda konuşmak daha etkilidir
  • Redux ve React Router popüler projelerdir ancak bakımcılarının sosyal medyada çok fazla takipçisi yoktur → projenin popülerliği kişisel popülerliğe dönüşmez

Açık kaynağı özgeçmişe yazmak için başlatmayın

  • Açık kaynağa katkının zorunlu olduğu algısı yanlıştır
  • Ünlü olmak için açık kaynağa başlasanız da başarının garantisi yoktur
  • İyi bir proje bile yalnızca bir yıldıza sahipse moral bozabilir
  • İşe alımda açık kaynak faaliyetleri yardımcı olabilir, ancak doğrudan proje oluşturmaktan ziyade mevcut popüler projelere katkı vermek daha etkilidir

Önce katkı vererek başlayın

  • Büyük açık kaynak projelerinde dokümantasyon düzeltmeleri veya hata düzeltmeleri ile başlayın
  • PR hazırlamak, kod yazmaktan çok daha kolaydır
  • İyi bir açık kaynak üretmek için en iyi gerekçe, dünyayı değiştirmek istemenizdir

Açık kaynakla dünyayı nasıl değiştirebilirsiniz

  • PostCSS'nin yapılma nedeni, CSS araç ekosistemini çeşitlendirmek ve CSS işlemeyi daha kolay hale getirmekti → başarılı oldu
  • Popülerlik ve başarı önemli unsurlardır

Popüler projelerin sırrı

Bir projenin popülerliği = bilinirlik + tanıtım + kullanıcıya sağladığı fayda + şans

  • Popüler geliştiricilerin yaptığı projeler daha kolay popüler olma eğilimindedir → bu adaletsiz gelebilir ama gerçek budur
  • Popülerliğin nedenlerini anlayıp stratejik yaklaşmak gerekir

İnsanlar açık kaynak seçimini nasıl yapıyor

  • İnsanlar araçları rasyonel biçimde seçmez
  • Çoğu kişi GitHub'daki yıldız sayısına bakarak karar verir
  • Ya da konferanslarda adı geçen framework'leri takip eder

İnsanlar bilgiyi gerçekte nasıl okuyor

  • Kullanıcılar README'yi ya da dokümantasyonu baştan sona okumaz
  • Bilgiyi bir 'progressive JPEG' gibi basit ve kademeli biçimde sunmak gerekir
  • İlk blokta faydayı net biçimde anlatmalısınız

Popülerlik kazanma stratejisi

  • Sosyal medya hesaplarınızı iyi düzenlemelisiniz
    • Yazar başlangıçta İngilizce sosyal medya hesabı açmadığı için insanların yazarı bulması zordu
    • İngilizce konuşulmayan bir ülkedeki geliştiriciyseniz İngilizce sosyal medya hesabı açmanız avantaj sağlar
    • Projeden söz edildiğinde profil bağlantısı vermelisiniz ki kullanıcıların size ulaşması kolay olsun
  • Gerçekçi bir zihniyet oluşturun
    • Şans önemlidir ama her şey değildir
    • Yazarın 56 projesinden yalnızca 4'ü başarılı oldu
    • Popüler bir proje ortaya çıkarana kadar birçok kez başarısızlık yaşadı
    • Başarılı projeler, sürekli denemelerin ve tekrarlanan başarısızlıkların sonucudur
  • Başarısızlığı doğal kabul edin
    • Popüler projeler, maraton gibi uzun süreli emek ister
    • Başarısızlık sürecin bir parçasıdır → sürekli iyileştirme ve tekrarlı denemeler gerekir
    • En baştan başarısızlık ihtimalini bekleyerek başlayın ama işin kalitesinden ödün vermeyin

Açık kaynağı popüler hale getirme: README

  • README ve dokümantasyon, projenin ilk izlenimini belirler
  • Kullanıcı, README üzerinden projenin değerini hızla kavrayabilmelidir
  • README kullanıcıların karşısına şu yollarla çıkabilir
    • Sunumlar, blog yazıları, podcast'ler gibi çeşitli tanıtım kanalları
    • Sonunda kullanıcı README'ye geldiği için özenle yazılmalıdır
  • Okurlar README'yi baştan sona dikkatle okumaz
  • Bu yüzden README'nin ilk bölümünde projenin değerini açıkça aktarmalısınız
  • İlk blokta insanlar projenin faydalarını hızlıca anlayabilmelidir

Soru: Projenin değerini etkili biçimde anlatıyor musunuz?

  • İnsanlar sakin sakin dokümantasyonu ayrıntılı okumaz
  • Bu nedenle temel bilgi ve faydaları açık ve özlü biçimde düzenlemelisiniz
  • Dokümantasyonu iyi düzenleyerek kullanıcı deneyimini iyileştirebilir ve projenin popülerliğini artırabilirsiniz

1. Kullanıcıya faydayı etkili biçimde anlatmak

  • Projenin kullanıcıya sağladığı faydayı anlatmak, tanıtımla doğrudan bağlantılıdır
  • Daha önce sözü edilen başarı formülünde kullanıcıya fayda sağlamak önemli bir unsurdur

Bir projenin popülerliği = bilinirlik + tanıtım + kullanıcıya sağladığı fayda + şans

  • README, dokümantasyon ya da kısa tanıtım yazısında kullanıcıya faydayı açıkça anlatmalısınız
  • Popülerlik veya itibarla değil, gerçek değerle dikkat çekmek için şu noktalara dikkat etmek gerekir
    • Bilginin okunabilirliği: Kullanıcı temel noktaları hızlıca kavrayabilmelidir
    • Taranabilirlik: Önemli bilgiler kolayca göze çarpacak şekilde düzenlenmelidir
    • İlk izlenim: İlk birkaç saniye içinde projenin değeri net biçimde ortaya çıkmalıdır

2. Mesajı hızlı ve etkili biçimde iletmek

  • README'nin ilk bloğunda şu üç unsur mutlaka bulunmalıdır
    1. Açık bir açıklama
    2. Kullanıcıya nasıl yardımcı olduğunun net biçimde gösterilmesi
    3. Diğer ürünlerden farkının belirtilmesi
  • Kullanıcının dokümanı neden okuması gerektiğini ilk cümlede açıkça anlatmalısınız
    • İlk cümle en önemli kısımdır → kullanıcıların çoğu yalnızca ilk cümleyi okuyup projenin değerine karar verir
    • Bu yüzden ilk blokta projenin faydası açıkça görünmelidir
  • README'nin ilk bloğunu yazmaya birkaç gün ila bir hafta ayırmanız normaldir
  • PostCSS'nin ilk bloğunu yazmak yaklaşık bir hafta sürdü
  • İlk bloğa yeterli emek verilmesi, projenin başarı şansını artırır

3. Ürünü insanların kolayca anlayabileceği şekilde anlatmak

  • Proje açıklaması açık ve sezgisel olmalıdır
  • Havalı görünen ifadelerden çok somut açıklama daha önemlidir
  • "Svelte is cybernetically enhanced web apps"
    • Fazla belirsizdir → tam olarak hangi avantajı sunduğu anlaşılmaz
  • "Svelte is a web UI framework with a unique compiler which generates smaller JS fixes."
    • Somut ve nettir → hangi sorunu çözdüğünü ve ne fayda sağladığını açıklar
  • Açıklamayı, bir meslektaşınızla barda sohbet ediyormuş gibi yazın
    • "Yeni bir araç yaptın mı? Ne işe yarıyor?" → bunu doğal biçimde açıklayın
  • Açıklama şekillendikten sonra daha kısa hale getirin
    • Metni yazdıktan sonra 2-4 kez daha düzenleyip kısa ve net hale getirin

4. Bilgiyi hızlı iletmek için liste ve kalın metin kullanmak

  • Bilgiyi net aktarmak için listeleri ve kalın metni aktif biçimde kullanmalısınız
  • Nano Stores'un eski açıklaması (metin bloğu biçiminde)
    • Nano Stores, çeşitli frontend framework'lerinde kullanılabilen bir state manager'dır
    • Küçüktür ve bağımlılığı yoktur
  • Düzenlenmiş açıklama (liste ve kalın vurgu kullanımı)
    • Nano Stores şu özelliklere sahiptir:
      • Küçük boyut: 286~818 bayt (minified ve brotlied)
      • Çeşitli framework desteği: React, Vue, Svelte, Angular vb.
      • Bağımlılık yok
  • Okunabilirliği artıran noktalar

    • Liste kullanımı: Bilgiyi yapılandırır ve tek bakışta anlaşılmasını sağlar
    • Kalın metin kullanımı: Temel bilgiyi vurgular ve hızlı algılanmasını sağlar
    • Kısa cümleler: Yalnızca önemli bilgiyi bırakıp gereksiz içeriği silin
      • Metni kısaltsanız da mesaj net biçimde aktarılabilmelidir

5. Kod örnekleri ve görseller kullanmak

  • Karmaşık kavramlar örnek kod veya görsel ile kolayca anlatılabilir
    • "Yüz söz yerine bir resim daha iyidir" denildiği gibi görsel materyaller anlamayı kolaylaştıran güçlü araçlardır

6. Gerçek istatistikleri kullanmak

  • Belirsiz ifadeler ya da soyut vaatler güven oluşturmakta zorlanır
    • Gerçek performans, boyut, hız gibi somut istatistikler sunmalısınız
  • Örnek: Nano ID'de gerçek istatistik kullanımı

    • Boyut kanıtı: Nano ID 141 bayt boyutundadır → net sayısal veri sunar
    • Hız kanıtı: Nano ID, UUID'den %16 daha hızlıdır → benchmark sonucu gösterilir
  • İstatistikleri etkili kullanmak için ipuçları
    • Sayısallaştırılmış performans verisi sunun → güvenilirliği artırır
    • Benchmark sonuçlarını belirtin → diğer ürünlerden farkı vurgular
    • API performansını veya kullanım şeklini gerçek örneklerle birlikte açıkça gösterin
      • Performans, boyut, hız gibi nitelikler somut sayılar ve verilerle kanıtlanmalıdır

7. Adım adım başlangıç kılavuzu sunmak

  • Projenin avantajları net biçimde anlatıldıysa sıradaki adım somut kullanım yöntemi sunmaktır
  • Kullanıcı README'yi okuyup projeyle ilgilenirse, süreç doğal biçimde bir sonraki adıma bağlanmalıdır
  • Etkili başlangıç kılavuzu yazma ipuçları

    • Somut, adım adım kılavuz sunun
      • "PostCSS kullanın" gibi belirsiz bir açıklama yerine açık ve somut adımlar verin
      • Her adımda gereken komutları ve yapılandırma yöntemlerini belirtin
    • Alternatif yollar sunun
      • Kullanıcının durumuna göre farklı yaklaşımlar önerin
      • Örneğin: PostCSS kurulu değilse ne yapılacağına dair yöntem ekleyin
    • Kullanıcı tipine göre bölümler sunun
      • Büyük kütüphane kullanıcıları ile küçük kütüphane kullanıcıları için ayrı uygun kılavuzlar verin
  • Test şart

    • Yazdığınız kılavuzu bizzat izleyerek gerçekten çalışıp çalışmadığını test etmelisiniz
      • Mümkünse projeyle ilgili arka plan bilginizi unutup en baştan yeniden uygulayın
      • Sorun çıkarsa hemen düzeltin ve tamamlayın

Etkili açık kaynak tanıtım stratejisi

1. Tekrarlı tanıtımın önemi

  • Birçok kişi şu hatayı yapar
    1. Sosyal medyada yalnızca bir kez paylaşım yapmak
    2. Hiç tepki gelmemesi
    3. Moralinin bozulması
    4. Projeyi bırakmak
  • Tek seferlik büyük tanıtım etkili değildir → kademeli ve tekrarlı tanıtım gerekir
  • Etkili tekrar eden tanıtım döngüsü
    1. Yeni özellik sürümü, blog yazısı, sosyal medya gönderisi gibi içerikler üretin
    2. Kullanıcı geri bildirimi alın
    3. Geri bildirime göre projeyi düzeltin
    4. Yapılan değişiklikler hakkında yeni içerik üretin → başa dönün
  • Başlangıçta kullanıcı sayısının az olması aslında avantajlıdır → stres yaşamadan düzeltme yapabilirsiniz
  • Sürekli iyileştirme ve tekrarlı tanıtım sayesinde bilinirlik artar

2. Etkili sosyal medya tanıtım stratejisi

  • Yalnızca bağlantı paylaşmakla ya da kısa bir açıklamayla yetinmeyin
  • Şu iki şeyi ekleyin
    • Kod örneği veya görsel → insanların kolay anlamasını sağlar
    • Açık proje açıklaması → yeni kullanıcılar da anlayabilir
  • Tanıtım yazısı şablon örneği

    • Yeni özellik duyurusu → net açıklama → kod örneği ekleme → sosyal medyada paylaşım
    • Reddit'te ilgili subreddit'lere paylaşın (her subreddit'in kurallarını kontrol edin)
    • Hacker News'e gönderin → ilk traction'ı yakalama şansı olabilir
    • Dev.to, Smashing Magazine, CSS-Tricks vb. mecralarda yazı yayınlayın → görünürlüğü artırın

3. PR ile tanıtım stratejisi

  • Kendi açık kaynağınızı başka projelere dahil eden PR'lar gönderin
    • Örneğin: PostCSS, başka projelere gönderilen PR'lar sayesinde tanıtımda başarılı oldu
    • "Yardıma ihtiyacınız varsa bu aracı uygulamayı deneyebilirim."
  • PR kabul edilirse README'ye kullanım örneğini ekleyin → güven artar
  • Popüler projelerin sizin aracınızı kullandığını belirtmek güvenilirliği güçlendirir

4. Tekrar edin ama spam yapmayın

  • Sürekli, tekrar eden tanıtım gerekir
  • Ancak spam kesinlikle yapılmamalıdır
    • Aynı mesajı tekrarlamayın, yeni bir değer sunun
    • Değişim ve gelişmiş içeriği dahil edin
  • Her kullanıcı her paylaşımı görmez → bu yüzden farklı biçimlerde düzenli tekrar gerekir

Tekrarlı tanıtımın nedeni

  • İnsanlar araçları rasyonel biçimde seçmez
  • Tekrarlı tanıtım sayesinde bilinirlik doğal biçimde oluşur
  • Uzun vadede bilinirlik biriktirmek gerekir ki başarı ihtimali artsın

Bonus

1. Proje ünlü olduğunda sorunları çözme yöntemi

  • Proje popülerleştiğinde çözülmesi gereken issue sayısı patlayabilir
  • Her sorunu tek başınıza çözmeye çalışırsanız yük ağırlaşır; bu da moralsizliğe ve üretkenlik düşüşüne yol açabilir
  • Çözüm

    • Her sorunu bizzat çözmeye çalışmayın → kullanıcılardan PR hazırlamalarını isteyin
    • "Bu sorunu çözmek istiyorsanız bir PR gönderebilir misiniz?" diye sorun
    • Sorun çözmeye ayrılan zamanı belirleyin (ör. günde 15 dakika) ve yalnızca o sürede ilgilenin
    • Zor sorunları hemen çözmeye çalışmayın; bunun yerine "Bir çözüm yolunu inceliyorum" diye yanıt verin → kullanıcılar çoğu zaman yalnızca sorunun farkında olduğunuzu bilmekle rahatlar
    • Dokümantasyon düzeltmelerini de kullanıcılara bırakabilirsiniz → "Bu kısmı düzeltebilir misiniz?" diye sorun

2. Olumsuz geri bildirimle başa çıkma yöntemleri

  • Olumsuz geri bildirim motivasyonu düşürebilir
  • Projenin başında gelen olumsuz geri bildirim heves kırabilir; proje popülerleştiğinde ise özgüveni zayıflatabilir
  • Yanıt stratejisi

    • Duygusal tepki vermeyin
    • Eleştiriye soruyla karşılık verin → "Neden B'nin A'dan daha iyi olduğunu düşünüyorsunuz?" diye sorun
    • Eleştiri çoğu zaman yalnızca duygusal bir dışavurumdur → kullanıcıyla konuşarak güven kurmaya çalışın
    • Eleştiri, iyileştirme fırsatı da sağlayabilir

3. Rakip proje çıktığında izlenecek strateji

  • Rakip bir proje çıktığında endişelenmenize gerek yoktur
  • Rakip proje ortaya çıktığında şu faydalar doğabilir
    • Projeyi sürdürme yükünüz azalabilir
    • Rekabet daha iyi çözümler üretebilir → sonuçta kullanıcı da kazanır
  • Açık kaynağın nihai amacı dünyayı değiştirmektir → tekel ya da hakimiyet kurmak değil
  • Rakip proje ortaya çıkar → daha iyi araç doğar → kazan-kazan durumu

Son özet

Popüler bir açık kaynak oluşturma ve görünürlük kazanma

  1. Açık kaynak üretmenin en iyi nedeni şöhret ya da özgeçmiş güçlendirmek değil, dünyayı değiştirmektir
  2. İyi bir fikrin popüler projeye dönüşeceğinin garantisi yoktur
  3. Açık kaynak projelerinin popülerlik formülü = bilinirlik + tanıtım + kullanıcı faydası + şans
  4. Sosyal medya hesaplarını aktif tutun, bulunabilir hale getirin ve İngilizce gibi yaygın dillerde yazın

Etkili dokümantasyon yazımı

  1. README ve dokümantasyon, bir arkadaşınıza anlatıyormuş gibi açık ve doğal yazılmalıdır
  2. Vurgulu metin, listeler ve düzenli yapı ile karmaşık bilgiyi kademeli olarak aktarın
  3. Gerçek benchmark'lar ve kod örnekleri gibi somut kanıtlar sunun
  4. Mümkünse yeni başlayanlar ve ileri düzey kullanıcılar için özel, somut başlangıç kılavuzları sağlayın

Tanıtım stratejisi

  1. Tek seferlik büyük tanıtımdan çok tekrarlı tanıtım daha etkilidir → yayınla → geri bildirim al → iyileştir → tekrarla
  2. Düzenli paylaşım yapın ama spam'den kaçının
  3. Kod örnekleri ve görseller içeren paylaşımlar hazırlayın
  4. Başka projelere PR göndererek tanıtım etkisini en üst düzeye çıkarın

Proje ünlü olduğunda ipuçları

  1. Her sorunu kendiniz çözmeye çalışmayın; kullanıcıları PR göndermeye yönlendirin
  2. Sorun çözmek için belirli bir zaman ayırıp bunu yönetin (ör. günde 15 dakika)
  3. Olumsuz geri bildirim geldiğinde soru sorarak diyalog kurmaya çalışın
  4. Rakip projelerden korkmayın → rekabet bazen sizi sorumluluk yükünden de kurtarabilir

1 yorum

 
roxie 2025-03-28

İçeriği biraz farklı ama uzaktan bakınca tekrarlı görünen tanıtımların kabul gördüğü yerleri bulmak da önemli gibi görünüyor. Örneğin Twitter.