For Approval: Open Source Hardware License

Jamey Hicks jamey.hicks at nokia.com
Fri Jul 6 13:19:27 UTC 2007


Thanks for all the comments on my posting.

There are no OSI-approved licenses expressly designed for open source 
hardware. From my re-reading of the OSI-certified open source licenses, 
several of them could be used without change to protect copyrighted 
source code written in hardware description languages such as Verilog or 
VHDL: MIT, BSD, CDDL, and EPL and GPL. None of these meets all the 
requirements for our project. CDDL and EPL would fit our needs except 
that at least one of the contributors, MIT, will not use a license with 
explicit patent grants. The Artistic License is very close to our needs, 
so I am proposing this Open Source Hardware license, derived from 
Artistic License 2.0.

Jamey Hicks


          The "Open Source Hardware License"
                 Version 0.5

                Preamble

The intent of this document is to state the conditions under which an
open source hardware Package may be copied, giving the users of the
package the right to use and distribute the Package in a more-or-less
customary fashion, to include this Package or derivatives thereof in
aggregate hardware components, plus the right to make reasonable
modifications provided those modifications to this Package are shared
with the community.

This document is intended to cover source code consisting primarily of
code written in hardware description languages such as Verilog, VHDL,
or Bluespec. All of the pre-existing OSI-certified open source
licenses included software terminology that is not applicable to open
source hardware.  This document is derived from the Artistic License,
which most closely matched the rights we would like to grant and
restrictions we would like to enforce. We have removed language
referring to the interpreter, scripts, and object code. We have also
removed the language that required that standard forms of the Package
be distributed along with modified versions.

Definitions:

    * "Package" refers to the collection of files distributed by the
      Copyright Holder, and derivatives of that collection of files
      created through textual modification.
    * "Executable" means the "Package" in any form other than Source
      Code. Executable forms include netlists, programming
      files/images for FPGAs, soft or hard macros for ASICs, mask
      images for ASICs, and programmable logic or ASICs.
    * "Source Code" means the common form of computer code in which
      modifications are made and associated documentation included
      in or with such code.
    * "Standard Version" refers to such a Package if it has not been
      modified, or has been modified in accordance with the wishes
      of the Copyright Holder.
    * "Copyright Holder" is whoever is named in the copyright or
      copyrights for the package.
    * "You" is you, if you're thinking about copying or distributing
      this Package.
    * "Reasonable copying fee" is whatever you can justify on the
      basis of media cost, duplication charges, time of people involved,
      and so on. (You will not be required to justify it to the
      Copyright Holder, but only to the computing community at large
      as a market that must bear the fee.)
    * "Freely Available" means that no fee is charged for the item
      itself, though there may be fees involved in handling the item.
      It also means that recipients of the item may redistribute it
      under the same conditions they received it.

1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.

2. You may apply bug fixes, portability fixes and other modifications
derived from the Public Domain or from the Copyright Holder. A Package
modified in such a way shall still be considered the Standard Version.

3. You may otherwise modify your copy of this Package in any way, provided
that you insert a prominent notice in each changed file stating how and
when you changed that file, and provided that you do at least ONE of the
following:

    a) place your modifications in the Public Domain or otherwise make them
    Freely Available, such as by posting said modifications to Usenet or
    an equivalent medium, or placing the modifications on a major archive
    site such as ftp.uu.net, or by allowing the Copyright Holder to include
    your modifications in the Standard Version of the Package.

    b) use the modified Package only within your corporation or 
organization.

    c) make other distribution arrangements with the Copyright Holder.

4. You may distribute the programs of this Package executable form,
provided that you do at least ONE of the following:

    a) distribute a Standard Version of the executables and library
    files, together with instructions (in the manual page or
    equivalent) on where to get the Standard Version.

    b) accompany the distribution with the machine-readable source of
    the Package with your modifications.

    c) make other distribution arrangements with the Copyright Holder.

5. You may charge a reasonable copying fee for any distribution of
this Package. You may charge any fee you choose for support of this
Package.  You may not charge a fee for this Package itself. However,
you may distribute this Package in aggregate with other (possibly
commercial) Packages or executables as part of a larger (possibly
commercial) hardware source distribution or executable provided that
you do not advertise this Package as a product of your own.

6. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written 
permission.

7. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

The End




More information about the License-discuss mailing list