Après plusieurs années de développement, compliquées par la pandémie, les chaînes d’approvisionnement perturbées et la guerre en Europe, nous avons annoncé aujourd’hui notre nouvelle Original Prusa MK4. Nous avons commencé à expédier les premières unités de la XL il y a deux semaines. Il y a un prochain PrusaSlicer 2.6 avec les supports organiques et de nombreuses autres fonctionnalités intéressantes. Notre équipe firmware finalise l’implémentation personnalisée de l’input shaping (suppression des vibrations) pour les MK4 et XL. De plus, il y a le nouveau MMU3, avec un firmware entièrement réécrit et des tonnes d’améliorations.
Ce qui précède et bien d’autres choses que nous faisons chez Prusa Research depuis plus de dix ans n’ont été possibles que grâce à l’excellente communauté de l’impression 3D et la philosophie open source. Cependant, les nouvelles imprimantes et les nouvelles versions de logiciels m’ont fait repenser à l’état actuel de l’open source dans le monde de l’impression 3D. À quel point cela est-il durable, comment nos concurrents le gèrent, ce qu’il apporte à la communauté et ce qui nous dérange en tant que développeurs. Considérez cet article comme un appel à la discussion – comme un coup d’envoi qui ouvrira (espérons-le) une nouvelle perspective sur le lien entre les licences open source, le matériel grand public et le développement logiciel.
Avant de commencer, je tiens à clarifier quelques points pour éviter tout malentendu :
- Nous sommes fiers de nos racines dans l’open source et continuerons à l’être.
- Nos imprimantes 3D de bureau seront toujours open source. Nous avons l’intention de continuer à publier des pièces en plastique, ainsi que des codes sources de firmware.
- Nous resterons ouverts aux fabricants de composants tiers, aux accessoires, aux modules complémentaires et aux mises à niveau non officielles.
- PrusaSlicer sera toujours open source.
- Notre investissement dans PrusaSlicer et le développement de firmware se poursuivra au même niveau ou à un niveau supérieur.
Au cours de la dernière décennie, j’ai toujours été contre les entreprises qui se sont détournées de la communauté open source au fil du temps, pour finalement devenir fermées. Je ne veux pas que Prusa Research aille dans la même direction. Les brevets de grandes entreprises ont limité le monde de l’impression 3D depuis le début, et des projets comme RepRap l’ont aidé à sortir de cette emprise. Lorsque plusieurs brevets importants de Stratasys ont expiré en 2014, le développement open source a enfin pu décoller à toute vitesse.
Quiconque développe aujourd’hui quelque chose lié à l’impression 3D bénéficiera de plus de dix ans de développement open-source continu. Des centaines d’individus et des dizaines d’entreprises ont contribué à faire de l’industrie ce qu’elle est aujourd’hui. L’idée que vous pouvez développer une imprimante 3D avec son firmware et son logiciel à partir de zéro en un an ou deux est une illusion. Nous nous appuierons toujours sur les épaules de personnes comme Adrian Bowyer (fondateur de RepRap), Alessandro Ranellucci (auteur original de Slic3r), David Braam (auteur original de Cura), Scott Lahteine (mainteneur de Marlin), et plein d’autres. Tout au moins, ils méritent tous la reconnaissance publique et des remerciements chaque fois que quelqu’un utilise leur travail. Et cela nous amène à ce qui m’inquiète.
Le mouvement open source repose sur le fait que toutes les personnes impliquées jouent selon les mêmes règles. Cela ne peut se faire sans respect mutuel, compréhension et objectif partagé. Lorsque quelqu’un contourne soudainement les règles pour son propre bénéfice ou les viole ouvertement, la communauté montre clairement qu’elle ne le tolérera pas. Dans le passé, nous avons vu de nombreuses protestations et boycotts qui ont forcé même les grandes entreprises à repenser la façon dont elles traitent le patrimoine open source. Mais ces dernières années, j’ai l’impression que la situation change. De plus en plus d’entreprises enfreignent et contournent les règles, et la communauté n’est plus aussi résistante à leurs actions qu’auparavant. Après une petite tempête sur Internet, la situation se calme, et le code reste fermé (ou une partie seulement est ouverte), et au bout de quelques semaines, tout le monde oublie.
Entre-temps, j’ai reçu des informations sur des entreprises qui ont commencé à demander des brevets locaux basés sur le développement open source et des marques déposées (vous seriez surpris de savoir combien d’entre elles ont « Prusa » dans leur nom). À propos d’entreprises détenues en partie par des entreprises et des institutions publiques et utilisant du code open source dans leurs systèmes fermés, violant ainsi les licences.
Bien sûr, toutes les violations open source ne peuvent pas être prouvées facilement, mais si vous regardez l’histoire, vous constaterez que cela ne serait pas la première fois que quelque chose de semblable s’est produit. Un exemple pour tous sont les panneaux solaires – les inventions et procédés originaux ont été progressivement copiés par les entreprises chinoises. Après cela, avec l’aide de subventions de l’État et d’allégements fiscaux, ils ont chassé toute concurrence du marché en quelques années. Aujourd’hui, vous n’avez pratiquement aucune chance d’acheter un panneau solaire non fabriqué en Chine.
J’espère que cela n’arrivera pas dans le monde de l’impression 3D. Mais la vérité est que nous sommes peut-être la dernière grande entreprise d’impression 3D à adhérer pleinement aux principes de l’open source. Et j’aimerais vraiment que nous soyons plus nombreux.
Nous avons passé des années sur le développement open source, que ce soit en contribuant aux dépôts d’origine ou plus tard avec nos forks de nos propres matériel, firmware et slicer. Notre équipe PrusaSlicer interne compte 13 personnes, et l’équipe du firmware en compte 21 – ce sont des centaines de milliers d’heures-homme de travail seulement au cours des cinq dernières années.
Depuis que mon frère et moi avons commencé l’impression 3D, nous avons (avec nos collègues plus tard) proposé toute une gamme de contributions que vous pouvez trouver sur presque toutes les imprimantes 3D domestiques aujourd’hui (open source ou non). Qu’il s’agisse d’un plateau chauffant PCB, de plaques d’impression amovibles, d’un poudrage PEI appliqué directement sur le métal, d’un mesh bed leveling à l’aide d’une sonde inductive, du power panic, d’une protection thermique avancée contre l’emballement, d’une calibration automatique des axes non-perpendiculaires, d’une mise à zéro sans capteur, et bien plus encore – je n’envisagerais jamais de breveter aucune de ces contributions et de ne pas les partager avec la communauté de l’impression 3D.
Un de nos premiers plateaux chauffants
Et ce ne sont que des éléments liés au firmware et aux imprimantes. En plus de cela, PrusaSlicer a subi tellement de changements que le Slic3r original d’Alessandro est pratiquement invisible sous tous les nouveaux ajouts (et pourtant nous continuons à mettre en évidence l’héritage de Slic3r dans la barre principale et ailleurs). D’ailleurs, jetez un oeil à la documentation de PrusaSlicer sur notre site ou notre nouveau compte Twitter, où vous trouverez des trucs et astuces utiles !
PrusaSlicer est un excellent exemple de ce que l’open source peut apporter, mais il démontre également certains des risques que je n’ai pas encore mentionnés. Un exemple positif est l’incorporation de superbes contributions communautaires telles que le remplissage cubique adaptatif ou les supports de type arbre, que vous verrez bientôt dans PrusaSlicer 2.6.0 sous la forme de supports organiques. La collaboration avec l’équipe derrière Cura est aussi géniale. Nous avons le générateur de périmètre Arachne et le remplissage Lightning de Cura, et nous avons rendu la pareille avec, par exemple, un remplissage monotone ou le système de gestion des plateaux.
Vous voulez un aperçu rapide des supports organiques qui arrivent dans PrusaSlicer 2.6 ? Nous avons prédécoupé quelques G-codes pour la MK3, vous pouvez donc les essayer ! Si vous imprimez l’un d’entre eux, nous aimerions voir comment cela s’est passé ou même une vidéo du retrait des supports. 🙂 pic.twitter.com/sQAh1xTDWO
— Prusa3D by Josef Prusa (@Prusa3D) 7 décembre 2022
Malheureusement, il y a un inconvénient. La reprise de fonctionnalités entre slicers concurrents n’a de sens que si les contributions des différentes parties sont au moins partiellement équilibrées et si les auteurs sont cités correctement. Et ce n’est pas toujours le cas.
Et puis il y a les contributions communautaires. En raison de la popularité de PrusaSlicer, de nombreuses personnes soumettent leurs pull requests sur GitHub, s’attendant à ce que leur code soit automatiquement ajouté à la branche principale. Cependant, PrusaSlicer est devenu un programme très complexe au fil des ans, et des contributions similaires sont généralement des « poneys à un tour » – ils résolvent un problème qui dérange un utilisateur particulier. Pourtant, en même temps, ils cassent d’autres fonctionnalités. Nos développeurs doivent optimiser, modifier ou même réécrire complètement la plupart du code externe pour que tout reste stable et fiable. Nous refactorisons constamment de grandes parties du code original dans PrusaSlicer, et garder tout stable n’est pas facile. Si vous voulez en savoir plus sur ce sujet, consultez la présentation de Vojta Bubnik (développeur principal de PrusaSlicer), qu’il a préparée pour notre événement spécial au CERN – la présentation commence à 00:25).
Je ne veux pas donner l’impression que je me plains de l’implication de la communauté dans le développement – au contraire, nous sommes reconnaissants pour toutes les contributions externes. Mais le développement communautaire n’est pas la principale raison pourquoi nous proposons nos produits en open source.
Notre objectif principal a toujours été de rendre nos imprimantes faciles à maintenir et à modifier, afin que les particuliers et les entreprises puissent jouer et expérimenter avec le logiciel et le matériel. Nous sommes ravis de voir les modifications incroyables et les modules complémentaires tiers pour nos imprimantes 3D (un bel exemple est ici) ! Et l’une des meilleures choses à voir, et l’une de nos plus grandes motivations, c’est lorsque les parents construisent un kit d’assemblage d’imprimante 3D avec leurs enfants, apprenant ainsi progressivement le fonctionnement de la machine.
Mise à niveau cool pour nos imprimantes préparées par l’équipe de l’Institut des systèmes mécatroniques ZHAW
Mais revenons au sujet : qu’est-ce que nous n’aimons pas dans l’état actuel du développement open source dans le domaine de l’impression 3D ? Pour que ce soit clair, je vais le résumer en quelques points clés :
- La licence GNU GPL standard sous laquelle nos imprimantes et logiciels sont disponibles est très vague, rédigée de manière compliquée et ouverte à diverses interprétations. Elle a été développée par des universitaires à des fins académiques. La communauté de l’impression 3D a commencé à l’utiliser pour du matériel pour lequel elle n’est pas entièrement adaptée. Une violation de cette licence peut être requise en vertu de la loi sur le droit d’auteur, mais ces réglementations diffèrent dans chaque pays et les litiges potentiels peuvent être longs et coûteux.
- Dans le marché actuel des imprimantes 3D et des logiciels qui les entourent, de nombreuses entreprises interprètent les licences open source à leur manière. Souvent, elles ne publient pas de code source ou n’en publient que des parties, et seulement après que la communauté les ait mis sous pression.
- Il y a des clones 1:1 du matériel ou des logiciels sur le marché qui ne rapportent rien à la communauté.
- Lorsque le code est repris, les en-têtes de copyright et les journaux d’historique de développement sont souvent supprimés des dépôts, effaçant toute trace des auteurs du code d’origine.
- Les fabricants d’appareils ou de logiciels qui utilisent l’open source n’accordent pas suffisamment de crédit aux auteurs originaux. Dans leurs écrans d’accueil, fichiers Lisez-moi ou sites web, vous ne trouverez souvent aucune information sur les origines du produit.
- Les contributions aux dépôts partagés sont inégales – en d’autres termes, certaines parties prennent des améliorations aux autres mais n’y contribuent pas elles-mêmes.
- On soupçonne que de nouveaux projets commerciaux sont créés sur la base de projets open source. Cependant, leur code est fermé et ils demandent des brevets locaux qui peuvent éventuellement être étendus à l’échelle mondiale.
Tous ces points impliquent également d’éventuelles actions correctives. La question est de savoir comment les atteindre tout en restant open source et en soutenant la communauté ? Il y a quelque temps, j’ai commencé à penser à une nouvelle licence pour aborder ces questions plus clairement. J’ai donc rassemblé quelques points de travail que j’aimerais voir dans une telle licence :
- Si vous utilisez du code ou des plans pour commercialiser des logiciels ou du matériel, la paternité du code d’origine doit être clairement indiquée sur le produit ou dans le logiciel. De plus, la suppression des informations de copyright des en-têtes et de l’historique des dépôts est interdite.
- La production de clones presque exactement 1:1 à des fins commerciales n’est pas autorisée.
- La licence pour la fabrication de pièces de rechange est valable pour l’entretien, la modification ou à des fins éducatives.
- Les mises à niveau et les modifications supplémentaires basées sur des pièces d’origine sont autorisées et bienvenues.
- Les pièces pouvant être considérées comme des consommables (par exemple, les thermistances, les blocs de chauffe, les ventilateurs, les plaques d’impression, etc.) peuvent être fabriquées et vendues commercialement après vérification par le concédant sur la base de la présentation d’échantillons.
- Si un produit est étiqueté par le fabricant comme obsolète (ou ne peut pas être acheté ou commandé pendant plus de 3 mois), la clause non commerciale est automatiquement résiliée si des pièces identiques ne sont plus produites avec le successeur du produit ou ne peuvent pas être achetées séparément. .
- Si le concédant cesse son activité, la clause non commerciale est résiliée.
En ce moment, avec la sortie de la MK4, nous mettrons à disposition des modèles de toutes les pièces en plastique et les sources du firmware (elles sont déjà sorties depuis la sortie du premier firmware de la XL). Cependant, en raison de l’état actuel du marché des composants électroniques et des problèmes décrits ci-dessus, nous ne nous précipiterons pas pour publier les plans de l’électronique pour l’instant. Nous aimerions les publier déjà sous la nouvelle licence.
En gros, ce que je voudrais faire avec cet article, c’est démarrer une discussion. Je veux entendre ce que vous en pensez, et j’aimerais inclure des personnalités du domaine de l’open source, des personnalités de Youtube, des journalistes et d’autres sociétés d’impression 3D et de matériel open source dans les discussions. Si nous pouvons tous convenir que la situation actuelle n’est pas idéale, travaillons ensemble pour l’améliorer.
Bonjour,
La licence gnu-gpl a d’abord été conçue pour et par des universitaires pour empêcher que leurs logiciels de recherche soient détournés par un système financier : cette licence, appréciée dans le monde de la recherche, oblige que le travail reste libre de droit. Les termes de cette licence sont intransigeants car la contrainte économique peut être très forte et irrésistible, y compris malgré la bonne volonté des développeurs initiaux à qui leur administration de tutelle (universitaire) « tord le bras » (par des renouvellement de postes ou de contrats) pour que leurs logiciels soient commercialisés (et rapporte de l’argent à la structure).
J’ai des exemples de logiciels (en mathématiques) qui sont devenus payants après avoir accaparés des ressources universitaires, ils ont alors perdu leur rigueur mathématique pour s’orienter vers une plus grande diffusion et moins bien faire ce pour quoi ils avaient initialement prévus. De mémoire, l’un ou l’autre a même été acheté par un « très gros » pour ne plus être utilisé. Au contraire, avec le temps, je remarque que prospèrent et se développent les logiciels sous la licence gnu-gpl.
Les améliorations brouillonnes et non prévues au départ (plus que les corrections) de tout logiciel, si elles sont autorisées, sont de toute façon très pénibles à gérer. Cela devient mission impossible quand les buts suivis ne sont pas exactement les mêmes. Pour ces tests et essais il peut toutefois être possible d’autoriser le « détournement », en quelques points clefs du programme, pour que l’utilisateur fasse appel, à ses risques et périls, à ses propres outils en ces endroits. J’ignore si prusa-slicer le permet à grande échelle (la personnalisation possible de quelques phases clefs de l’impression est une première étape). Cette façon de faire reporte pas mal la mise au point sur l’auteur de ces bibliothèques annexes (et éventuellement lui facilite le travail) sans faire grossir le projet initial (de prusa-slicer) de façon trop importante. Prusa-slicer se transforme ainsi en plateforme d’intégration de nombreuses idées.
La licence libre bsd est pas mal incompatible avec la licence gnu-gpl car elle n’impose pas la distribution du code-source et permet des projets concurrents fermés, tout le contraire de l’état d’esprit recherché ici.
Les instituts de recherche inria en France sont financés par le ministère de la recherche et de nombreux contrats industriels. Ils sont aussi passés, après des hésitations, à la licence gnu-gpl, et donc n’emprisonnent pas leurs programmes et langages dans une utilisation limitée à quelques industriels mais les publient et diffusent librement. Leur financement provient de la vente de ce savoir-faire et son application aux problèmes industriels concrets. Les résultats de ces recherches appliquées restent bien sûrs confidentiels et reviennent uniquement au donneur d’ordre. La séparation entre « l’aspect public » et « l’aspect commercial » se fait à ma connaissance naturellement.
Cette méthode de financement ne convient pas au prusa-slicer qui est plus un logiciel orienté grand public d’accès aussi facile que possible, et pas un logiciel de niche qui met en oeuvre une tournure d’esprit novatrice.
Remarquons que le logiciel de mécanique freecad, de licence gnu-gpl, a mis plus de temps à sortir que d’autres logiciels libres. À ma connaissance son développement reste pas mal universitaire même si son application industriel (et commercial) est plus évidente. Il est un peu dans la même situation, en CAO, que libre-office en bureautique.
Pour terminer, j’ai apprécié de pouvoir réimprimer quelques pièces de ma mk3s (après casse, usure, maladresse et fonte) sans devoir passer par le magasin Prusa, mais de fil en aiguille, une fois le fichier *.stl diffusé, la licence gnu-gpl n’empêche pas la copie intégrale de l’imprimante. Une limitation possible serait d’autoriser les copies pour l’usage privé du copieur uniquement, même si j’ai quelques doute sur l’efficacité de cette méthode sans une armée d’avocats. Du côté utilisateur je vois que sur aliexpress TriangleLab commercialise des têtes d’extrusion, et Fysetc des clones d’imprimantes. Je suppose que Prusa considère Fysetc comme un adversaire, et ignore leur point de vue sur TriangleLab : accord commercial, concurrent, adversaire ?
Le sujet m’intéresse !
C’est pour cette raison j’ai pris au mot cette proposition de discussion et ai même été très bavard.
Bien cordialement.
F.