Open Source Hardware Definition: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
URL = http://www.openhardwaresummit.org/license/ | URL = http://www.openhardwaresummit.org/license/ | ||
| Line 183: | Line 182: | ||
=Endorsements= | ==Endorsements== | ||
OSHW Draft Definition 0.3 is endorsed by the following persons and/or | OSHW Draft Definition 0.3 is endorsed by the following persons and/or | ||
| Line 217: | Line 216: | ||
* Brent Picasso, Autosport Labs | * Brent Picasso, Autosport Labs | ||
* Will Pickering, FunGizmos | * Will Pickering, FunGizmos | ||
=Discussion= | |||
Bunnie (the creator of [[Chumby]]): | |||
"The way the current definition is written, in order to comply with the OSHW definition, the system integrator bears the burden of choosing only components for which they can also share all required software to fulfill essential functions under an OSI-approved open source license. So, for example, there are no wifi solutions that I know of which comply to this definition — even the ubiquitous rt73 chipset, which offers open-source drivers, requires a firmware blob which is closed-source. Other interesting chips that do not comply to this definition include probably most cellular phone chipsets, bluetooth chipsets, graphics chips, camera chips, and surprisingly, most SoC CPUs. Every ARM SoC that I’ve encountered contains a small bit of internal ROM (32k or so — hey, that was a whole operating system back in the 80’s!) that’s written by the chip maker and that piece of code is closed-source (this includes the i.MX233 and the PXA168 used inside chumby products), and many ARM SoC’s have NDA-only datasheets for the register set (such as every Marvell CPU), which takes it yet another step toward closed-ness. Even the ubiquitous Intel desktop CPUs utilize microcode updates, which I believe are closed-source (there are F/OSS-friendly tools for deploying the microcode, but the actual microcode itself is distributed as a binary, afaik). Furthermore, systems that incorporate some proprietary code (like chumby, which uses a closed-source Flash licensed from Adobe), cannot release all code required to fulfill essential functions, such as playing apps. | |||
Thus, as the OSHW definition is writ, it excludes the possibility of making any open source gadget with compelling, popular consumer features (such as wifi, cellular connectivity, chip cameras, high-performance and low power ARM CPUs) because most of the components required to achieve these features cannot comply to the OSHW definition version 0.3. | |||
I don’t think that excluding all these devices from the OSHW definition was intentional; the intention of the software-release clause is well-meaning, but I think the definition needs some tweaking. I’d suggest that the burden of responsibility should be limited to the person or organization releasing the OSHW. Thus, one should only be responsible for sharing the source and documentation for the components developed with your own resources. For example, if you are a board or system-level OSHW provider, then the best you can do is release the schematics and layout for your design, and any code you wrote to tie the pieces together in your system; you are not required to also release code and datasheets on behalf of your chip vendors to customers in order to claim OSHW-compliance. While this is not an ideal solution in terms of open-ness, I think it finds a balance between providing featureful, useful, and modern designs to consumers while giving them a toe-hold to grab onto if they desired to modify, extend or repair their purchased hardware. | |||
The other potential issue I have with the definition is the clause where documentation must be released “in the preferred form for which a hardware developer would modify the design”. This term was more or less borrowed directly from the GPL, and by and large that clause makes sense in the software world because ASCII text is nearly universally accepted as the form for source, and there are a multitude of interoperable text editors out there, with the single biggest problem being CR/LF translations and maybe unicode integration. | |||
Unfortunately, in the hardware world, there is no consensus over a machine-readable intermediate schematic or circuit board layout format that also binds in all the interesting metadata you may need to quickly modify the design. In fact, the situation is much worse because a few of the biggest names in consumer electronics hardware actually have in-house proprietary schematic capture and board layout programs that don’t interoperate with anything, so they can play the game of releasing their files in their preferred form for modification and claiming OSHW compliance, which is essentially useless to the community at large since the tools are unavailable to read them. | |||
As a result, I’m a proponent of requiring, in all cases, a minimum of a human-readable schematic provided in a common format (PDF, PNG, etc.) as the primary form for interchange, and optionally a machine readable format to the discretion of the particular designer. To me, the machine-readable format is less important than a quick human-readable format; I would prefer a PDF over an Eagle file any day (Eagle is a popular interchange format among the Arduino community), especially since I don’t use Eagle or even have a copy of it installed on my machine." | |||
(http://www.bunniestudios.com/blog/?p=1224) | |||
Revision as of 12:32, 23 July 2010
URL = http://www.openhardwaresummit.org/license/
Context
Bryan Bishop:
"This is a draft definition of open source hardware. Note that this isn't a license, or a legal mechanism for open source hardware, but a definition for whether or not a license might qualify as an open source hardware license."
Draft Summary
This (draft) definition is the product of discussion between attendees of the Opening Hardware workshop at Eyebeam (New York City), March 17, 2010.
"Open-source hardware is that for which its designer:
- provides design files (in the preferred format for making modifications to them)
- allows the modification and redistribution of the design files
- allows the manufacture, sale, distribution, and use of devices from the design files or modifications of the design files
- without discrimination against persons, groups, or fields of endeavor. Additionally, the designer must release under an open-source license any software it has developed that is essential to the proper functioning of the device.
The designer may require others to:
- provide attribution when distributing design files based on the original designer's
- provide attribution when manufacturing devices based on the original designer's design files or derivatives thereof
- release as open-source hardware devices based on the original designer's design files or derivatives thereof
Manufacturers of a derivative device must not:
- imply that the device is manufactured, tested, warrantied, guaranteed, or otherwise sanctioned by the original designer
- make use of any trademarks owned by the original designer without explicit permission
We also recognize that open-source is only one way of sharing information about hardware and encourage and support all forms of openness and collaboration, whether or not they fit this definition." (http://freedomdefined.org/OSHW)
Open Source Hardware (OSHW) Draft Definition version 0.3
OSHW Draft Definition 0.3 is based on the Open Source Definition for Open Source Software and draft OSHW definition 0.2, further incorporating ideas from the TAPR Open Hardware License. Videos and Documentation of the Opening Hardware workshop which kicked off the below license are available here
Introduction
Open Source Hardware (OSHW) is a term for tangible artifacts -- machines, devices, or other physical things -- whose design has been released to the public in such a way that anyone can make, modify, distribute, and use those things. This definition is intended to help provide guidelines for the development and evaluation of licenses for Open Source Hardware.
It is important to note that hardware is different from software in that physical resources must always be committed for the creation of physical goods. Accordingly, persons or companies producing items ("products") under an OSHW license have an obligation not to imply that such products are manufactured, sold, warrantied, or otherwise sanctioned by the original designer and also not to make use of any trademarks owned by the original designer.
Compliance Criteria
The distribution terms of Open Source Hardware must comply with the following criteria:
1. Documentation
The hardware must be released with documentation including design files, and must allow modification and distribution of the design files. Where documentation is not furnished with the physical product, there must be a well-publicized means of obtaining this documentation for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The documentation must include design files in the preferred form for which a hardware developer would modify the design. Deliberately obfuscated design files are not allowed. Intermediate forms analogous to compiled computer code -- such as printer-ready copper artwork from a CAD program -- are not allowed as substitutes.
2. Necessary Software
If the hardware requires software, embedded or otherwise, to operate properly and fulfill its essential functions, then the documentation requirement must also include at least one of the following: The necessary software, released under an OSI-approved open source license, or other sufficient documentation such that it could reasonably be considered straightforward to write open source software that allows the device to operate properly and fulfill its essential functions.
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original hardware. The license must allow for the manufacture, sale, distribution, and use of products created from the design files or derivatives of the design files.
4. Free redistribution
The license shall not restrict any party from selling or giving away the project documentation as a component of an aggregate distribution containing designs from several different sources. The license shall not require a royalty or other fee for such sale. The license shall not require any royalty or fee related to the sale of derived works.
5. Attribution
The license may require derived works to provide attribution to the original designer when distributing design files, manufactured products, and/or derivatives thereof. The license may also require derived works to carry a different name or version number from the original design.
6. No Discrimination Against Persons or Groups
The license must not discriminate against any person or group of persons.
7. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the hardware in a specific field of endeavor. For example, it may not restrict the hardware from being used in a business, or from being used in nuclear research.
8. Distribution of License
The rights attached to the hardware must apply to all to whom the product or documentation is redistributed without the need for execution of an additional license by those parties.
9. License Must Not Be Specific to a Product
The rights attached to the hardware must not depend on the hardware being part of a particular larger product. If the hardware is extracted from that product and used or distributed within the terms of the hardware license, all parties to whom the hardware is redistributed should have the same rights as those that are granted in conjunction with the original distribution.
10. License Must Not Restrict Other Hardware or Software
The license must not place restrictions on other hardware or software that may be distributed or used with the licensed hardware. For example, the license must not insist that all other hardware sold at the same time be open source, nor that only open source software be used in conjunction with the hardware.
11. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
Afterword
The signatories of this Open Source Hardware definition recognize that the open source movement represents only one way of sharing information. We encourage and support all forms of openness and collaboration, whether or not they fit this definition.
Endorsements
OSHW Draft Definition 0.3 is endorsed by the following persons and/or organizations. Please feel free to add (your own names) to this section. Listing your affiliation is optional for personal endorsements, and endorsements are presumed to be personal unless the organization name is listed separately.
- David A. Mellis, MIT Media Lab and Arduino
- Limor Fried, Adafruit Industries
- Phillip Torrone, Make and Adafruit Industries
- Leah Buechley, MIT Media Lab
- Chris Anderson, Wired and DIY Drones
- Nathan Seidle, SparkFun Electronics
- Alicia Gibb, Bug Labs
- Massimo Banzi, Arduino
- Tom Igoe, Arduino, ITP/NYU
- Zach Smith, MakerBot Industries
- Bre Pettis, makerBot Industries
- Andrew "bunnie" Huang, bunniestudios
- Becky Stern, MAKE
- Windell Oskay, Evil Mad Scientist Laboratories
- John Wilbanks, Creative Commons
- Jonathan Kuniholm, Open Prosthetics Project/Shared Design Alliance
- Ayah Bdeir, littleBits.cc/Eyebeam/Creative Commons
- David Ford, Blue Labs
- Vitorino Ramos, LaSEEB - Evolutionary Systems and Biomedical
Engineering Lab., IST, Technical University of Lisbon, Lisbon, PORTUGAL.
- Charles Gantt, The Makers Workbench
- Dave Hrynkiw, Solarbotics Ltd. / HVW Technologies
- Stephen Eaton, Strobotics, Australia
- Brent Picasso, Autosport Labs
- Will Pickering, FunGizmos
Discussion
Bunnie (the creator of Chumby):
"The way the current definition is written, in order to comply with the OSHW definition, the system integrator bears the burden of choosing only components for which they can also share all required software to fulfill essential functions under an OSI-approved open source license. So, for example, there are no wifi solutions that I know of which comply to this definition — even the ubiquitous rt73 chipset, which offers open-source drivers, requires a firmware blob which is closed-source. Other interesting chips that do not comply to this definition include probably most cellular phone chipsets, bluetooth chipsets, graphics chips, camera chips, and surprisingly, most SoC CPUs. Every ARM SoC that I’ve encountered contains a small bit of internal ROM (32k or so — hey, that was a whole operating system back in the 80’s!) that’s written by the chip maker and that piece of code is closed-source (this includes the i.MX233 and the PXA168 used inside chumby products), and many ARM SoC’s have NDA-only datasheets for the register set (such as every Marvell CPU), which takes it yet another step toward closed-ness. Even the ubiquitous Intel desktop CPUs utilize microcode updates, which I believe are closed-source (there are F/OSS-friendly tools for deploying the microcode, but the actual microcode itself is distributed as a binary, afaik). Furthermore, systems that incorporate some proprietary code (like chumby, which uses a closed-source Flash licensed from Adobe), cannot release all code required to fulfill essential functions, such as playing apps.
Thus, as the OSHW definition is writ, it excludes the possibility of making any open source gadget with compelling, popular consumer features (such as wifi, cellular connectivity, chip cameras, high-performance and low power ARM CPUs) because most of the components required to achieve these features cannot comply to the OSHW definition version 0.3.
I don’t think that excluding all these devices from the OSHW definition was intentional; the intention of the software-release clause is well-meaning, but I think the definition needs some tweaking. I’d suggest that the burden of responsibility should be limited to the person or organization releasing the OSHW. Thus, one should only be responsible for sharing the source and documentation for the components developed with your own resources. For example, if you are a board or system-level OSHW provider, then the best you can do is release the schematics and layout for your design, and any code you wrote to tie the pieces together in your system; you are not required to also release code and datasheets on behalf of your chip vendors to customers in order to claim OSHW-compliance. While this is not an ideal solution in terms of open-ness, I think it finds a balance between providing featureful, useful, and modern designs to consumers while giving them a toe-hold to grab onto if they desired to modify, extend or repair their purchased hardware.
The other potential issue I have with the definition is the clause where documentation must be released “in the preferred form for which a hardware developer would modify the design”. This term was more or less borrowed directly from the GPL, and by and large that clause makes sense in the software world because ASCII text is nearly universally accepted as the form for source, and there are a multitude of interoperable text editors out there, with the single biggest problem being CR/LF translations and maybe unicode integration.
Unfortunately, in the hardware world, there is no consensus over a machine-readable intermediate schematic or circuit board layout format that also binds in all the interesting metadata you may need to quickly modify the design. In fact, the situation is much worse because a few of the biggest names in consumer electronics hardware actually have in-house proprietary schematic capture and board layout programs that don’t interoperate with anything, so they can play the game of releasing their files in their preferred form for modification and claiming OSHW compliance, which is essentially useless to the community at large since the tools are unavailable to read them.
As a result, I’m a proponent of requiring, in all cases, a minimum of a human-readable schematic provided in a common format (PDF, PNG, etc.) as the primary form for interchange, and optionally a machine readable format to the discretion of the particular designer. To me, the machine-readable format is less important than a quick human-readable format; I would prefer a PDF over an Eagle file any day (Eagle is a popular interchange format among the Arduino community), especially since I don’t use Eagle or even have a copy of it installed on my machine." (http://www.bunniestudios.com/blog/?p=1224)