software licensing open-source-software gpl eula
Can I include EULA-licensed IP core in GPL codebase?
<p>I work on little hardware project in Verilog. It would be published on GitLab and would be available for Open Source community. It is licensed as GPL 3.</p>
<p>I want to include external IP component in my codebase.
It is licensed as EULA.</p>
<p>Can I do it?</p>
<p>The IP represents a PLL, which divides one single 50 MHz clock input into two other clock outputs of lesser frequencies. It was developed by Altera Corporation.
Altera supplies this PLL IP and many other IPs with their EDA named Quartus.</p>
<p>Source headers in such IPs look similar:</p>
<pre><code>// (C) 2001-2013 Altera Corporation. All rrights reserved.
// Your use of Altera Corporation's design tools, logic functions and other 
// software and tools, and its AMPP partner logic functions, and any output 
// files any of the foregoing (including device programming or simulation 
// files), and any associated documentation or information are expressly subject 
// to the terms and conditions of the Altera Program License Subscription 
// Agreement, Altera MegaCore Function License Agreement, or other applicable 
// license agreement, including, without limitation, that your use is for the 
// sole purpose of programming logic devices manufactured by Altera and sold by 
// Altera or its authorized distributors.  Please refer to the applicable 
// agreement for further details.
</code></pre>
<p>As I see, only sole purposes are available for me. But my project will be hosted on GitLab and will be available for many. So I can't distribute this IP?</p>
<p>The second question. How these Altera IP cores are used by other IT companies? They can't even sell their products if they wires FPGA chips configured with these proprietary IPs? No <strong>sole</strong> using is presumed in this case.</p>
<p>Many thanks.</p>

<p>There are two licenses, and two parties involved who can sue you if you violate copyright by copying their IP without permission according their license.</p>
<p>If you give source code that you are only allowed to give to Altera customers to non-Altera customers, Altera can sue you for copyright infringement. If you don’t give them the source code, the copyright holder of the GPL licensed source code can sue you for copyright infringement. Interesting question is who can sue non-Altera customers you give the source code to. And what happens if Altera customers think they are allowed to distribute the code because it is GPL licensed. So you not only commit copyright infringement, you also create a legal mess for others.</p>
<p>And for everyone: even if code claims it is GPL licensed, you need to watch out.</p>

<p>The Altera license agreement is probably incompatible with the GPL.</p>
<p>The GPL says that the entire program must be available under the terms of the same GPL license. If some components of the program are proprietary, you cannot satisfy this condition. Thus, you cannot combine GPL-covered components with Altera components into a single program.</p>
<p>However, if you are the only author of the GPL-covered components (no other contributors, no use of existing GPL-covered material), then you can add a license exception to the GPL that allows combining these GPL-with-exception materials with Altera components. The GPLv3 allows such additional permissions per section 7, similar to the LGPLv3 (which is implemented as one such exception).</p>
<p>This license incompatibility stems entirely from the GPL's “copyleft” conditions. The Altera terms do not hinder proprietary development. I'm not sure why you are focusing on the phrase “sole purpose”.</p>
