Aprenda Git com Thadeu Cascardo
Vivemos em uma era cada vez mais colaborativa, onde a internet permite a edição simultânea de documentos. Programadores, especialmente no mundo do desenvolvimento de software livre, tem criado uma série de ferramentas que permitem a colaboração a distância e o compartilhamento de código e dados. Uma das ferramentas mais importantes são os controles de versão – usados para manter repositórios de arquivos de projetos, juntamente com históricos de todas as alterações de código. Isso permite que os desenvolvedores de um projeto possam acompanhar todas as mudanças feitas no código, quem fez cada alteração e seus motivos para tal.
Nos últimos anos, uma grande variedade de sistemas livres de controle de versão tornou-se rapidamente disponível, o que inclui o Git, o Subversion, o Mercurial, dentre outros, provocando uma revolução no desenvolvimento ágil em projetos de tecnologia e para a web. Apesar de todos eles terem a sua importância e mérito como ferramentas que facilitam o desenvolvimento de código, o Git pode ser considerado na atualidade o mais ubíquo entre eles, sendo utilizado por muito mais projetos e suportado por muito mais sistemas periféricos quando comparado aos outros sistemas de controle de versão.
A utilização e o propósito dessas ferramentas tem extrapolado as barreiras da comunidade de tecnologia, e hoje vemos iniciativas do controle de versão sendo usadas pela comunidade científica e por cidadãos ao participarem da construção de suas leis. O que garante uma construção mais democrática de software, padrões como o HTML5 e leis.
Na Webbr 2013 teremos a oportunidade de aprender Git com Thadeu Cascardo, que acompanhou de perto o desenvolvimento dessa ferramenta. Ele é bacharel em Ciência da Computação pela UFMG, envolvido com software livre desde 1997, tendo já contribuído para vários projetos, incluindo o kernel Linux. Atualmente trabalha no Linux Technology Center da IBM com drivers de dispositivos para Linux rodando em sistemas Power. Enquanto a sua palestra não chega, confira a entrevista que fizemos com ele:
1) De que maneira o Git contribui para o processo de desenvolvimento ágil na web especialmente para uma equipe de desenvolvedores que estão trabalhando no mesmo projeto?
O Git permite um maior paralelismo e uma certa independência no desenvolvimento de funcionalidades e correções em um projeto por uma equipe que pode ter milhares de desenvolvedores. O Linux, por exemplo, em dois meses apenas, recebeu mais de 11000
alterações feitas por mais de 1200 desenvolvedores, em sua última versão.
2) Cite os principais benefícios do Git com relação a outros sistemas de controle de versão como Subversion, CVS, Mercurial, Bazaar, entre outros.
Em relação a sistemas centralizados, como CVS e Subversion, os benefícios são claros em termos de escala, sem contar a possibilidade de trabalho offline e independente de permissão de escrita no servidor. Além de contar com o completo histórico do desenvolvimento sem precisar de longas consultas ao servidor. Já em relação a outros DVCs (Distributed Version Control systems), como Mercurial e Bazaar, sempre existe a possibilidade de questionar as vantagens entre eles. Alguns dizem que um sistema é mais usável que outro, que um é mais rápido que outro, etc. Mas eu diria que o Git é o mais ubíquo entre eles, sendo utilizado por muito mais projetos e suportado por muito mais sistemas periféricos aos DVCs.
3) Como você avalia a importância dos sistemas de controle de versão abertos e distribuídos no desenvolvimento da web e do próprio HTML5? https://github.com/html5/spec
Uma das coisas que a ferramenta facilita, apesar de não ser condição suficiente pra que isso aconteça, é a participação mais democrática na construção de software, padrões, leis, etc. Existem países utilizando estes meios para permitir que a população participe da construção de suas leis. Acho que já estamos nivelando isto ao mínimo que se espera para a construção de um padrão tão importante quanto a Web, seja o HTML5, ou outros padrões produzidos pelo W3C. A indústria não pode ser a única a ser ouvida. Os usuários também devem ter voz. E as ferramentas de controle de versão distribuídas facilitam isso.
4) Que dicas você daria para os desenvolvedores que estão dando os seus primeiros passos ao fazer uso do Git em seus projetos?
Que experimentem diferentes fluxos de contribuição. Que escutem seus usuários e demais contribuidores, mas não deixem de exigir qualidade nas contribuições. Mais importante que a ferramenta em si, são as relações que ela permite construirmos.
5) Você poderia contar um pouco da sua história no processo de
desenvolvimento do Git?
Utilizei sistemas livres de controle de versão distribuído antes do desenvolvimento do Git. Quando o sistema proprietário utilizado para o desenvolvimento do Linux sofreu uma alteração de licença, esperava a adoção de um dos vários sistemas livres já existentes. Com a criação e adoção do Git, comecei a utilizar a nova ferramenta, a entender seus conceitos utilizados internamente. Traduzi o tutorial oficial do projeto para português, e utilizo a ferramenta no meu dia-a-dia, seja no trabalho em que contribuo com correções para o Linux, seja para manter pequenos projetos que escrevo, ou mesmo controlar a versão de alguns documentos.
Comments are closed.