[plonegov-br] Devemos mover nosso repositório para o github.com?

Augusto Herrmann augusto.herrmann em gmail.com
Sexta Maio 18 23:27:41 BRT 2012


Olá,

não participo ativamente desta comunidade e também ando há um bom
tempo afastado da comunidade Plone, tendo ido ao World Plone Day pela
última vez em 2009.

Isto posto, achei que seria útil comentar algumas das razões pelas
quais consideramos e optamos por não utilizar o GitHub no projeto do
dados.gov.br, muito embora tenhamos uma visão de participação e
colaboração com a sociedade que muito se beneficiaria do aspecto
"social" do GitHub.

A principal razão é técnica, do Git x Mercurial. Vamos aos pontos.

Em um ambiente corporativo (e principalmente no governo!) é muito
comum as redes serem bloqueadas para portas e protocolos que não sejam
de uso comum. Se você já tentou usar o GitHub em uma dessas redes
provavelmente viu como é difícil (senão impossível) enviar as
alterações do seu repositório local para o GitHub (push). O Mercurial
usa o protocolo HTTP, que passa tranquilamente em qualquer firewall, e
funciona inclusive com proxies (outra configuração comum em redes de
governo).

Um ponto menos importante é que, no nosso projeto, como nos propusemos
a realizar sessões de código junto com cidadãos interessados, muitas
vezes realizamos os rumbles de desenvolvimento em locais externos. Em
alguns desses locais ocorreu muita instabilidade na conexão com a
internet, que nem sempre esteve disponível. Nesses casos, é muito útil
poder sincronizar os repositórios entre as máquinas na rede local,
durante a sessão de trabalho, usando o comando "hg serve" que o
Mercurial fornece, e Git não tem.

Por fim, precisávamos dar uma cara de "oficial" ao repositório. Por
tudo isso, decidimos usar o Rhodecode [1], um software livre de
repositórios Mercurial e Git, instalado em nossa própria infra, em vez
do Bitbucket. Hospedamos os repositórios em
http://dev.dados.gov.br/codigo/ . Para controle de tickets usamos o
Trac em http://dev.dados.gov.br/tarefas/ .

A decisão que vocês precisam que tomar na verdade são três. 1) Qual o
sistema controle de versão distribuído utilizar (Git ou Mercurial); 2)
Repositório interno ou externo; e 3) Qual a plataforma (GitHub ou
Bitbucket para externo, RhodeCode ou Gitorious para interno).

Uma vantagem inquestionável do GitHub é o número de usuários. Mas a
questão é, será que isso pode se converter em mais colaboradores para
um projeto simplesmente pelo fato de o código estar hospedado lá? É
possível. A desvantagem é, para os colaboradores que trabalham no
governo, será que vão conseguir contribuir código de dentro de suas
redes enclausuradas (observando que o Github só suporta Git)?

Não pretendo tomar parte da decisão, até porque não tenho participado
da comunidade. Apenas queria deixar esses pontos para reflexão.
Disclaimer: 1) eu fiz o trabalho de tradução do Rhodecode e já
contribuí com alguns bugfixes e 2) nunca testei o suporte a Git do
Rhodecode e não sei se funciona bem - caso decidam por usar o Git em
repositório em própria infra - mas ouvi falar bem do Gitorious.

Caso alguém tenha alguma dúvida ou pergunta sobre o repositório do
dev.dados.gov.br/codigo/ ou sobre o RhodeCode, sintam-se à vontade
para nos perguntar.

[1] http://rhodecode.org/

Abraços,
Augusto Herrmann

2012/5/17 Tania Andrea <taniaa.moreira em gmail.com>:
> Pessoal,
>
> Só pra vocês saberem a opinião do Linus Torvals sobre o Github e do Steve
> Holden, na sequência:
> https://github.com/torvalds/linux/pull/17#issuecomment-5654674
>
> Ignorando comentários chulos, o que extraí foi que:
> * o primeiro não gosta da formatação das mensagens de request e se mandarem
> pelo Github, ele ignora;
> * o segundo acha que o primeiro é um crânio e sugere que não tentem mudar
> sua opinião. O Github sabe das deficiências e vão corrigir.
>
> Vejam que não houve preocupação sobre outros aspectos...
> A formatação dos comentários pode ser apenas um detalhe para qualquer outro
> projeto. Lógico, que para um projeto do porte do Linux, é super importante!
> Mas nem todos reguladores deste projeto são tão criteriosos quanto ele...
>
> Então, concordo que devemos adotar o Github como padrão.
>
> Alguma oposição?
>
> A propósito, o que tem hoje no SVN é o mesmo que está no Github?
>
> Abraço,
> --
> Tânia Andrea
>
>
>
>
>
> Em 14 de maio de 2012 23:33, Tania Andrea <taniaa.moreira em gmail.com>
> escreveu:
>
>> Muito bom ter retomado a discussão, Mazza!
>>
>> Vamos ser práticos? Por que não migrar para o Git?
>>
>> Agora, deixemos esta thread aberta pra discussões sobre isso e abrimos uma
>> nova "Quando iniciamos os trabalhos no Git?".
>>
>> Por que está delongando muito... Se houvesse manifestação contrária (e
>> argumentada) tudo bem. Mas não tem...
>>
>> Abraço,
>> --
>> Tânia Andrea
>>
>>
>>
>>
>>
>> Em 14 de maio de 2012 11:38, Marcio Mazza <marciomazza em gmail.com>
>> escreveu:
>>
>>> Ótimas considerações. Não podemos realmente abrir mão do controle
>>> sobre nosso trabalho.
>>> Nesse sentido, ressalto o seguinte:
>>>
>>> * em um modelo distribuído, o lugar das coisas é todo lugar: podemos
>>> todos manter cópias de tudo, a um custo baixo, o que é inclusive mais
>>> seguro. Alguns comandos no cron e tudo está copiado e guardado,
>>> sempre.
>>>
>>> * na verdade o que está em jogo então não é o armazenamento, porque
>>> também guardaremos cópias idênticas, e sim qual o ponto focal de
>>> colaboração, de interação sobre o código: onde as mudanças serão
>>> vistas, gerenciadas e estimuladas.
>>>
>>> * o melhor ponto para este tipo de coisa hoje é o GitHub.
>>>
>>> Esta última afirmação é bem categórica, então convém explicar: O
>>> GitHub atingiu uma massa crítica espantosa. Está virando um facebook
>>> do código fonte. A diferença é que as informações de sua rede são
>>> abertas. Ele tem repos privados, mas eles não fazem parte da "rede" de
>>> projetos open source, são outra coisa totalmente seperada: tudo que é
>>> da rede pública tem suas informações abertas, consultáveis e
>>> manipuláveis via API.
>>>
>>> Os órgãos públicos usam serviços consagrados por suas redes como
>>> Twitter ou Facebook. O valor do GitHub é o valor da rede que ele
>>> possui. E nós temos muito mais tranquilidade em usá-lo do que em usar
>>> o Facebook, por exemplo. Novamente: tudo que usamos no GitHub é
>>> aberto. Tudo é consultável e operável via API. Podemos clonar tudo e
>>> guardar tudo, sempre.
>>>
>>> Nesse sentido podemos usar o serviço como um agregado ao trabalho (um
>>> agregado muito bom) sem nunca depender dele.
>>>
>>>
>>> ** FAQ: Mas só clono os repositórios? E as issues, os comentários, e
>>> tudo mais que são os diferenciais do serviço?
>>>
>>> Tudo lá é clonável também. Não por causa do git, mas por causa das API's.
>>> Vejam: http://develop.github.com/
>>>
>>> Eu migrei a uns dias atrás todas as issues do plone.ORG.br do
>>> bitbucket para o GitHub. Vejam exemplos de antes e depois:
>>>
>>>
>>> https://bitbucket.org/ploneorgbr/ploneorgbr.portal.theme/issues?status=new&status=open
>>>
>>> https://github.com/pythonbrasil/ploneorgbr.portal.theme/issues?page=1&state=open
>>>
>>> Isso só foi possível pq estes serviços possuem API's restful para
>>> operá-los de maneira aberta. Dá pra guardar realmente tudo.
>>>  http://engineering.zauberlabs.com/2012/03/github-enterprise-backups.html
>>>  https://github.com/zauberlabs/backup-github/blob/master/README.md
>>>
>>> É isso.
>>>
>>>
>>> 2012/5/14 Cintia de Souza Cinquini <cintia.cinquini em planalto.gov.br>:
>>> > Márcio,
>>> >
>>> > Gostei. A argumentação foi simples e embasada e o seu movimento foi
>>> > bacana.
>>> > Acho mesmo que temos que nos lembrar sempre da comunidade plone.org
>>> > original, dentro da qual estamos inseridos. E isso significa ficar
>>> > ligado no
>>> > movimento lá dos caras. :)
>>> >
>>> > Mas acho importante também que tenhamos particularidades e
>>> > especificidades
>>> > que nos permitem, entre outras coisas, definir hospedagem das nossas
>>> > coisas
>>> > em, vamos dizer assim, "solo nacional". E pensar sobre isso, e
>>> > questionar, e
>>> > rediscutir, faz parte do que estamos fazendo aqui. :)
>>> >
>>> > Acho que essa thread não deve acabar tão cedo, e não quero que acabe. É
>>> > saudável refletir sobre quem somos.
>>> >
>>> > A gente vai montar uma mesa sobre isso no Plone Symposium, né gente? :)
>>> >
>>> > Abraços, boa semana e que as reflexões saudáveis sejam nossa constante
>>> > por
>>> > esses dias!
>>> > Cintia Cinquini
>>> > Diretoria de Tecnologia da Informação
>>> > Presidência da República
>>> > 61. 3411.2157
>>> >
>>> > Em 13/05/2012 às 18:29 horas, plonegov-br em listas.interlegis.gov.br
>>> > escreveu:
>>> >
>>> > Esperei bastante tempo para manifestações na lista plonegov-br na
>>> > thread:
>>> >
>>> > colab.interlegis.leg.br/archives/thread/plonegov-br/devemos-mover-nosso-repositorio-para-o-githubcom
>>> >
>>> > Como ninguém mais se manifesta sobre se devemos ou não usar o github,
>>> > me sinto à vontade para me juntar a github.com/plonegovbr, a
>>> >
>>> > título de experiência.
>>> >
>>> > Algumas considerações:
>>> >
>>> > 1) Acredito que o github seja, de muito longe, o melhor local no
>>> > momento para hospedar projetos colaborativos de software.
>>> > 2) O compartilhamento de código no governo é uma questão de licença e
>>> > não de local de hospedagem de repositórios.
>>> > 3) Faço isso como uma experiência e para apoiar a iniciativa.
>>> > 4) Só considero que posso subir código quando e se minha equipe e meus
>>> > chefes concordarem com isso.
>>> >
>>> > Acredito que o melhor modelo para utilizarmos o github seria:
>>> >
>>> > 1) Encará-lo como mais uma forma de ampliar o acesso ao nosso
>>> > trabalho: imaginemos que ele é mais um portal de colaboração, além do
>>> > que cada um tiver (como o colab).
>>> > 2) Todos devem se comprometer em manter clones (que são cópias) da
>>> > totalidade dos repositórios da comunidade, com rotinas regulares de
>>> > backup.
>>> >     Desta forma a totalidade de nosso código não fica somente nas mãos
>>> > do Interlegis mas também com cada um dos órgãos participantes da
>>> > comunidade. Isto, que antes seria algo muito estranho, com um DVCS é
>>> > natural e fácil.
>>> > 3) Idem para issues e tudo mais que houver no github: todos rodam uma
>>> > rotina que baixa tudo em formato aberto e guarda em backup.
>>> >
>>> > Gostaria muito de ver opiniões, enfim.
>>> >
>>> > []'s
>>> >
>>> > 2012/4/27 Marcio Mazza <marciomazza em gmail.com>:
>>> >> Fabio,
>>> >>
>>> >> O foco da discussão está no lugar certo. Esta thread foi criada,
>>> >> justamente em separado, para opinarmos sobre uma mudança do repo para
>>> >> o github, que tem outra origem:
>>> >>
>>> >> Foi criado um repo no github para o plonegovbr por ocasião da oficina
>>> >> do André (ele esclareceu isto em outra thread). Sua demanda foi
>>> >> posterior a este fato, logo é uma coincidência. Tudo disparado pelo
>>> >> WPD.
>>> >>
>>> >> Como existe um repo criado, acho que devemos opinar. Em algum momento
>>> >> o assunto github viria, tenha certeza.
>>> >>
>>> >>
>>> >> On Fri, Apr 27, 2012 at 11:55 AM, Gilson Filho <contato em gilsondev.com>
>>> >> wrote:
>>> >>> Creio que não é questão de qual é a melhor tecnologia. A questão as
>>> >>> funcionalidades de compartilhamento e contribuição que o github nos
>>> >>> dá.
>>> >>> Poderia ser bitbucket ou qualquer outro nesse formato.
>>> >>>
>>> >>> --
>>> >>> _________________________________________________
>>> >>> Gilson Filho
>>> >>> Desenvolvedor Web
>>> >>> gilsondev.com
>>> >>>
>>> >>>
>>> >>> _______________________________________________
>>> >>> Comunidade Plone no Governo
>>> >>> Site: www.softwarelivre.gov.br/plone
>>> >>> Wiki: colab.interlegis.leg.br/wiki/PloneGovBr
>>> >>> Lista: listas.interlegis.gov.br/mailman/listinfo/plonegov-br
>>> >>>
>>> > _______________________________________________
>>> > Comunidade Plone no Governo
>>> > Site: www.softwarelivre.gov.br/plone
>>> > Wiki: colab.interlegis.leg.br/wiki/PloneGovBr
>>> > Lista: listas.interlegis.gov.br/mailman/listinfo/plonegov-br
>>> >
>>> >
>>> > _______________________________________________
>>> > Comunidade Plone no Governo
>>> > Site: http://www.softwarelivre.gov.br/plone
>>> > Wiki: http://colab.interlegis.leg.br/wiki/PloneGovBr
>>> > Lista: http://listas.interlegis.gov.br/mailman/listinfo/plonegov-br
>>> >
>>> _______________________________________________
>>> Comunidade Plone no Governo
>>> Site: http://www.softwarelivre.gov.br/plone
>>> Wiki: http://colab.interlegis.leg.br/wiki/PloneGovBr
>>> Lista: http://listas.interlegis.gov.br/mailman/listinfo/plonegov-br
>>
>>
>
>
> _______________________________________________
> Comunidade Plone no Governo
> Site: http://www.softwarelivre.gov.br/plone
> Wiki: http://colab.interlegis.leg.br/wiki/PloneGovBr
> Lista: http://listas.interlegis.gov.br/mailman/listinfo/plonegov-br
>


Mais detalhes sobre a lista de discussão PloneGov-BR