# Introdução

![Capa do Livro Padrões InnerSource](innersource-patterns-book-cover.jpg)

{% hint style="info" %}
Você está lendo uma versão inicial do Livro de Padrões InnerSource e ainda pode encontrar links quebrados, erros de ortografia ou outros problemas.
Por favor, nos ajude a corrigi-los para produzirmos o melhor livro possível :). Saiba como [contribuir para este livro](contribute.md).
{% endhint %}

Bem-vindo ao **Livro de Padrões InnerSource**.

Este livro contém as melhores práticas InnerSource codificadas em um formato específico para facilitar a compreensão, avaliação e aplicação delas em seu contexto. Chamamos esse formato de **padrão**.

A [InnerSource Commons](http://innersourcecommons.org) coletou esses padrões ao longo de muitos anos, publicando os padrões mais maduros neste livro, onde membros da comunidade revisam cada padrão, com pelo menos uma instância conhecida de uso do padrão.

<!-- markdownlint-disable-next-line link-fragments -->
Nesta introdução, explicamos [o que é InnerSource](#o-que-e-innersource), [o que é um padrão](#o-que-sao-padroes-innersource) e [Como você pode usar Padrões InnerSource?](#como-voce-pode-usar-padroes-innersource) em sua organização.

Se você já está usando InnerSource em sua empresa e deseja contribuir com suas experiências para este livro, adoraríamos [receber suas contribuições](contribute.md)!

## O que é InnerSource?

Definimos InnerSource como:

> O uso de princípios e práticas de código aberto para o desenvolvimento de software dentro dos limites de uma organização.

O InnerSource aproveita as lições aprendidas com o desenvolvimento de software de código aberto e as aplica à forma como as empresas desenvolvem software internamente. À medida que os desenvolvedores se acostumaram a trabalhar em software de código aberto de alta qualidade, surge um forte desejo de trazer essas práticas de volta para dentro da empresa e aplicá-las ao software que as empresas podem relutar em lançar.

Para empresas que constroem principalmente software de código fechado, o InnerSource pode ser uma ótima ferramenta para quebrar barreiras, incentivar e ampliar a colaboração interna, acelerar a integração de novos engenheiros e identificar oportunidades de contribuir com software para o mundo de código aberto.

## O que são Padrões InnerSource?

Padrões são uma forma de descrever uma solução repetível e comprovada para um problema dentro de um contexto. Os padrões seguem uma forma simples que auxilia durante a implementação de uma solução para entender as restrições do problema, compreender as forças que você precisa equilibrar e o contexto resultante - a situação criada pela aplicação da solução.

Os padrões podem fornecer uma maneira para os participantes da InnerSource Commons compartilharem informações de forma concisa, melhorando a prática do InnerSource. Os padrões são divididos em Título, Declaração do Problema, Contexto, Forças e Soluções como suas principais seções.

* [`O que são padrões?` Vídeos no Youtube](http://bit.ly/innersource_patterns_videos) - Assista a uma série de vídeos no Youtube de 2-5 minutos explicando Padrões InnerSource.
* [Webinar de Discussão de Padrões](https://youtu.be/i-0IVhfRVFU) - Realizamos um webinar em 16 de março de 2017 para discutir ao vivo um *donut pattern*[^1] (vá para 24:30 para a discussão). Isso ilustra o processo de revisão que seguimos. Veja também o [Webinar O'Reilly de 1 de junho de 2017 sobre Padrões InnerSource](http://www.oreilly.com/pub/e/3884).
* [Modelo de Padrão](../../meta/pattern-template.md) - Veja um padrão InnerSource esqueleto para ter uma ideia do que é necessário para criar um novo padrão!
* [Introdução aos Padrões InnerSource (apresentação do Fall Summit 2016)](https://drive.google.com/open?id=0B7_9iQb93uBQbnlkdHNuUGhpTXc) - *Tim Yao e Padma Sudarsan* (PDF). Fundo e exemplos detalhados de padrões - Entenda detalhadamente por que e como interagir com nossos padrões. Veja também a [Introdução aos Padrões InnerSource (Fall Summit 2017)](https://drive.google.com/open?id=0B7_9iQb93uBQWmYwMFpyaGh4OFU) *Tim Yao e Bob Hanmer* (PDF).

## Como você pode usar Padrões InnerSource?

Os padrões devem ser usados com cuidado. Eles não podem ser aplicados indiscriminadamente. Na maioria dos casos, você precisará adaptar a solução fornecida à sua situação; mas as informações dadas no padrão, definindo o contexto (restrições imutáveis) e as forças (restrições que podem ser alteradas e equilibradas entre si), devem ajudá-lo a fazer isso. Note que você também precisará determinar se existem restrições adicionais (contexto da empresa e forças da empresa) que se aplicam à sua empresa/organização específica e que devem ser adicionadas ao padrão (como um tipo de filtro). Essas restrições adicionais podem exigir etapas de solução adicionais a serem aplicadas.

A forma do padrão é útil para descrever soluções comprovadas, mas também pode ser usada para *brainstorming de novas soluções* onde os padrões ainda não estão estabelecidos. Isso ocorre porque a anatomia de um padrão fornece um framework para pensar em um problema de maneira estruturada. Você também pode criar um *donut pattern* (preenchendo os campos de problema, contexto, forças e contexto resultante, mas deixando a solução em branco) como uma maneira de pedir ajuda à comunidade da InnerSource Commons (para encontrar uma solução comprovada ou para gerar ideias para tentar).

## Como Contribuir?

Por favor, consulte: [Contribuir para este livro](./contribute.md)

## Créditos

Este livro é o resultado de muitos anos de trabalho de inúmeros [Contribuidores de Código Aberto](https://github.com/InnerSourceCommons/InnerSourcePatterns/graphs/contributors) de todo o mundo. Sua disposição em compartilhar abertamente os desafios que enfrentaram em suas empresas e como o InnerSource os ajudou a enfrentar esses desafios torna este livro um recurso valioso para outros em sua jornada InnerSource.

Queremos mencionar especificamente o Grupo de Trabalho InnerSource Patterns. Eles têm nutrido a qualidade dos Padrões InnerSource e ajudaram outros a contribuir. Por último, eles também compilaram uma seleção de padrões disponíveis neste livro.

A imagem de capa deste livro foi criada por [Sebastian Spier](https://spier.hu) e adaptada a partir de uma imagem de [Tony Hisgett - Alhambra 6](https://www.flickr.com/photos/hisgett/29345405788/), disponível sob [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/).

**Obrigado a todos os contribuidores! E feliz Dia InnerSource :)**

## Licenciamento

![Licença Creative Commons](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)

InnerSourcePatterns por [InnerSourceCommons.org](http://innersourcecommons.org) está licenciado sob uma [Licença Internacional Creative Commons Attribution-ShareAlike 4.0](http://creativecommons.org/licenses/by-sa/4.0/).

[^1]: *Donut pattern* não possui tradução direta para português. No contexto em que está utilizado refere-se a um padrão ainda não está totalmente definido, com o campo solução ainda pendente de discussões.
