# Pesquisa:Ferramentas livres

A construção colaborativa de conhecimento foi grandemente impulsionada pelo advento da www e pelo que veio a ser chamado de Web 2.0. Na academia, novas formas de interação e participação surgiram tais como Recursos Educacionais Abertos, wikipesquisas, ciência cidadã, ciência aberta e outras iniciativas de ampliação ao acesso ao conhecimento.
Uma infinidade de plataformas de colaboração que são utilizadas para o desenvolvimento e controle de versão de projetos, publicação de resultados, organização de dinâmica de grupos (salas de aula e conferências), artigos e textos surgiram e várias outras estão em desenvolvimento. Algumas dessas plataformas possuem o código fonte livre, como
* Gitorious,
* Repositório de Hardware Livre (utiliza o ChiliProject),
* MediaWiki
* Moodle
* E outras ferramentas para wiki podem ser encontradas no WikiMatrix.org
e outras são proprietárias (podendo ou não serem gratuitas), como
* GitHub,
* arXiv.
As limitações das ferramentas livres para vídeo conferências representam um ponto fraco para a sustentabilidade e continuidade de atividades on-line abertas em equipes. Também carecemos de funcionalidades de grande importância para a produção técnica e científica colaborativa, ainda não presentes em soluções abertas. Em particular ainda são necessários avanços em ferramentas relacionadas a
* Textos técnicos: livros, artigos científicos e manuais
* Desenho técnico (CAD)
* Conferências on-line
Esta página visa descrever o estado atual de ferramentas livres e abertas com aplicações científicas, educacionais e culturais a fim de estimular a sua adoção e o seu desenvolvimento.

## Textos Técnicos e Científicos

Todas as áreas técnicas e científicas precisa de uma ferramenta que suporte e gerencie citações/referências e facilite a colaboração (preferencialmente utilizando controle de versão). Algumas áreas precisam de algumas funcionalidades extras, como por exemplo, suporte a expressões matemáticas (matemática e física) ou cores automáticas para códigos fontes (computação).

### Rascunhos

O Etherpad é um projeto de código livre que disponibiliza uma página para anotações colaborativas em tempo real com suporte para algumas dezenas de usuários simultaneamente. Infelizmente, o Etherpad lida apenas com textos simples, sem equações, figuras, tabelas.

#### Cadernos de pesquisas abertos

* Matemática pura e áreas afins

### Planilhas eletrônicas

O Ethersheet é um projeto de código livre que disponibiliza uma planilha eletrônica para edição colaborativa em tempo real.

### Programas de Computador

Uma boa documentação sobre o funcionamento de programas de computador pode reduzir as barreiras para o seu estudo, verificação e reuso. Algumas linguagens interpretadas dispõe de ferramentas que permitem a elaboração de documentos ricos que integram textos, código fonte e sua execução, juntamente com imagens da própria saída do programa. Isto facilita o acompanhamento dos algoritmos e dos raciocínios utilizados pelos programadores. Além disso, os documentos resultantes podem ser salvos em arquivos de diversos formatos - estes por sua vez podem ser utilizados diretamente como material educacional ou rascunho para textos técnicos e artigos científicos.
No caso de Python uma ótima ferramenta é o IPython Notebook e no caso de R é o rmarkdown.

#### Exemplos

* Ipython Notebook:
** Introduction to Python (seria ótimo uma versão em português).
** A Crash Course in Python for Scientists
* Software Educacional Livre:
** Pesquisa:Software Educacional Livre - Tabela Dinâmica

### Artigos e Livros

Para a produção de artigos e livros temos duas categorias de ferramentas: processadores de textos, linguagens de marcação e organização de citações.

#### Processadores de textos

Processadores de textos é o nome correto para o Write do LibreOffice, Word do MicrosoftOffice e similares disponíveis na internet, que suportam edição colaborativa em tempo real, como Fidus Writer (esse é software livre).
Essas ferramentas são utilizadas por grande parte da comunidade acadêmica embora seja fácil encontrar um membro dessa comunidade que desconheça as funcionalidades da ferramenta que utiliza para gerenciar citações/referências.

#### Linguagens de marcação

Existem várias linguagens de marcação e a escolha pelo uso de uma ou outra costuma ser influenciada por aquela que os pares já utilizam. Dentre as linguagens de marcação, destacam-se: LaTeX, Wiki markup, Markdown e reStructuredText (RST).
Hoje, o LaTeX é a linguagem de marcação mais utilizada pelos acadêmicos pela sua facilidade de lidar com bibliografias, citações, formatos de páginas, referências cruzadas. Utilizada para a edição de livros, teses, artigos científicos e apresentações.
o LaTeX teve seu desenvolvimento iniciado nos anos 80 com o objetivo da criação de textos matemáticos e científicos sendo mantido até hoje por uma comunidade de usuários. Hoje é possível utilizar o LaTeX pela internet através de alguns serviços como [ShareLaTeX https://www.sharelatex.com/] (é software livre).
A forma como equações matemáticas são escritas em LaTeX foram adotadas por inúmeros softwares, destacando-se vários processadores de textos (inclusive o LibreOffice) e MediaWiki (entretanto esta ainda carece de funcionalidades importantes para a adoção pela comunidade técnica e científica - ver bugzilla:5600).

#### Organizador de Citações

O Zotero é uma ferramenta de gerenciamento e organização de referências bibliográficas, que pode ser instalado como plug-in de Browsers (recomendado em Firefox). Uma ferramenta útil é o gerador automático de citação no padrão de citação ABNT da Universidade Federal de Santa Maria/RS.

## Salas de aula e conferências on-line

A qualidade da interação entre indivíduos afeta diretamente a eficiência das atividades de ensino e pesquisa, a disseminação do conhecimento e o fortalecimento da cultura. Para permitir autonomia e continuidade de uso, assim como na evolução das ferramentas utilizadas para encontros não presenciais, busca-se ferramentas livres para tais finalidades.
Existem três protocolos/especificações abertas para comunicação via voz e/ou vídeo: XMPP, SIP e WebRTC. XMPP e SIP são protocolos "antigos" e já existem algumas implementações de servidores e clientes livres. Já WebRTC é um protocolo do W3C relativamente novo que também já possui alguns servidores e clientes livres implementados mas muitos destes apenas como protótipos ou provas conceituais.

### Conferências On-line

* Conferência Web é um serviço de comunicação e colaboração da RNP. O serviço suporta o compartilhamento de áudio, vídeo, texto, imagens e da tela tela do seu dispositivo, também oferece uma ferramenta de quadro branco. É o resultado de um esforço colaborativo entre universidades para disponibilizar uma plataforma de conferências descentralizada, de código aberto.

### Salas de Aula Virtuais

* Moodle
* Wikipedia - ver programa Wikipédia na Universidade

## Compiladores e Interpretadores

Compiladores e interpretadores são os responsáveis por compilar e executar, respectivamente, o programa/script escrito por um pesquisador. Deste modo, é importante que tais ferramentas seja livres.
Felizmente temos pelo menos uma implementação livre do compilador/interpretador para várias das linguagens existentes e utilizadas pela comunidade científica. Por exemplo:
* gcc (para C),
* g++ (para C++),
* python2 e python3 (para Python),
* r (para R),
* octave (para Matlab, esse não é livre).

## CAD

O desenvolvimento de instrumentação de todos os tipos faz uso intensivo de ferramentas de desenho assistido por computador (CAD, Computer Aided Design). O advento de instrumentos de fabricação personalizada como impressoras 3D de baixo custo e de código aberto permitem a disseminação de instrumentos científicos assim como sua metodologia de uso em escalas sem precedentes. A construção destes equipamentos ocorre no que é conhecido como Fab Lab. É interessante que cada instituição de ensino, desde educação infantil até superior, tenha acesso a um Fab Lab para a concepção e construção de instrumentos de ensino e pesquisa de acordo com as necessidades locais.
Enquanto ferramentas para a documentação escrita de projetos como em wikis está relativamente bem estabelecida, para a livre circulação de elementos técnicos em CAD entre aplicações científicas, educacionais e para a sociedade em geral (aplicações sociais, industriais e comerciais) são necessárias ferramentas livres que permitam a todos interessados a estudar e modificar estes elementos CAD livremente. Este é um dos gargalos atuais para o desenvolvimento e circulação do conhecimento aberto.
Abaixo são listadas algumas ferramentas CAD em software livre que tem o potencial de serem adotadas como padrão para projetos eletrônicos e de design 3D e 2D. Entretanto, ainda não se encontram em estágios que permitam produtividade razoável. Pode-se incluir também a necessidade da definição e adoção de formatos e padrões abertos para o armazenamento digital deste tipo de projeto.
Também são listadas ferramentas físicas de código aberto para executar a fabricação das peças tais como impressoras 3D, cortadoras a laser, fresadoras.
Com o objetivo de desenvolver novas maneiras de fomentar o desenvolvimento de ferramentas CAD são listados alguns casos de desenvolvimento de ferramentas CAD software livre.

### CAD de Circuitos Eletrônicos

Lista de algumas ferramentas (EDA - Electronic Design Automation) livres em http://www.gpleda.org/
KiCAD - Ferramenta para o desenvolvimento de desenhos eletrônicos (diagramas esquemáticos e placas de circuito impresso).
A organização do desenvolvimento do KiCAD está descrita no site do projeto: Getting Started - KiCAD Development.
* O código fonte está hospedado no LaunchPad
* Controle de versão utilizando o Bazaar. Existe a possibilidade de utilizar o git utilizando uma extensão chamada git-bzr.
* Principais desenvolvedores elaboraram um manual de estilo para o código: Coding Style Policy
* A comunicação dos desenvolvedores se dá por uma lista de e-mails
Ver abaixo detalhes sobre a iniciativa do CERN para estimular o desenvolvimento do KiCAD.

### CAD 2D e 3D

Freecad - Ferramenta para o modelagem 3D e 2D.
Blender 3D - Permite o desenho de formas livres 3D. Quebra o galho mas não é uma ferramenta desenhada para a Ciência e Engenharia.
BRLCAD - Permite simulações balísticas e fenômenos de transporte - ver Wikipédia
OpenSCAD - Ferramenta de modelagem que trabalha com códigos escritos pelo usuário em vez dos tradicionais mouse e teclado.

#### Desenvolvimento

Existe um esforço para agregar interessados em viabilizar o desenvolvimento de ferramentas livres para modelagem mecânica. A página de Desenvolvimento de CAD livre busca reunir as características desejadas para esta ferramenta e investigar possibilidades de desenvolvimento: equipe de execução, fontes de financiamento, modelos de desenvolvimento.

### CAD 2D

LibreCAD Modelagem 2D
PythonCAD - Bem simples, para 2D
libreDWG Esforço do projeto GNU para lidar com arquivos DWG. Está listado entre os projetos de alta prioridade da Free Software Foundation.

## Equipamentos de Fabricação Livres e Abertos

São impressoras 3D que funcionam pela adição de material ou desbaste (remoção de material) controlado numericamente por computador, CNC, para a elaboração de circuitos impressos de eletrônicos ou usinagem de peças mecânicas em diversos materiais. Ver Machines that make do Center for Bits and Atoms do MIT.
Outros exemplos: RepRap, Metamáquina (RepRap Brasileira), Prusa IT3

### Fresadora PCI João-de-Barro

A Fresadora de Placas de Circuito Impresso João-de-Barro é uma máquina para prototipagem ou fabricação em pequena escala de placas de circuito impresso. Foi desenvolvida no Centro de Tecnologia Acadêmica do IF/UFRGS e está disponível com ampla documentação licenciada sob os termos da Licença de Hardware Aberto do CERN 1.2. Ver site oficial. Alguns projetos de equipamentos científicos e educacionais que podem ser construídos com ela já estão disponíveis.

## Modelos de Desenvolvimento

O desenvolvimento de softwares, equipamentos e instrumentos de fabricação de tamanho desktop estão ocorrendo a passos largos. Infelizmente, essas ferramentas não costumam gerar artigos que é a forma atual de mensurar a produção do pesquisador e por esse motivo tais ferramentas costumam ser proprietárias.
Para favorecer o surgimento de ferramentas livres existem algumas opções.

### Diversificar itens avaliados

Incluir softwares, equipamentos e instrumentos como itens de primeira classe na avaliação de produtividade assim como são os artigos.

### CrowdFunding

Financiamento de projetos por pares e comunidade interessada. Alguns projetos financiados coletivamente.

#### SpectralWorkbench

O Public Laboratory for Open Science And Tecnology (PLOTS) levantou $110.583,00 para o desenvolvimento do SpectralWorkbench. Vide campanha no Kickstarter.

#### Experiment

Antiga microryza, é uma plataforma de CrowdFounding.

#### Open Funding

Open Funding é um site de crowdfunding para desenvolvimento de software livre, onde o desenvolvimento é feito funcionalidade-por-funcionalidade. Programadores FreeLancer podem sobreviver desta maneira fazendo propostas em projetos legais e importantes.
“Open Funding is a co-funding platform for free software. It aims to provide a sustainable business model for free software development and common good production. The idea is to enable free software users to contribute to projects by funding them feature by feature, creating a long term relationship between a project and its community. It also takes a professional approach to crowdfunding by enabling users to validate the development, thus committing developers to their results.”

### Parcerias institucionais

Instituições desenvolvendo CADs livres.

#### CERN e o KiCAD

O CERN está organizando o levantamento de fundos para o desenvolvimento do KiCAD para torná-lo produtivo e até top de linha com custos estimados entre 150.000 e 300.000 Euros. O desenvolvimento está sendo organizado em projeto do Open Hardware Repository.
Chamada pública para financiamento do projeto no site CERN - Kicad Development.
O Roadmap de desenvolvimento do KiCAD está disponível na documentação do projeto.

## Questões abertas

* Como escolher a plataforma a ser desenvolvida quando existirem mais de uma disponíveis?
* Como reunir uma equipe para o desenvolvimento de cada ferramenta?
* Como estimar o custo de desenvolvimento do projeto?
* Como garantir que o projeto será executado dentro do orçamento?
** Como será organizado o desenvolvimento da ferramenta?