Who can grant permission to repost kicad .exe files?


Kicad is published under various open source copyrights. Does this apply to breaking up the zipped installation folder and distributing only pcbnew and gerberview executable files along with my completed .kicad_pcb file? This would shrink a zip package down to only 29MB.

I have been using Kicad since version 3 and the newer versions are more than I need for my simple two or three component and headers projects. I intend to post a video showing my procedure to create one .kicad_pcb file containing two grounded single pin through hole headers and then copy to a new file under a new project name. Footprints can be imported or created and traces added after disabling design rule checking. Please don’t blacklist me.

Kicad is made up of three parts. Schematic layout, matching existing footprints to the schematic, and building the pcb. My intention is to minimize the first two and get newbies comfortable with pcb design of early projects before proceeding with larger projects that will definitely benefit from looking at the project from the viewpoints of schematic design and then board layout.


The license is GPL and it’s mandatory to distribute the source code if you distribute the binaries. You’re not allowed to distribute even the installer package (which has the software inside it) without distributing the source code.


As for the question in the subject line - each contributor still holds the copyright for their own code, it hasn’t been given away as has been done with some other projects. Therefore it’s not possible to make exception unless every one individual or other party who owns copyright to some part of the source code gives explicit permission. That’s how it goes legally (although IANAL). In practice no one will sue you if redistribute the binaries privately or even publicly.


And still the important disclaimer: I’m not a KiCad developer, and this forum is run by users.


I’m not sure. If you haven’t modified the code, just used portions of it, I think you may be OK because the code is published and available. The real issue is enforcement and if anybody cares to object and take action. I don’t think the copyright holders will object to what you are doing here. Maybe include a link to the source to be safe and explain it is not a full distro.


That would be very tempting, but doesn’t satisfy the legal requirements of the GPL license. At least according to FSF. https://www.gnu.org/licenses/gpl-faq.html#UnchangedJustBinary


I think that is misleading. If not, almost every distro is in violation because they simply make the source available IF AND ONLY IF you choose to download it. It is not automatically pushed out. Here the author can make a link at the point of download to the source. That way they are making it available just as every distro and program does. There is no burden of mandatory packaging of it with each program that is pushed out.


Yes, if we are talking about whether the source must be packaged with the binaries. I thought you meant linking to the original source code repository.

The GPL license and interpetation(s) of it aren’t self evident. But the spirit is clear: if you distribute the binaries you are responsible for making the source code available, too. You can’t “outsource” the source code distribution by just linking to the source code repository provided by someone else. How you can actually do that to comply isn’t completely clear; FSF says you are responsible so that when the binaries are available, the source provided by you must also be available.


Thanks for the quick replies. I think the best course would be to publish the URL of the archive containing the full downloads and do a longer howto slide show listing steps to produce the copy, paste, and rename .kicad_pcb file. Getting the full package into the hands of users may offset the demands of uploading the 300MB or so packages.


Under that interpretation I’m violating the GPL when I seed bittorrent for a distro.


GPL is old. The world has changed. See https://www.gnu.org/licenses/gpl-faq.html#BitTorrent

Edit: apparently you are violating GPL v2.


And yet when I was a Mandrake/Mandriva early seeder it was at their request. It is my understanding Torvalds has point blank refused to move the kernel to 3. (also known as the ‘Tivo’ edition? :wink: ) So, all of these distros that give links to torrents are knowingly in violation?

None of this matters unless you get someone willing to take you to court and a judge that agrees with them. Even then, if the judge considers ‘make available’ satisfied with a link, then what?


The latest code has this note:

The majority of KiCad’s source code is developed and distributed under the terms
of the GPLv3 or later. However, It does include some third-party code licensed
under AGPLv3 or later.

Both licenses are compatible, but a combined works as is will be governed under
the terms of the AGPLv3 (or later). This includes any binary distribution of the
KiCad EDA suite by the KiCad project or any third party, e.g. Linux distributor.

In practice this still means GPL v3.


It is a legal grey area. That is why they felt the need to clarify it in version 3 of the GPL.

By the way the argument “nothing happens unless somebody sues” is even valid for right out pirating stuff.

I would also not expect that the open source software that gets distributed will sue. But maybe a commercial counterpart to it might see a way to damage the free alternative.


Maybe unknowingly. Yes, you are right about “none of this matters” etc. But legal is legal. Everyone makes their own decisions.

In any case GPL is a curse. Even for most of the developers of Free Software who don’t understand the ramifications of the license. As an end user, don’t think about giving your old Linux machine to a friend as a gift without deleting the OS first…

On the other hand, GPL is probably the only practical way to keep software free. Think about how Apple has used the BSD licensed *nix.


Since all the distro’s I’ve used use bittorrent I would think it will be much harder to get a judge to rule against you on this point. You are carving out exemptions for some but not others.

EDIT: My experience has led me to a ‘practical’ interpretation I guess. I was on Groklaw when Torvalds had to explain why the GPL simply couldn’t and SHOULDN’T be extended to hardware. As I recall, that was the real impetus behind the GPL3.


Contract law is less about legal because a contract is not law. It is an agreement. Courts strike down parts of contracts as unenforceable all the time. Non-competes are seen as interfering with your ‘right to work’, yet show me the law that says I have a right to work?


While pondering on interpretations of GPL is an amusing discussion on it’s own (my take is that you don’t have to provide source all the time, providing it upon request is fine, also providing link to third party host is fine as long as your binary verifiably matches a binary that is built from that source) let’s get back to original question.

Kicad is not just bunch of executable files. If you try to copy just an .exe you will quickly find that it won’t work on it’s own because it needs a whole lot of libraries (.dll or .so and .pyd files). I won’t be surprised if you will end up copying 95% of the bin folder, expect it’s size to be on the order of 100-150mb.


I’m pretty sure the discussion of a ‘reader version’ of Kicad has come up before. Maybe even web based? The problem is disk space and network downloads are not a problem for a lot of people now, especially those doing development so I’d expect the interest to be low given the other priorities.


At least there have been complaints about the large download size of the installer which includes not only the executables, but also the libraries. IIRC the Windows installer size is now about 800M while without the libraries it was about 300M. The /bin folder alone is about 80M zipped (I tried), I don’t know where the rest of it comes.

Creating a very small general purpose standalone installer doesn’t sound realistic, people have different needs, there’s no way to decide what to take and what to leave. Libraries, ngspice, python, gerbview, calculator, cvpcb, some other executables? However, it would be realistic to offer one online installer which would have fine grained choices and would download everything which the user chooses. There could be different predefined choices. Still it wouldn’t be so simple because there may be need for different compilation choices. Some parts may be needed even when the feature is never used after installing.

@Old_Ludite, have you actually tried to remove unneeded parts and run the binaries? Or was it just speculation?