Cómo hacer que tu open source se vuelva popular
(evilmartians.com)Qué debes saber antes de hacer famoso tu open source
- Si quieres hacerte famoso o rico a través del open source, es un enfoque equivocado
- En lugar de crear un proyecto popular, escribir en un blog o dar charlas en conferencias es más efectivo
- Redux y React Router son proyectos populares, pero sus maintainers no tienen muchos seguidores en redes sociales → la popularidad del proyecto no se traduce en popularidad personal
No crees open source para ponerlo en tu CV
- Es falso que participar en open source sea obligatorio
- Aunque empieces open source para hacerte famoso, no hay garantía de éxito
- Incluso un buen proyecto puede deprimirte si solo tiene una estrella
- La actividad en open source puede ayudar en contrataciones, pero en vez de crear tu propio proyecto, es más efectivo contribuir a proyectos conocidos que ya existen
Empieza contribuyendo primero
- En proyectos grandes de open source, empieza con correcciones de documentación o fixes de bugs
- Es mucho más fácil escribir un PR que escribir código
- La mejor razón para crear un buen open source es porque quieres cambiar el mundo
Cómo cambiar el mundo a través del open source
- La razón para crear PostCSS fue diversificar el ecosistema de herramientas de CSS y facilitar el procesamiento de CSS → fue un éxito
- La popularidad y el éxito sí son factores importantes
El secreto de los proyectos populares
Popularidad del proyecto = reconocimiento + promoción + beneficio para el usuario + suerte
- Los proyectos creados por desarrolladores populares tienden a volverse populares más fácilmente → puede ser injusto, pero es la realidad
- Hay que entender las causas de la popularidad y abordarlas estratégicamente
Cómo elige la gente el open source
- La gente no elige herramientas de forma racional
- La mayoría decide viendo la cantidad de Stars en GitHub
- O muchas veces siguen el framework que se mencionó en una conferencia
Cómo lee realmente la gente la información
- Los usuarios no leen el README ni la documentación de principio a fin
- Hay que ofrecer la información de manera simple y progresiva, como un “progressive JPEG”
- En el primer bloque debes explicar claramente los beneficios
Estrategias para ganar popularidad
- Debes tener bien organizadas tus cuentas de redes sociales
- Al principio, el autor no creó cuentas sociales en inglés, así que a la gente le costaba encontrarlo
- Si eres un desarrollador no angloparlante, te conviene crear cuentas de redes sociales en inglés
- Cuando se mencione el proyecto, debes ofrecer un enlace a tu perfil para que a los usuarios les sea fácil conectarse contigo
- Configura una mentalidad realista
- La suerte importa, pero no lo es todo
- El autor solo tuvo éxito con 4 de 56 proyectos
- Pasó por muchos fracasos antes de crear proyectos populares
- Los proyectos exitosos son el resultado de intentos constantes y fracasos repetidos
- Acepta el fracaso como algo normal
- Un proyecto popular requiere un esfuerzo de largo plazo, como un maratón
- El fracaso es parte del proceso → hace falta mejorar e intentar una y otra vez
- Empieza asumiendo que vas a fallar, pero sin renunciar a la calidad del trabajo
Cómo hacer que tu open source sea popular: README
- El README y la documentación determinan la primera impresión del proyecto
- El usuario debe poder captar rápido el valor del proyecto a través del README
- El README puede llegar al usuario por rutas como estas
- Presentaciones, posts de blog, podcasts y otros canales de promoción
- Al final todo termina llevando al README, así que hay que cuidarlo bien
- El lector no revisa el README de principio a fin con atención
- Por eso, en la primera parte del README debes comunicar con claridad el valor del proyecto
- En el primer bloque, la gente debe poder entender rápidamente los beneficios del proyecto
Pregunta: ¿estás comunicando el valor de tu proyecto de forma efectiva?
- La gente no se toma el tiempo de leer la documentación con calma y a detalle
- Por eso, debes organizar la información clave y los beneficios de forma clara y concisa
- Una documentación bien ordenada mejora la experiencia del usuario y aumenta la popularidad del proyecto
1. Comunica bien los beneficios al usuario
- Comunicar los beneficios del proyecto al usuario está directamente relacionado con la promoción
- En la fórmula de éxito mencionada antes, ofrecer beneficios al usuario es un factor clave
Popularidad del proyecto = reconocimiento + promoción + beneficio para el usuario + suerte
- Debes comunicar claramente los beneficios al usuario en el README, la documentación o una breve introducción
- Si quieres llamar la atención por valor real y no por fama o reputación, debes considerar lo siguiente
- Legibilidad de la información: el usuario debe poder identificar rápido lo esencial
- Escaneabilidad: la información importante debe resaltar fácilmente a simple vista
- Primera impresión: el valor del proyecto debe quedar claro en los primeros segundos
2. Entrega el mensaje de forma rápida y efectiva
- El primer bloque del README debe incluir sí o sí estos tres elementos
- Una explicación clara
- Qué ayuda concreta le da al usuario
- Qué lo diferencia de otros productos
- Debes dejar claro desde la primera frase por qué el usuario debería seguir leyendo la documentación
- La primera frase es la más importante → la mayoría decide el valor del proyecto leyendo solo esa frase
- Por eso, el primer bloque debe dejar clarísimo el beneficio del proyecto
- Está bien invertir desde unos días hasta una semana en escribir el primer bloque del README
- Escribir el primer bloque de PostCSS tomó casi una semana
- Dedicar suficiente esfuerzo al primer bloque aumenta las probabilidades de éxito del proyecto
3. Explica el producto para que la gente lo entienda fácilmente
- La explicación del proyecto debe ser clara e intuitiva
- Más que sonar cool, lo importante es dar una explicación práctica
- ❌ "Svelte is cybernetically enhanced web apps"
- Es demasiado ambiguo → no queda claro qué ventaja concreta ofrece
- ✅ "Svelte is a web UI framework with a unique compiler which generates smaller JS fixes."
- Es específico y claro → explica qué problema resuelve y qué beneficios aporta
- Escribe la explicación como si hablaras con un colega en un bar
- "¿Hiciste una nueva herramienta? ¿Qué hace?" → explícalo de forma natural
- Cuando la explicación ya esté organizada, púlela para hacerla más breve
- Después de escribirla, revísala 2 a 4 veces más para dejarla corta y clara
4. Usa listas y texto en negritas para transmitir información rápido
- Si quieres comunicar la información con claridad, debes aprovechar las listas y el texto en negritas
- Descripción original de Nano Stores (en formato de bloque de texto)
- Nano Stores es un state manager que puede usarse en varios frameworks de frontend
- Es pequeño y no tiene dependencias
- Descripción revisada (usando lista y énfasis en negritas)
- Nano Stores tiene estas características:
- Tamaño pequeño: 286~818 bytes (minified y brotlied)
- Compatibilidad con varios frameworks: React, Vue, Svelte, Angular y más
- Sin dependencias
- Nano Stores tiene estas características:
-
Puntos para mejorar la legibilidad
- Uso de listas: estructuran la información para entenderla de un vistazo
- Uso de negritas: resaltan la información clave para detectarla rápido
- Frases concisas: deja solo la información importante y elimina lo innecesario
- Aunque reduzcas texto, el mensaje debe seguir quedando claro
5. Usa ejemplos de código e imágenes
- Los conceptos complejos pueden explicarse fácilmente con código de ejemplo o imágenes
- Como dice el dicho, “una imagen vale más que mil palabras”; los recursos visuales son herramientas muy poderosas para entender mejor
6. Usa estadísticas reales
- Las expresiones vagas o las promesas abstractas difícilmente generan confianza
- Debes presentar estadísticas concretas sobre rendimiento real, tamaño, velocidad, etc.
-
Ejemplo: uso de estadísticas reales en Nano ID
- Prueba de tamaño: Nano ID mide 141 bytes → da una cifra clara
- Prueba de velocidad: Nano ID es 16% más rápido que UUID → muestra resultados de benchmark
- Tips para usar estadísticas de forma efectiva
- Ofrece datos de rendimiento cuantificados → fortalece la credibilidad
- Muestra resultados de benchmarks → resalta la diferencia frente a otros productos
- Aclara también el rendimiento del API o la forma de uso con ejemplos reales
- Rendimiento, tamaño, velocidad, etc. deben demostrarse con números y datos concretos
7. Proporciona una guía de inicio paso a paso
- Si ya quedó claro el valor del proyecto, lo siguiente es ofrecer una forma concreta de usarlo
- Si el usuario se interesa después de leer el README, debe poder pasar naturalmente al siguiente paso
-
Tips para escribir una guía de inicio efectiva
- Ofrece una guía concreta paso a paso
- En vez de algo ambiguo como "usa PostCSS", presenta pasos claros y específicos
- Indica los comandos y configuraciones necesarias en cada paso
- Ofrece rutas alternativas
- Presenta distintos enfoques según la situación del usuario
- Ejemplo: agrega qué hacer si PostCSS no está instalado
- Crea secciones según el tipo de usuario
- Da guías adecuadas tanto para usuarios de librerías grandes como de librerías pequeñas
- Ofrece una guía concreta paso a paso
-
Probar es obligatorio
- Debes seguir tú mismo la guía que escribiste y comprobar que realmente funcione
- Si es posible, olvida lo que ya sabes del proyecto y vuélvelo a seguir desde cero
- Si aparece un problema, corrígelo y complétalo de inmediato
- Debes seguir tú mismo la guía que escribiste y comprobar que realmente funcione
Estrategias efectivas para promocionar open source
1. La importancia de la promoción repetida
- Mucha gente comete errores como estos
- Publica una sola vez en redes sociales
- No obtiene reacción
- Se deprime
- Abandona el proyecto
- Una sola promoción grande no es efectiva → hace falta una promoción gradual y repetida
- Ciclo efectivo de promoción repetida
- Crear contenido como nuevas features, posts de blog o publicaciones en redes sociales
- Recibir feedback de usuarios
- Ajustar el proyecto en función de ese feedback
- Crear nuevo contenido sobre los cambios → volver a empezar
- Al principio, tener pocos usuarios incluso puede ser una ventaja → puedes hacer cambios sin estrés
- La mejora continua y la promoción repetida elevan el reconocimiento
2. Estrategia efectiva de promoción en redes sociales
- No te limites a compartir solo un enlace o una descripción breve
- Incluye estas 2 cosas
- Ejemplo de código o imagen → ayuda a que la gente lo entienda fácil
- Descripción clara del proyecto → incluso usuarios nuevos pueden entenderlo
-
Ejemplo de plantilla para publicaciones promocionales
- Anuncia una nueva feature → da una explicación clara → incluye un ejemplo de código → compártelo en redes sociales
- Publícalo en subreddits relevantes de Reddit (revisando las reglas de cada subreddit)
- Publícalo en Hacker News → puede ayudarte a conseguir tracción inicial
- Escribe artículos en Dev.to, Smashing Magazine, CSS-Tricks, etc. → amplía la visibilidad
3. Estrategia de promoción a través de PRs
- Envía PRs a otros proyectos para introducir tu open source
- Ejemplo: PostCSS logró promocionarse con éxito mediante PRs en otros proyectos
- "Si necesitan ayuda, puedo intentar aplicar esta herramienta."
- Si aprueban el PR, indícalo en el README como caso de uso → aumenta la credibilidad
- Mencionar que tu herramienta se usa en proyectos populares refuerza la confianza
4. Repite, pero no hagas spam
- Hace falta una promoción continua y repetida
- Pero el spam está absolutamente prohibido
- No repitas el mismo mensaje; ofrece nuevo valor
- Incluye cambios y avances reales
- No todos los usuarios leen todas las publicaciones → por eso hace falta promocionar de forma periódica y en distintos formatos
Por qué repetir la promoción
- La gente no elige herramientas de forma racional
- La promoción repetida ayuda a formar reconocimiento de manera natural
- Para tener posibilidades de éxito, hay que construir reconocimiento durante mucho tiempo
Bonus
1. Cómo manejar los problemas cuando el proyecto se vuelve famoso
- Cuando un proyecto gana popularidad, la cantidad de issues que resolver puede explotar
- Si intentas resolver todo por tu cuenta, la carga crece y eso puede llevar a desánimo y baja productividad
-
Soluciones
- No intentes resolver todos los problemas tú solo → anima a los usuarios a enviar PRs
- Pide algo como: "Si quieres resolver este problema, ¿puedes enviar un PR?"
- Define un tiempo asignado para resolver problemas (por ejemplo, 15 minutos al día) y atiéndelos solo dentro de ese tiempo
- No intentes resolver de inmediato los problemas difíciles; responde algo como "estoy revisando una solución" → a los usuarios les tranquiliza saber que el problema ya fue reconocido
- También puedes dejar correcciones de documentación en manos de los usuarios → pide algo como "¿puedes corregir esta parte?"
2. Cómo lidiar con feedback negativo
- El feedback negativo puede bajar la motivación
- En las primeras etapas del proyecto puede quitarte las ganas, y cuando ya es popular puede debilitar tu confianza
-
Estrategias de respuesta
- No reacciones emocionalmente
- Responde a la crítica con preguntas → por ejemplo: "¿Por qué crees que B es mejor que A?"
- Muchas críticas son solo una descarga emocional → intenta conversar con el usuario y construir confianza
- La crítica también puede darte oportunidades de mejora
3. Cómo actuar cuando aparece un proyecto competidor
- No hay por qué preocuparse si aparece un proyecto competidor
- Cuando surge un competidor, puede traer ventajas como estas
- Puedes liberarte de parte de la carga de mantenimiento del proyecto
- La competencia puede producir una mejor solución → al final eso también beneficia a los usuarios
- El objetivo último del open source es cambiar el mundo, no monopolizarlo ni dominarlo
- Que aparezca un competidor → nacen mejores herramientas → todos ganan
Resumen final
Cómo crear un open source popular y ganar visibilidad
- La mejor razón para crear open source no es la fama ni reforzar el CV, sino cambiar el mundo
- No hay garantía de que una buena idea se convierta en un proyecto popular
- La fórmula de popularidad del open source = popularidad + promoción + beneficio para el usuario + suerte
- Debes mantener activas tus cuentas de redes sociales, hacer que se puedan encontrar fácilmente y escribir en idiomas ampliamente usados como el inglés
Cómo escribir documentación efectiva
- El README y la documentación deben escribirse de forma clara y natural, como si se lo explicaras a un amigo
- Usa texto destacado, listas y una estructura ordenada para transmitir información compleja de forma progresiva
- Debes ofrecer pruebas concretas como benchmarks reales y ejemplos de código
- Cuando sea posible, ofrece guías de inicio concretas adaptadas tanto a principiantes como a usuarios avanzados
Estrategia de promoción
- La promoción repetida es más efectiva que una sola gran campaña → lanzamiento → feedback → mejora → repetición
- Publica de forma regular, pero evita el spam
- Crea publicaciones que incluyan ejemplos de código e imágenes
- Envía PRs a otros proyectos para maximizar el efecto de promoción
Tips para cuando el proyecto se vuelva famoso
- No intentes resolver todos los problemas tú solo; anima a los usuarios a enviar PRs
- Define y administra un tiempo fijo para resolver problemas (por ejemplo, 15 minutos al día)
- Si recibes feedback negativo, intenta abrir conversación haciendo preguntas
- No le tengas miedo a los proyectos competidores → la competencia incluso puede liberarte de responsabilidades
1 comentarios
También parece importante encontrar espacios donde se tolere una promoción con contenido ligeramente distinto, pero que visto desde lejos sea repetitivo. Por ejemplo, Twitter.