Lessons in Vendor Lock-in: 3D Printers
The open nature of the consumer 3D printing industry has made for a much more consumer-friendly world.
This article continues a series that aims to illustrate some of the various problems associated with vendor lock-in. In past articles, I've given examples showing how proprietary systems from disposable razors to messaging apps have replaced more open systems leading to vendor lock-in. This article highlights an ecosystem that, so far, has largely avoided vendor lock-in and describes the benefits that openness has provided members of the community, myself included: 3D printing.
I've been involved in 3D printing for several years. I've owned a number of printers, and I've seen incredible growth in the area from an incredibly geeky fringe to the much more accessible hobby that it is today. I've also written quite a few articles in Linux Journal about 3D printing, including a multi-part series on the current state of 3D printing hardware and software (see the Resources section for links to Kyle's previous Linux Journal articles on 3D printing). I even gave a keynote at SCALE 11x on the free software and open hardware history of 3D printing and how it mirrors the history of the growth of Linux distributions.
The Birth of 3D Printing in the Hobbyist MarketOne interesting thing about the hobbyist 3D printing market is that it was founded on free software and open hardware ideals starting with the RepRap project. The idea behind that project was to design a 3D printer from off-the-shelf parts that could print as many of its own parts as possible (especially more complex, custom parts like gears). Because of this, the first generation of 3D printers were all homemade using Arduinos, stepper motors, 3D-printed gears and hardware you could find in the local hardware store.
As the movement grew, a few individuals started small businesses selling 3D printer kits that collected all the hardware plus the 3D printed parts and electronics for you to assemble at home. Later, these kits turned into fully assembled and supported printers, and after the successful Printrbot kickstarter campaign, the race was on to create cheaper and more user-friendly printers with each iteration. Sites like Thingiverse and YouMagine allowed people to create and share their designs, so even if you didn't have any design skills yourself, you could download and print everyone else's. These sites even provided the hardware diagrams for some of the more popular 3D printers. The Free Software ethos was everywhere you looked.
3D Printing Enters the Consumer MarketAs 3D printers entered the mainstream, and consumer brands started to enter the market, I figured the honeymoon was over. Under the guise of ease of use, many of these first mainstream efforts bundled their printers with proprietary, branded software. Some even went as far as copying the old inkjet printer lock-in models and sold their 3D printer hardware at a discount or a loss and made up the cost with proprietary filament. Even MakerBot—one of the original 3D printer brands—abandoned releasing its designs to the public.
Of course, not all brands went the proprietary route. Some of the original brands—like Ultimaker, Printrbot and Lulzbot—all maintained their commitment to free software and open hardware. The pure RepRap hobbyist community also continued to improve and publish new designs. I figured if everything else went the proprietary route, I would just stick with my Printrbot.
The fact that most hobbyists stuck with open designs and free software and firmware led to some amazing innovations in 3D printing, such as the OctoPrint front end. Instead of always connecting your computer to your printer to start a job, OctoPrint allowed you to monitor your printer remotely and set up new print jobs all over the network via a web interface. OctoPrint even offered an image for Raspberry Pis, and that combination became one of the most popular ways to talk to your printer. Thingiverse and YouMagine were full of case designs to let you mount a Raspberry Pi and camera to your printer.
OctoPrint flourishes because most of the printers were based off a standard and open hardware and firmware platform. They all spoke G-code—a series of common commands that allowed you to move stepper motors, set temperatures and otherwise monitor and control your printer. Using slicing software, like Slic3r or Cura, you would load an STL file containing your 3D design into the program, decide which printer quality settings you wanted to use, and then your slicer would convert the STL file into G-code. Normally, you then would take that G-code file and either copy it to an SD card in your printer or use a different program to load the G-code into your printer and monitor the print (Cura was able to act both as a slicer and as a front end). Because Cura was free software though, OctoPrint was able to incorporate its slicing engine into its own software, so you could upload STL files directly to the OctoPrint web interface, and it would slice them for you.
Bring in the ClonesOne of the side effects of high-quality free hardware, firmware and software for 3D printers being readily available is that it enabled a large number of low-cost clones of popular 3D printer designs to flood the market. Where before a lower-cost printer was between $600–$1000, and higher-end printers were closer to $2000–$3000, now you could find clones of those models for half the price. What's more, although some of those $200 and $300 printers cut corners (and some caught fire!), for the most part, they actually produced good quality prints.
An interesting result of those clones was that since they used free software and firmware, they all worked with the same free software tools everyone already was using. In fact, some of them even released their own Cura profiles or complete forks of Cura with their own printer's settings enabled by default. The quality of the free software tools made it so that supporting them became critical in many consumers' decision-making process. Many of the proprietary consumer models couldn't compete, especially those that were incompatible with free software tools.
Oh SnapOf course, those clones had another side effect. They made it much more difficult for some of the established brands to compete. My personal favorite brand, Printrbot, announced it was filing for bankruptcy this past fall. The next day, while working on my printer, I managed to snap the micro-USB port off the motherboard. Normally, I'd just order a replacement board, but of course, now that wasn't an option. Yet, thanks to the open standards in 3D printing, there were a number of generic third-party RepRap boards I could replace it with. Sure, it would mean spending quite a bit of time with the board to connect electronics, calibrate things and flash firmware, but the point is that it was an option at all (and in general, it's an option for any average 3D printer on the market).
Unfortunately, I didn't really have the free time to invest in such a project, so instead, my 3D printer sat in its broken state. Fortunately, I was surprised on Christmas with a new 3D printer—one of those low-cost clones. Because of all of the open standards in this industry, I was able to connect it directly to my existing OctoPrint server, tell the server about my printer's dimensions and settings, and get right back to printing. So far, I've been pleased and surprised with the quality of the prints, and I understand that without the open hardware and free software firmware and tools, it would have been a much different story.
The moral here is that although there sometimes are risks in a world without vendor lock-in, that world is much better for the end user. Open standards and interoperability provide so many more options than you would have in a proprietary world, including giving you options even if your vendor closes shop.
Resources- "Lessons in Vendor Lock-in: Shaving" by Kyle Rankin
- "Lessons in Vendor Lock-in: Messaging" by Kyle Rankin
- "Getting Started with 3D Printing, the Software" by Kyle Rankin
- "Getting Started with 3D Printing, the Hardware" by Kyle Rankin
- "What's New in 3D Printing, Part I: Introduction" by Kyle Rankin
- "What's New in 3D Printing, Part II: the Hardware" by Kyle Rankin
- "What's New in 3D Printing, Part III: the Software" by Kyle Rankin
- "What's New in 3D Printing, Part IV: OctoPrint" by Kyle Rankin
- RepRap.org
- Thingiverse
- YouMagine
- MakerBot
- Ultimaker
- Lulzbot
- Printrbot (Wikipedia)
- OctoPrint
- G-code
- Slic3r
- Cura