免费硬件和免费硬件设计

自由软件的思想在多大程度上延伸到了硬件?让我们的硬件设计像它一样免费是一种道德义务吗是让我们的软件免费吗?维护我们的自由需要吗拒绝非免费设计的硬件?

定义

自由软件是自由的问题,而不是价格的问题;广泛地说起来,这意味着用户可以自由使用软件和复制并重新发布软件,无论是否有更改。更多准确地说,定义是根据四大基本自由.至强调“自由”是指自由,而不是价格,我们经常使用法语或西班牙语单词“libre”与“免费。”

将相同的概念直接应用于硬件,自由的硬件指用户可以自由使用和复制的硬件并在有或无更改的情况下重新分配。然而,没有除钥匙、DNA和塑料物体外,硬件复印机外部形状。大多数硬件都是由某种材料制成的设计。设计优先于硬件。

因此,我们真正需要的概念是免费硬件设计这很简单:它意味着一种允许用户使用设计(即根据设计制作硬件)并复制和重新分配它,有或没有更改。设计必须提供定义自由软件的四个自由。

那么我们可以将自由设计的硬件称为“自由硬件”,但“自由设计硬件”是一个更明确的术语,因为它避免了可能的误解。

人们第一次接触到自由软件的想法时往往会这样想意味着你可以免费得到一份。许多免费程序可用于零价格,因为下载自己的副本不需要花费任何费用,但是这不是“免费”在这里的意思。(事实上,一些间谍软件程序,如闪光玩家和愤怒的小鸟虽然不是免费的,但都是免费的。)说“libre”和“free”有助于澄清重点。

对于硬件,这种混淆倾向于朝着另一个方向发展;硬件生产成本高,所以商业化硬件不会是免费的(除非是有损的或搭售的),但那不是防止其设计自由/自由。你自己做的东西3D打印机制作成本很低,但并非完全免费,因为原材料通常要花一些钱。在道德方面自由问题完全胜过价格问题,因为拒绝用户的自由比什么都不值钱。

我们可以使用术语“libre硬件”作为等同于“免费硬件(libre)”设计。”

术语“开放硬件”和“开放源代码”硬件”的具体含义与“自由设计硬件”,但这些术语淡化了自由作为问题。它们源于术语“开源软件”或多或少指的是自由软件,但不说话关于自由或将问题作为权利问题或错误的.为了强调自由的重要性,我们强调在适当的时候提及自由;自从“open”不能做到这一点,我们不要用它来代替“免费。”

硬件和软件

硬件和软件根本不同。甚至是一个程序在编译的可执行形式中,是可以解释为计算机指令。与其他任何数字设备一样工作时,可以使用计算机进行复制和更改。一份程序没有固有的优选物理形式或实施例。

相比之下,硬件是一种物理结构及其物理性至关重要。虽然硬件的设计可以表示为数据,在某些情况下,即使是作为一个程序,设计也不是硬件。A类CPU的设计不能执行程序。你走不了多远尝试键入键盘设计或在屏幕设计。

此外,虽然您可以使用计算机修改或复制硬件设计,计算机无法将设计转换为物理它描述的结构。这需要制造设备。

硬件和软件之间的边界

在数字设备中,硬件和软件?它源自定义。软件是设备的操作部分,可以使用计算机;硬件是不可能的操作部分。这是区分的正确方法,因为它与实际情况相关后果。

硬件和软件之间有一个灰色区域,其中包含固件可以升级或更换,但并不意味着一旦产品售出,就可以升级或更换。或者也许这是可能的,但并不常见,或者制造商可以发布替换,但您不能。从概念上讲,灰色区域是相当狭窄。在实践中,这很重要,因为许多产品的确,现在的键盘、摄像头、磁盘驱动器和USB内存通常包含一个嵌入式非自由程序由制造商更换。

我们可以考虑内置固件和等效硬件作为次要实现细节,前提是我们确保在任何情况下都不会改变。硬件电路无法更改;这就是它的本质。如果设备可以接受用无人能改变的内部电路实现,然后没有人可以修改的内部程序也不会更糟。它不会明智地拒绝同等的内部软件实现,在操作上,它们是无法区分的。

然而,当软件实现不完全是内部的,一些公司可以修改该代码。对于例如,当需要将固件复制到设备中以使设备功能,或包含在系统分发中安装,这不是内部的软件实现;相反,它是一个已安装的非免费软件。这是不公正的,因为有些人制造商可以改变它,但你不能。

为了使固件程序在道德上等同于硬件,它必须是不可修改的。当设备可能无法运行时该怎么办没有一些固件,它提供了一种修改方式?我们可以固件在实践中不可修改,请注意不要让它发生更换。这种溶液不是完全干净的,但不是提出了完全清洁的解决方案;这是我们唯一知道的方法保留一些拒绝非自由软件的意义,同时使用该设备。这比放弃要好得多。

但我们不能两全其美。制作预装固件通过不让任何人调用该方法来实现有效的不可修改性改变它,我们必须毫无例外地执行它,即使有我们希望的更改已安装。这意味着拒绝所有升级或该固件的补丁。

有人说,预安装的固件程序和现场可编程门阵列芯片(FPGA)“模糊了边界在硬件和软件之间,”但我认为这是一个对事实的曲解。使用过程中安装的固件是软件;设备内部提供的固件改变本质上是软件,但我们可以将其视为电路。对于FPGA来说,FPGA本身是硬件,但门加载到FPGA中的模式是一种固件。

在FPGA上运行自由门模式可能会很有用用于制作在电路级免费的数字设备的方法。然而,为了使FPGA在自由世界中可用,我们需要免费他们的开发工具。障碍是加载到FPGA中的门模式文件是机密的。对许多人来说多年来,没有一种FPGA模型可以用于这些文件在没有非免费(专有)工具的情况下生产。

截至2015年,免费软件工具可用于对Lattice进行编程iCE40标准,一种常见的FPGA模型,从硬件中写入的输入描述语言(HDL)。也可以编译C程序并在Xilinx Spartan 6 LX9 FPGA上运行具有免费工具,但不支持HDL输入。我们建议您拒绝其他FPGA模型,直到它们也得到免费工具的支持。

至于HDL代码本身,它可以充当软件(当它运行时或作为硬件设计(当它是在不可变的硅或电路板中实现的)。

3D打印机的伦理问题

道德上,软件必须是免费的; 非免费项目是不公平的。我们应该采取硬件设计的观点相同吗?

我们当然应该,在3D打印(或更多)领域一般来说,任何类型的个人捏造)都可以处理。打印机模式来制作有用的实用对象(即功能而非装饰)必须自由,因为它们是为实际使用。用户应该控制这些作品,就像他们应该控制他们使用的软件。分发非免费功能对象设计与分发非免费程序。

因此,请确保选择完全免费的3D打印机软件;自由软件基金会支持这样的打印机.

我们必须拒绝非免费数字硬件吗?

是一个非自由数字[1]硬件设计和不公正?为了我们的自由,我们必须拒绝一切数字化吗硬件由非免费设计制成,因为我们必须拒绝非免费设计软件?

由于硬件设计和软件源代码,许多硬件黑客迅速谴责非自由硬件设计就像非自由软件一样。我不同意因为硬件和软件的环境不同。

当今的芯片和电路板制造技术类似于印刷机:适合工厂大规模生产。与其说是复制软件,不如说是复制1950年的书籍今天。

复制和更改软件的自由是道德上的当务之急因为这些活动对使用软件的人来说是可行的:使您能够使用软件(计算机)的设备也是足以复制和更改它。今天的移动计算机也是很难做到这一点,但任何人都可以找到一台足够强大。

此外,一台计算机足以下载并运行更改后的版本即使你不是一名程序员,也会被其他人知道如何操作。事实上,非编程人员每天都会下载并运行软件。这个这就是为什么自由软件对非程序员产生了真正的影响。

其中有多少适用于硬件?不是每个能使用数字硬件知道如何更改电路设计或芯片设计,但任何拥有PC的人都有这样做所需的设备。到目前为止,硬件与软件是并行的,但接下来是大型的差异。

您不能在您的计算机。建造一条大赛道是一项艰巨的工作,一旦你有了电路板。制造芯片不是对今天的个人来说是可行的;只有大规模生产才能制造它们足够便宜。以今天的硬件技术,用户无法下载并运行广泛使用的数字硬件设计的修改版本,因为他们可以运行广泛使用的程序的修改版本。因此,这四个自由并没有给今天的用户集体控制为用户提供对程序。这就是为什么所有软件都必须free无法应用于当今的硬件技术。

1983年没有免费的操作系统,但很明显如果我们有一个,我们可以立即使用它并获得软件自由。所缺少的只是其中一个的代码。

2014年,如果我们有一个适用于PC的CPU芯片的免费设计,用这种设计大规模生产的芯片不会给我们带来同样的效果硬件领域的自由。如果我们要购买大量产品在工厂生产,这种对工厂的依赖导致了与非自由设计相同的问题。免费设计给我们硬件自由,我们需要未来的制造技术。

我们可以想象我们的个人制造商可以创造的未来芯片,我们的机器人可以用变压器、开关、钥匙、显示器、风扇等等未来我们都将制造自己的计算机(以及制造商和机器人),我们都可以利用修改后的设计由了解硬件的人制作。拒绝非自由的理由软件也将应用于非免费硬件设计。

至少,未来还有好几年。与此同时,没有原则上需要拒绝非免费设计的硬件。

我们需要免费的数字硬件设计

虽然我们不需要拒绝非免费的数字硬件在今天的情况下,我们需要开发免费设计和可行时应使用。它们提供了当今的优势未来,他们可能是使用自由软件的唯一途径。

免费硬件设计提供实用优势。多个公司可以制造一个,从而减少对单个小贩。小组可以安排大量制造。电路图或HDL代码使研究设计成为可能查找错误或恶意功能(众所周知,NSA在一些计算硬件中发现恶意漏洞)。此外,自由设计可以作为设计的构建块计算机和其他复杂设备的规格将被公布可以用来对付我们的部件会更少。

免费硬件设计可能会用于我们的某些部分在我们能够以这种方式制造整个计算机。

甚至在我们能够做到之前,免费硬件设计也可能变得至关重要亲自制造硬件,如果他们成为避免使用非免费软件。随着通用商用硬件的日益普及为了征服用户,它变得越来越与自由软件,因为机密规范和要求由您以外的人签名的代码。手机调制解调器芯片甚至一些图形加速卡也已经要求固件由制造商签字。你电脑里的任何程序别人可以改变,但你不能,是一种工具对你的不公正权力;施加该要求的硬件是恶意硬件。对于手机调制解调器芯片,所有现在可用的模型是恶意的。

有朝一日,自由设计的数字硬件可能是唯一的平台这允许运行一个完全自由的系统。让我们的目标是在此之前,我们需要免费的数字设计,并希望我们拥有意味着以足够低的成本为所有用户制造它们。

如果你设计硬件,请免费设计。如果您使用硬件,请加入敦促和压力公司硬件设计免费。

设计水平

软件具有实现级别;一个包可能包括例如,库、命令和脚本。但这些水平没有对软件自由产生重大影响,因为它是使所有级别都免费是可行的。设计的组件程序与设计结合了他们;同样,从源代码构建组件也是一样的从源代码构建组合程序时的操作。制造整个免费的东西只需要继续工作,直到我们完成了全部工作。

因此,我们坚持程序在所有级别都是免费的。对于符合免费条件的程序,源代码的每一行编写它必须是免费的,以便您可以从中重建程序仅免费源代码。

相比之下,物理对象通常由组件构成它们是在不同类型的工厂中设计和建造的。对于例如,计算机是由芯片制成的,但设计(或制造)芯片与设计(或制造)非常不同电脑芯片用完了。

因此,我们需要区分水平在设计中数字产品(也许还有其他种类的产品)。电路连接芯片的是一个层次;每个芯片的设计都是另一个级别。在FPGA中,原始单元的互连是级别,而原始细胞本身是另一个级别。理想的未来,我们希望设计在所有级别都是免费的。低于在目前的情况下,只让一级自由是一个重要的前进。

然而,如果一个级别的设计结合了免费和非免费部件—例如,“自由”HDL电路包含专有的“软核”-我们必须得出结论,设计作为一个整体在该级别是不免费的。同样,对于非自由“向导”或“宏”,如果它们指定了芯片互连的一部分或可编程的芯片的连接部件。自由零件可能是朝着自由设计的未来目标,但实现该目标需要替换非自由部件。他们永远不可能被免费接受世界。

免费硬件设计的许可和版权

通过将硬件设计发布到免费许可证。我们建议使用GNU通用公共许可证,版本3或更高版本。我们设计GPL版本3就是为了这样的使用。

在电路和非装饰性对象形状上的左复制不会尽可能走得远。仅这些设计的版权适用于设计的绘制或书写方式。Copyleft是一种方式使用版权法,因此其效力仅限于版权法律适用。

例如,电路作为拓扑不能被版权保护(和因此不能复制)。写入电路的定义HDL可以被版权保护(因此被复制),但被复制的仅涵盖HDL代码的表达细节,不包括电路它生成的拓扑。同样,电路的图形或布局可以受版权保护,因此可以复制,但这仅涵盖图形或布局,而不是回路拓扑。任何人都可以合法抽奖以不同的方式使用相同的电路拓扑,或编写产生相同电路的不同HDL定义。

版权不包括物理电路,所以当人们建造电路实例,设计许可证将不合法影响他们用自己制造的设备做什么。

对于对象图纸和3D打印机模型,版权不封面为同一个纯功能对象绘制不同的图形形状。它也不包括制作的功能性物理对象从图纸中选择。就版权而言,每个人都是自由的制造和使用它们(这是我们非常需要的自由)。在美国,版权不包括设计描述,但覆盖装饰吗方面.当一个物体具有装饰性和功能性时方面,你会陷入棘手的境地[2].

在你的国家,这一切可能也是真的,也可能不是。在商业化或大量生产物品之前,您应该咨询当地律师。版权并不是你需要解决的唯一问题关心。你很可能会被专利攻击由与设计无关的实体持有使用,可能还有其他法律问题。

请记住,版权法和专利法不同。认为他们有任何东西是错误的通用。这就是为什么“知识产权“是纯粹的混淆,应该完全拒绝。

通过存储库促进免费硬件设计

推动公布硬件设计的最有效方法免费是通过发布它们的存储库中的规则。存储库运营商应将使用高于设计人员偏好的设计。这意味着要求有用对象的设计是免费的发布条件。

对于装饰物,这个论点不适用,所以我们不适用必须坚持他们必须自由。然而,我们应该坚持他们可共享。因此,处理装饰对象的存储库模型和功能模型应具有适当的许可策略对于每个类别。

对于数字设计,我建议存储库坚持GNUGPL v3-or-later、Apache 2.0或CC0。对于功能性3D设计存储库应该要求设计的作者从四个选项中选择一个许可证:GNU GPL v3-or-later、Apache 2.0、CC BY-SA、CC BY或CC0。对于装饰设计,它应该建议GNU GPL v3或later、Apache 2.0、CC0、,或任何CC许可证。

存储库应要求将所有设计作为源发布代码,以及只有专有方才能使用的秘密格式的源代码设计程序并不足够。对于三维模型STL公司格式不是更改设计和因此不是源代码,因此存储库不应接受它,除了可能附带的真实源代码。

没有理由为源代码选择一种格式硬件设计,但尚未处理的源格式用自由软件最多应该勉强接受。

免费硬件设计和保修

一般来说,免费硬件设计的作者没有道德为设计制造者提供担保的义务。这与物理硬件销售不同,物理硬件销售应附有卖方和/或制造商。

结论

我们已经有合适的许可证来进行硬件设计免费。作为一个社区,我们需要认识到这就是我们在制造物体时应该做并坚持自由设计我们自己。

脚注

  1. 这里使用的“数字硬件”包括带有一些模拟电路和组件的硬件数字的。
  2. Public Knowledge的一篇文章提供了有用的信息关于这个复杂性对于美国来说,尽管这是一个常见的错误使用虚假的“知识产权”概念和宣传用语”保护.”