ÍNDICE DE CONTEÚDO
Apesar do termo Open hardware ou Open source hardware não ser tão novo, ainda há muita confusão em relação à publicação de projetos open hardware na comunidade brasileira de hardware. No Brasil ainda são poucas as iniciativas de projetos open hardware e a comunidade brasileira ainda possui muitas dúvidas quanto à publicação, contribuição e uso de projetos abertos.
Como fomentador de projetos open hardware no Brasil, venho através deste artigo contribuir com a comunidade open hardware brasileira e abrir um canal de comunicação para os interessados em discutir sobre o assunto. A seguir vou apresentar as definições e boas práticas para a publicação de projetos open hardware (focando na área de eletrônica) que foram retiradas da documentação da Open Source Hardware Association (OSHWA).
Mas o que é Open Hardware?
Conforme publicado no site Open Source Hardware Association, a definição 1.0 de Open Source Hardware (OSHW) (que foi baseada na definição de open source) diz:
“Open Source Hardware (OSHW) é um termo para artefatos tangíveis — máquinas, dispositivos ou outros objetos físicos — cujo projeto foi disponibilizado ao público de modo que qualquer um pode construir, modificar, distribuir e utilizar estes artefatos. É intenção desta definição auxiliar no desenvolvimento de guias gerais para o desenvolvimento e validação de licenças para Open Source Hardware.
É importante notar que o hardware se diferencia do software no sentido de que recursos físicos devem sempre ser empregados na produção de bens físicos. Desse modo, pessoas ou empresas produzindo itens (“produtos”) sob uma licença OSHW têm uma obrigação de não impor que estes produtos sejam fabricados, vendidos, garantidos, ou sancionados de qualquer modo pelo desenvolvedor original e também de não fazer uso de registros comerciais pertencentes a este desenvolvedor.”
Além disso, é necessário estar de acordo com os seguintes critérios (resumo):
- O projeto deve ser distribuído com a documentação e arquivos originais do projeto, de tal forma que se possa, estudar, modificar, distribuir, construir e até vender projetos com o mesmo design ou derivados. A documentação poderá ser baixada facilmente na internet e sem custo algum.
- Na documentação deve estar claro quais partes do hardware são distribuídos com a licença.
- A licença deve permitir a manufatura, venda, distribuição e uso de produtos criados a partir dos arquivos de projeto, os próprios arquivos, e derivados.
- A licença não exigirá cobrança de direitos autorais ou participação e vendas de produtos e derivados.
- A licença poderá requisitar que documentos derivados e notas de direitos autorais associados aos dispositivos, disponibilizem uma atribuição ao licenciador na distribuição de arquivos de projeto, produtos manufaturados, e derivados. A licença pode requisitar que produtos derivados tenham um nome ou número de versão diferente do projeto original.
Confira todos os critérios em: https://www.oshwa.org/definition/
Qual licença usar para seu projeto open hardware?
Esse talvez seja um dos pontos mais complexos para a publicação de um projeto open hardware. Qual licença usar?
Primeiro é importante entender por que usar uma licença e depois como definir uma licença para um hardware.
Quando você cria algo que se enquadre no escopo de direitos autorais (uma música, um filme ou mesmo um trecho de código), ele está protegido assim que é criado. Essa proteção acontece automaticamente, independente do autor querer ou não proteger seu trabalho sobre direitos autorais. Ai que entra a importância da licença (pensado em projetos públicos), pois sem uma licença explícita, qualquer pessoa que reproduza esse trabalho, estará infringindo os direitos autorais do criador.
Sendo assim, se você não incluiu uma licença aberta para seus arquivos no GitHub (ou onde quer que você armazene seus arquivos), eles serão automaticamente protegidos por direitos autorais na maior extensão possível. Apenas tornar os arquivos públicos não é suficiente para torná-los abertos.
Em vez de ver essa proteção automática como uma barreira ao compartilhamento, as licenças abertas a veem como uma oportunidade de promover e incentivar o compartilhamento e contribuição. Usando uma licença aberta é uma declaração afirmativa em apoio à construção de bens comuns.
A GPL e Creative Commons (CC) são as licenças abertas mais populares e ajudaram a criar um grande acervo de de materiais públicos. Porém, essa licenças são para direitos autorais, ou seja, o copyright.
É importante salientar que os projetos de hardwares não são cobertos por licenças de copyright,e sim por patentes (se você quiser proteger a sua criação). Porém, o fato de o hardware não ser protegido por copyright, não significa que é impossível licenciar o projeto com licenças abertas.
Como um licença dá a permissão para se fazer alguma coisa (geralmente relacionada a algum tipo de comportamento ou ação), para o contexto de open hardware as licenças darão permissão para cópia, distribuição, construir, modificar e vender os projetos de hardwares baseados nos arquivos publicados pelo autor.
Então, para a publicação de um projeto de hardware é importante você licenciar todos os elementos dos seu projeto. Quando você licencia o seu projeto, mostra de forma clara como os outros podem usar o seu trabalho. O projeto distribuído de forma pública, pode ser usado por alguém que crie um derivado de seu hardware e também pode querer desenvolver seu software, instruções e outra documentação.
Os direitos autorais (nos quais a maioria das licenças se baseiam) não se aplicam ao hardware em si, apenas aos arquivos de design dele – e somente aos elementos que constituem “obras originais de autoria” e não a funcionalidade ou idéias subjacentes.
Existem dois tipos de licenças open source ou free software : Licenças “copyleft” (ou viral) que exigem derivados de ser licenciados nos mesmos termos; e licenças permissivas, que permitem que outras pessoas façam alterações sem distribuí-las como hardware de código aberto. Tenha em mente que a definição de open hardware específica que você deve permitir a modificação e a reutilização comercial de seu design, portanto, não use licenças com cláusula sem derivativos ou não comercial.
Licenças copyleft populares incluem:
- Creative Commons Attribution, Share-Alike (BY-SA)
- GNU General Public License (GPL)
- Hardware-Specific Licenses: TAPR OHL, CERN OHL
Licenças permissivas incluem:
- FreeBSD license
- MIT license
- Creative Commons Attribution (BY)
- Hardware-Specific License: Solderpad Hardware License
É uma boa prática incluir uma cópia da licença no repositório de controle de versão e uma instrução em cada arquivo ou pelo menos o README especificando o (s) autor (es) e ano (s) de modificações não triviais e a licença.
Boas práticas
A seguir são apresentadas boas práticas para a publicação de um projeto open hardware:
Visão Geral/ Introdução
É importante incluir uma descrição geral sobre o projeto e sua finalidade, escrita de uma forma clara para um público geral. Explique o que é o projeto, para que serve, etc, antes de entrar nos detalhes técnicos. Fotos e imagens ajudam bastante.
Arquivos de design original
Inclua os arquivos originais do projeto, que que podem ser usados para fazer modificações no design do hardware.
Procure usar softwares gratuitos para design do projeto. Isso facilitará que outras pessoas possam visualizá-los ou editá-los quando precisarem. Facilite para as pessoas contribuírem com o seu projeto, explique esse processo. Inclua os arquivos de forma organizada no repositório e comente os aspectos complexos para uso e/ou fabricação.
Para projetos de placas eletrônicas é importante disponibilizar os seguintes arquivos:
- Esquemáticos;
- Design da PCB;
- Arquivos do Eagle, Kicad, ou outra ferramenta usada;
- Bibliotecas de componentes;
- Padrões de máscaras para fazer placas eletrônicas de face simples.
Para outros tipos de projetos de hardware acesse a lista completa aqui.
Arquivos Auxiliares
É sempre bom incluir arquivos auxiliares e/ou que possam ser abertos por programas alternativos quando possível.
Além disso, para projetos de eletrônica, é uma boa prática fornecer o esquemático e design da PCB em arquivos PDF ou imagens, para que pessoas possam acessar sem a necessidade de programas específicos ou pagos. Outra boa prática é incluir o Gerber RS-274X e Excellon, arquivos usados para fabricação da placa.
No entanto, deve-se levar em conta que os arquivos de design auxiliares nunca são aceitos como substitutos dos arquivos de design originais.
Lista de materiais (Bill Of Materials – BOM)
Inclua a lista de materiais da placa com referência, quantidade, part number, fabricante, descrição e até estimativa de custo. A BOM pode ser gerada diretamente na ferramenta de CAD ou pode ser uma planilha ou txt anexo ao projeto.
Software e firmware
Forneça o código ou firmware necessário para o funcionamento do hardware. Inclua documentação para compilação, links para bibliotecas ou ferramentas de terceiros.
Fotos
Como já mencionado acima, é importante incluir fotografias do hardware e/ou processo de montagem. Você também pode incluir modelos 3D. Sempre que possível explique o que é mostrado em cada foto ou imagem.
Instruções e outras explicações
Inclua instruções para uso, montagem, modificação e o que mais achar necessário para o uso do hardware pelo usuário. Essas instruções podem ser como um wiki, um arquivo de texto, o Google Docs ou PDF. Lembre-se também de que outras pessoas podem querer modificar suas instruções quando modificarem seu design de hardware, portanto, é bom fornecer os arquivos editáveis originais de sua documentação, não apenas formatos de saída, como PDF.
Hospedando seus arquivos de design
Aqui está um ponto que acho muito importante para a publicação de um projeto (depois de todos que comentamos acima). Muitas pessoas divulgam apenas um zip do seu projeto em seu site ou plataforma de arquivos (dropbox, google drive, etc). Isso pode ser fácil inicialmente, porém dificulta em muito o acompanhamento do progresso e contribuições para o projeto.
A OSHWA recomenda o uso repositório de código-fonte on-line (como GITHUB) para hospedagem de projetos de open hardware. Todos os arquivos (designs, lista de materiais, instruções de montagem, código etc.) e com controle de versão. Os repositórios online facilitam a publicação e atualização dos arquivos do projeto, tanto por você quanto por contribuições feitas pela comunidade.
Os repositório on-line geralmente possuem recursos para registro de erros, bugs, ou requisições. Também possuem ferramentas de wiki que facilitam a documentação do projeto.
Distribuindo seu projeto
Forneça os links para os arquivos do projeto original no hardware, na sua embalagem ou documentação. Também facilite a localização do link para o repositório no site do produto.
Não se refira ao hardware como fonte aberta até que os arquivos de design estejam disponíveis. Se você planeja fazer um produto de fontes abertas no futuro, mencione isso.
Construindo e contribuindo para um projeto open hardware
Respeite as marcas registradas para o hardware que está reproduzindo. Embora o uso comercial de open hardware já projetado seja permitido, é melhor (quando possível) fazer melhorias no design original e lançar essa nova versão sob a mesma licença de código aberto. Compartilhe suas alterações e melhorias com o criador do hardware original.
E por fim, esteja emocionalmente preparado para ver o seu projeto sendo copiado e redistribuído por outras pessoas e empresas.
Comunidade
O grande diferencial do open hardware é o compartilhamento de conhecimento. Acima foram exibidos detalhes para padronizar a publicação de um projeto open hardware, mas nada adiantará a publicação de um projeto de forma aberta se não tiver pessoas para usá-lo, modificá-lo e construir. A comunidade ativa permite que o projeto evolua e que novos projetos sejam criados.
Check list
A OSHWA disponibiliza um check list com os pontos chaves da definição e boas práticas para projetos open hardware. Baixe o PDF aqui: OSHW Checklist
Sobre o Logo
O popular logo do Open hardware foi publicado em abril de 2011, após um concurso para o melhor logo. Foram enviadas 129 submissões, das quais 10 foram selecionados por um grupo do conselho e depois foram colocadas para votação pública. O desenho“Golden Orb”, de Macklin Chaffee, recebeu o maior número de votos e foi escolhido como símbolo para definição do open hardware. A primeira empresa a usar o logo em um produto, foi a Parallax. O logo foi publicado em CC-SA e pode ser usado para hardwares em conformidade com a Open Source Hardware Definition.
Conclusão
O artigo apresenta de forma resumida a definição e boas práticas para publicação de projetos open hardware. A comunidade brasileira de hardware é bem engajada e acredito que podemos criar excelentes projetos de hardware abertos e contribuir para o desenvolvimento tecnológico do nosso país. Eu particularmente acredito muito que projetos abertos podem contribuir em muito para desenvolvimento tecnológico do nosso país. Estou aprendendo bastante sobre como publicar, contribuir e criar modelos de negócios baseados em open hardware. Fico a disposição para conversar com os interessados e contribuir para projetos.
A seguir deixo os slides da palestra que fiz na CPMG3 sobre Open Hardware:
Caso tenha alguma dúvida ou sugestão, deixe sue comentário abaixo.
Saiba Mais
Conheça o OpenPLC – O primeiro CLP de Código Aberto Padronizado
Conheça a PQDB – A placa didática open hardware
Como publicar um projeto Open Hardware
KiT de Automação Open Hardware
Referências
O texto foi baseado na definição 1.0 de Open Source Hardware (OSHW) da OSHWA e Best Practices for Open-Source Hardware 1.0, trabalhos licenciados em Creative Commons Attribution-ShareAlike 4.0 International License.
Saudações Fábio!! Na minha instituição muito se discute sobre patente, mas nada sobre licenças abertas, talvez porque não tenha muita informação sobre isso no Brasil. Penso que instituições de pesquisa públicas deveriam incentivar esse tipo de licença, pois acelera o desenvolvimento de produtos e democratiza o acesso, não concorda?
Sim, essa é minha luta diária. Ainda são poucas iniciativas abertas desenvolvidas pelas instituições brasileiras. O potencial é enorme.
Muito trabalho entregue de mão beijada. 😉
Ca***ho, Fábio. Desculpa o palavrão, mas P*** que o P****. Baixou o santo e deu inspiração divina? Acho que esse foi o texto mais completo que já li em português não só de open source hardware, mas que descrevesse e muito bem o espírito do open source, a intenção envolvida. Vou guardar de bookmark pra passar de referência pros outros. Parabéns de pé pra ti, meu amigo! A maneira como a definição de open source hardware procura explicitar com detalhes minuciosos que é pra permitir uso comercial sim foi muito bem descrita por ti. Aliás, isso é uma tendência. O… Leia mais »
Fala Patola, desculpa pela demora na resposta. Não recebi notificação de comentários no post 🙁
Muito obrigado pelo comentário. Em relação a abertura da definição para elementos com designs proprietários, acho que não teria como fugir, já que a maioria dos microcontroladores/processadores são protegidos por patentes. Porém, estão algumas inciativas para design de chips abertos, assim como a descrição do hardware aberta, para FPGAs.
Vou acompanhar o linux-br.org
Abraços
Olá Fábio, ótimo texto. Parabéns pelos projetos. Mas tenho uma dúvida: estou com um protótipo já funcional de uma ideia que penso em por em open hardware. Porém uma empresa gringa tem uma patente com parte da idéia. E aí? Isso me impede de abrir os fontes?
Outra coisa: Se eu puder abrir, posso vender meu kit?
Valeu pela ajuda
Não sou o Fábio mas talvez possa ajudar. Depende muito dos detalhes específicos, é impossível dizer de modo geral. Por exemplo, depende da data de candidatura da patente; por acordos internacionais, quem patenteia uma idéia em algum local tem um ano de exclusividade de patenteá-la em outras jurisidições ao redor do globo, com mais ninguém podendo registrar. Depende do tipo de patente e de como funciona — por exemplo, patentes de software, que os EUA e Japão têm mas Europa e Brasil (teoricamente) não. Tenha em conta ainda que patentes são bem diferentes de copyright. Patentes têm vigência de 15-20… Leia mais »
Daniel excelente pergunta. Como o Claudio disse é importante entender sobre a patente que o produto foi depositado. Lembrando que a patente protege o produto físico. Se você tiver acesso a patente, vale dar uma estudada no que a empresa patenteou e como você pode fazer para contornar isso e publicar um projeto aberto sem causar problema com a patente.