Join us on Tuesday, October 8th, at 8am GMT / 9am CEST / 12:30pm IST / 6pm AEDT when Vincent Caldeira, Red Hat, Clemens Jütte, Humanitec, and Luiz Fernando Almeida de Oliveira, Red Hat, will discuss Promoting InnerSource Practices with an Internal Developer Platform.

Benefícios de se tornar um Contribuidor InnerSource

Os colaboradores são a força vital dos projetos da InnerSource. Cada projeto executado como um projeto InnerSource vem com a promessa e com o objetivo final de expandir sua equipe de desenvolvimento além dos fundadores originais, explorando o potencial de mais colaboradores entre os usuários (às vezes também chamados de clientes em corporações) daquele projeto. No entanto, o que motivaria um desenvolvedor individual a gastar tempo em um projeto que não está sob a direção de seu gerente? O que motivaria um gerente a reservar tempo para que seus desenvolvedores melhorassem projetos que não estão 100% sob sua alçada? === Motivação individual A motivação mais óbvia é o que normalmente atrai os primeiros contribuidores para o Open Source também. Lembra daquele bug irritante que você tem trabalhado por tanto tempo? O tempo e a energia que a manutenção dessas soluções custam? E se, em vez de esperar que a equipe de envio de dados corrija esse problema no futuro, você pudesse ir em frente e corrigi-lo? Nessa situação de "coçar sua própria coceira", os colaboradores iniciantes geralmente começam a corrigir problemas em projetos dos quais eles dependem para seu trabalho diário para reduzir o número de soluções alternativas em sua própria base de código. Ao decidir se deve criar e contribuir com uma correção em vez de manter sua própria solução alternativa, pense no benefício que a contribuição trará para a qualidade de suas próprias alterações. Em vez de trabalhar isoladamente, aqueles que trabalham no projeto upstream poderão não apenas revisar, mas também melhorar sua solução. Você obtém suporte e orientação que acelera muito seu próprio esforço de desenvolvimento. Passar mais tempo com os outros significa que, ao longo do tempo, você aprenderá como a equipe funciona, como ela se organiza, quais ferramentas ela usa para construir seu projeto. Muitas vezes seus próprios projetos se beneficiarão dessa experiência: em vez de apenas ler sobre alguma nova biblioteca ou sistema de construção, você será capaz de ganhar experiência prática com ela antes de ir em frente e introduzí-la em seus próprios projetos. Trabalhar em mais de um projeto principal significa que você estará exposto a um ecossistema maior do qual poderá extrair melhores práticas e soluções para desafios. Um bom efeito colateral de ser capaz de passar algum tempo em outras equipes é que sua reputação e impacto expandem os limites de sua própria equipe. Então, além de aprender com os outros e crescer, você começa a influenciar projetos. Você influencia diretamente por meio de suas próprias contribuições e compartilhando sua experiência e conhecimento sobre as ferramentas e a configuração do projeto. Esse compartilhamento pode ajudar o projeto upstream a melhorar e acelerar os ciclos de desenvolvimento. Além de todos esses critérios objetivos, há um componente que é muito difícil de medir, mas que foi relatado tanto em InnerSource quanto em projetos Open Source: as pessoas participam porque acham que o trabalho nesses projetos é pessoalmente satisfatório e divertido. Muito provavelmente, o aspecto de estar em uma posição para realmente selecionar tarefas para trabalhar desempenha um papel importante. Esta auto-seleção normalmente também faz com que os projetos anfitriões sejam muito receptivos e solidários em seus esforços para manter os colaboradores motivados. === Motivação no nível da equipe Lembra daquele bug irritante que finalmente foi corrigido? Por que sua equipe deve gastar um esforço extra para contribuir com essa correção para o projeto upstream? Por um lado, significa que o custo de manutenção e o tempo estão agora com o projeto de envio de dados. Para cada nova versão, cabe a eles, e não à sua equipe, garantir que continue funcionando com suas modificações e requisitos. Ter membros da equipe trabalhando como colaboradores ativos em projetos dos quais sua equipe depende significa que eles podem ter uma palavra a dizer na direção do projeto e prazos, o que pode ser benéfico para sua equipe. Usando o InnerSource, as equipes podem estabelecer um caminho intermediário entre "ser independente e construir seu próprio" (incluindo qualquer número de novos bugs que você possui) e "economizar tempo e dinheiro confiando em implementações existentes" (ao custo de criar dependências de longo prazo que só podem ser influenciadas de forma limitada). Dessa forma, equilibrar a reimplementação versus a reutilização se torna mais fácil. === Motivação da empresa Lembra daquela funcionalidade que é específica do domínio da sua empresa, mas que é mantida em múltiplas implementações em toda a empresa? E se houvesse uma maneira de evitar uma dúzia de implementações problemáticas e fundi-las em um ativo compartilhado? E se o processo de desenvolvimento para esse ativo compartilhado fosse executado sem o consumo usual de energia que as dependências centrais trazem à mesa? Muitos projetos open source estão sendo usados por um grande número de participantes - alguns dos quais participam de seu design e desenvolvimento. Incentivar a colaboração entre equipes em projetos InnerSource no nível corporativo significa que você pode impulsionar a inovação central a partir das bordas de sua organização. Em geral, é bem entendido que projetos com um bus factor de uma ou duas pessoas representam um risco para a organização - ainda mais, quando esse projeto acaba por ser central para o propósito do negócio. O InnerSource ajuda não apenas a tornar esses projetos transparentes, mas também fornece ferramentas para melhorar essa situação, colocando o foco em orientar e expandir a base de contribuidores. Embora a colaboração entre equipes torne difícil avaliar as contribuições individuais, ela também permite o aprendizado e o compartilhamento de conhecimento dentro da organização. Como resultado, o impacto dos indivíduos vai melhorar. Melhores práticas e inovação positiva se espalharão mais facilmente por toda a organização. Como efeito colateral, as melhorias no ambiente de trabalho se espalharão mais facilmente pela organização, ajudando a reter os funcionários. No lado tecnológico, ter mais olhos com uma formação mais diversificada implica que as alterações de código serão submetidas a uma análise muito mais rigorosa, levando a uma melhor qualidade e segurança globais. Finalmente, o foco em permitir que os usuários do projeto e clientes participem do desenvolvimento fornece um incentivo muito claro para tornar esses projetos fáceis de começar: com base em ferramentas padrão, fácil de entender, fácil de reutilizar e, como resultado, mais modular e substituível. === Conclusão Como vimos neste artigo, muitas das razões para indivíduos e corporações se tornarem ativos no Open Source também se aplicam a projetos InnerSource. Também vimos que não são apenas razões altruístas que levam as pessoas a colaborar em projetos InnerSource - muitas vezes é fácil identificar razões de negócios para quando a colaboração como esta faz muito sentido.

Contributors