Primeiro, precisamos entender por que não podemos fazer hardware livre da mesma forma que fazemos software livre. Hardware e software são fundamentalmente diferentes. Um programa, mesmo na forma executável compilado, é um conjunto de dados que pode ser interpretado como instruções para um computador, como qualquer outro trabalho digital, que pode ser copiado e alterado usando um computador. Uma cópia de um programa não tem forma física inerente ou incorporação. Aproveite e conheça 9 projetos de robótica sob código aberto.
Em contrapartida, o hardware é uma estrutura física e sua fisicalidade é crucial. Enquanto o projeto do hardware pode ser representada como dados, em alguns casos, até mesmo como um programa, o projeto não é o hardware. Um projeto para a CPU não pode executar um programa. Você não vai chegar muito longe tentando digitar um projeto para um teclado ou exibir pixels de um projeto para uma tela.
Além disso, enquanto você pode usar um computador para modificar ou copiar o design de hardware, um computador não pode converter o projeto na estrutura física que descreve. Isto requer equipamento de fabricação.
Níveis de projeto
Software tem níveis de implementação; um pacote pode incluir bibliotecas, comandos e scripts, por exemplo. Mas estes níveis não fazem uma diferença significativa para a liberdade do software, pois é possível fazer todos os níveis livre. A concepção de componentes de um programa é o mesmo tipo de trabalho de como projetar o código que eles combinam.
Da mesma forma, os componentes de construção a partir da fonte é o mesmo tipo de operação, como a construção do programa combinado de origem. Para fazer com que a coisa toda fique livre é necessário apenas a continuidade do trabalho até que se tenha feito todo o trabalho.
Por isso, insistimos que um programa pode ser livre em todos os níveis. Para um programa qualificar-se como livre, cada linha do código-fonte que o compõe deve ser livre, de modo que o usuário possa reconstruir o programa de código fonte livre sozinho.
Os objetos físicos, pelo contrário, muitas vezes são construídos a partir de componentes que são projetados e construídos em um tipo diferente de fábrica. Por exemplo, um computador é feito a partir de chips, mas a concepção (ou fabricar) chips é muito diferente desde a concepção (ou fabricar) o computador sem chips.
Assim, é preciso distinguir os níveis na concepção de um produto digital (e talvez alguns outros tipos de produtos). O circuito que conecta os chips é um nível; o projeto de cada chip é outro nível; em um FPGA, a interligação das células primitivas é um nível, enquanto as próprias células primitivas são um outro nível. No futuro ideal queremos o projeto livre em todos os níveis. Nas atuais condições, apenas fazendo um nível livre é um avanço significativo.
No entanto, se um projeto em um nível combina peças livres e não livres – por exemplo, um circuito de HDL “livre” que incorpora proprietários “núcleos leves” – devemos concluir que o projeto como um todo é nonfree a esse nível.
O mesmo vale para “assistentes” não livres ou “macros” se eles especificarem parte das interligações de chips ou peças programavelmente conectados por chips. As peças livres podem ser um passo em direção ao objetivo futuro de um desenho livre, mas alcançar esse objetivo implica a substituição das partes não livres. Eles nunca podem ser admissível no mundo livre.
Licenças e direitos autorais para projetos de hardware livres
Você faz um projeto de hardware livre, liberando-o sob uma licença livre. Recomendamos o uso da GNU General Public License, versão 3 ou superior. Nós projetamos GPL versão 3, com vista a tal uso.
Copyleft em circuitos e em formas de objetos nondecorative não vai tão longe como se poderia supor. Os direitos autorais sobre estes projetos só se aplica à forma como o projeto é desenhado ou escrito. Copyleft é uma forma de usar a lei de direitos autorais, por isso seu efeito carrega apenas na medida em lei de direitos autorais.
Por exemplo, um circuito, tal como uma topologia, não pode ser protegido (e, portanto, não pode ser copylefted). As definições dos circuitos escritos em HDL pode ser protegido por direitos autorais (e, portanto, copyleft), mas o copyleft abrange apenas os detalhes de expressão do código de HDL, não a topologia do circuito que gera.
Da mesma forma, um desenho ou layout de um circuito pode ser protegido por direitos autorais, por isso podem ser copyleft, mas isso só cobre o desenho ou layout, não a topologia do circuito. Qualquer pessoa pode legalmente desenhar a mesma topologia do circuito de uma forma diferente para o futuro, ou escrever uma definição HDL diferente que produz o mesmo circuito.
Direitos de autor não compreendem os circuitos físicos. Portanto, quando as pessoas construírem instâncias do circuito, a licença do projeto não terá nenhum efeito legal sobre o que eles fazem com os dispositivos que eles construíram.
Para desenhos de objetos e modelos de impressoras 3-D, o direito autoral não cobre fazer um desenho diferente da mesma forma do objeto puramente funcional. Também não cobre os objetos funcionais físicos efetuados a partir do desenho.
Na medida do copyright está em causa, cada um é livre para fazê-los e usá-los (e isso é uma liberdade que precisamos muito). Nos EUA, o direito autoral não cobre os aspectos funcionais que o projeto descreve, mas abrange os aspectos decorativos. Quando um objeto tem aspectos decorativos e aspectos funcionais, você pode entrar em terreno complicado. Tudo isso pode ser verdade em seu país, bem como, ou talvez não.
Antes de produzir objetos comercialmente ou em quantidade, você deve consultar um advogado local. Direitos de autor não são a única questão que você precisa se preocupar. Você pode ser atacado usando patentes, provavelmente detidas por entidades que não tinham nada a ver com o desenho que você estaria usando, podendo haver também outras questões legais.
Tenha em mente que a lei de copyright e patentes são totalmente diferentes. É um erro supor que eles têm alguma coisa em comum. É por isso que o termo “propriedade intelectual” é pura confusão e deve ser totalmente rejeitada.
Promover hardware livre através de repositórios
A maneira mais eficaz para pressionar projetos de hardware a serem livres é através de regras nos repositórios onde são publicados. Os operadores do repositório devem colocar a liberdade das pessoas que irão utilizar os desenhos acima das preferências das pessoas que fazem os projetos. Isto significa que exige designs de objetos úteis que precisam ser livres, como também a condição para publicá-las.
Para objetos de decoração, esse argumento não se aplica, por isso não temos de insistir que deve ser livre. No entanto, devemos insistir que eles sejam compartilháveis. Assim, um repositório que lida com ambos os modelos de objetos decorativos e os funcionais deve ter uma política de licença adequada para cada categoria.
Para projetos digitais, sugiro que o repositório insista em GNU GPL v3 ou posterior. Para projetos funcionais 3-D, o repositório deve pedir ao autor do projeto para escolher uma das quatro licenças: GNU GPL v3 ou mais recente, CC -SA, CC-BY ou CC-0. Para projetos decorativos, deve permitir qualquer uma das licenças CC, ou GNU GPL v3 ou mais recente.
O repositório deve exigir que todos os projetos que serão publicados com código-fonte e código-fonte em formatos secretos utilizável apenas por programas de design de propriedade não é realmente adequada. Para um modelo 3-D, o formato STL não é o formato preferido para alterar o projeto e, portanto, não é o código-fonte, de modo que o repositório não deve aceitá-lo, exceto, talvez, o que o acompanha com código fonte real.
Não há nenhuma razão para escolher um formato único para o código-fonte de projetos de hardware, mas os formatos de origem que ainda não podem ser tratados com o software livre devem ser aceitos com relutância na melhor das hipóteses.
Já temos licenças apropriadas para fazer nossos projetos de hardware livre. O que precisamos é reconhecer, insistir enquanto comunidade em tais projetos.