Executando verificação de segurança...
17
cyp
3 min de leitura ·

Sobre o ego da comunidade open-source

Pouco tempo atrás eu criei o Sisk, um projeto de código aberto que serviria como uma alternativa ao ASP.NET, e gostaria de compartilhar minha experiência com isso até então.

Em novembro, o Sisk fará um ano de existência. Eu comecei com ele em um projeto comercial, e foi bem arriscado inaugurar um projeto instável em um projeto que já tinha um investimento. No final, tudo deu certo. Conforme o projeto crescia, surgiram novas funcionalidades, correções e melhorias para o Sisk, o que foi o tornando mais estável e production-ready.

Eu apresentei ele em alguns canais, como Reddit, Discord, e algumas pessoas ao redor do mundo publicaram sobre ele, no Telegram, em blogs pessoais, em fóruns, e etc. Eu acompanhei cada opinião e cada pensamento delas, e a maioria foi sobre:

por que eu usaria isso se já existe o ASP.NET?

E foi a pergunta mais difícil para responder.

Por que alguém usaria algo seu, se já existe algo pronto, estabilizado e confiado?

Antes de criarmos um projeto de código aberto, devemos pensar em qual problema ele irá solucionar, e por que alguém usaria ele.

Tem sido difícil responder isso, mas estou criando uma resposta com o tempo, que é um framework que permite você construir o projeto do jeito que quer, sem ter que usar convenções do ASP.NET ou ter que seguir à risca da forma que a Microsoft quer que você faça.

Eu nunca gostei de código imprevisível. O Sisk é o contrário disso: exige que tudo seja explícito de como irá funcionar. Eu particularmente gosto de código explícito porque consigo rastrear tudo o que acontece.

Em outro projeto também grande, usei o Inphinit Framework nele. Já me falaram sobre Laravel, Symphony, até mesmo Lumen (que morreu), mas ninguém apoiava usar um projeto de código-aberto pequeno.

Isso me incomodou.

Uma comunidade mentirosa e egoísta

Da maioria dos comentários que recebi do Sisk e de alguns outros projetos pequenos, é que não ia para frente, que ia morrer e que ia perder dinheiro, porque ninguém confia em usar projetos pequenos em projetos grandes.

Eu sou a prova que isso é mentira. Ambos projetos "pequenos" que mencionei pagaram meu salário por muitos meses e continuam pagando. A maioria das comunidades de programadores acreditam que projetos de código aberto são somente aqueles que são mantidos por big-techs, empresas gigantes ou um repo com 10k de stars no Github.

Os próprios programadores não acreditam neles mesmos.

Existem exceções, é verdade, de pessoas voluntárias que acreditam em um projeto e querem vê-lo prosperar. Essas pessoas devem ser valorizadas. O Sisk existe com um propósito e atualmente é mantido somente por mim. Eu recebi algumas sugestões de outras pessoas e abracei elas. Elas acreditam no projeto.

Confie mais no seu amigo

Se você não pode doar para um projeto, tudo bem, mas incentive que ele continue vivo. Mostre onde está usando, o que está fazendo, o que acha, o que pensa. Enquanto você fala do projeto de alguém, ele viverá.

Muitos projetos "grandes" já morreram. Nenhum projeto está a salvo deste filtro. Temos o Silverlight, Flash Player, jQuery Mobile, Nancy, etc...

Imagine que chato seria se todos os projetos fossem limitados à uma ou duas escolhas no máximo...

Carregando publicação patrocinada...
8

Primeiramente, parabéns pelo projeto!

Espero te animar com a minha opinião sobre projetos de escopo maior:

Tem projetos que vão engajar várias pessoas com pouco esforço. Em uns 2 meses de código ta tudo pronto, você resolve um problema pequeno, uma galerinha usa, te dá umas estrelinhas e você fica feliz... Só que é um projeto pequeno e o impacto disso vai ser bem diferente do que o que você tá tentando fazer.

E tem projetos, tipo o seu, que precisam de um esforço e dedicação grandes pra engajar um grupo de pessoas. Frameworks é isso cara, você precisa que o time mantendo fique um tempaaaao pra começar a criar confiança, se você não provar que ta levando o negócio a sério (provar significa, entre outras coisas, continuar melhorando durante um tempo maior mesmo) ninguém vai começar a usar. O cara do usebruno, por exemplo, divulgou o projeto dele há alguns anos atrás e só agora, anos depois começou a ter tração. A JetBrains ta criando o Kotlin multiplataforma há anos sem ninguém usar... parecia um projeto morto há muito tempo e agora ta pegando... os caras tiverem que trabalhar em cima do projeto sem ninguém acreditar por anos.

As pessoas não usam esses frameworks super conhecidos porque eles são inalcansavelmente melhores, usam porque eles confiam e as vezes é melhor usar uma porcaria confiável do que alguma coisa que você não sabe o que vai acontecer lá na frente. Isso leva tempo. Há quanto tempo o asp.net existe?? Não vai aparecer uma alternativa e substituir a coisa toda em 12 meses né??

Bom, o meu ponto é. Não tem nada de errado com o seu projeto. Eu não acho que você ainda não tem a quantidade de usuários que quer porque não está resolvendo um problema real e nem que não tem valor (acho que uma opção pros frameworks tradicionais tem valor pra caralho, por sinal). O rolê é que você pegou um projeto que precisa de muita paciência pra fazer dar certo, então coragem e continua o trabalho.

Ah! Lembrei de um outro exemplo legal. um Ex-Google saiu da Google pra trabalhar no próprio framework web, o KobWeb. Ele conta que demorou 2 ANOS até alguém começar a falar alguma coisa do projeto e até hoje nenhum projeto sério usa, mas ele ta ganhando bastante atenção... e continua lá trabalhando. Enfim, coisas realmente legais levam tempo. Boa sorte!!

4

Faz um tempo que eu observo um comportamento bem peculiar em algumas pessoas. As vezes eu compartilho artigos/vídeos que alguém produziu, ou vejo outra pessoa compartilhando, e a pessoa que produziu o conteúdo agradece à quem compartilhou... Também é comum ver no YouTube as pessoas pedindo para compartilhar ou se inscrever "para ajudar o canal".

Acho esse comportamento estranho por um simples motivo: eu não produzo conteúdo para me ajudarem, eu produzo conteúdo para ajudar os outros. Eu nunca vou agradecer alguém por recomendar um artigo ou livro que escrevi, porque eu não estou ganhando nada com isso. Quem conseguiu acesso ao conteúdo é que, talvez, esteja ganhando algo...

Embora estejamos falando de um projeto e não de conteúdo, me parece que você está demonstrando exatamente o mesmo comportamento. Como pode ser observado bem aqui:

Confie mais no seu amigo

Se você não pode doar para um projeto, tudo bem, mas incentive que ele continue vivo. Mostre onde está usando, o que está fazendo, o que acha, o que pensa. Enquanto você fala do projeto de alguém, ele viverá.

É basicamente um "compartilhe para ajudar o canal" só que, nesse caso, estamos falando de projetos open source.

Aí fica a questão: são as pessoas que deveriam ajudar seu projeto, ou seu projeto que deveria ajudar as pessoas? E se o seu projeto não tá ajudando ninguém, qual o problema dele "morrer"? Não vai mudar nada na vida de ninguém.

Eu sei que você vai responder falando coisas previsíveis como o quão difícil é manter um projeto open source. Sim, mas um projeto não deveria se manter no ar só "porque sim". Só porque o autor do projeto quer.

Deveria se manter no ar por ser útil para as pessoas. Uma vez que seja útil, naturalmente vai ter gente querendo ajudar. Você não vai precisar dizer para as pessoas "compartilhem para ajudar o canal projeto", porque elas mesmas vão querer compartilhar e envangelizar para todo mundo seu projeto.

Tu já viu gente que é fã de framework e sai falando dele para todo mundo? É assim que funciona.

Talvez seja esse um dos motivos do porque projetos open source acabam morrendo. Uma hora o(s) autor(es) param de ver utilidade no projeto e começam a continuar ele só para mantê-lo "vivo". Só porque quer... Sem de fato ajudar ninguém no processo, só por ego.

Eu já acompanhei e vi um projeto open source morrer exatamente por causa disso.

2

Gostei do seu ponto, me fez pensar em algo que não havia pensado antes.

Mas discordo em parte. As pessoas que são voluntárias esperam sim algo de volta: resultados. Ninguém quer ajudar uma parede. Mostrar resultados com a colaboração que você doou é gratificante, incentiva a colaborar cada vez mais.

Eu jamais responderia outra pergunta no meu Stack Overflow em Português se não houvesse ganhado um "você está correto!" pela primeira resposta correta. Aqui me cativou, motivou a continuar contribuindo e colaborando.

Não podemos confundir "não quero nada em troca" com "quero ser ajudado". São coisas distintas. Compartilhar resultados e compartilhar o projeto é incentivar que o mesmo seja desenvolvido, elaborado e aprimorado com o tempo. É natural do ser humano se empolgar quando vê que seu projeto está engajando as pessoas.

Eu não quero criar um fã-clube do Sisk e nem criar uma panelinha pra falar mal do ASP.NET, que na verdade eu elogio e mencionei que o Sisk se inspirou nele para estar vivo, mas o que espero da comunidade é que usem ele. Com mais pessoas compartilhando suas opiniões, resultados, métricas e usos, melhor e mais aprimorado o projeto ficará, e mais estável, útil e agradável ficará à mais pessoas que forem usar ele.

É uma via de mão dupla: eu quero ajudar, quero colaborar e quero resolver problemas, mas preciso saber que alguém está de fato usando essa minha colaboração para algo. Se ninguém estiver, é sinal que estou fazendo algo errado e preciso repensar a forma que quero contribuir com meu conhecimento e experiência.

Existem projetos de código aberto do tipo "me ajudou, vou largar aqui e quem quiser usa" e aqueles "me ajudou, quero melhorar e ajudar mais pessoas". De qual lado você acha que eu estou?

Um projeto "fica de pé" porque existem pessoas segurando as pontas dele.

3

Cara, é o seguinte. Não se deixe desmotivar por comentários negativos, isso é normal em qualquer projeto. Eu entendo sua frustração sobre a falta de reconheimento, isso já me ocorreu algumas vezes, coisas da vida... Por incrível que pareça, existem os programadores que desmotivam projetos que vai contribuir para sua propria comunidade. É um tanto irônico pois é um ato ilógico, em um ambiente onde trabalhamos com lógica. Quero deixar claro que eu não conheço seu projeto, não sei para que serve exatamente (vi que era uma alternativa ao .net no começo, mas apenas), mas eu apoio completamente seu esforço e projeto. Em um futuro próximo espero que seu projeto seja prospéro tanto quanto de uma Bigtech.

Uma frase que me ajuda a lidar com algumas situações dificéis é: “O êxito é ir de frustração a frustração sem perder a animação”.

Desejo forças a você patrão.

2

porque ninguém confia em usar projetos pequenos em projetos grandes.

Deve ser uns 99,9999% dos projetos que existem!

Projetos grandes são o minimo do mínimo.
Programadores que só pensam nisso são só faladores!

Boa sorte no seu projeto que vá pra frente!

2
2

Em primeiro lugar

Parabéns pelo desenvolvimento do projeto! Eu realmente não conheço o Sisk, mas a sua iniciativa é louvável! O simples fato de iniciar um novo projeto é um desafio, e tenho em mente que mantê-lo é outra jornada árdua.

A respeito de propósito

Há algum tempo li um livro - A Coragem de Não Agradar - que mudou minha perspectiva sobre o quê fazemos e porque fazemos algo.

Nele o autor reflete acerca daquilo que nos traz felicidade e, em resumo, é ter propósito. É ter propósito para os outros. Significa que buscamos ser úteis aos outros. Construir algo que seja relevante para outras pessoas.

Eu concordo com o autor.

Em projetos pessoais, sempre que incluo uma nova funcionalidade, peço para que meus colegas e amigos testem e me deem um retorno sobre o que acharam. E sinceramente, eu me sinto grato por receber críticas, elogios e sugestões. Isso faz eu me sentir útil. O que me guia para o próximo tópico

Sisk significa...

Não faço ideia de como foi desenvolver o projeto para você, mas tenho certeza de que foi muito importante, tanto para ampliar e consolidar conhecimentos técnicos, quanto para definir quem você é como desenvolvedor.

Compreendido que seus esforços possuem valor:

  • O que você espera que o Sisk represente para comunidade opensource?
  • Como você pretende chegar nesse resultado?

Enfim, na minha opinião

Penso que o engajamento que você busca em torno do seu projeto, por parte da comunidade, não surgiu devido a isso.

Antes de criarmos um projeto de código aberto, devemos pensar em qual problema ele irá solucionar, e porque alguém usaria ele.

Tem sido difícil responder isso, mas estou criando uma resposta com o tempo, que é um framework que permite você construir o projeto do jeito que quer, sem ter que usar convenções do ASP.NET ou ter que seguir à risca da forma que a Microsoft quer que você faça.

Pode ser que, para eles, você está reinventando a roda...

De todo modo, não se deixe desanimar pelas opiniões negativas. Elas sempre terão mais peso ao comparar com as positivas, no entanto use-as como combustível para seguir melhorando o que você criou.

Lhe desejo foco!

2

Obrigado pela dedicação.

O Sisk está engatinhando em seu engajamento, aos poucos está conquistando os testes dos mais curiosos. Algumas pessoas incentivam a testar, outros falam para largar mão, mas sei que não vou fazer isso.

Está sendo o meu primeiro projeto open-source que está dando certo. Já tive tantos outros pins no meu Github, mas esse está tendo um foco especial.

De qualquer forma, obrigado pelas suas palavras.

2

Estou arrepiado com a força desta publicação cypherpotato, sou web dev já estou fuçando o kisk para ver até que ponto pode ser útil pra mim. Muita força companheiro...

2

Wow! Parabéns pela dedicação. Eu gosto muito da comunidade dev, mas vc pontuou exatamente a parte que sinto ser comum entre vários.

Nossa profissão envolve um potencial quase ilimitado de criação e a maioria já tentou algum projeto independente que não teve sucesso. O problema é quando projetam o próprio fracasso (que é normal e poderia ser usado como aprendizado) para justificar um possível fracasso do outro.

1

Parabéns pelo projeto e pela iniciativa! Pelo seu texto, percebo que você tem se dedicado bastante a isso.

Gostaria de compartilhar minha opinião como desenvolvedor .NET e usuario regular de projetos Open Souce.

Primeiramente, a pergunta pela qual você está tendo dificuldade em responder, 'Por que usar o Sisk em vez do ASP.NET Core MVC (por exemplo)?', é, para mim, a pergunta mais importante. Quando entrei no site/GitHub do projeto, foi a primeira coisa que me veio à mente. Não digo isso de forma negativa, mas é algo que faço o tempo todo como desenvolvedor.

Por que usar essa biblioteca geradora de PDF em vez de outra? Por que escolher esse componente em vez daquele? Essas são partes do processo de tomada de decisão para um desenvolvedor. Não encare isso como algo negativo, mas sim como alguém interessado e questionando se deve ou não usar o seu projeto.
Ao analisar o site, sinto falta de exemplos comparativos entre o Sisk e o ASP.NET.

Acredito que o seu projeto tem algo em que se destaca em relação ao ASP.NET, caso contrário, por que você o teria criado? Portanto, recomendo mostrar esses pontos.

O Sisk é mais rápido? É mais simples? Permite fazer mais com menos código? Responder a essas perguntas, em minha opinião, é fundamental para o crescimento do Sisk. Digo isso com humildade e, mais uma vez, parabéns!"