Hardware Design Public License Version 0.04

© Graham Seaman 2000 (graham@opencollector.org)


[meta]This license contains three parts: the license proper; comments, explaining the intent of the license proper, and separated from it by [comment]...[/comment], and meta-comments, which will be removed from the license once it has been completed. Meta-comments are separated by [meta]...[/meta]. All comments are in italics. [/meta]

[comment]This license is intended to achieve similar goals to those of the GPL (http://www.gnu.org/copyleft/gpl.html) in the context of hardware designs. It is not intended to achieve all the different goals those working on free hardware designs may have, some of which may require radically different licenses. However, it is intended to cover hardware designs of all types, including designs for PCBs, ICs, and Programmable Logic Devices. [/comment]

[meta] Trying to keep it this general has made the current version sound horribly long-winded. It is more of an exercise in finding out what the problems are in developing this kind of license, and what the goals should be, than a practical license, since there is no organization behind it. [/meta]

Any version of this license with version number greater than or equal to 1.0 may be copied and used verbatim. For versions before 1.0, the license may not be used; however, it may be copied, and meta-comments may be changed or added at will.

[meta]This license is incomplete, and has never been looked at by a lawyer. Maybe one day there will be a final valid version 1.0. In the mean time, you're welcome to use any useful ideas in it (as I have also borrowed ideas), just not to use the whole thing under this name. The main sources of the ideas (and parts of the text) in the license are:



  1. "Manufacturing files" include any files which can be used as direct input to a process the purpose of which is to permanently change the electrical or electronic properties of an object. This includes, but is not limited to, gerber or other files for PCB manufacture; mask works for IC manufacture.
  2. "Programming files" include any files which can be used as direct input to a process the purpose of which is to temporarily change the electrical or electronic properties of an object. This includes, but is not limited to, programmable logic device configuration data for FPGAs or PLDs; executable files for processors.
  3. The "hardware design" (or simply "the Design") is the set of files associated with this license by being placed in the same directory as the license, or subdirectories of the directory containing the license, including but not limited to manufacturing files and programming files. Where these files have a textual format, they should contain a reference to this license (or in the case of software or documentation any license recognised by the Free Software Foundation as compatible with licenses issued by the Free Software Foundation).
    [meta]This is the key to the whole license; it avoids the almost impossible to task of finding a completely general definition of a hardware design. Note that the legality of covering binary files with a copyright license is not settled, but that this has become current practice (eg. Xilinx uses this for FPGA bitstreams)[/meta]
  4. A "readable" file must be in a format which can be read by software available to the general public, whether free or for a fee, with the exception that it must not be encrypted, obfuscated, or have its readability in any way artifically obstructed.
  5. "Hardware Design Public License" (abbreviated to "HDPL") refers to this or later versions of this license.

Terms And Conditions

  1. The HDPL covers all files included in the hardware design, except the license itself. You may not impose any further restrictions on use or distribution of the hardware design than those contained in the HDPL.
  2. You may copy and distribute verbatim copies of the hardware design in any medium. You may charge a fee for the physical act of transferring a copy via a non-networked medium (such as a CDROM), and you may offer warranty protection, instructional support, or other services in exchange for a fee. You may not charge a fee for the sole purpose of providing access to the hardware design via a network.
    [comment]"Verbatim" implies the inclusion of ALL files making up the hardware design, including the license file itself.[/comment]
  3. You may freely modify this hardware design (with the exception of the HDPL file itself), thus forming a work based on the hardware design, and copy and distribute such modifications under the terms of section 2 above, provided that you also meet all these conditions:
    1. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    2. You must in no way alter any copyright or mask work right symbols and information contained in the design
    3. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the hardware design or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this license
    4. You must ensure that all files in the modified design are readable in the sense defined above.
      [comment]Clause 3.3 implies that you may not include in your modification any work covered by patent or other rights which would invalidate this license[/comment]
      [meta]Clause 3.4 is not in the spirit of the gpl. It would be desirable, but not practical to insist that only free software formats can be used. As it is, this clause leaves it open to a company to use a proprietary and secret format only usable by in-house software, and then to offer that software for sale at a ridiculous price, in order to satisfy the letter of this clause. This clause may change in future versions.[/meta]
  4. The requirements of section 3 apply to the modified work as a whole. If identifiable sections of that work are not derived from the hardware design, and can reasonably be considered independent and separate works in themselves, then this license, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on this hardware design, the distribution of the whole must be on the terms of this license, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
    [comment]For example, say the design is a System-On-Chip computer. A person who adds a UART to this system may distribute the UART design separately under a different license. But if that person wishes to distribute the SOC computer design with the inclusion of the UART, the UART design must fall under the original license[/comment]
  5. You may copy and distribute the manufacturing and programming files contained within the hardware design (or a work based on it, under sections 3,4) separately from the remainder of the hardware design, provided that you also do one of the following:
    1. Accompany them with a prominently displayed URL for a network site available to the general public for a period of at least 3 years and with no access restrictions from which the complete hardware design (or the work based on it, as appropriate) may be downloaded in readable form.
    2. Accompany them with the information you received as to the offer to distribute the corresponding complete hardware design (this alternative is allowed only if you received the manufacturing and programming files with such an offer, and have not subsequently modified these files).

      [comment]This section has 4 principal purposes:

      1. To apply similar conditions to those of the gpl to any software included in the hardware design
      2. To apply similar conditions to those of the gpl to any programming information such as fpga bitstreams included in the design
      3. To prevent users under section 6 from taking the design and modifying it by adding secret interfaces so that the manufactured design becomes effectively unusable.
      4. To enforce the availability of documentation for any manufactured version of the design, via the following clause.
  6. You may use manufacturing files contained in the hardware design for the purpose for which they were intended as defined above (definition 1).
    For the purposes of this license, such use is to be considered as a form of distribution of the manufacturing files, and hence falls under section 5, with the same requirements.

    [meta]The remainder of this license is copied almost word for word from the GPL. It is likely that extra clauses will have to be added to deal with potential patent violations and lack of implied warranty[/meta]

  7. You may not copy, modify, sublicense, or distribute the Design except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Design is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
  8. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the design or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the hardware design (or any work based on the Design), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the design or works based on it.
  9. Each time you redistribute the Design (or any work based on the Design), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Design subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
  10. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the design at all. For example, if a patent license would not permit royalty-free redistribution of the design by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Design.

    If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

    It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free hardware design distribution system, which is implemented by public license practices. Many people have made generous contributions to the growing range of hardware designs distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute a design through any other system and a licensee cannot impose that choice.

    This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

  11. If the distribution and/or use of the Design is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Design under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
  12. Each version of the HDPL is given a distinguishing version number. If the Design specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version.
  13. If you wish to incorporate parts of the Design into other free designs whose distribution conditions are different, you may write to the author to ask for permission.

G.Seaman,    12th August 2000.