Nach mehreren Jahren der Entwicklung, die durch die Pandemie, unterbrochene Lieferketten und den Krieg in Europa erschwert wurde, haben wir heute unser neuen Original Prusa MK4 angekündigt. Wir haben vor zwei Wochen mit der Auslieferung der ersten Einheiten des XL begonnen. Es gibt einen kommenden PrusaSlicer 2.6 mit organischen Stützen und vielen anderen großartigen Funktionen. Unser Firmware-Team ist dabei, die eigene Implementierung von Input Shaping (Vibrationsunterdrückung) für den MK4 und XL abzuschließen. Außerdem gibt es die neue MMU3, mit komplett neu geschriebener Firmware und vielen Verbesserungen.

Die oben genannten und viele andere Dinge, die wir bei Prusa Research seit über zehn Jahren tun, waren nur dank der großartigen 3D-Druck-Community und der Open-Source-Philosophie möglich. Die neuen Drucker und Softwareversionen haben mich jedoch erneut zum Nachdenken über den aktuellen Stand von Open Source in der Welt des 3D-Drucks gebracht. Wie nachhaltig sie ist, wie unsere Konkurrenten damit umgehen, was sie der Gemeinschaft bringt und was uns als Entwickler Sorgen bereitet. Betrachten Sie diesen Artikel als Aufruf zur Diskussion – als Anstoß, der (hoffentlich) eine neue Perspektive auf die Verbindung zwischen Open-Source-Lizenzierung, Consumer-Hardware und Software-Entwicklung eröffnen wird.

Bevor ich beginne, möchte ich ein paar Dinge klarstellen, um Missverständnisse zu vermeiden:

  • Wir stehen zu unseren Wurzeln im Bereich Open Source und werden dies auch weiterhin tun.
  • Unsere Desktop 3D-Drucker werden immer Open Source sein. Wir beabsichtigen, auch weiterhin Kunststoffteile sowie die Quellcodes der Firmware zu veröffentlichen.
  • Wir bleiben offen für Komponentenhersteller, Zubehör, Erweiterungen und inoffizielle Upgrades von Drittanbietern.
  • PrusaSlicer wird immer Open Source sein.
  • Unsere Investitionen in den PrusaSlicer und die Firmware-Entwicklung werden auf gleichem oder höherem Niveau fortgesetzt.

Während des letzten Jahrzehnts war ich immer gegen Unternehmen, die sich im Laufe der Zeit von der Open-Source-Gemeinschaft abgewandt haben und schließlich zu Closed-Source wurden. Ich möchte nicht, dass Prusa Research den gleichen Weg einschlägt. Patente großer Unternehmen haben die Welt des 3D-Drucks von Anfang an eingeschränkt, und Projekte wie RepRap haben ihr geholfen, aus diesem Griff auszubrechen. Als 2014 mehrere wichtige Patente von Stratasys ausliefen, konnte die Open-Source-Entwicklung endlich mit voller Kraft durchstarten.

 

Jeder, der heute etwas im Zusammenhang mit dem 3D-Druck entwickelt, profitiert von mehr als zehn Jahren kontinuierlicher Open-Source-Entwicklung. Hunderte von Einzelpersonen und Dutzende von Unternehmen haben dazu beigetragen, die Branche dorthin zu bringen, wo sie heute steht. Die Vorstellung, dass Sie einen 3D-Drucker mit seiner Firmware und Software in ein oder zwei Jahren von Grund auf neu entwickeln können, ist eine Illusion. Wir werden immer auf den Schultern von Leuten wie Adrian Bowyer (Gründer des RepRap), Alessandro Ranellucci (Originalautor von Slic3r), David Braam (Originalautor von Cura), Scott Lahteine (Marlin-Maintainer) und vielen anderen stehen. Zumindest sie alle verdienen öffentliche Anerkennung und Dank, wenn jemand ihre Arbeit verwendet. Und das bringt uns zu dem, was mir Sorgen macht.

Die Open-Source-Bewegung beruht darauf, dass alle Beteiligten nach den gleichen Regeln spielen. Ohne gegenseitigen Respekt, Verständnis und ein gemeinsames Ziel geht es nicht. Wenn jemand plötzlich die Regeln zu seinem eigenen Vorteil verbiegt oder offen gegen sie verstößt, macht die Gemeinschaft klar, dass sie das nicht dulden wird. In der Vergangenheit haben wir viele Proteste und Boykotte erlebt, die selbst große Unternehmen dazu gezwungen haben, ihren Umgang mit dem Open-Source-Erbe zu überdenken. Aber in den letzten Jahren habe ich das Gefühl, dass sich die Situation ändert. Immer mehr Unternehmen brechen und beugen die Regeln, und die Gemeinschaft ist nicht mehr annähernd so resistent gegen ihre Aktionen wie früher. Nach einem kleinen Internetsturm beruhigt sich die Lage, der Code bleibt geschlossen (oder nur ein Teil davon wird geöffnet), und nach ein paar Wochen ist alles vergessen.

In der Zwischenzeit habe ich Informationen über Unternehmen erhalten, die damit begonnen haben, lokale Patente auf der Grundlage von Open-Source-Entwicklungen und Marken anzumelden (Sie wären überrascht, wie viele von ihnen „Prusa“ in ihrem Namen tragen). Über Unternehmen, die sich teilweise im Besitz von staatlichen Unternehmen und Institutionen befinden und Open-Source-Code in ihren geschlossenen Systemen verwenden und damit gegen Lizenzen verstoßen.

Natürlich lassen sich nicht alle Verstöße gegen Open-Source-Lizenzen leicht nachweisen, aber wenn Sie einen Blick in die Geschichte werfen, werden Sie feststellen, dass es nicht das erste Mal wäre, dass etwas Ähnliches passiert ist. Ein Beispiel für alle sind die Solarzellen – die ursprünglichen Erfindungen und Verfahren wurden nach und nach von chinesischen Unternehmen kopiert. Danach haben sie mit Hilfe staatlicher Subventionen und Steuererleichterungen innerhalb weniger Jahre jegliche Konkurrenz aus dem Markt gedrängt. Heute haben Sie praktisch keine Chance mehr, ein nicht in China hergestelltes Solarpanel zu kaufen.

Ich hoffe, dass dies in der Welt des 3D-Drucks nicht passieren wird. Aber die Wahrheit ist, dass wir vielleicht das letzte große 3D-Druckunternehmen sind, das sich vollständig an die Open-Source-Prinzipien hält. Und ich würde mich freuen, wenn es mehr von uns gäbe.

Wir haben jahrelang an der Open-Source-Entwicklung gearbeitet, sei es durch Beiträge zu den ursprünglichen Repositories oder später in unseren eigenen Hardware-, Firmware- und Slicer-Forks. Unser internes PrusaSlicer-Team besteht aus 13 Personen und das Firmware-Team aus 21 – das sind Hunderttausende von Arbeitsstunden allein in den letzten fünf Jahren.

Seit mein Bruder und ich mit dem 3D-Drucken begonnen haben, haben wir (zusammen mit unseren Kollegen später) eine ganze Reihe von Beiträgen entwickelt, die Sie heute auf fast jedem Heim-3D-Drucker finden können (Open-Source oder nicht). Ob PCB-Heizbett, abnehmbare Druckbleche, pulverbeschichtetes PEI, das direkt auf Metall aufgetragen wird, automatische Gitter Nivellierung des Betts mit Hilfe eines induktiven Sensors, Power Panic, fortschrittlicher Schutz vor thermischem Durchgehen, automatische Kalibrierung der schiefen Achse, sensorlose Referenzierung und vieles mehr – ich würde niemals in Erwägung ziehen, einen dieser Beiträge zu patentieren und sie nicht mit der 3D-Druckergemeinschaft zu teilen.

 

Eines unserer ersten Heizbetten

Und das sind nur die Dinge, die mit der Firmware und den Druckern zu tun haben. Abgesehen davon hat PrusaSlicer so viele Änderungen erfahren, dass der ursprüngliche Slic3r von Alessandro unter all den neuen Ergänzungen praktisch unsichtbar ist (und dennoch heben wir das Erbe von Slic3r in der Hauptleiste und anderswo weiterhin hervor). Werfen Sie übrigens einen Blick auf die Dokumentation von PrusaSlicer auf unserer Webseite oder unseren frischen Twitter Account, wo Sie nützliche Tipps und Tricks finden!

PrusaSlicer ist ein großartiges Beispiel dafür, was Open Source bringen kann, aber es zeigt auch einige der Risiken auf, die ich noch nicht erwähnt habe. Ein positives Beispiel ist die Einbindung erstaunlicher Community-Beiträge wie adaptives kubisches Infill oder Baumstützen, die Sie bald in PrusaSlicer 2.6.0 in Form von organischen Stützen sehen werden. Auch die Zusammenarbeit mit dem Team hinter Cura ist großartig. Wir haben den Arachne-Perimeter-Generator und das Lightning Infill von Cura bekommen und uns mit z.B. einem monotonen Infill oder dem Bett Management System revanchiert.

Leider gibt es auch eine Kehrseite. Die Übernahme von Funktionen zwischen konkurrierenden Slicern macht nur dann Sinn, wenn die Beiträge der einzelnen Parteien zumindest teilweise ausgeglichen sind und die Autoren korrekt zitiert werden. Und das ist nicht immer der Fall.

Und dann sind da noch die Beiträge der Community. Aufgrund der Beliebtheit von PrusaSlicer stellen viele Leute ihre Pull Requests auf GitHub ein und erwarten, dass ihr Code automatisch in den Hauptzweig aufgenommen wird. PrusaSlicer hat sich jedoch im Laufe der Jahre zu einem hochkomplexen Programm entwickelt, und solche Beiträge sind in der Regel „One-Trick-Ponys“ – sie lösen ein Problem, das einen bestimmten Benutzer stört. Doch gleichzeitig machen sie andere Funktionen kaputt. Unsere Entwickler müssen den Großteil des externen Codes optimieren, ändern oder sogar komplett neu schreiben, um alles stabil und zuverlässig zu halten. Wir überarbeiten ständig große Teile des ursprünglichen Codes in PrusaSlicer, und es ist nicht einfach, alles stabil zu halten. Wenn Sie mehr zu diesem Thema hören möchten, sehen Sie sich die Präsentation von Vojta Bubnik (leitender PrusaSlicer-Entwickler) an, die er für unsere spezielle Veranstaltung am CERN vorbereitet hat – Präsentation beginnt bei 00:25).

Es soll nicht so klingen, als würde ich mich über die Beteiligung der Community an der Entwicklung beschweren – im Gegenteil, wir sind dankbar für alle externen Beiträge. Aber die Entwicklung durch die Community ist nicht der Hauptgrund, warum wir unsere Produkte als Open Source anbieten.

Unser Hauptziel war es immer, unsere Drucker einfach zu warten und zu modifizieren, damit Menschen und Unternehmen mit Software und Hardware spielen und experimentieren können. Wir sind begeistert von den erstaunlichen Modifikationen und Erweiterungen von Drittanbietern für unsere 3D-Drucker (<ein schönes Beispiel ist hier)! Und eines der schönsten Erlebnisse und eine unserer größten Motivationen ist es, wenn Eltern mit ihren Kindern einen 3D-Drucker-Bausatz bauen und so nach und nach lernen, wie das Gerät funktioniert.

Cooles Upgrade für unsere Drucker, vorbereitet vom Team des ZHAW Institute of Mechatronic Systems

Aber zurück zum Thema – was gefällt uns nicht am aktuellen Stand der Open-Source-Entwicklung im Bereich des 3D-Drucks? Um das zu verdeutlichen, fasse ich es in ein paar Stichpunkten zusammen:

  • Die Standardlizenz GNU GPL, unter der unsere Drucker und Software verfügbar sind, ist sehr vage, kompliziert geschrieben und offen für verschiedene Interpretationen. Sie wurde von Akademikern für akademische Zwecke entwickelt. Die 3D-Druck-Community hat begonnen, sie für Hardware zu verwenden, für die sie nicht ganz geeignet ist. Ein Verstoß gegen diese Lizenz kann nach dem Urheberrecht durchgesetzt werden, aber diese Bestimmungen sind in jedem Land unterschiedlich und mögliche Streitigkeiten können langwierig und teuer sein.
  • Auf dem aktuellen Markt für 3D-Drucker und die dazugehörige Software interpretieren viele Unternehmen Open-Source-Lizenzen auf ihre Weise. Oft geben sie den Quellcode nicht oder nur teilweise frei, und das auch nur, nachdem die Community sie unter Druck gesetzt hat.
  • Es gibt 1:1-Klone von Hardware oder Software auf dem Markt, die der Gemeinschaft nichts zurückbringen.
  • Wenn Code übernommen wird, werden Copyright-Kopfzeilen und Protokolle der Entwicklungsgeschichte oft aus den Repositories gelöscht, wodurch jede Spur der Autoren des ursprünglichen Codes verwischt wird.
  • Geräte- oder Softwarehersteller, die Open Source verwenden, würdigen die ursprünglichen Autoren nicht ausreichend. In ihren Willkommensbildschirmen, Readme-Dateien oder Webseiten finden Sie oft keine Informationen über die Herkunft des Produkts.
  • Beiträge zu gemeinsam genutzten Repositories sind nicht gleich – mit anderen Worten, einige Parteien übernehmen Verbesserungen von anderen, tragen aber selbst nicht bei.
  • Es besteht der Verdacht, dass neue kommerzielle Projekte auf der Grundlage von Open Source-Projekten entstehen. Ihr Code ist jedoch geschlossen, und sie melden lokale Patente an, die schließlich global ausgeweitet werden können.

Alle diese Punkte implizieren auch mögliche Abhilfemaßnahmen. Die Frage ist, wie man sie erreichen kann, während man gleichzeitig Open Source bleibt und die Gemeinschaft unterstützt. Vor einiger Zeit habe ich angefangen, über eine neue Lizenz nachzudenken, die diese Probleme deutlicher anspricht. Also habe ich ein paar Arbeitspunkte zusammengestellt, die ich gerne in einer solchen Lizenz sehen würde:

  • Wenn Sie Code oder Entwürfe verwenden, um Software oder Hardware auf den Markt zu bringen, muss die Urheberschaft des Originalcodes deutlich auf dem Produkt oder in der Software angegeben werden. Außerdem ist es verboten, Copyright-Informationen aus den Headern und der Historie von Repositories zu löschen.
  • Die Herstellung von nahezu exakten 1:1-Klonen für kommerzielle Zwecke ist nicht erlaubt.
  • Die Lizenz zur Herstellung von Ersatzteilen gilt für Service-, Modifikations- oder Ausbildungszwecke.
  • Aufrüstungen und zusätzliche Modifikationen auf Basis von Originalteilen sind erlaubt und willkommen.
  • Teile, die als Verbrauchsmaterial angesehen werden können (z.B. Thermistoren, Heizblöcke, Lüfter, Druckplatten usw.), können nach Prüfung durch den Lizenzgeber anhand von Mustern hergestellt und kommerziell verkauft werden.
  • Wenn ein Produkt vom Hersteller als veraltet gekennzeichnet ist (oder länger als 3 Monate nicht gekauft oder bestellt werden kann), erlischt die nicht-kommerzielle Klausel automatisch, wenn identische Teile im Rahmen des Nachfolgers des Produkts nicht mehr hergestellt werden oder nicht separat erworben werden können.
  • Wenn der Lizenzgeber seine Tätigkeit einstellt, wird die nichtkommerzielle Klausel beendet.

Bereits jetzt, mit der Veröffentlichung des MK4, werden wir Modelle aller Kunststoffteile und Firmware-Quellen zur Verfügung stellen (sie sind bereits seit der Veröffentlichung der ersten XL-Firmware verfügbar). Aufgrund der aktuellen Lage auf dem Markt für elektronische Bauteile und der oben beschriebenen Probleme werden wir die Elektronikpläne jedoch noch nicht überstürzt veröffentlichen. Wir würden sie gerne bereits unter der neuen Lizenz veröffentlichen.

Im Grunde genommen möchte ich mit diesem Artikel eine Diskussion anstoßen. Ich möchte hören, was Sie darüber denken, und ich würde gerne prominente Persönlichkeiten aus dem Open-Source-Bereich, Youtube-Persönlichkeiten, Journalisten und andere 3D-Druck- und Open-Source-Hardware-Unternehmen in die Gespräche einbeziehen. Wenn wir uns alle einig sind, dass die derzeitige Situation nicht ideal ist, lassen Sie uns gemeinsam daran arbeiten, sie zu verbessern.