Creality K2 series GPLv3 violation: Difference between revisions
Background update, references pending to be reviewed and cleaned up |
No edit summary |
||
| Line 12: | Line 12: | ||
This licensing issue systemically affects the firmware images distributed across the entire flagship K2 hardware line: | This licensing issue systemically affects the firmware images distributed across the entire flagship K2 hardware line: | ||
*'''K2 SE:''' V2.3.6.49 and V2.3.6.66 (`CR4CU220812S11_ota_img_V2.3.6.49.img`) | *'''K2 SE:''' V2.3.6.49 and V2.3.6.66 (`CR4CU220812S11_ota_img_V2.3.6.49.img`) <ref name="email_demand" /> | ||
*'''K2:''' V1.1.5.5 (`CR0CN200400C10_R_202605061516_ota_img_V1.1.5.5.img`) | *'''K2:''' V1.1.5.5 (`CR0CN200400C10_R_202605061516_ota_img_V1.1.5.5.img`) <ref name="email_demand" /> | ||
*'''K2 Pro:''' V1.1.5.5 (`CR0CN200400C10_R_202605061516_ota_img_V1.1.5.5.img`) | *'''K2 Pro:''' V1.1.5.5 (`CR0CN200400C10_R_202605061516_ota_img_V1.1.5.5.img`) <ref name="email_demand" /> | ||
*'''K2 Plus:''' V1.1.5.5 (`CR0CN240110C10_R_202605081127_ota_img_V1.1.5.5.img`) | *'''K2 Plus:''' V1.1.5.5 (`CR0CN240110C10_R_202605081127_ota_img_V1.1.5.5.img`) <ref name="email_demand" /> | ||
==Incident== | ==Incident== | ||
Creality distributes Cython-compiled shared library objects (`.so`) inside Klipper's core process directory structures (`/usr/share/klipper/klippy/extras/`) without providing the corresponding source code <ref name="creality_forum_tracker" />. These files handle proprietary hardware wrappers and communicate intimately with the GPLv3 host: | Creality distributes Cython-compiled shared library objects (`.so`) inside Klipper's core process directory structures (`/usr/share/klipper/klippy/extras/`) without providing the corresponding source code <ref name="creality_forum_tracker" />. These files handle proprietary hardware wrappers and communicate intimately with the GPLv3 host: | ||
*`serial_485_wrapper.cpython-39.so` (Manages the custom RS-485 serial communication protocol linking the mainboard to the CFS feeder) <ref name="creality_forum_tracker" /> | *`serial_485_wrapper.cpython-39.so` (Manages the custom RS-485 serial communication protocol linking the mainboard to the CFS feeder) <ref name="creality_forum_tracker" /> <ref name="email_demand" /> | ||
*`box_wrapper.cpython-39.so` (Handles logical state routing, filament changes, and multi-material commands) <ref name="creality_forum_tracker" /> | *`box_wrapper.cpython-39.so` (Handles logical state routing, filament changes, and multi-material commands) <ref name="creality_forum_tracker" /> <ref name="email_demand" /> | ||
*`filament_rack_wrapper.cpython-39.so` (Controls physical spool selection, drive gears, and filament runout sensors inside the CFS) <ref name="creality_forum_tracker" /> | *`filament_rack_wrapper.cpython-39.so` (Controls physical spool selection, drive gears, and filament runout sensors inside the CFS) <ref name="creality_forum_tracker" /> <ref name="email_demand" /> | ||
*`motor_control_wrapper.cpython-39.so` (Governs specialized stepper motor accelerations and hardware-level load balancing) <ref name="creality_forum_tracker" /> | *`motor_control_wrapper.cpython-39.so` (Governs specialized stepper motor accelerations and hardware-level load balancing) <ref name="creality_forum_tracker" /> | ||
*`prtouch_v2_wrapper.cpython-39.so` (Governs strain-gauge-based automatic bed leveling and nozzle probing) <ref name="creality_forum_tracker" /> | *`prtouch_v2_wrapper.cpython-39.so` (Governs strain-gauge-based automatic bed leveling and nozzle probing) <ref name="creality_forum_tracker" /> | ||
*`prtouch_v3_wrapper.cpython-39.so` (Handles advanced real-time Z-axis compensation algorithms) <ref name="creality_forum_tracker" /> | *`prtouch_v3_wrapper.cpython-39.so` (Handles advanced real-time Z-axis compensation algorithms) <ref name="creality_forum_tracker" /> | ||
Following a formal compliance demand issued on May 14, 2026, and an official acknowledgment from front-line support on May 15, 2026 <ref name=" | Following a formal compliance demand issued on May 14, 2026, and an official acknowledgment from front-line support on May 15, 2026 <ref name="email_demand" />, a 14-day compliance deadline was established on May 20, 2026 <ref name="email_demand" />. Because compliance was not met, a formal license complaint was logged with the Software Freedom Conservancy (SFC) and the Free Software Foundation (FSF) on May 28, 2026 <ref name="email_demand" />. Creality continues to distribute the K2 hardware and locked-down firmware images to retail consumers while remaining in active violation of the GPLv3 license terms. | ||
===Creality's Response & Admissions=== | ===Creality's Response & Admissions=== | ||
Throughout May 2026, the community documented a highly structured deflection loop used by Creality's front-line support staff to handle GPL inquiries, frequently issuing direct denials or stalling templates <ref name="creality_forum_tracker" />. | Throughout May 2026, the community documented a highly structured deflection loop used by Creality's front-line support staff to handle GPL inquiries, frequently issuing direct denials or stalling templates <ref name="creality_forum_tracker" />. | ||
On May 15, 2026, Creality Customer Service formally acknowledged the initial source code application, stating: *"We have officially forwarded your application for the complete GPLv3 source code for all firmware versions of the K2 series to our R&D team for processing. ... Please stay tuned for further announcements on our official website."* <ref name=" | On May 15, 2026, Creality Customer Service formally acknowledged the initial source code application, stating: *"We have officially forwarded your application for the complete GPLv3 source code for all firmware versions of the K2 series to our R&D team for processing. ... Please stay tuned for further announcements on our official website."* <ref name="email_demand" /> | ||
On May | On May 20, 2026, investigator Alex Mercer rejected the indefinite "stay tuned" timeline, establishing a strict 14-day compliance deadline under threat of escalation to the FSF and SFC <ref name="email_demand" />. | ||
On May | On May 24, 2026, Creality sent a written response detailing their inability to provide immediate source code matching the distributed binaries: | ||
<blockquote>"Due to the involvement of custom firmware modules, underlying dependencies, and the need to clarify copyrights from multiple parties, the compilation of relevant materials requires a considerable period of time. Currently, we are unable to directly provide the corresponding source code or updated repository links." <ref name="email_demand" /></blockquote> | |||
On May 31, 2026, Creality deflected subsequent inquiries regarding the legal implications of copyleft contamination, closed active communication on the ticket, and forwarded the entire case history to their internal legal department and R&D managers without providing a compliance timeline <ref name=" | On May 29, 2026, Creality issued a follow-up response confirming that *"cleaning up a fully compliant source code package without affecting commercial proprietary code does require an internal process that, for now, does not have a publicly available timeline."* <ref name="email_demand" /> Open-source legal experts note that this statement serves as an explicit corporate admission that proprietary commercial code was actively compiled and dynamically linked into a distributed GPLv3 copyleft work—an architectural contamination directly forbidden under the license guidelines. | ||
On May 31, 2026, Creality deflected subsequent inquiries regarding the legal implications of copyleft contamination, closed active communication on the ticket, and forwarded the entire case history to their internal legal department and R&D managers without providing a compliance timeline <ref name="email_demand" />. | |||
==Consumer Response & Hardware Bypass== | ==Consumer Response & Hardware Bypass== | ||
| Line 56: | Line 58: | ||
==References== | ==References== | ||
<references> | <references> | ||
| refs = | |||
<ref name="creality_forum_launch">[https://forum.creality.com/t/creality-open-source-3d-printer-firmware-is-here/47218 "Creality Open-Source 3D Printer Firmware is Here!"], Official Creality Forum.</ref> | <ref name="creality_forum_launch">[https://forum.creality.com/t/creality-open-source-3d-printer-firmware-is-here/47218 "Creality Open-Source 3D Printer Firmware is Here!"], Official Creality Forum.</ref> | ||
<ref name="creality_forum_tracker">[https://forum.creality.com/t/where-are-the-required-to-be-released-sources-for-crealitys-modifications-to-klipper-the-k2/30019 "Where are the (required to be released) sources for Creality's modifications to Klipper the K2"], Creality Forum Tracker.</ref> | <ref name="creality_forum_tracker">[https://forum.creality.com/t/where-are-the-required-to-be-released-sources-for-crealitys-modifications-to-klipper-the-k2/30019 "Where are the (required to be released) sources for Creality's modifications to Klipper the K2"], Creality Forum Tracker.</ref> | ||
<ref name=" | <ref name="email_demand">[https://archive.org/details/creality-k-2-gplv-3-compliance-demand-may-2026 "Creality K2 GPLv3 Compliance Demand Correspondence Logs (May 2026)"], Hosted on the Internet Archive.</ref> | ||
<ref name="reddit_k2">[https://www.reddit.com/r/Creality/comments/1hcer2j/k2_plus_firmware_source_code/ "K2 Plus Firmware Source Code"], r/Creality Community Discussion.</ref> | <ref name="reddit_k2">[https://www.reddit.com/r/Creality/comments/1hcer2j/k2_plus_firmware_source_code/ "K2 Plus Firmware Source Code"], r/Creality Community Discussion.</ref> | ||
<ref name="klipper_discourse_k2">[https://klipper.discourse.group/t/creality-k2-plus-and-gpl-violations/22402 "Creality K2 Plus and GPL violations"], Klipper Discourse Group.</ref> | <ref name="klipper_discourse_k2">[https://klipper.discourse.group/t/creality-k2-plus-and-gpl-violations/22402 "Creality K2 Plus and GPL violations"], Klipper Discourse Group.</ref> | ||