Subject: Re: For Approval: Open Source Hardware License
From: "Rod Dixon, J.D., LL.M." <roddixon@cyberspaces.org>
Date: Sat, 7 Jul 2007 10:49:45 -0400
Sat, 7 Jul 2007 10:49:45 -0400
Version 0.5 of the OSHL seems compatible with the OSD.  Since, as I  
understand it, the OSHL is essentially a software license covering  
chip design source code, I am not sure why "all of the pre-existing  
OSI-certified open source licenses" covering software are  
inapplicable to "open source hardware."

The OSHL does not purport to protect the chip; it protects source  
code.  And, certainly, it does not seem to matter directly in the  
license-approval process what type of programming language (i.e.,  
hardware design language) is used to produce the source code.  Hence,  
the need for a license exclusively protecting hardware design  
language source code is unclear to me.  Aside from the MIT- patent  
issue, what unique requirements are unmet by the existing open source  
licenses?

(BTW, regarding the patent issue, I am curious - do you mean MIT will  
not accept patent grants or will not make patent grants?)


Rod Dixon, J.D., LL.M.
roddixon@cyberspaces.org



On Jul 6, 2007, at 9:19 AM, Jamey Hicks wrote:

>
> 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
>
>



Version 0.5 of the OSHL seems compatible with the OSD.  Since, as I understand it, the OSHL is essentially a software license covering chip design source code, I am not sure why "all of the pre-existing OSI-certified open source licenses" covering software are inapplicable to "open source hardware."  

The OSHL does not purport to protect the chip; it protects source code.  And, certainly, it does not seem to matter directly in the license-approval process what type of programming language (i.e., hardware design language) is used to produce the source code.  Hence, the need for a license exclusively protecting hardware design language source code is unclear to me.  Aside from the MIT- patent issue, what unique requirements are unmet by the existing open source licenses?  

(BTW, regarding the patent issue, I am curious - do you mean MIT will not accept patent grants or will not make patent grants?)


Rod Dixon, J.D., LL.M.
roddixon@cyberspaces.org



On Jul 6, 2007, at 9:19 AM, Jamey Hicks wrote:


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