37 pontos por GN⁺ 2025-03-17 | 1 comentários | Compartilhar no WhatsApp

O que saber antes de tornar seu open source famoso

  • Se você quer ficar famoso ou rico com open source, essa é a abordagem errada
  • Em vez de criar um projeto popular, escrever um blog ou palestrar em conferências é mais eficaz
  • Redux e React Router são projetos populares, mas seus mantenedores não têm muitos seguidores nas redes sociais → a popularidade do projeto não leva à popularidade pessoal

Não crie open source para colocar no currículo

  • A percepção de que participação em open source é obrigatória é falsa
  • Mesmo que você comece open source para ficar famoso, não há garantia de sucesso
  • Mesmo um bom projeto pode te deixar desanimado se tiver apenas uma estrela
  • Atividade em open source pode ajudar em processos de contratação, mas contribuir para projetos famosos já existentes é mais eficaz do que criar seu próprio projeto

Comece contribuindo primeiro

  • Em grandes projetos open source, comece por corrigir documentação ou corrigir bugs
  • Escrever um PR é muito mais fácil do que escrever código
  • O melhor motivo para criar um bom open source é querer mudar o mundo

Como mudar o mundo com open source

  • O motivo para criar o PostCSS foi diversificar o ecossistema de ferramentas de CSS e facilitar o processamento de CSS → foi um sucesso
  • Popularidade e sucesso são fatores importantes

O segredo dos projetos populares

Popularidade de um projeto = notoriedade + promoção + benefícios para o usuário + sorte

  • Projetos criados por desenvolvedores populares tendem a ficar populares com mais facilidade → pode ser injusto, mas é a realidade
  • É preciso entender as causas da popularidade e agir de forma estratégica

Como as pessoas escolhem open source

  • As pessoas não escolhem ferramentas de forma racional
  • A maioria decide olhando a quantidade de estrelas no GitHub
  • Ou costuma seguir frameworks mencionados em conferências

Como as pessoas realmente leem informação

  • Usuários não leem o README nem a documentação do começo ao fim
  • É preciso oferecer a informação de forma simples e progressiva, como um 'JPEG progressivo'
  • No primeiro bloco, é preciso explicar com clareza os benefícios

Estratégias para ganhar popularidade

  • É preciso organizar bem suas contas em redes sociais
    • No começo, o autor não criou contas sociais em inglês, então as pessoas tinham dificuldade para encontrá-lo
    • Se você é um desenvolvedor que não fala inglês, criar contas em redes sociais em inglês é vantajoso
    • Quando o projeto for mencionado, é preciso fornecer um link para o perfil para facilitar a conexão com os usuários
  • Defina uma mentalidade realista
    • Sorte é importante, mas não é tudo
    • O autor teve apenas 4 projetos bem-sucedidos entre 56
    • Passou por várias falhas até criar um projeto popular
    • Projetos de sucesso são resultado de tentativas consistentes e falhas repetidas
  • Aceite o fracasso como algo natural
    • Um projeto popular exige esforço de longo prazo, como uma maratona
    • O fracasso faz parte do processo → é preciso melhorar continuamente e tentar de novo
    • Comece esperando falhar desde o início, mas sem abrir mão da qualidade do trabalho

Como tornar um open source popular: README

  • O README e a documentação definem a primeira impressão do projeto
  • O usuário precisa entender rapidamente o valor do projeto pelo README
  • O README pode chegar ao usuário por caminhos como
    • apresentações, posts de blog, podcasts e outras rotas de promoção
    • no fim, tudo leva ao README, então ele precisa ser escrito com cuidado
  • O leitor não lê o README com atenção do começo ao fim
  • Por isso, a primeira parte do README precisa transmitir com clareza o valor do projeto
  • No primeiro bloco, as pessoas precisam entender rapidamente os benefícios do projeto

Pergunta: você está comunicando o valor do projeto de forma eficaz?

  • As pessoas não leem documentação com calma e em detalhes
  • Por isso, é preciso organizar as informações e os benefícios principais de forma clara e concisa
  • Uma boa organização da documentação melhora a experiência do usuário e aumenta a popularidade do projeto

1. Comunicar benefícios ao usuário de forma eficaz

  • Comunicar os benefícios do projeto ao usuário está diretamente ligado à promoção
  • Na fórmula de sucesso mencionada antes, oferecer benefícios ao usuário é um fator importante

Popularidade de um projeto = notoriedade + promoção + benefícios para o usuário + sorte

  • É preciso comunicar com clareza os benefícios ao usuário no README, na documentação ou mesmo em uma apresentação curta
  • Para chamar atenção pelo valor real, e não pela popularidade ou reputação, considere os seguintes pontos
    • Legibilidade da informação: o usuário precisa conseguir entender rapidamente o essencial
    • Escaneabilidade: as informações importantes precisam se destacar facilmente
    • Primeira impressão: o valor do projeto precisa ficar claro nos primeiros segundos

2. Transmitir a mensagem de forma rápida e eficaz

  • O primeiro bloco do README precisa incluir obrigatoriamente estes três elementos
    1. Uma explicação clara
    2. Uma indicação clara de como isso ajuda o usuário
    3. Uma diferenciação em relação a outros produtos
  • Você precisa deixar claro já na primeira frase por que vale a pena ler a documentação
    • A primeira frase é a mais importante → a maioria dos usuários lê só a primeira frase para julgar o valor do projeto
    • Por isso, os benefícios do projeto precisam aparecer com clareza no primeiro bloco
  • Não tem problema investir de alguns dias a uma semana escrevendo o primeiro bloco do README
  • O primeiro bloco do PostCSS levou cerca de uma semana para ser escrito
  • Quanto mais esforço houver nesse primeiro bloco, maiores as chances de sucesso do projeto

3. Explicar o produto de forma que as pessoas entendam facilmente

  • A descrição do projeto precisa ser clara e intuitiva
  • Uma explicação prática é mais importante do que uma frase que pareça sofisticada
  • "Svelte is cybernetically enhanced web apps"
    • É vago demais → não fica claro quais vantagens concretas isso traz
  • "Svelte is a web UI framework with a unique compiler which generates smaller JS fixes."
    • É específico e claro → explica que problema resolve e quais benefícios oferece
  • Escreva a explicação como se estivesse conversando com um colega em um bar
    • "Você criou uma ferramenta nova? O que ela faz?" → explique de forma natural
  • Depois de organizar a explicação, refine para deixá-la mais concisa
    • Depois de escrever, revise mais 2 a 4 vezes para deixá-la curta e clara

4. Transmitir informação rapidamente com listas e texto em negrito

  • Para transmitir informação com clareza, é preciso usar bem listas e texto em negrito
  • Descrição anterior do Nano Stores (em bloco de texto)
    • Nano Stores é um gerenciador de estado que pode ser usado em vários frameworks de front-end
    • É pequeno e não tem dependências
  • Descrição revisada (usando lista e destaque em negrito)
    • Nano Stores tem as seguintes características:
      • Tamanho pequeno: 286~818 bytes (minified e brotlied)
      • Suporte a vários frameworks: React, Vue, Svelte, Angular etc.
      • Sem dependências
  • Pontos para melhorar a legibilidade

    • Uso de listas: estrutura a informação para entendimento rápido
    • Uso de negrito: destaca as informações principais para percepção imediata
    • Frases concisas: mantenha apenas o que importa e remova o desnecessário
      • Mesmo reduzindo o texto, a mensagem precisa continuar clara

5. Usar exemplos de código e imagens

  • Conceitos complexos podem ser explicados com facilidade por meio de código de exemplo ou imagens
    • Como diz o ditado, “uma imagem vale mais que cem palavras”; recursos visuais são ferramentas poderosas para ajudar na compreensão

6. Usar estatísticas reais

  • Expressões vagas ou promessas abstratas têm dificuldade para gerar confiança
    • É preciso apresentar estatísticas concretas sobre desempenho, tamanho, velocidade etc.
  • Exemplo: uso de estatísticas reais no Nano ID

    • Prova de tamanho: Nano ID tem 141 bytes → fornece um número claro
    • Prova de velocidade: Nano ID é 16% mais rápido que UUID → apresenta resultado de benchmark
  • Dicas para usar estatísticas de forma eficaz
    • Forneça dados de desempenho quantificados → reforça a credibilidade
    • Mostre resultados de benchmark → destaca a diferenciação em relação a outros produtos
    • Apresente também desempenho da API e forma de uso de maneira clara com exemplos reais
      • Desempenho, tamanho e velocidade devem ser comprovados com números e dados concretos

7. Fornecer um guia de início passo a passo

  • Se os benefícios do projeto ficaram claros, o próximo passo é oferecer instruções concretas de uso
  • Depois de ler o README e se interessar pelo projeto, o usuário deve conseguir seguir naturalmente para a próxima etapa
  • Dicas para escrever um guia de início eficaz

    • Forneça um guia específico, passo a passo
      • Em vez de uma explicação vaga como “use PostCSS”, apresente etapas claras e concretas
      • Em cada etapa, especifique os comandos e a forma de configuração necessária
    • Ofereça caminhos alternativos
      • Apresente abordagens diferentes conforme a situação do usuário
      • Ex.: adicione como proceder caso o PostCSS não esteja instalado
    • Crie seções por tipo de usuário
      • Ofereça guias adequados tanto para usuários de bibliotecas grandes quanto de bibliotecas pequenas
  • Teste é obrigatório

    • Siga você mesmo o guia que escreveu para verificar se ele realmente funciona
      • Sempre que possível, esqueça o conhecimento prévio sobre o projeto e refaça tudo do zero
      • Se surgir algum problema, corrija e complemente imediatamente

Estratégias eficazes de divulgação para open source

1. A importância da divulgação repetida

  • Muita gente comete o seguinte erro
    1. posta só uma vez na rede social
    2. não recebe reação
    3. fica desanimada
    4. abandona o projeto
  • Uma única grande divulgação não é eficaz → é necessária uma divulgação gradual e repetida
  • Ciclo eficaz de divulgação repetida
    1. criar conteúdo como lançamento de recurso novo, post de blog ou publicação em rede social
    2. receber feedback dos usuários
    3. ajustar o projeto com base no feedback
    4. criar novo conteúdo sobre as mudanças → recomeçar
  • No início, ter poucos usuários pode até ser uma vantagem → permite ajustar sem estresse
  • Melhorias contínuas e divulgação repetida aumentam a notoriedade

2. Estratégia eficaz de divulgação em redes sociais

  • Não compartilhe apenas um link nem termine com uma explicação curta demais
  • Inclua estas duas coisas
    • Exemplo de código ou imagem → facilita o entendimento
    • Descrição clara do projeto → até novos usuários conseguem entender
  • Exemplo de template para post de divulgação

    • anúncio de novo recurso → explicação clara → incluir exemplo de código → compartilhar nas redes sociais
    • postar no subreddit relevante no Reddit (verifique as regras de cada subreddit)
    • postar no Hacker News → pode ajudar a obter traction inicial
    • escrever artigos no Dev.to, Smashing Magazine, CSS-Tricks etc. → ampliar a exposição

3. Estratégia de divulgação por PR

  • Envie PRs para introduzir seu open source em outros projetos
    • Ex.: o PostCSS foi divulgado com sucesso por meio de PRs em outros projetos
    • "Se precisar de ajuda, posso tentar aplicar esta ferramenta."
  • Quando o PR for aceito, registre os casos de adoção no README → aumenta a confiança
  • Informar que seu projeto é usado por projetos populares reforça a credibilidade

4. Repita, mas sem fazer spam

  • Divulgação contínua e repetida é necessária
  • Mas spam é absolutamente proibido
    • Não repita a mesma mensagem; entregue valor novo
    • Inclua mudanças e evolução no conteúdo
  • Nem todo usuário lê toda publicação → é preciso repetir a divulgação periodicamente em formatos variados

Por que repetir a divulgação

  • As pessoas não escolhem ferramentas racionalmente
  • A divulgação repetida forma notoriedade de maneira natural
  • É preciso construir notoriedade ao longo do tempo para aumentar as chances de sucesso

Bônus

1. Como lidar com problemas quando o projeto fica famoso

  • Quando o projeto ganha popularidade, a quantidade de issues a resolver pode explodir
  • Se você tentar resolver tudo sozinho, a carga aumenta e isso pode levar a desânimo e queda de produtividade
  • Solução

    • Não tente resolver tudo diretamente → incentive os usuários a abrirem PRs
    • Peça algo como: "Se você quiser resolver esse problema, pode enviar um PR?"
    • Defina um tempo para lidar com problemas (ex.: 15 minutos por dia) e trate disso apenas dentro desse limite
    • Em problemas difíceis, não tente resolver imediatamente; responda algo como "Estou analisando uma forma de resolver" → só esse retorno de que o problema foi reconhecido já tranquiliza o usuário
    • Correções de documentação também podem ser deixadas para os usuários → peça: "Você pode corrigir esta parte?"

2. Como lidar com feedback negativo

  • Feedback negativo pode reduzir a motivação
  • No começo do projeto, ele pode minar o entusiasmo; quando a popularidade cresce, pode enfraquecer sua confiança
  • Estratégia de resposta

    • Não reaja emocionalmente
    • Faça perguntas sobre a crítica → pergunte: "Por que você acha que B é melhor do que A?"
    • Muitas críticas são apenas expressão emocional → tente conversar com o usuário para construir confiança
    • A crítica pode se tornar uma oportunidade de melhoria

3. Como reagir quando surgem projetos concorrentes

  • Não há motivo para se preocupar quando aparece um projeto concorrente
  • Quando surgem concorrentes, isso pode trazer vantagens como
    • aliviar o peso de manter o projeto
    • estimular soluções melhores por meio da concorrência → no fim, os usuários também ganham
  • O objetivo final do open source é mudar o mundo → não é monopólio nem dominação
  • Surgimento de projeto concorrente → ferramenta melhor nasce → situação ganha-ganha

Resumo final

Como criar um open source popular e ganhar visibilidade

  1. O melhor motivo para criar open source não é fama nem fortalecer o currículo, mas mudar o mundo
  2. Não há garantia de que uma boa ideia vá virar um projeto popular
  3. A fórmula da popularidade em open source = notoriedade + promoção + benefícios para o usuário + sorte
  4. Suas contas em redes sociais devem ser ativas, fáceis de encontrar e escritas em um idioma amplamente usado, como o inglês

Como escrever documentação eficaz

  1. README e documentação devem ser escritos de forma clara e natural, como se você estivesse explicando para um amigo
  2. Use texto em destaque, listas e estrutura organizada para transmitir informações complexas de forma progressiva
  3. É preciso fornecer evidências concretas, como benchmarks reais e exemplos de código
  4. Sempre que possível, ofereça guias de início específicos para iniciantes e usuários avançados

Estratégia de divulgação

  1. Divulgação repetida é mais eficaz do que uma única grande campanha → lançar → receber feedback → melhorar → repetir
  2. Publique regularmente, mas evite spam
  3. Crie posts com exemplos de código e imagens
  4. Envie PRs para outros projetos para maximizar o efeito de divulgação

Dicas para quando o projeto ficar famoso

  1. Não tente resolver todos os problemas sozinho; incentive os usuários a enviar PRs
  2. Reserve um tempo fixo para lidar com problemas (ex.: 15 minutos por dia)
  3. Se houver feedback negativo, tente abrir diálogo por meio de perguntas
  4. Não tenha medo de projetos concorrentes → a concorrência pode até libertar você da responsabilidade

1 comentários

 
roxie 2025-03-28

Também parece importante encontrar lugares onde seja aceitável fazer divulgação com conteúdos ligeiramente diferentes, mas que, vistos de longe, são repetitivos. Por exemplo, o Twitter.