Açık kaynak projenizi nasıl ünlü yaparsınız
(evilmartians.com)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
- Açık bir açıklama
- Kullanıcıya nasıl yardımcı olduğunun net biçimde gösterilmesi
- 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
- Nano Stores şu özelliklere sahiptir:
-
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
- Somut, adım adım kılavuz sunun
-
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
- Yazdığınız kılavuzu bizzat izleyerek gerçekten çalışıp çalışmadığını test etmelisiniz
Etkili açık kaynak tanıtım stratejisi
1. Tekrarlı tanıtımın önemi
- Birçok kişi şu hatayı yapar
- Sosyal medyada yalnızca bir kez paylaşım yapmak
- Hiç tepki gelmemesi
- Moralinin bozulması
- 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ü
- Yeni özellik sürümü, blog yazısı, sosyal medya gönderisi gibi içerikler üretin
- Kullanıcı geri bildirimi alın
- Geri bildirime göre projeyi düzeltin
- 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
- Açık kaynak üretmenin en iyi nedeni şöhret ya da özgeçmiş güçlendirmek değil, dünyayı değiştirmektir
- İyi bir fikrin popüler projeye dönüşeceğinin garantisi yoktur
- Açık kaynak projelerinin popülerlik formülü = bilinirlik + tanıtım + kullanıcı faydası + şans
- Sosyal medya hesaplarını aktif tutun, bulunabilir hale getirin ve İngilizce gibi yaygın dillerde yazın
Etkili dokümantasyon yazımı
- README ve dokümantasyon, bir arkadaşınıza anlatıyormuş gibi açık ve doğal yazılmalıdır
- Vurgulu metin, listeler ve düzenli yapı ile karmaşık bilgiyi kademeli olarak aktarın
- Gerçek benchmark'lar ve kod örnekleri gibi somut kanıtlar sunun
- 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
- Tek seferlik büyük tanıtımdan çok tekrarlı tanıtım daha etkilidir → yayınla → geri bildirim al → iyileştir → tekrarla
- Düzenli paylaşım yapın ama spam'den kaçının
- Kod örnekleri ve görseller içeren paylaşımlar hazırlayın
- Başka projelere PR göndererek tanıtım etkisini en üst düzeye çıkarın
Proje ünlü olduğunda ipuçları
- Her sorunu kendiniz çözmeye çalışmayın; kullanıcıları PR göndermeye yönlendirin
- Sorun çözmek için belirli bir zaman ayırıp bunu yönetin (ör. günde 15 dakika)
- Olumsuz geri bildirim geldiğinde soru sorarak diyalog kurmaya çalışın
- Rakip projelerden korkmayın → rekabet bazen sizi sorumluluk yükünden de kurtarabilir
1 yorum
İç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.