KiCad Library Licensing

Hi all :slight_smile:

There’s been a lot of discussion over the last couple of days regarding the licensing of KiCad library data (i.e. the data provided at https://github.com/kicad)

There is clearly confusion about the license requirements for the library data, and it is also apparent that the current license model is inappropriate.

This discussion has actually lined up with a push (behind the scenes) to overhaul the KiCad libraries for the KiCad v5.0.0 release. This involves consolidation and standardization of library files, adding library information to the KiCad website, improving the KLC and (importantly) improving the contribution process.

As part of this, the licensing agreement for the new (not yet released) libraries has been a key topic of discussion.

KiCad v5.0 library license

KiCad v5 libs will be licensed under CC-BY-SA 4.0, as follows:


KiCad Library License


The KiCad libraries are licensed under the Creative Commons CC-BY-SA 4.0 License (https://creativecommons.org/licenses/by-sa/4.0/legalcode), with the following exception:

To the extent that the creation of electronic designs that use ‘Licensed Material’ can be considered to be ‘Adapted Material’, then the copyright holder waives article 3 of the license with respect to these designs.

What does this mean?

If you wish to redistribute the KiCad libraries, or parts thereof (including in modified form) as a collection then they must be shared under the same license agreement. The libraries must also retain attribution information, including the license documents which are distributed with the library files.

However, use of the library data in your projects does not (by itself) result in the design or any files generated from your design being covered by the CC-BY-SA 4.0 License. You are free to use the library data in your own projects without the obligation to share your project files under this or any other license agreement.


What about the current libraries?

Due to restrictions on simply changing the license agreement of the libraries, existing libraries will be left as-is for the time being.

What I need from you

If you satisfy the following requirements:

  • You have contributed to the KiCad libraries on GitHub
  • You do not wish for your contributions to be released under the license agreement above

Then contact me via PM. Otherwise at the v5 release the libraries will be relicensed to remove confusion and provide user confidence that they can use the libraries without unnecessary restriction.

Probably a new question, but the libraries are perfectly fine to use in a commercial & closed project? And how about redistributing a STEP file of your product?

Yes, the libraries may be used freely in commercial and closed projects, (as well as personal projects) and the BY-SA portion of the license is waived in such circumstances.

The only time where you must attribute (BY) and redistribute under the same license (SA) is if you are redistributing the library set as a collection in and of itself.

2 Likes

The entire purpose of maintaining this community library is to provide a high-quality curated set of data that makes KiCad more attractive for all users (commercial and hobbyist). I am disappointed that this licensing issue has become such a sticking point but I understand that confusion over licensing is important to some people.

Please do not let this confusion dissuade you from contributing. The uptick in contributions this year has been really promising - let’s continue this!

1 Like

Why drop the chain clause (3.B) here? I understand the practicality of someone not wanting to publish a list of contributor attributions for the free work they leveraged to create their product, but why default any subsequent works back to full copyright by dropping the ShareAlike?

Example 1: Say I’d make a module, something like the quite available LoRa modules, and re-submit the assembled KiCad output (triggering the exception clause) as a new footprint. What is the license status of the 3D files used to create the new footprint?

Example 2: I make a product in KiCad using the official libraries and supply a 3D model of the board with components (adapted work) to my end customer who in turn converts the 3D model of the board into a nice rotatable 3D preview (adaptation of adaptation) on his website.

This sounds nice and all, but it’s simply not true, unless specifically stated by the original copyright holder. A work without applicable license is not public domain. Section 2.A.1, (no sub-licensing) and the Berne Convention made sure of this. There is section 2.A.5 which states that it’s possible to use the adapted works under the terms of the current license (though I’m not sure if the exception would apply again), but that’s certainly not ‘free to do whatever you like’.

Consider example two and the explanation provided: I would think I’m in the clear as I’m selling my project data, not separate library parts. But really both me and my customer are in violation of copyright, my customer (without his knowledge) for not having the proper rights to use the data and me for breaking the license agreement and selling material I don’t have rights for. Yay…
You could argue “but nobody will sue for that”, but that kind of randomness would keep businesses with more to lose away and weaken any rights holder’s position in the case he would want to enforce proper use of the public material.

So you think our exception does not handle this?

in case we decide to crowdfund a lawyer Ill pitch in the first 100$

Yes, I think your exception needs a bit more thought, the current one doesn’t account for supply chains. Another option would be to provide an exception for the actual use case, allow uncredited use as long as it’s related to the work kicad produces. I’ll keep thinking about some better way.

Cool, I was thinking of reaching out to the eff or something for some definitive legally vetted way of providing such an exception clause.

The copyright holder hereby allows a licensee to redistribute selected parts of the works under these conditions:
1. The selected parts are solely used in assembled and inseparable form in: a. an electronic design; or b. the documentation of said design.
2. To the extend possible the licensee accepts all warranties, responsibilities and liabilities for any redistributed part.

What about something like this? This does away with the attribution for full designs but keeps the license intact otherwise.

Would that mean that we as contributors can be held accountable for errors we made? Because normal open source licenses go exactly the other direction.

Example from the solder pad license:

  1. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

I wanted to achieve exactly the opposite, the person redistrubuting (as in part of a design) (licensee) taking over the responsibilities from the contributor (copyright holder).

I think this is covered by section 5 of the license:

###Section 5 – Disclaimer of Warranties and Limitation of Liability.

a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.

c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.

Taking my second provided example:

With “contributor” == “copyright holder”, “I” == “licensee” and “end customer” == “third party”

In this situation and with the exception in the first post the situation, imho, would be as I described, I would be in violation and the license status of the person I share my design with (third party) is unlicensed.

My proposal does it a bit different, it allows me to, instead of forcing the CC license on anyone using my design, to redistribute the parts I included in my design as my ‘own’ (basically implementing the explanatory text), provided I take full responsibility. If for any reason the third party would come complain at a contributor he can point to this agreement and make clear that I agreed to take responsibility. This is better than determining it in court, trust me on that.

So to get back to you on that section 5 of the license provides this: Yes, for the relationship between any contributor and licensee (KiCad user), my similar term was to make clear that in cases where the CC license isn’t applied the contributor is still protected from liabilities.

Ok now it is a bit clearer to me.

Just to add more information about the wording posted by @SchrodingersGat:
Accourding to Wayne it is the wording suggested by the legal department of CERN.

2 Likes

I’m confused why you think there is a default to full copyright? Waiving Section 3 waives only attribution and sharing of adapted works, but the rest of the license still applies.

(1) appears to be the same thing just in different words. I think documentation could be covered as part of “an electronic design” since that is not really defined, but additional clarification would not hurt. I think there is a problem with “seperable form”, both symbols and footprints can be trivially extracted from a KiCad project (there is a menu action to do it) and put into a separate file, which could then be used outside the project.

(2) seems superfluous, it is covered by Section 5 of CC-BY-SA.

Overall I think @SchrodingersGat proposal is fine, I think the wording of the exception was proposed by Javier Serrano from CERN, I think he is knowledgeable of the legal side. It seems to address the needs of all constituents, and the CC-BY-SA license is fairly widely recognised and most nearly appropriate for this type of work.

I’ve seen mention of a CLA (Contributor License Agreement) which would help managing submissions and when giving attribution, but as I understand copyright can only be transferred to a legal entity, either a named individual or a company. An “open source project” is not a legal entity, so that is not possible.

Probably, we could benefit from a mini-FAQ to outline what things are permitted and what obligations are incurred for some typical cases.

2 Likes