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

Jean Rodrigo Ferri jeanferri em interlegis.leg.br
Segunda Maio 21 17:52:44 BRT 2012


Olá,

Essa discussão é complexa e importante, principalmente antes da gente 
sair patrolando e delegando toda a infra de colaboração da comunidade 
para uma empresa gringa! Os pontos levantados pelo Augusto são 
excelentes, pois eles já se confrontaram com esses problemas 
anteriormente no dados.gov.br. Obrigado por trazer um pouco da sua 
experiência, Augusto. E também obrigado ao Mazza pelo contraponto.

Essa reflexão também estamos tendo no Interlegis e, desculpem, acho que 
isso tem me levado a misturar um pouco as ideias com relação à 
comunidade PloneGov-BR, mas ainda não tenho opinião formada. Entretanto, 
um ponto que tem me preocupado bastante é o citado pelo Augusto, "2) 
Repositório interno ou externo [...] precisávamos dar uma cara de 
oficial ao repositório". Foi por isso que o portal do software público 
foi criado, pois é difícil lidar com a burocracia e a legislação que 
dificulta tanto o governo de fazer coisas que para a iniciativa privada 
são permitidas e/ou simplificadas.

Só para citar um exemplo, hoje recebemos uma ordem de nossos superiores 
para remover uma página do Colab que continha informações de algumas 
empresas que colaboram com a comunidade. Citei isso para perguntar até 
que ponto delegar esta infra para uma empresa, e mais ainda para uma 
empresa estrangeira, estará sendo legal por parte do governo? Estaremos 
assim estimulando o compartilhamento de códigos por parte do governo em 
uma estrutura externa (fora do .gov.br) onde os órgãos não tenham 
segurança, certeza e coragem de publicá-los?

Gostaria muito que o governo compartilhasse mais seus códigos, melhor 
ainda se codificasse juntamente com a comunidade externa usando o 
GitHub, Bitbucket, etc, mas se isso significar uma barreira à abertura 
de código, no momento estou mais preocupado em estimular o 
compartilhamento de códigos, porque acho que já vai ser uma tremenda 
vitória.

No início do debate sobre compartilhamento de código no governo[1] 
tentei direcionar a discussão, com o questionamento sobre um espaço 
desburocratizado dentro do governo, quem sabe no portal do software 
público, para compartilharmos não somente soluções prontas como hoje, 
mas códigos, scripts, etc, coisas pequenas do nosso dia-a-dia que são 
diferentes de um produto pronto, como o PSPB distribui hoje, mas acho 
que não me fiz entender ou então o pessoal achou melhor não entrar nessa 
discussão... :-)

A propósito, gostei do RhodeCode, não o conhecia, e vou conversar com o 
Mazza sobre instalar ele no Interlegis para suavizar a transição dos 
nossos usuários e desenvolvedores para DVCS. Acho que ele agregará muito 
ao Colab[2] e facilitará a integração por sei feito em Python, como todo 
o restante do nosso ambiente.

Enfim, vou deixar para vocês mais dúvidas do que soluções... ;-)

[1] https://vimeo.com/41985488
[2] http://colab.interlegis.leg.br/

Abraço,

Jean Ferri


Em 18-05-2012 23:27, Augusto Herrmann escreveu:
> 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


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