Creality violating Klipper license?

As far as I know, the new Creality K1 printer comes with a modified version of Klipper. Since Klipper is released under the GPLv3 license, Creality would be obliged to provide the source code as well, including all of their modifications. I could not find the source code online, so I asked the Creality support. I got a quite fast answer (next day):

Dear customer,
I’m sorry, the source code of K1 is not open yet.

I was expecting something like this, still I replied stating once more that they are obliged to hand out the source code due to the license, but I still got this:

Dear valued customer,

Thank you for contacting Creality customer support.

We understand your request for certain information pertaining to one of our products or services.

We would like to inform you that the information in question is confidential and cannot be divulged to anyone outside our organization without proper authorization.

We follow strict protocols to safeguard confidential information against unauthorized access, use, or disclosure.

We apologize for any inconvenience this may cause, and we appreciate your patience and understanding.

You could find information thats already opensourced in Creality · GitHub

If you have any further queries or concerns, please do not hesitate to contact us, and we will be glad to assist you.

Thank you for choosing Creality.

Sincerely,

I presume, Creality has not received any special license, since to my knowledge Klipper is not dual licensed. To my knowledge, they have modified Klipper and added long-wanted support for the HX711 for bed leveling etc, so I really would like to have a look at this. What should we do now? Maybe Kevin or one of the other maintainers can say a word about this. I could try to get in contact with some people with experience how to act against GPL violations. Shall I try this?

2 Likes

Report here : 3D Printer GPL Violation List - TH3D Studio LLC

This blacklist and forums, and reviews had some results, see the “Compliance Achieved” list.

To their defense (it’s been true for Tevo, a few years back), software is sometime outsourced, and the companies are only given binaries, not sources. Still a violation BTW !

1 Like

Ping @koconnor
If someone wants to initiate actions, it should be Kevin or in alignment with him

2 Likes

We had the same already with Marlin.

AFAIK that time Naomi Wu mediated.

Klipper is licensed under the GNU GPLv3 ( klipper/COPYING at master · Klipper3d/klipper · GitHub ) . Any redistribution of that code is required to follow the license. I have not dual-licensed the code nor provided any exceptions.

-Kevin

2 Likes

Thanks. Do you want to take any action in this case?

The most obvious one would be to contact Naomi Wu and point out her previous involvement.
Maybe she can help again.

1 Like

As @Sineos pointed out, this (or anything similar) needs to be done either by @koconnor or at least with his explicit consent. So far he just confirmed my understanding that Creality needs to comply with the GPL3 license.

At this time, I don’t feel I have done enough research on the current situation to make a statement.

Cheers,
-Kevin

1 Like

Good luck figuring out, and arriving at a mutually beneficial outcome.

Yes it would be nice to look at thier support for the HX711!

Following this. Creality is in blatant violation of this license as they have been in the past with Marlin and the Sonic Pad.

The fact that Qidi seem to be honoring the license terms for the software and firmware they are using in their new X-Plus/Max-3 series is why I ordered one of those printers as opposed to, say, the Creality K1.

I’m not sure how best to tell both Creality and Qidi that this was one of the most important factors in my decision, but posting it here seems to be a start.

5 Likes

So how do we go about reporting another company, Elegoo, for not sharing their modified Klipper code?

from: A Practical Guide to GPL Compliance - Software Freedom Law Center

Looks like they can just ignore any action until 30 days after Mr. O’Conner officially notifies them of license infringement from my reading of the below.

"

5.2 Termination

Many redistributors overlook GPL’s termination provision (GPLv2 § 4 and GPLv3 § 8). Under v2, violators forfeit their rights to redistribute and modify the GPL’d software until those rights are explicitly reinstated by the copyright holder. In contrast, v3 allows violators to rapidly resolve some violations without consequence.

If you have redistributed an application under GPLv29, but have violated the terms of GPLv2, you must request a reinstatement of rights from the copyright holders before making further distributions, or else cease distribution and modification of the software forever. Different copyright holders condition reinstatement upon different requirements, and these requirements can be (and often are) wholly independent of the GPL. The terms of your reinstatement will depend upon what you negotiate with the copyright holder of the GPL’d program.

Since your rights under GPLv2 terminate automatically upon your initial violation, all subsequent distributions are violations and infringements of copyright. Therefore, even if you resolve a violation on your own, you must still seek a reinstatement of rights from the copyright holders whose licenses you violated, lest you remain liable for infringement for even compliant distributions made subsequent to the initial violation.

GPLv3 is more lenient. If you have distributed only v3-licensed programs, you may be eligible under v3 § 8 for automatic reinstatement of rights. You are eligible for automatic reinstatement when:

  • you correct the violation and are not contacted by a copyright holder about the violation within sixty days after the correction, or
  • you receive, from a copyright holder, your first-ever contact regarding a GPL violation, and you correct that violation within thirty days of receipt of copyright holder’s notice.

In addition to these permanent reinstatements provided under v3, violators who voluntarily correct their violation also receive provisional permission to continue distributing until they receive contact from the copyright holder. If sixty days pass without contact, that reinstatement becomes permanent. Nonetheless, you should be prepared to cease distribution during those initial sixty days should you receive a termination notice from the copyright holder.

Given that much discussion of v3 has focused on its so-called more complicated requirements, it should be noted that v3 is, in this regard, more favorable to violators than v2.
"

1 Like

Klipper is GPL v3. Creality etc. wouldn’t care about this even if it were GPL v2.

I think this is actually the reasoning behind the change in the GPL: A legit user who is willing to obey the license might still violate it without bad intentions, simply by mistake. With GPL v2 he then has to stop immediately distributing his software until all copyright holders explicitly reinstate his rights, which likely never happens for projects without a CLA (contributor license agreement), because he would have to ask every single contributor. Many companies would then not use GPL v2 licensed software out of fear a minor mistake could ruin their business. On the other hand, a bad guy such as Creality does not care either way and just continues to violate the license.

This does not help the open source communities at all.

In any case, unless Kevin (or another major contributor) is willing to take legal actions against each individual case, all this is pointless.

Btw: In the mean time, Creality has release something on Github:

Unfortunately, it is (as far as I can tell) just a copy of Klipper augmented with some binary blobs (MCU firmware and some Linux shared library), so it does not help us in any way to understand how their algorithm is working. In my understanding, this still does not satisfy the GPL license (since this is not LGPL).

Unfortunately Chinese companies seem to be actively encouraged by the CCP to steal IP. They only seem to do the right thing when it’s clear it will hurt their bottom line.

https://carnegieendowment.org/2022/04/25/countering-unfair-chinese-economic-practices-and-intellectual-property-theft-pub-86925

1 Like

I’ve been in the situation of dealing with violating Chinese “companies” and you’ll find that even when you have them dead to rights there’s no practical recourse; Chinese brands tend to be no more than a shell for a larger conglomerate and if there is any kind of significant financial liability they declare them bankrupt and resume operations with a new company/shell.

What “significant financial liability” means is around $2M to $5M out of pocket. Anything less than that then they’ll ignore rulings, foreign court orders, etc. and carry on as if nothing has happened.

I’ve been watching this thread with interest; I don’t think there’s much of a stick that can be used to get companies like Creality into compliance and efforts to bring them into line when it comes to the GPL will effectively come to naught.

1 Like

It’s really nice to see a Chinese printer company doing the right thing by @koconnor and the Klipper community, and produce a very innovative motion system at the same time!

1 Like

I wonder if the firmware.bin file was extracted with binwalk if it would give any insight into what they’ve done with Klipper. It’s unlikely to reveal anything but you start with what you have access to.

I used to use binwalk to extract the firmware on those cheap security camera hub motherboards and they all had hidden users with open SSH ports not visible on the user interface. They all “phone home” as soon as you plug them into your network. They stopped publishing the firmware.bin file for them about 8 years ago and moved to a live update system. So now you have to port scan or monitor them with netstat to see what they’re doing.

If they won’t honor the license terms for Klipper then it could be a security issue, they could have setup hidden logins through Klipper and placed a back door into the users network.

3 Likes