2. Infraestrutura e práticas para expansão do conhecimento

A integração dos princípios apresentados na seção anterior às atividades do ambiente acadêmico traz vantagens ao mesmo tempo em que cria novas oportunidades e desafios. Faz-se necessária a criação e adaptação de infraestrutura e práticas para potencializar a expansão do conhecimento acadêmico. Nesta seção destacamos a documentação como prática essencial para a execução de projetos e as ferramentas para a comunicação e memória de grupos e comunidades envolvidas em projetos. Além disso, apresentamos a bancada dos hiperobjetos como infraestrutura aberta para viabilizar a construção dos HAL em sua forma ideal.

2.1 Documentação de projetos

Se por um lado a documentão de um projeto é muito importante para o seu desenvolvimento por ser o registro que permite ao próprio desenvolvedor acompanhar o seu avanço, a documentação tem um papel fundamental no desenvolvimento de hardware aberto e livre (HAL). Isto ocorre porque a documentação é o que viabiliza as liberdades de fabricação, estudo, modificação do hardware e também porque é sobre a documentação que incidem as licenças existentes para o HAL, ou seja, a existência da documentação é o que pode tornar um projeto HAL.

Sob os aspectos de conteúdo, a documentação de um HAL não deve ser vista apenas como um manual de utilização mas sim como o projeto em si. Nela devem constar todos os detalhes conhecidos do projeto incluindo informações sobre as suas partes e peças, tanto as adquiridas no mercado quanto as desenvolvidas. Deve-se dar especial atenção para os formatos dos arquivos desta documentação e ser tomado o cuidado na devida atribuição aos autores e licenças de uso de projetos nos quais um HAL é baseado. Além da disponibilização dos arquivos fontes, a documentação deve ser clara quanto aos procedimetos envolvidos na construção, utilização, reprodução e derivação dos projetos.

Durante a elaboração da documentação é importante a utilização de formatos e ferramentas que sejam universais pois isto permite que estas sejam utilizadas em diferentes plataformas. Os projetos do CTA são desenvolvidos em software livre visando, com isto, a sua disseminação de uma forma ampla e sem restrições.

Uma documentação de qualidade, incluindo a sua disponibilidade e reprodutibilidade, fortalece o espírito do HAL estimulando, e facilitanto, a participação no próprio projeto e em suas derivações. Um ótimo exemplo desta prática é o da impressora RepRap (JONES et al., 2011) que rapidamente se tornou um sucesso e criou uma grande comunidade de usuários e desenvolvedores.

2.2 Comunicação e memória

A comunicação e a memória dos grupos e comunidades que se organizam em projetos no CTA é realizada pela apropriação das ferramentas utilizadas por projetos colaborativos e distribuidos bem sucedidos como por exemplo o kernel Linux e a Wikipédia.

Naturalmente, um grupo que se propõe a fomentar e se adequar aos novos paradigmas culturais alinhados com os conceitos de abertura que mencionamos, acaba se diferenciando também em outros aspectos de sua estrutura organizacional. Citamos a seguir algumas das ferramentas e práticas utilizadas no CTA.

Website para gestão e documentação de projetos

O site do CTA1 conta atualmente com uma instância de um sistema de gestão de projetos chamado ChiliProject2, inspirado no Repositório de Hardware Aberto do CERN3. A partir da página inicial do site, o visitante tem acesso a diversas plataformas de registros utilizadas pelo grupo, sendo também convidado para participar delas. Pode ser encontrada a lista de fóruns, Wiki de suporte e lista de projetos destacados. Temos buscado a apresentação de uma página inicial clara, interessante e simples. Apesar dos grandes avanços no último ano, manter a organização de modo a destacar o conteúdo de acordo com a sua relevância tem se mostrado um desafio.

O site é organizado sob projetos, cada um podendo conter uma Wiki, sistema de tarefas, fórum, repositório de arquivos, entre outras funcionalidades que facilitam a organização de equipes de desenvolvimento bem como de espaço para registro e documentação dos projetos e comunicação entre os interessados. As funcionalidades podem ser ativadas e desativadas pelo mantenedor do projeto.

Fóruns

Cada projeto pode contar com fóruns para discussão online. Na utilização dos fóruns para os nossos projetos procuramos integrar tanto os desenvolvedores dos projetos quanto a comunidade externa que não está necessariamente vinculada à universidade. Como os projetos têm conceitos frequentemente interligados, procuramos discutir os assuntos comuns no fórum do suporte, onde temos discussão sobre as ferramentas utilizadas (como tutoriais, perguntas e dicas), discussão sobre as práticas do CTA, instruções e dicas sobre como colaborar com o Centro. O fórum de encontros periódicos é o fórum tipicamente mais ativo do site.

Dinâmica de reuniões

Realizamos encontros semanais, em formato presencial, com a finalidade de colocar em contato os colaboradores do CTA e outras pessoas interessadas no nosso trabalho. São encontros que integram as pessoas, os projetos e as ideias que permeiam o Centro. Cada encontro é iniciado com uma apresentação de tema variado. Podem ser expostos os desenvolvimentos de trabalho dos membros da equipe como também ocorrem discussões organizacionais ou dos fundamentos e diretrizes de trabalho, palestras diversas, estudos de casos onde conhecemos trabalhos desenvolvidos externamente. As apresentações são tipicamente proferidas pelos participantes do CTA, porém, frequentemente recebemos convidados especiais ou vistantes que dirigirem a apresentação semanal.

Cada reunião é gerida por um gestor encarregado de redigir e organizar a pauta, coordenar a reunião e elaborar o relato e encaminhamentos do encontro. As pautas e encaminhamentos de cada reunião são expostas no fórum de suporte, nos "Encontros Periódicos"4. Nessa dinâmica de reunião, observamos como alguns pontos positivos, como o fato do os papéis de gestor e apresentador serem rotativos. Assim todos os participantes do CTA têm a oportunidade de assumir estes papéis com o intervalo de algumas semanas. Esta é uma forma garantir que todos adquiram experiência nestes papéis e é também a forma de distribuir tarefas administrativas entre os participantes. Outro ponto positivo é a atualização dos assuntos expostos nas apresentações, de forma que os apresentadores adquirem maturidade na apresentação de seus temas e recebem sugestões para encaminhamentos futuros. Os encontros são abertos para a participação de todos os interessados e almejamos, no futuro, proporcionar a participação online das reuniões a fim de tornar a reunião semanal mais inclusiva.

Lista de e-mails

Complementamos a comunicação online utilizando listas de e-mails. Alguns projetos optaram por utilizar lista de emails e também contamos com uma lista geral do CTA (cta-adm-l) e uma lista para assuntos internos. Para os interessados no CTA, a lista mais recomendada é a lista geral do CTA. Nesta lista costuma-se informar sobre eventos, sobre as reuniões e anúncios e discussores em tópicos de interesse. A lista de assuntos internos é uma lista em que se discutem certas trivialidades cotidianas e tarefas em andamento.

GitLab como gestor de repositórios git

O git é um dos mais importantes e poderosos sistemas de controle de versão distribuida. Foi originalmente concebido para controle de versão de grandes projetos de software colaborativos, mas também pode ser utilizado para qualquer tipo de projeto. O servidor do CTA abriga uma Instância do GitLab, um gerenciador de repositórios git que permite aos desenvolvedores armazenarem seus projetos e controlarem as suas versões5.

Oficinas

O CTA oferece regularmente oficinas de introdução às ferramentas livres utilizadas para o desenvolvimento de seus projetos assim como oficinas específicas aos projetos. Possuímos uma página chamada "Portfólio de Oficinas"6 na qual listamos e registramos materiais e referências de algumas das oficinas ministradas, mantendo um registro que facilita o reoferecimento das oficinas e a evolução do seu mateiral de apoio. Existe um especial cuidado para que o material disponibilizado tenha licenças permissivas e seja confeccionado integralmente em software livre, permitindo a sua derivação. As oficinas são elementos catalisadores no compartilhamento do conhecimento produzido no CTA para a comunidade em geral, abrindo canais para a formação de uma comunidade consciente dos projetos desenvolvidos pelo Centro e engajada neles.

2.3 Infraestrutura para o desenvolvimento de HAL: a Bancada dos hiperobjetos:

Identificando que a carência de infraestrutura aberta e ferramentas de desenho livres limitam as possibilidades de criação de hardware de acordo com os princípios de abertura e liberdade do conhecimento, o CTA se propôs a atuar neste elo fraco da cadeia produtiva dos HAL, concebendo o conceito da Bancada dos Hiberobjetos (PEZZI, 2015). O fortalecimento deste elo é importante para ampliar as possibilidades de criação (desenho e fabricação) de HAL efetivamente documentado de acordo com os principios citados na seção 1.

Esta bancada é composta por i) um conjunto de máquinas de fabricação digital e tem por objetivo a materialização dos hiperobjetos e ii) as ferramentas digitais para desenho e simulação dos componentes de hardware. A intenção é que as máquinas da bancada sejam autoreplicantes, assim como o que ocorreu com a impressora 3D Reprap (JONES et al., 2011), pois esta liberdade estimula a inovação e a colaboração no desenvolvimento da própria bancada.

A bancada de hiperobjetos sendo desenvolvida com estes princípios visa a abrir o caminho para que boas práticas de desenvolvimento colaborativo se fixem na comunidade e, com isto, que padrões e parâmetros para o desenvolvimento de HAL sejam estabelecidos. Atualmente, o desenvolvimento de HAL apresenta dificulades devido à carência de softwares livres para CAD (computer aided design) com funcionalidades equivalentes às dos software proprietários para algumas áreas, dificultado a criação de hiperobjetos mais complexos. Ou seja, para que os conceitos de liberdade necessários na elaboração de hiperobjetos sejam atingidos, o desenvolvimento de CADs livres de alto nível é essencial.

Recentemente, o projeto KiCad7 realizou um grande avanço nas possibilidades relacionadas ao desenvolvimento de circuitos eletrônicos ao disponibilizar um software livre de alto nível e desempenho comparável às alternativas proprietárias. Com isto, efetivamente viabilizou a comunicação livre de, e entre, projetos de circuitos eletrônicos. Ansiamos por outros programas CAD livres capazes atuar em outras áreas de engenharia como desenhos mecânicos.

A principal dificuldade encontrada atualmente para o desenvolvimento de máquinas CNC que compõe a bancada de hiperobjetos, e que estejam de acordo com os critérios para os hiperobjetos é justamente a falta de um software CAD mecânico livre. Foi feita a opção pela aquisição de uma licença educacional de um CAD mecânico acessível compatível com GNU/Linux chamado VariCAD8. Infelizmente, isto faz com que a projetos mecânicos complexos não sejam produzidos totalmente de acordo comos princípios declarados de HAL.

Na seção 4 descrevemos o projeto da primeira máquina elaborada no Centro de Tecnologia Acadêmica para integrar a bancada dos hiperobjetos, a Fresadora PCI João-de-Barro, desenvolvida pelo engenheiro Germano Postal, principal desenvolvedor das máquinas da bancada de Hiperobjetos.

Notas:

1. Centro de Tecnologia Acadêmica. Disponível em http://cta.if.ufrgs.br/. Acessado em 08 de Janeiro de 2016.
2. Página do sistema ChiliProject. Disponível em https://www.chiliproject.org/. Acessado em 08 de Janeiro de 2016.
3. Open Hardware Repository. Disponível em http://www.ohwr.org/. Acessado em 08 de Janeiro de 2016.
4. Fórum Encontros Periódicos do CTA. Disponível em http://cta.if.ufrgs.br/projects/suporte-cta/boards/7 . Acessado em 08 de Janeiro de 2016.
5. Repositório Git do CTA. Disponível em https://git.cta.if.ufrgs.br/ . Acessado em 08 de Janeiro de 2016.
6. Portfólio de Oficinas do CTA. Diponível em http://cta.if.ufrgs.br/projects/suporte-cta/wiki/Portf%C3%B3lio_de_Oficinas . Acessado em 08 de Janeiro de 2016.
7. Página do software KiCAD. Disponível em http://kicad-pcb.org . Acessado em 29 de Novembro de 2015.
8. https://www.varicad.com acessado em 07 de Julho de 2015.