[Open-graphics] Definition of Open Hardware

Terry Hancock hancock at anansispaceworks.com
Fri Oct 6 05:39:53 EDT 2006


Timothy Miller wrote:
> >> If a TRV10 chip were placed on a board with other components that
> >> are not defined as part of OGA, they should not be affected by
> >> the GPL. That is mere aggregation.
> >
> > The equivalent therefore of runtime linking of shared object
> > libraries?

Yes, and I think that this much can be achieved with the existing GPLv3
(draft 2), and appropriate use of Section 7 to define and permit a release
of copyleft requirements across specifically-defined boundaries.

This means you actually create multiple specific licenses: an "IP Core"[1]
license, a "Chip" license (possibly they are the same?), a "PCB" license,
etc.  This way you can be completely explicit about the "system boundaries".

If these licenses were mutually incompatible, that would be a real problem,
but in fact, if I read things right, they're all GPLv3 compatible 
licenses, so
"license-proliferation" isn't really a problem (strictly speaking, the 
complaint
about the "proliferation" of open source licenses is only really 
applicable to
the proliferation of *incompatible* open source licenses).

The stickier part of using GPLv3 is that you must also define the terms
"convey" and "propagate" as used in the license. This probably means you
need a more explanatory "license grant statement" (this is the text in the
design documents that tells the recipient what the license is).  I'm going
to have to look into this and ask some questions.

>  Yes, but only in the sense of having that linking being of an
>  optional plugin rather than a required component.

I don't think the GPL/LGPL make this distinction, though I see why it 
could make sense to.

 > Perhaps it's an
>  application/platform division, with TRV10 being the platform. TRV10
>  is somewhat useless without memory chips, but you can choose any
>  conformant memory chips. It's like using Win32 codecs with Xine.
>  Xine is under GPL (I'm assuming), but the optional plugins are not.
>  And Xine is useless without codecs.

You know, I'm not sure about the legal status of plugins in the GPL, but 
clearly we've all considered them to be independently licensed from the 
framework.

>  Exactly. Being able to desolder it makes the GPL requirement weaker
>  or null.

This is an interesting definition.  I'm a little concerned that it may 
clutter the point that copyright only comes into play when a design is 
copied, and GPL copyleft only when it is then distributed.  So, though 
this makes sense as a boundary condition, it's important to realize that 
anyone legitimately receiving the board is entitle to desolder, 
recombine, etc. whatever they want with it (the license doesn't affect 
that at all).

(As a practical matter, *can* you desolder modern surface-mount chips. I 
was under the impression that they are too fragile, and you're pretty 
much stuck with what you get?).

>  There's something I'd like to prevent, but which may be hard to
>  prevent. Someone could buy an OGD1 board and resell it all they
>  like. Fine. Someone could buy an OGD1 board and completely reprogram
>  it and resell it as a proprietary product.

Where's the copying?

If you mean "reprogram 1 board and resell it" then the license isn't 
involved (this is "use" in copyright terms).

If you mean they sell new HDL/FPGA logic, distributed pre-installed on 
OGD1 boards, then this is a lot like selling PCs with Linux 
pre-installed on them.

 > Fine. But I don't want
>  someone leaving the PCI controller on the XP10 intact, reprogramming
>  the S34000, and then selling it as proprietary product. In that
>  case, I want them to release the source to their design or pay a
>  licensing fee for the use of that PCI controller.

Ah wait, I see what you're getting at...

You need a "Chipset" license in the GPLv3+Section7 model I described 
above. That makes it clear: all of the chips are together considered 
part of a copylefted "system".

The idea is that the GPLv3 is starting from the position that the whole 
device is automatically under copyleft, and it's our refinements that 
increase the range of possible non-copyleft use (so they are "additional 
permissions", which is pretty much unlimited under Section 7, whereas 
"additional requirements" are limited to just a few possibilities).

FWIW, I think you can actually do this with GPLv2, but the design of 
GPLv3 makes it easier.

Cheers,
Terry


[1] "IP Core" may be a controversial term?  I'm at the edge of my 
technical understanding with these.  I understand them to be relocated 
portions of a chip design that can be made part of a mask to make a 
chip.  Of course, free software folks dislike the term "IP", so maybe 
"Core" is preferred?  I think "Open Cores" used to be called "Open IP 
Cores", IIRC.

-- 
Terry Hancock (hancock at AnansiSpaceworks.com)
Anansi Spaceworks http://www.AnansiSpaceworks.com



More information about the Open-graphics mailing list