37 poin oleh GN⁺ 2025-03-17 | 1 komentar | Bagikan ke WhatsApp

Hal yang perlu diketahui sebelum membuat open source menjadi terkenal

  • Jika Anda ingin menjadi terkenal atau kaya melalui open source, itu adalah pendekatan yang keliru
  • Menulis blog atau berbicara di konferensi lebih efektif daripada membuat proyek yang populer
  • Redux dan React Router adalah proyek populer, tetapi maintainer-nya tidak memiliki banyak pengikut di media sosial → popularitas proyek tidak otomatis berujung pada popularitas pribadi

Jangan membuat open source hanya untuk ditulis di resume

  • Anggapan bahwa kontribusi open source itu wajib adalah salah
  • Meski memulai open source untuk menjadi terkenal, tidak ada jaminan akan berhasil
  • Bahkan proyek yang bagus pun bisa membuat Anda tertekan jika hanya punya satu bintang
  • Aktivitas open source memang bisa membantu dalam rekrutmen, tetapi daripada membuat proyek sendiri, berkontribusi ke proyek terkenal yang sudah ada jauh lebih efektif

Mulailah dari kontribusi terlebih dahulu

  • Mulai dari perbaikan dokumentasi atau perbaikan bug di proyek open source besar
  • Menulis PR jauh lebih mudah daripada menulis kode
  • Alasan terbaik membuat open source yang baik adalah karena Anda ingin mengubah dunia

Cara mengubah dunia lewat open source

  • PostCSS dibuat untuk mendiversifikasi ekosistem alat CSS dan mempermudah pemrosesan CSS → berhasil
  • Popularitas dan kesuksesan adalah elemen penting

Rahasia proyek populer

Popularitas proyek = pengenalan + promosi + manfaat bagi pengguna + keberuntungan

  • Proyek yang dibuat oleh developer populer cenderung lebih mudah menjadi populer → mungkin tidak adil, tetapi itulah kenyataannya
  • Anda perlu memahami penyebab popularitas dan mendekatinya secara strategis

Cara orang memilih open source

  • Orang tidak memilih alat secara rasional
  • Kebanyakan memutuskan hanya dengan melihat jumlah Star di GitHub
  • Atau sering mengikuti framework yang disebut di konferensi

Cara orang benar-benar membaca informasi

  • Pengguna tidak membaca README atau dokumentasi dari awal sampai akhir
  • Informasi harus diberikan secara sederhana dan bertahap seperti 'progressive JPEG'
  • Pada blok pertama, manfaat harus dijelaskan dengan jelas

Strategi meraih popularitas

  • Rapikan akun media sosial Anda
    • Pada awalnya, penulis tidak membuat akun media sosial berbahasa Inggris sehingga orang sulit menemukannya
    • Jika Anda developer non-Inggris, membuat akun media sosial berbahasa Inggris akan lebih menguntungkan
    • Saat proyek disebutkan, Anda harus menyediakan tautan profil agar pengguna mudah terhubung
  • Tetapkan pola pikir yang realistis
    • Keberuntungan itu penting, tetapi bukan segalanya
    • Penulis hanya berhasil dengan 4 dari 56 proyek
    • Sebelum membuat proyek populer, ia mengalami kegagalan berkali-kali
    • Proyek yang sukses adalah hasil dari upaya konsisten dan kegagalan yang berulang
  • Terima kegagalan sebagai sesuatu yang wajar
    • Proyek populer membutuhkan usaha jangka panjang seperti maraton
    • Kegagalan adalah bagian dari proses → perlu perbaikan berkelanjutan dan percobaan berulang
    • Perkirakan kegagalan sejak awal, tetapi jangan mengorbankan kualitas pekerjaan

Cara membuat open source populer: README

  • README dan dokumentasi menentukan kesan pertama proyek
  • Pengguna harus bisa memahami nilai proyek dengan cepat melalui README
  • README bisa terekspos kepada pengguna lewat jalur seperti berikut
    • Berbagai jalur promosi seperti presentasi, tulisan blog, podcast, dan lain-lain
    • Pada akhirnya semuanya mengarah ke README, jadi penulisannya harus diperhatikan dengan serius
  • Pembaca tidak membaca README dengan teliti dari awal sampai akhir
  • Karena itu, pada bagian awal README, nilai proyek harus disampaikan dengan jelas
  • Pada blok pertama, orang harus bisa cepat memahami manfaat proyek

Pertanyaan: apakah Anda sudah menyampaikan nilai proyek dengan efektif?

  • Orang tidak punya waktu luang untuk membaca dokumentasi secara mendetail
  • Karena itu, informasi inti dan manfaat harus dirangkum dengan jelas dan singkat
  • Dengan menata dokumentasi dengan baik, Anda bisa meningkatkan pengalaman pengguna dan popularitas proyek

1. Menyampaikan manfaat kepada pengguna secara efektif

  • Menyampaikan manfaat proyek kepada pengguna terhubung langsung dengan promosi
  • Dalam rumus sukses yang disebut sebelumnya, memberikan manfaat kepada pengguna adalah faktor penting

Popularitas proyek = pengenalan + promosi + manfaat bagi pengguna + keberuntungan

  • Di README, dokumentasi, atau pengantar singkat, manfaat bagi pengguna harus disampaikan dengan jelas
  • Agar mendapat perhatian karena nilai nyata, bukan karena popularitas atau reputasi, pertimbangkan hal-hal berikut
    • Keterbacaan informasi: pengguna harus bisa menangkap inti dengan cepat
    • Kemudahan dipindai: informasi penting harus disusun agar mudah terlihat
    • Kesan pertama: dalam beberapa detik pertama, nilai proyek harus langsung terlihat jelas

2. Menyampaikan pesan dengan cepat dan efektif

  • Blok pertama README wajib memuat tiga elemen berikut
    1. Penjelasan yang jelas
    2. Penjelasan yang jelas tentang bagaimana proyek ini membantu pengguna
    3. Perbedaan dengan produk lain
  • Alasan pengguna harus membaca dokumentasi harus disampaikan dengan jelas sejak kalimat pertama
    • Kalimat pertama adalah yang paling penting → sebagian besar pengguna hanya membaca kalimat pertama untuk menilai nilai proyek
    • Karena itu, manfaat proyek harus terlihat jelas pada blok pertama
  • Tidak masalah menghabiskan beberapa hari sampai satu minggu untuk menulis blok pertama README
  • Menulis blok pertama PostCSS memakan waktu sekitar satu minggu
  • Semakin banyak usaha yang dicurahkan ke blok pertama, semakin besar peluang proyek untuk berhasil

3. Menjelaskan produk agar mudah dipahami orang

  • Deskripsi proyek harus jelas dan intuitif
  • Dibanding ungkapan yang terdengar keren, penjelasan yang substansial jauh lebih penting
  • "Svelte is cybernetically enhanced web apps"
    • Terlalu samar → tidak jelas keunggulan spesifik apa yang diberikan
  • "Svelte is a web UI framework with a unique compiler which generates smaller JS fixes."
    • Spesifik dan jelas → menjelaskan masalah apa yang diselesaikan dan manfaat apa yang diberikan
  • Tulis penjelasan seolah Anda sedang berbicara dengan rekan di bar
    • "Anda membuat alat baru? Alat itu buat apa?" → jelaskan dengan alami
  • Setelah penjelasan tersusun, rapikan agar lebih ringkas
    • Setelah menulis deskripsi, perbaiki lagi 2~4 kali agar menjadi singkat dan jelas

4. Menyampaikan informasi dengan cepat lewat daftar dan teks tebal

  • Untuk menyampaikan informasi dengan jelas, Anda harus aktif memanfaatkan daftar dan teks tebal
  • Deskripsi lama Nano Stores (dalam bentuk blok teks)
    • Nano Stores adalah state manager yang bisa digunakan di berbagai frontend framework
    • Ukurannya kecil dan tidak memiliki dependensi
  • Deskripsi yang direvisi (menggunakan daftar dan penekanan tebal)
    • Nano Stores memiliki karakteristik berikut:
      • Ukuran kecil: 286~818 byte (minified dan brotlied)
      • Mendukung berbagai framework: React, Vue, Svelte, Angular, dan lainnya
      • Tanpa dependensi
  • Poin untuk meningkatkan keterbacaan

    • Gunakan daftar: informasi terstruktur sehingga mudah dipahami sekilas
    • Gunakan teks tebal: sorot informasi inti agar cepat dikenali
    • Kalimat singkat: sisakan hanya informasi penting dan hapus yang tidak perlu
      • Bahkan jika teks dipersingkat, pesannya tetap harus tersampaikan dengan jelas

5. Menggunakan contoh kode dan gambar

  • Konsep yang kompleks bisa dijelaskan dengan mudah melalui contoh kode atau gambar
    • Seperti pepatah "satu gambar lebih baik daripada seratus kata", materi visual adalah alat yang kuat untuk membantu pemahaman

6. Menggunakan data statistik nyata

  • Ungkapan yang samar atau janji abstrak sulit membangun kepercayaan
    • Anda harus menyajikan statistik konkret seperti performa, ukuran, dan kecepatan yang nyata
  • Contoh: penggunaan statistik nyata pada Nano ID

    • Bukti ukuran: Nano ID kecil, hanya 141 byte → memberikan angka yang jelas
    • Bukti kecepatan: Nano ID 16% lebih cepat daripada UUID → menyajikan hasil benchmark
  • Tips memanfaatkan data statistik secara efektif
    • Sediakan data performa yang terukur → memperkuat kredibilitas
    • Cantumkan hasil benchmark → menegaskan diferensiasi dari produk lain
    • Jelaskan performa API atau cara penggunaan dengan jelas beserta contoh nyata
      • Performa, ukuran, kecepatan, dan lainnya harus dibuktikan dengan angka dan data yang konkret

7. Menyediakan panduan mulai langkah demi langkah

  • Jika keunggulan proyek sudah tersampaikan dengan jelas, langkah berikutnya adalah memberi cara penggunaan yang konkret
  • Setelah pengguna tertarik pada proyek usai membaca README, mereka harus bisa melanjutkan secara alami ke langkah berikutnya
  • Tips menulis panduan awal yang efektif

    • Sediakan panduan langkah demi langkah yang konkret
      • Alih-alih penjelasan samar seperti "Gunakan PostCSS", berikan langkah yang jelas dan spesifik
      • Cantumkan perintah dan cara konfigurasi yang diperlukan di tiap langkah
    • Sediakan jalur alternatif
      • Tawarkan pendekatan yang berbeda sesuai situasi pengguna
      • Contoh: tambahkan cara penanganan bila PostCSS belum terpasang
    • Sediakan bagian berdasarkan tipe pengguna
      • Berikan panduan yang sesuai masing-masing untuk pengguna library besar dan library kecil
  • Wajib diuji

    • Anda harus mengikuti panduan yang ditulis sendiri untuk menguji apakah benar-benar berjalan dengan baik
      • Jika memungkinkan, lupakan pengetahuan latar tentang proyek dan ikuti lagi dari awal
      • Jika ada masalah, segera perbaiki dan lengkapi

Strategi promosi open source yang efektif

1. Pentingnya promosi berulang

  • Banyak orang melakukan kesalahan seperti berikut
    1. Memposting hanya sekali di media sosial
    2. Tidak ada respons
    3. Menjadi tertekan
    4. Menghentikan proyek
  • Satu promosi besar saja tidak efektif → perlu promosi bertahap dan berulang
  • Siklus promosi berulang yang efektif
    1. Buat konten seperti rilis fitur baru, posting blog, posting media sosial, dan lainnya
    2. Terima umpan balik pengguna
    3. Perbaiki proyek berdasarkan umpan balik
    4. Buat konten baru tentang perubahan tersebut → mulai lagi
  • Pada tahap awal, jumlah pengguna yang sedikit justru menguntungkan → bisa melakukan perbaikan tanpa stres
  • Peningkatan terus-menerus dan promosi berulang akan menaikkan pengenalan

2. Strategi promosi media sosial yang efektif

  • Jangan hanya membagikan tautan atau berhenti pada penjelasan singkat
  • Sertakan dua hal berikut
    • Contoh kode atau gambar → membuat orang lebih mudah memahami
    • Penjelasan proyek yang jelas → bahkan pengguna baru pun bisa mengerti
  • Contoh template tulisan promosi

    • Umumkan fitur baru → beri penjelasan jelas → sertakan contoh kode → bagikan di media sosial
    • Posting di subreddit terkait di Reddit (cek aturan tiap subreddit)
    • Posting di Hacker News → bisa membantu memperoleh traction awal
    • Tulis artikel di Dev.to, Smashing Magazine, CSS-Tricks, dan lainnya → memperluas eksposur

3. Strategi promosi lewat PR

  • Ajukan PR untuk mengadopsi open source Anda ke proyek lain
    • Contoh: PostCSS berhasil dipromosikan lewat PR ke proyek lain
    • "Kalau butuh bantuan, saya bisa mencoba menerapkan alat ini."
  • Jika PR diterima, cantumkan contoh penerapan itu di README → meningkatkan kepercayaan
  • Menyebut bahwa alat Anda dipakai oleh proyek populer juga memperkuat kredibilitas

4. Ulangi, tetapi jangan sampai spam

  • Promosi berulang secara konsisten memang perlu
  • Namun spam sama sekali tidak boleh
    • Jangan mengulang pesan yang sama; berikan nilai baru
    • Sertakan perubahan dan perkembangan yang sudah terjadi
  • Tidak semua pengguna membaca semua posting → promosi berulang dalam berbagai bentuk perlu dilakukan secara berkala

Mengapa promosi berulang diperlukan

  • Orang tidak memilih alat secara rasional
  • Promosi berulang membentuk pengenalan secara alami
  • Agar berhasil, Anda perlu membangun pengenalan dalam jangka panjang

Bonus

1. Cara mengatasi masalah saat proyek menjadi terkenal

  • Saat proyek menjadi populer, jumlah issue yang harus ditangani bisa meledak
  • Jika Anda mencoba menyelesaikan semua masalah sendiri, bebannya akan membesar dan bisa berujung pada rasa tertekan serta penurunan produktivitas
  • Solusi

    • Jangan mencoba menyelesaikan semua masalah sendiri → dorong pengguna untuk menulis PR
    • Minta dengan kalimat seperti, "Jika Anda ingin menyelesaikan masalah ini, bisakah Anda mengirim PR?"
    • Tetapkan waktu untuk menangani masalah (misalnya 15 menit per hari) dan kerjakan hanya dalam waktu itu
    • Untuk masalah sulit, jangan buru-buru menyelesaikannya; balas dengan "Saya sedang meninjau cara penyelesaiannya" → hanya dengan tahu bahwa masalahnya sudah disadari pun pengguna akan merasa lebih tenang
    • Perbaikan dokumentasi juga bisa diserahkan kepada pengguna → minta, "Bisakah Anda memperbaiki bagian ini?"

2. Cara menghadapi umpan balik negatif

  • Umpan balik negatif bisa menurunkan motivasi
  • Pada tahap awal proyek, umpan balik negatif bisa mematahkan semangat, dan ketika proyek makin populer, hal itu bisa melemahkan kepercayaan diri
  • Strategi respons

    • Jangan bereaksi secara emosional
    • Ajukan pertanyaan terhadap kritik → tanyakan, "Mengapa Anda merasa B lebih baik daripada A?"
    • Kritik sering kali hanya luapan emosi → cobalah berdialog dengan pengguna untuk membangun kepercayaan
    • Kritik juga bisa menjadi peluang untuk perbaikan

3. Strategi menghadapi munculnya proyek pesaing

  • Anda tidak perlu khawatir meski proyek pesaing muncul
  • Jika ada proyek pesaing, ada manfaat seperti berikut
    • Anda bisa lepas dari beban memelihara proyek
    • Lewat persaingan, solusi yang lebih baik bisa muncul → pada akhirnya juga menguntungkan pengguna
  • Tujuan akhir open source adalah mengubah dunia → bukan monopoli atau dominasi
  • Munculnya proyek pesaing → lahirnya alat yang lebih baik → situasi win-win

Ringkasan akhir

Cara membuat open source populer dan mendapatkan visibilitas

  1. Alasan terbaik membuat open source bukanlah ketenaran atau memperkuat resume, tetapi untuk mengubah dunia
  2. Tidak ada jaminan bahwa ide bagus akan menjadi proyek populer
  3. Rumus popularitas proyek open source = pengenalan + promosi + manfaat bagi pengguna + keberuntungan
  4. Akun media sosial harus aktif, mudah ditemukan, dan ditulis dalam bahasa yang banyak digunakan seperti bahasa Inggris

Cara menulis dokumentasi yang efektif

  1. README dan dokumentasi harus ditulis dengan jelas dan alami, seolah menjelaskan kepada teman
  2. Gunakan teks penekanan, daftar, dan struktur yang sistematis untuk menyampaikan informasi kompleks secara bertahap
  3. Sediakan bukti konkret seperti benchmark nyata dan contoh kode
  4. Jika memungkinkan, sediakan panduan awal yang spesifik untuk pemula dan pengguna tingkat lanjut

Strategi promosi

  1. Dibanding satu promosi besar, promosi berulang lebih efektif → rilis → umpan balik → perbaikan → ulangi
  2. Posting secara rutin, tetapi hindari spam
  3. Buat posting yang menyertakan contoh kode dan gambar
  4. Ajukan PR ke proyek lain untuk memaksimalkan efek promosi

Tips saat proyek menjadi terkenal

  1. Jangan mencoba menyelesaikan semua masalah sendiri; arahkan pengguna agar mengirim PR
  2. Tetapkan waktu khusus untuk menangani masalah dan kelola sesuai batas itu (misalnya 15 menit per hari)
  3. Jika ada umpan balik negatif, cobalah berdialog lewat pertanyaan
  4. Jangan takut pada proyek pesaing → persaingan justru bisa membebaskan Anda dari tanggung jawab tertentu

1 komentar

 
roxie 2025-03-28

Menurut saya, penting juga untuk menemukan tempat yang membolehkan promosi dengan isi yang sedikit berbeda-beda, tetapi jika dilihat dari jauh terasa berulang. Misalnya Twitter.