37 puntos por GN⁺ 2025-03-17 | 1 comentarios | Compartir por WhatsApp

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
    1. Una explicación clara
    2. Qué ayuda concreta le da al usuario
    3. 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
  • 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
  • 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

Estrategias efectivas para promocionar open source

1. La importancia de la promoción repetida

  • Mucha gente comete errores como estos
    1. Publica una sola vez en redes sociales
    2. No obtiene reacción
    3. Se deprime
    4. 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
    1. Crear contenido como nuevas features, posts de blog o publicaciones en redes sociales
    2. Recibir feedback de usuarios
    3. Ajustar el proyecto en función de ese feedback
    4. 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

  1. La mejor razón para crear open source no es la fama ni reforzar el CV, sino cambiar el mundo
  2. No hay garantía de que una buena idea se convierta en un proyecto popular
  3. La fórmula de popularidad del open source = popularidad + promoción + beneficio para el usuario + suerte
  4. 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

  1. El README y la documentación deben escribirse de forma clara y natural, como si se lo explicaras a un amigo
  2. Usa texto destacado, listas y una estructura ordenada para transmitir información compleja de forma progresiva
  3. Debes ofrecer pruebas concretas como benchmarks reales y ejemplos de código
  4. Cuando sea posible, ofrece guías de inicio concretas adaptadas tanto a principiantes como a usuarios avanzados

Estrategia de promoción

  1. La promoción repetida es más efectiva que una sola gran campaña → lanzamiento → feedback → mejora → repetición
  2. Publica de forma regular, pero evita el spam
  3. Crea publicaciones que incluyan ejemplos de código e imágenes
  4. Envía PRs a otros proyectos para maximizar el efecto de promoción

Tips para cuando el proyecto se vuelva famoso

  1. No intentes resolver todos los problemas tú solo; anima a los usuarios a enviar PRs
  2. Define y administra un tiempo fijo para resolver problemas (por ejemplo, 15 minutos al día)
  3. Si recibes feedback negativo, intenta abrir conversación haciendo preguntas
  4. No le tengas miedo a los proyectos competidores → la competencia incluso puede liberarte de responsabilidades

1 comentarios

 
roxie 2025-03-28

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.