Electronic – How appropriate are the open source licences currently in use for inclusion of HDL cores in a commercial product

hdllegallicensingopen sourceopen-hardware

HDL IP cores targeted towards ASICs, FPGAs or both are often very useful for adding functionality to a project quickly. Commercially licences cores are available from many sources for a range of prices, but increasingly "open source" cores are becoming available which provide similar functionality.

The use of free and open source HDL cores is especially significant for FPGA-based hardware projects. The low initial hardware costs of FPGAs means that this is a market where development of custom cores for commonly used functions can have a large impact on the total cost of a project.

However, currently there are no open source licences specifically designed for licensing HDL cores and therefore a number of licences designed for other uses (primarily software and physical hardware design) are in use in practice. The use of these licences for HDL core seems to me to be questionable and I worry about including open source cores in commercial projects with current licensing arrangements.

My question is how appropriate are the open source licences currently in use for inclusion of HDL cores in a commercial product?

In particular,

  • is an HDL IP core applicable within the terms of the licence?
  • is commercial use allowable under the licence?
  • what attribution requirements are included?
  • is it certain that designs including the licensed cores are not required to be disclosed as 'derived works' etc?
  • is the licence used widely enough to be well recognised?

Some licences currently in use are:

There's a few discussions of this already online that I've looked at (see below), but I'm not sure any have come up with anything conclusive. Especially interesting is LGPL as it's used a lot in industry for software libraries and there's a large number of OpenCores cores available under the licence.

Of course I'm not expecting anyone to commit to a concrete legal opinion, but something better than "no one will find out anyway" or "the only way to be sure is to ask the author directly for permission" would be useful to me.


Previous references/discussions:


Best licences for Open Hardware was a similar question aimed at pure hardware, rather than HDL cores.

Best Answer

i'm not familiar with all on your list. I see TAPR as analogous to GPL, and good applicability to HDL. others may be tricky. I've wished for a TAPR sort of thing designed for hardware/hdl code that is more like LGPL, but i haven't seen one like that.

GPL, LGPL, BSD etc. are written for copyrighted stuff, and that sortof leaves open a loophole for hardware designs. you don't "publish" an asic, so there can be a breakdown in legalese fitment there. FPGAs may be slightly better fit, as for fpga you do something comparable to compiling spurce code, and distributing the bitfile is a little closer to publishing something you can copyright than doing PnR for a hardwired asic, and you can make your fpga design updatable by downloading and installing new bitfile, which is like getting and using a lot of software today, but it's still muddy waters for copyright based licensing.

i'm also not sure of cross-compatibility between the copyright licenses and the hardware-specific licenses.

IMHO, of the ones i've read, TAPR is best, but like gpl makes your entire project open-source under TAPR. I's prefer to see cores under an lgpl analog. contribute improvements to the ip core, but protect other parts of the design.

as i understand, the copyright license weirdities are enforcemen t related. so mostly a problem if you sue a user that didn't follow the intent of the license, they may get off on technicalities.