# GitHub x GitLab
## Ambientes de Desenvolvimento Colaborativo

No mundo de desenvolvimento de softwares, é comum trabalhar em equipe. Seja qual for a metodologia de desenvolvimento empregada são raras as vezes em que não há um desenvolvimento colaborativo. Para um melhor gerenciamento do que é produzido, é necessário uma central de compartilhamento das informações, garantindo assim uma melhor comunicação e maior profissionalismo da equipe empregada. É ai que entram os sistemas de controle de versão, que exitem aos montes como por exemplo o Mercurial, o Git, o Bazaar etc. São eles os responsáveis por controlar as atualizações que o código sofre ao longo do desenvolvimento. Cada sistema necessita de um repositório web para abrigar o repositório local (que fica no próprio diretório do computador). o Git por exemplo, possui o GitHub e o GitLab que são serviços de Web Hosting que vão além da função primitiva deles de só abrigar código.

## GitHub
### História

O GitHub foi lançado no ano de 2008 pelos desenvolvedores da Logical Awesome e é um sistema Web Hosting compartilhado. O GitHub nasceu com o principal objetivo de abrigar projetos que são versionados via Git. O GitHub foi escrito em Ruby on Rails, o que é bem interessante pelo fato de na época a linguagem/framework possuir pouco tempo de vida e estabilidade. A medida que a popularidade foi aumentando, percebeu-se que seria necessário a implementação de funcionalidades que deixassem o GitHub com cara de rede social. Foram adicionadas listas de discussões, gráficos referentes a contribuições em projetos e até mesmo a opção de seguir algum usuário, algo muito parecido com o que o Twitter emprega. Atualmente o GitHub é tão reconhecido na comunidade que projetos de grande importância estão desfrutam dos seus serviços, como por exemplo o Linux e o Ruby on Rails.

### Vantagens do GitHub em Relação ao GitLab

- Maior número de integrações dentre diversas ferramentas existentes (Travis CI, Codeship, ZenHub, etc).
- Por possuir uma maior comunidade ativa, as empresas possuem o hábito de buscar novos empregados com base nas atividades relatadas no GitHub.

## GitLab
### História

O GitLab surgiu em meados de 2011 pela empresa GitLab B.V com o objetivo de ser uma alternativa em relação ao produto similar até então mais bem sucedido, o GitHub, porém com um diferencial: trata-se de uma aplicação totalmente gratuita e open-source. O código foi escrito em Ruby. O GitLab conta com menos de dez empregados contratados para evolução da plataforma, porém possui uma comunidade na web ativa com muitos contribuintes, dentre esses contribuintes há alguns com grande relevância dentro do cenário internacional, como por exemplo a Nasa. Em setembro de 2015 o GitLab recebeu um financiamento de aproximadamente U$ 4 milhões da empresa Khosla Ventures.

### Vantagens do GitLab em Relação ao Github

- Community Edition é livre e Open Source.
- Interface gráfica mais amigável.
- Marcar um Merge Request como "WIP" (Work In Progress) para que o mesmo não possa ser acidentalmente aceito.
- Múltiplos níveis de autenticação (Convidado, Repórter, Desenvolvedor, Mestre e Dono).
- Pesquisas através de mensagens de commits.
- Tornar um projeto "Interno", onde apenas usuários autenticados no servidor do GitLab podem visualizar.
- Vincular qualquer arquivo a uma issue ou comentário.
- Visualizar a situação de todas as issues referentes a uma Milestone dentre os diversos projetos que uma pessoa participe.

## Ver Também

* GitLab
* SourceForge
* Bitbucket
* Trac
* Ruby on Rails