开源硬件的最佳实践范例

正如在开源硬件定义和声明原则中所述,开源硬件(OSHW)的本质是共享一个硬件的设计文件以方便他人进行修改或据其制作硬件(包括用于商业用途)。此外,你还可以做许多其他的事情来鼓励发展一个充满活力的社区人群来使用及改善你的开源硬件项目。本文将讨论这些最佳实践范例。

一个开源硬件项目的组成部分

当你希望发布开源硬件项目时,你应该考虑共享这些文件。你不需要发布所有的文件,但是你共享的越多,社区就会收益越多,而社区选择你的项目的可能性就越大。

概述/简介

开源硬件项目应包括一份硬件特性和目的的整体概述,撰写时尽可能地将读者当作普通观众。也就是说,在讲述技术细节之前应解释项目是什么及其目的。一张好的照片或效果图都会有很大帮助。

原始设计文件

这些文件是你将用来更改硬件设计的原始源文件。共享这些文件的行为是开源硬件的核心范例。
理想情况下,你应使用一个免费的开源软件应用程序设计开源硬件项目,以最大限度地方便他人查看和编辑。然而,硬件设计文件往往是在专有程序中创建并以专有格式存储。共享这些原始设计文件仍然是必要的,它们构成了硬件的原始“源代码”。人们要对你的项目做修改时就需要这些文件.
尽量将你的设计文件做的易读。有逻辑地将他们组织好;解释一下复杂部分;说明任何特殊的制造程序,等等

原始设计文件示例如下:

  • 2D绘图或计算机辅助设计(CAD )文件,例如那些按原始格式保存的用于描述二维激光切割,乙烯基切割,或喷水切割部分的文件。格式示例:Corel Draw(.cdr 格式), Inkscape(.svg格式),Adobe Illustrator(.ai格式)及AutoCAD中保存的本地2D设计文件
  • 3D设计可用于3D打印,锻造,注塑,挤出,机械加工等。
    格式示例:SolidWorks (.sldprt,.sldasm格式)及Rhino等软件中保存的本地文件
  • 电路板CAD文件,例如截图文件(原理图)及PCB(布局)设计文件。格式示例:Eagle, Altium, KiCad及 gEDA等软件中保存的本地文件
  • 对CAD文件进行本地修改需要的零件库(符号,封装,紧固件等)
  • 其他按原始设计格式保存的技术图纸,若设备生产需要的话。
  • 其他可能会在设备上使用并包含在OSHW发布中的图片,如按原始设计格式保存的徽章或装饰覆盖图。

若这个设计最初是按另一种格式创建的,即使这个文件可能通常会被视为辅助设计文件(如在下面部分中讨论的),原始格式下的最初设计仍可被视为“原始设计文件”。

特殊情况下其他格式的文件仍能被视为原始设计文件的例子包括:

  • 给加工件手编的G-code。(G-code)
  • 手绘封装的扫描图。(JPEG格式)
  • 详细的手工制作树脂压铸模具的3D扫描图。(STL格式)
  • 在MS Paint中绘制的蚀刻单面电路板的掩膜图案。(PNG格式)

辅助设计文件

除了原始设计文件,用其他更易使用的格式共享您的设计往往也是很有帮助的。例如,开源一个CAD设计的最佳范例不仅是共享其本地文件格式的设计,而且还共享一系列其他CAD程序能打开和导入的互换或导出格式。

向希望了解(不一定会更改)设计的终端用户提供现成的视图输出也是有帮助的。例如,可以是一个电路板示意图的PDF文档或者一个3D设计的STL文件。这些辅助设计文件使人们能够学习硬件的设计,有时甚至可以生产它,即使他们没能使用特定的专有软件套件。但是,请注意,我们从来不允许用辅助设计文件替代原始设计文件。

辅助设计文件的示例包括:

  • 2D导出或互换格式的2D图纸或CAD文件。格式示例:DXF,SVG
  • 易于查看的2D导出格式的2D图纸或CAD文件。格式示例:PDF,JPEG,PNG等(如果可能的话,首选矢量格式而不是位图​​格式)
  • 3D导出或互换格式的3D设计或CAD文件。格式示例:STEP,IGES
  • 生产就绪导出格式的2D或3D设计。格式示例:G-code,STEP-NC,STL,AMF
  • 导出或互换格式的电路板设计文件。 格式示例:EDIF,Open JSON
  • 生产就绪格式的电路板设计 格式示例:Gerber RS-274X, Excellon
  • 其他原始格式(常见可读的格式,如PDF)的技术图纸,若需要用于设备生产的话。
  • 其他图片,例如,仪表板的不同颜色皮肤。

物料清单

虽然有可能从设计文件推断一个硬件是由哪些零件组成的,但是提供一个单独的物料清单还是很重要的。 它可以是一个电子表格(如CSV,XLS,Google Doc),或者简单地一个文本文件且在每行列出一个零件。 如果您的CAD软件包集成了或附加了物料清单管理工具,也是一个不错的选择。(例子包括SolidWorks中的内置工具和Eagle的bom-ex)。物料清单中实用的部分包括零件编号,供应商,成本,以及对每个零件的简短说明。 要使用户很容易判断出物料清单里的哪些项目对应设计文件中的哪个零件:在这两个地方使用匹配的参考标志,提供一个图表显示哪个零件在哪,或以其他方式阐述对应关系。

软件及固件

你必须共享操作硬件所需的任何代码或固件。 这样其他人才能将它与他们的硬件一起使用或与对你的硬件进行修改。 将创建你的软件所需的流程以文档形式归档包括到任何相关(如第三方库或工具)的链接。 此外,提供软件的状况概述也是很有帮助的(如“stable”或“beta”或“barely-working hack”)。

图片

图片可帮助人们了解你的项目是什么,以及如何进行组装。 最好能够发布多个角度的照片和组装各阶段的照片。如果没有照片,发布设计的3D效果图也是一个很好的选择。 无论用哪种方式,提供标题或文字来阐述每个图片所展示的内容和图片为何有用的原因都是不错的。

使用说明及其他说明

除了设计文件本身,还有很多说明对于帮助他人制作或修改你的硬件是非常宝贵的;

***制作硬件*** 为了帮助他人制作及修改你的硬件设计,你应该提供一份说明包括你的设计文件到工作的物理硬件。作为说明的一部分,提供硬件的部件/零件数据表链接并且列出组装所需的工具是非常有帮助的。如果设计需要专门的工具,请说明可以在哪里获取到。

***使用硬件*** 一旦有人制作了硬件,他们就需要知道如何使用它。请提供说明解释它能做什么,如何设置它,以及如何与它进行互动。

***设计原理*** 如果有人想修改你的设计,他们会想知道为什么它是这样的。请说明硬件设计的总体规划以及你做了具体选择的原因。

请记住,这些说明的读者所接受的专业知识或训练可能与你不一样。尽可能地把读者当作一个普通观众,并检查你的说明中是否含有行业术语,从而明确你所希望用户了解的内容,等等。

这些说明可以是各种不同的格式,例如wiki ,文本文件,google文档或PDF。但是请记住,修改了你的硬件设计的人可能也需要修改你的说明,所以最好是提供原始可编辑的文件而不只是如PDF的输出格式。

开源硬件流程及范例

设计你的硬件

如果你打算开源一个特定的硬件,在其设计中遵循某些最佳范例将使他人更容易制作和修改硬件:

  • 尽可能地使用免费的开源软件设计(CAD)工具。如果不能,尽量使用低成本和/或通用的软件包。
  • 使用标准且通用的组件,材料和生产工艺。尽量避免使用不能提供给单个客户的零件或那些需要昂贵安装成本的工艺。

托管你的设计文件

共享文件的一个基本途径是在你的网站上保存一个zip文件。虽然这算是一个很好的开始,但是很难让别人跟上你的进度或作出改善。

我们建议使用在线源代码存储库(比如GitHubGitorious ,或Google Code)来存储你的开源硬件项目。应该尽可能地对所有文件(包括设计,物料清单,组装说明,代码等)进行版本控制。如果你想公开开发硬件,使用在线存储库可以很容易地将你随时所做的更改发布到你的文件。或者,您可以发布与硬件发行相关的更新。

大多数在线存储库还包括问题跟踪器,这对保持追踪软件里的错误和将来的升级是很好的方式,而且其他人可以查看和评论。有些在线存储库还有wiki,可以很好地用来记录你的项目。

除了在线存储库,你还可以使用在线CAD工具(如Upverter)开发你的项目。或者,你可以在Thingiverse这样的网站上共享你的文件。

授权你的设计

虽然授权是一个复杂的问题,但是使用授权是一个示意他人如何能够且应该利用你的项目的重要途径。给你的硬件设计文件及其他文件明确应用了开源授权,就表明别人可以复制并修改它们。当授权你的项目时,请记住有人复制了你的硬件可能也想要利用你的软件,使用说明和其他文档,你应该也要授权你项目的这些其他元素而不仅仅是硬件设计文件。

需要注意的是版权(大多数授权的基础)并不适用于硬件本身,只适用于它的设计文件以及构成“原创作品”(美国法律)的元素,而不适用于相关功能或创意。尽管硬件设计文件使用的基于版权的授权究竟受到哪些法律保护还是没有完全清楚明确 — 但这些授权作为一个说明希望他人如何使用你的设计的方式仍然很重要。

主要有两大类开源免费软件授权:公共版权授权要求衍生项目按相同的条款授权;而许可证允许他人进行修改而不能按开源硬件发布。需要注意的是,开源硬件的定义规定你必须允许修改和重复使用你的设计做商业用途,所以不要使用无衍生或非商业条款的授权。

**流行的公共版权授权包括**:

**许可证包括**:

在版本控制库中包含授权的副本,在每个文件中附加一份声明或至少添加一份README说明重大更改的作者和年份以及授权是很好的作法。

分销开源硬件

  • 在硬件产品或者包装/文档上提供设计源文件的链接;
  • 让人们可以很容易从网站上找到产品的设计源文件;
  • 标注硬件版本号或发布日期以使人们能对产品实物与其设计文件的相应版本进行匹配。;
  • 在您的硬件上使用开源硬件标识。要清楚地标识出该标志适用于硬件上的哪些零件(即哪些零件是开源的)。
  • 总之,清楚地阐述产品的哪些部件是开源的以及哪些不是。
  • 没有共享设计文件之前不要描述硬件是开源的。如果计划以后将产品开源,那么请明确说明以后将是开源产品。

基于他人的开源硬件

  • 尊重他人的商标。
  • 请对一个硬件做有效的改进,而不是简单地卖它的复制品。
  • 与原始硬件开发者分享你的修改和改进。

翻译:龙玲 | 校对: 施泽钦

Itead Studio 2013

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.