Default libraries: GPL licencing vs proprietary designs

Today I’ve stumbled upon one interesting topic concerning licensing aspects of the default Kicad libraries (for symbols and components).

As we know, Kicad is licenced under GNU GPL v2. And this means the libraries provided with the package fall under this license too. In the essence, this license means all the derivatives must be licensed under the same or less restrictive terms (open source provided free of charge).
Now, my question: What happens if I use these libs in non-GPL more restrictively licensed (closed source) product I create? Would I violate the license If I don’t redistribute the “sources” of my design? Should I avoid completely the GPL libraries and create mines from the scratch?

I don’t have a legal answer for you, only that I believe for a professional project it’s always safest to create and verify your own library.

I think many people assume that the GPL license for kicad works in an analogous way to object code generated by GCC from its GPL licensed library code, where the compiled object code is no longer covered by the GPL and doesn’t infect the output object code or program (which can be licensed anyway the author desires). However, AFAIK, this is only occurs because of an explicit exception which has been added to GCC’s license.

There doesn’t seem to be an exception in Kicad’s license, so I would assume that if the part libraries aren’t licensed under a separate more liberal license that I’ve not been able to find, then the gerbers that Kicad creates using those libraries are also GPL licensed since they are a derivative work. Also, IANAL, but that’s my take on it.

I think it would be in Kicad’s best interest if a similar exception was attached to Kicad’s license, but I don’t know if there is any interest in doing that.

On the second thought, say using LibreOffice (including fonts) doesn’t extent their GPL license to papers you write. I could see Kicad and its libraries and designs done in Kicad exactly like that.

There was a discussion about this on the developer mailing list a year or so ago. As far as I can tell schematic symbols and footprints are not “creative works”, i.e. they represent factual information. This means normal copyright cannot be applied. As long as the schematic component or footprint is not created from information under NDA or similar it should be safe to use.

This extends to schematics and mechanical drawings as well. There are other restrictions that can be placed on the design such as design rights, patents and “brand identity” (see Fluke vs. Sparkfun), but the schematic or mechanical drawing itself as a description of a physical construction can’t be copyright.

Of course, my interpretation is not based on any formal legal training, just some IP courses whilst working at a university and most of my knowledge is UK-centric.

I hope you are right, but it would be nice to know definitively. BTW, I missed that the library on github is actually licensed LGPL, so referencing footprints from the library won’t infect your project, but that doesn’t apply to the fabrication outputs, which could have bits pulled from the library.

I am a professional computer scientist, and a long-time contributor to open source software. The ratholes into which licensing discussions can disappear are deep and twisty. That said…

The “infectiousness” of the GPL is unclear in non-code settings. GPL software linked (in the object loader linking sense) to non-GPL software only infects the non-GPL software if the non-GPL software is a “derived work” from the GPL. This has often been read to mean that the GPL software is necessary for its operation, and many people think that a GPL software implementing the same interface as a non-GPL package shouldn’t necessarily infect a product it links to. However, the LGPL was created for just this case, so clearly the FSF thinks it would (or might).

That said, in the case of a footprint in particular, two drawings of the same footprint, if they are both correct with respect to the component’s specified footprint, are necessarily identical except for their orientation with respect to the origin (plus or minus some unit-conversion noise). It seems to me that it’s therefore pretty hard to argue that a PCB layout is dependent on library footprints in some fundamental way, since one can simply go to the data sheet (or the standard footprint) for a part and reproduce the footprint in a near-identical fashion.

Schematic symbols have a lot more flexibility, that part isn’t as clear to me … but their essential information (pin numbering, number of pins, etc.) must be the same. I would think a similar argument could be put forward.

For my own part, I license hardware and documentation as CC-BY or one of its derivatives (often CC-BY-SA, which has similar complications to the GPL), since it’s not as obviously source code as … source code is.

On Chris’s point, I think there’s a second part (which I suspect he included) that’s key – you have to vet each of those footprints and schematic symbol pinouts and such carefully anyway, because the standard libraries are not necessarily entirely correct/complete/specced for your part. At that point you might just draw a good footprint/symbol anyway…

Even with KiCad now being under GPLv3. businesses are still concerned.

GPLv3 has the statement: “The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work.

This statement leaves open “what constitutes a covered work?”

While my employer is not “allergic” to GPL licensed tools, it is concerned by the lack of an explicit statement by the KiCad project that “Designs produced using KiCad are the property of the user (or user’s employer) and not the KiCad project nor its sponsors.”

Pointing out that other businesses use KiCad did not reduce their concerns, In particular, they are concerned that SoftPLC, as a sponsor of KiCad, could claim property rights over any/all designs produced by KiCad.

What would be the best way to ask that such a statement be added to KiCad’s terms and conditions?

We have been discussing this very issue over on the developers forum and also on the github pages for the libraries. Currently the provided information is unclear or unavailable.

The general concensus is that designs made using the KiCad libraries are not the property of KiCad, however users redistributing the library set must do so under the license terms set for the libraries.

It becomes a little more complicated as users can contribute back to the libraries, and it becomes then an issue of how to capture their contributions inside the same license.

There is currently work underway to include in-depth library information on the official KiCad website. This will include explicit information on the nature of the licensing of the libraries. In general (non binding) terms, the libraries should be thought of similar to fonts distributed with an office application. This will be done by the v5 release. The libraries themselves are also in for a large overhaul.

We want users to be able to make use of the default libraries without fear of copyright. This makes them more useful and increases the likelihood that people will contribute back to the libraries.

Hopefully this is helpful. I’m not an expert on licensing to please forgive me if any of the information above is incorrect or misleading, that’s not my intent.

2 Likes

To add to what oliver wrote.
Yes we are aware about the problem. For the 3d model libs we decided to go along and make the symbol exception clear:

Sadly for the symbol and footprint libs we did not yet do this. (In part because non of us are legal experts and we are still waiting for a definite answer from the experts at cern.)

More details also over at the issue on github:

1 Like

Thanks.

Any files leaving my department would be either PDFs or Gerber/other manufacturing files, so, I hope, would not include the libraries (or parts of the libraries).

The company’s main concern is the designs. Though, a statement that generated PDF/Gerber/other exported files don’t contain items subject to GPL or other “third party licenses” (other than the PDF/Gerber/other file format licenses) would be very helpful.

We are working on it. As i said the 3d models already include a clear statement similar to the font exception. We (librarians) would like a similar clear exception for all libs.

It also seems the lib is under the predecessor of the lesser GPL. (It is under Library GPL) not under GPL.

A discussion about this was on the mailing list.
https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg16268.html

1 Like

I think that is a valid concern, it is explained a little further here why it might apply in general https://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL. There are several parts of KiCad where it might apply, and when you throw in the libraries it’s even more confusing.The official libraries appear to the user as part of KiCad, since they are installed at the same time, and there is no indication anywhere during the installation that they might have different licensing.

Unfortunately, it’s one of the areas in KiCad where no one seems to have the knowledge or motivation to sort out. I think the project leaders really need to get involved and give some direction.

I don’t think that is a good analogy, because generally the user of an office app is not likely to modify the fonts and re-distribute them, which is likely in the case of KiCad data. Additionally fonts have specific copyright protection depending on their exact type and legal jurisdiction which do not generally apply to data files https://blog.crowdspring.com/2011/03/font-law-licensing/

Both practically and legally, saying KiCad library data is “like a font” is very misleading.

Sharing the kicad-pcb file is more problematic, as it embeds the actual footprint.
This is similar to the issue of a PDF file with embedded fonts

That also might become an issue with the new schematic file format. I would say that the gerber files also reproduce the footprint, and could be considered to be covered works.

I think the elephant in the room, is that engineering data files are not generally covered by copyright, as noted by @Nathan Trying to craft licenses for KiCad data will tend to have a chilling effect on people we would like to use KiCad (as witnessed above), but have absolutely zero practical or legal deterrent to bad actors who copy library data and refuse to share it.

It’s completely impractical to track individual attributions through KiCad data files, so even requiring attribution makes no sense. People might adjust a footprint for their own production process, I really don’t think we care if people share those changes or not. The biggest impediment to sharing is jumping through the hoops of the KLC, and the long backlog of seemingly ignored PRs.

People seem to think that some really bad things might happen if we don’t have a nailed down license, but really it makes no practical difference. We should just declare KiCad data CC0 and have done with it.

1 Like

So to clarify, As long as I play librarian and create the symbols and footprints from scratch, There is no licensing issues for a project?

There should not even be a problem if you use the stuff from the official lib. It might not be that clear currently but i think we will fix it in the long run.

@bobc the problem with cc0 is that it allows for example autodesk to include our lib in their tools without our contributors getting anything back. I think this is the only thing that should be prohibited.
Or at the least i would not explicitly allow it. (Putting something under pulic domain would mean exactly this.)

Footprint images are very unlikely to be copyrightable in the US and Western Europe

I still wish the libraries were under a Creative Commons licence or similar rather than any form of GPL.
Where this leaves symbol and footprint generator code or scripts is another thing - those are source code

There are ideas about using CC-BY-SA 4.0 but even this would need an exeption for one paragraph such that it does not apply to projects created using the assests under this license.
(Specifically Paragraph 3.b: Share alike)

Maybe CC-BY 4.0 would also be an option but this might be again a step too far.

1 Like