Open Source: Compartilhar para crescer e aprender

Cocriação, colaboração, compartilhamento, comunidade. O que essas palavras têm em comum, além de todas começarem com “C”? Essa é fácil: a essência. Cada um desses termos tem raiz na cooperação, na ajuda mútua, na união de esforços por um objetivo comum.

E dependendo de onde esses princípios são aplicados, o resultado pode ser eficiente e altamente lucrativo — se não na forma de bufunfa, no mínimo, com um melhor aproveitamento de tempo e de recursos humanos.

Para quem trabalha com desenvolvimento web, a forma mais incentivada de colaboração são os Softwares Open Source, também conhecidos como FOSS, acrônimo para Free and Open Source Software (Software Livre e de Código Aberto).

Os projetos abertos são ótimos para quem quer receber colaboração de outros desenvolvedores, aprender código analisando projetos reais ou colocando a mão na massa. E é sobre isso que vamos conversar a partir de agora. Vem? :)

O que você sabe sobre o universo open source?

Como diz o Jonas, personagem simpático do vídeo acima, a ideia do código aberto é como o compartilhamento de qualquer receita. Você abre sua solução para que o usuário veja como foi construída e tenha liberdade para melhorar o produto, corrigir problemas e modificar como quiser.

Você já parou para pensar que, se Tim Berners Lee nunca tivesse disponibilizado o protocolo WWW abertamente, nós nunca teríamos essa conversa? Pelo menos, não por aqui. E nem de forma tão livre.

A colaboração sempre fez parte da internet. E com o passar dos anos foi ganhando cada vez mais espaço, com novas ferramentas, conceitos, técnicas e formas de aplicação.

Um dos nomes mais influentes do tema open source ainda é o do Linus Torvalds. Além de ser responsável pela criação do Linux, na década de 1990, Torvalds desenvolveu o GIT, um sistema de controle de versão acessado pelos usuários do GitHub para compartilhar códigos e conteúdos abertos.

Importância do open source para o desenvolvimento de software

Apesar de não ser um conceito novo, a tendência do código aberto ganhou mais atenção dos holofotes a partir de iniciativas de gigantes como Google — com o framework AngularJS — e Apple — com a Swift. No WWDC deste ano, a empresa da maçã surpreendeu o público com a notícia de que a linguagem ganhará nova versão e se tornará open source (aí sim, né!).

Um dos pontos interessantes dos projetos de código aberto é a possibilidade de reaproveitar o que já foi feito. Muito do que você produziu pode — e certamente vai — ser reutilizado. Quando alguém abre esse conhecimento para a comunidade, oferece economia de tempo e esforço para outras pessoas que, eventualmente, vão melhorar aquela solução. E as que vierem na sequência, pegarão um projeto mais aperfeiçoado, o que economizará esforços e poupará muitas dores de cabeça.

É um circulo virtuoso no qual a comunidade se ajuda mutuamente, se aperfeiçoa e cresce junto. O melhor de tudo é que os projetos desenvolvidos dessa forma adquirem mais qualidade e o processo muito mais agilidade.

E quem ganha com isso?

O desenvolvedor, que participa de um processo rico em conteúdo e aprendizado, e ainda se envolve na construção de boas ferramentas. A empresa responsável pela ideia em desenvolvimento, que ganha mãos e cabeças ativas, realmente preocupadas em fazer o melhor que podem. E o usuário, que tem acesso a produtos e serviços muito mais completos.

Um velociraptor invadiu o site da Vogue, usando um chapéu super tendência.

Um bom exemplo da importância das comunidades open source para o desenvolvimento de software são os plugins para jQuery. A comunidade jQuery é grande e super ativa. É possível encontrar plugin pra tudo. De máscaras para campos de formulários até coisas menos relevantes, como o plugin “raptorize”, que faz aparecer um velociraptor na tela.

Por que colaborar com a comunidade?

Sustentabilidade

Manter o ciclo de produção ativo é o que torna o sistema de compartilhamento sustentável. Afinal, se você já usou o código de alguém, já aprendeu analisando o trabalho de outras pessoas ou já melhorou alguma estrutura pronta, você é um consumidor dos conteúdos produzidos pela comunidade. Por que não se tornar também um colaborador?

Aprendizado

Trabalhar em projetos open source é uma forma de testar suas habilidades e aprender novas técnicas.

Quando você expõe seus projetos, acaba encontrando centenas de pessoas dispostas a corrigir e melhorar as soluções que você propôs. Esse processo estimula a troca de experiências. Dessa forma, o aprendizado é muito mais fluido.

Quantas vezes você já não se espelhou em exemplos e modelos para criar alguma coisa? Fazer parte de uma comunidade open source é também abraçar a oportunidade de extrair aprendizados a partir da observação. Existem várias formas de solucionar um problema. Uma ou outra acaba sendo mais prática ou mais inteligente. Imagine, então, ter acesso a um infinidade de possibilidades?

Aperfeiçoamento

Por trás de um projeto de código aberto costuma haver uma equipe de triagem que valida as contribuições recebidas. O mais bacana dessa relação sãos os comentários e feedbacks que você recebe sobre seu trabalho. A partir das críticas e sugestões emergem insights e resoluções que, se estivesse sozinho, você talvez percebesse só depois de muitos erros. O ganho maior em médio prazo é o aperfeiçoamento técnico.

Visibilidade

Se você ainda não se cadastrou no GitHub, faça esse favor a si mesmo. Redes como essa têm sido fundamentais para a criação e manutenção de projetos abertos. São várias iniciativas públicas acompanhadas por centenas de outros profissionais.

Isso pode ser assustador para quem está começando a contribuir. Se esse for o seu caso, aí vai um conselho: diminua a autocrítica, abra os olhos para as sugestões e sinta a brisa. Aproveite esse espaço para crescer profissional e pessoalmente. E acredite: vale a pena. Também pela experiência e ainda mais pela visibilidade destinada ao seu trabalho.

Sim, porque, além de profissionais independentes, existem muitas empresas ativas nas comunidades, que dão preferência aos desenvolvedores que contribuem com projetos open source. Essa visibilidade funciona como uma espécie de auto-propaganda e pode ser definitiva na hora de garantir uma vaga em um bom emprego.

Se você não sabe por onde começar, use pessoas mais experientes como exemplo. O Zeno Rocha é um cara bacana para acompanhar no GitHub. Ele é evangelista da LifeRay, e desenvolve vários projetos open surce, como o WebComponents e o Custom Elements.

Como escolher o melhor projeto para contribuir?

O melhor projeto para contribuir é o que te dá tesão, aquele com o qual você se identifica, no qual você acredita. Afinal, você está ali para aprender, se aperfeiçoar e não está sendo pago por isso.

Um bom projeto para investir seu tempo pode ser também aquele que te ofereça maior possibilidade de aprendizado durante o processo. Ou o que mais precise do seu conhecimento técnico.

Outro tipo de iniciativa legal para se engajar é aquela que, assim como você, está começando. Dessa forma, você pode acompanhar todo o desenvolvimento e evoluir junto com a ferramenta.

Se você não sabe bem por onde começar, vá pelo mais simples. Observe os padrões de código, corrija bugs, sugira melhorias, se ofereça para ajudar a aumentar o alcance de uma solução, traduzindo algum projeto para o seu idioma.

E quando finalmente estiver se sentindo mais seguro e familiarizado com o ambiente, se desafie a pegar projetos mais substanciais.


OFF TOPIC

Open Source não é um tema exclusivo do desenvolvimento de software. Apesar de explicar, com detalhes, como surgiu as iniciativas de código livre, a palestra do escritor e professor universitário Clay Shirky aborda o assunto sobre outra perspectiva: o uso das ferramentas open source na política.

Já imaginou como o processo democrático seria muito mais transparente e participativo com o uso do GitHub? Ele já. E esse é só um dos motivos para você querer dar o play nesse Ted Talks.


Dicas de leitura

Não é a primeira e nem a segunda vez que falamos sobre compartilhamento por aqui. Aliás, esse é um tema bem recorrente no nosso Medium e nos nossos papos de bar.

Então, se você também curte esse assunto, vai gostar de ler:


Gostou do texto? Que tal recomendá-lo? Você também pode seguir a gente no Facebook e no Twitter e ficar por dentro das nossas atualizações semanais. (: