Reply by fjh-...@galois.com●November 14, 20052005-11-14
johannes.vanderhorst writes:
> But it can be tricky applying the GPL to an HDL project, because
> traditional concepts like source code and binary executables are
> transferred to a domain with source, several intermediate netlist
> formats, some of which can be regarded as source when you're wide
> awake...
The GPL defines what source code means:
| The source code for a work means the preferred form of the work for
| making modifications to it. For an executable work, complete source
| code means all the source code for all modules it contains, plus any
| associated interface definition files, plus the scripts used to
| control compilation and installation of the executable.
In general, if a HDL source is automatically compiled to hardware via
several intermediate netlist formats, only the original file(s) that a
human wrote should be considered the source for the purposes of the
GPL, since only those are the "preferred form ... for making
modifications to it." If the programmer has been
using scripts to tweak the intermediate netlist files, then those
scripts are also part of the source. If the programmer has been
manually tweaking the intermediate netlist files, then the manually
tweaked files must also be considered as part of the source, in
addition to the original source files.