Josef Průša, the founder and CEO of Prusa Research, published an important and thought provoking article titled “The state of open-source in 3D printing in 2023” where he called for an open discussion to protect the interests of the global 3-D printing community. This is the second of a series of articles to move that discussion forward.
Hearts and Minds
An even greater threat to the future of the open source 3-D printing community than the patent parasites and patent trolls discussed in part 1 is the threat of losing young hearts and minds. What made the beginning of the open source 3-D printing community so exciting was that everyone could participate, make real contributions, feel valued, and for the most ambitious among us, even start companies or academic careers based on the new idea of sharing all intellectual property. As Průša points out, it was not uncommon for college, or even high school students, to make major contributions. There is no reason we cannot continue this – we are far from done on the innovation front.
As a professor literally surrounded by top 1% engineering students, but always competing for the elite technical talent to help on open hardware development, I think about this quite a lot. Can we give young people whose hearts are in the right place a way to meaningfully join the community? Would a young, talented and idealistic Josef (see Figure 1) be as inclined to join the open source 3-D printing community if he came upon it today?
As the older and more experienced modern-day Průša explains, Prusa Research is a victim of its own success. Many of their open source competitors that would help share the burden of open source development have disappeared. Yet, thousands of people all over the world would like to help Prusa Research and the other real open source 3-D printing companies succeed. Having user-developers drive product innovation is a core benefit of open hardware business models. As of this writing, there is a giant backlog on PrusaSlicer Github repo, with over 2,800 open issues and 100 pull requests. Imagine being the poor engineers to wake up to that deluge of maintenance work every morning, while simultaneously needing to focus on your own innovations. You can literally hear the pain in Vojta Bubnik’s voice as he explains the issues at CERN (presentation starts at 25 min). He is the lead developer of a thirteen-person team on PrusaSlicer, which has made major headway in the last few years as 3-D printing reliability has gone way up due to superior slicing upgrades. Yet there is, of course, far more work to be done (e.g. we are getting close to using computer vision and AI to make smart 3-D printers that will be able to fix print errors in real time).
Innovators that work hard on a project to make their open source printing better want to contribute back to the community and send pull requests on GitHub, expecting their code to be added to the main branch. It often is not. This runs the risk of turning off young developers, which hold enormous potential (see Figure 1), just as they are getting started. If the contributions to the community are not valued, they will go elsewhere (see Makerbots pitiful downfall when it spited the maker community it was named after). As Průša explains, the open source slicers like Cura and PrusaSlicer have evolved into highly complex programs, which are extremely difficult to adapt without breaking pieces for other users or functions. Based on my group’s experience with this, I estimate it takes a solid PhD student with considerable coding experience about a year to make a significant contribution to either major open source slicer. This is too much of an activation energy barrier for most young people to climb. It does not need to be this way! In the wider free and open source software ecosystem, there are other complicated programs that have far easier on-boarding of new developers. For example in the 3-D printing community consider: OctoPrint with their plugin system, Blender with addons, and FreeCAD with the rich developers forum.
Open Source Companies: Help Us Help You
The ultimate open source 3-D printer is easy to maintain and modify. There are some practical steps Prusa Research and other open hardware manufacturers of good faith can make to get every user to be a user-developer:
- Ensure you are using a fully compliant open-source license. This enables innovators at businesses to help you too. This can be quite rewarding as, for example, 3-D printer shootouts are normally won by open source companies because they are constantly helping each other to improve (see for example the profitable cross-pollination between the PrusaSlicer and Cura development teams).
- Make high-quality documentation. All of the most successful open hardware companies are known for their great documentation – think AdaFruit for electronics and Prusa Research for their 3-D printer kit assembly manuals.
- Exclusively use open source software in your designs and tool chains. RepRap extruder innovation took giant leaps forward when it was first introduced in OpenSCAD. If proprietary and expensive CAD software is used instead, companies are cutting out entire swaths of user-developers. For Prusa Research for example, the community might more easily be able to help merge the future MK5 with the enclosure to reduce part count, stability, print speed, and reliability if they moved back to open source CAD. It is true that in many respects, open source CAD still needs a lot of development. When you look to the future, however, investments could provide enormous returns. This is especially true if investment enables external developers to do the research and development for you for free. Imagine, for example, a future merger between FreeCAD’s FEM workbench and PrusaSlicer that could allow users to input force vectors so optimal variable infill densities could be set from FEA analysis for a specific part. Multi-materials and printed composites get especially exciting with that potential for those of us really interested in making distributed manufacturing of real products ubiquitous (e.g. load bearing components).
- Design software and firmware so that it easy for your fans and friendly rivals to make contributions. The complicated place we find ourselves in with open source 3-D printing software is no ones fault – it is a result of the means of evolution. If we were to start from scratch now we would organize it better so it would be easier to contribute. For example, perhaps it is time PrusaSlicer was completely reworked with some serious thought put into streamlining a hierarchal module-based structure with a transparent inter-part interface that makes it easy to add “one-trick ponies” without having to mess with the entire program in many locations. If slicing software was as well documented as assembly guides, and there was a solid developer forum, even novice enthusiasts with moderate coding experience could help improve the most complex slicers and firmware.
- Do not underestimate the technical wizardry of the community. A CEO of a proprietary company recently made a dismissive statement that only professionals could contribute to 3-D printing now because of the complexity of the technology. He is a non-engineer CEO whose ignorant hubris is just plain wrong. Young makers have incredible promise to drive innovation regardless of complexity. Speaking as someone who trains engineers for a living – nothing magical happens when students get fancy degrees or start working for a large firm. They are just as smart and creative the day before as the day after. We need them if we are going to ensure open source 3-D printing remains a force for innovation and good in the world.