Juliet: "What's in a name? That which we call a rose By any other name would smell as sweet."
Romeo and Juliet (II, ii, 1-2)
Is it true that a name is simply an arbitrary label with no particular meaning, as Juliet claims? Or is there something special about names and naming? Vernor Vinge's seminal cyber punk novel "True Names" suggested what we know so well today: in the digital realm, knowing someone's actual name is quite powerful.
When you are starting a new software project, coming up with a good name is really hard! It needs to be memorable, remind people of the thing which has been named, needs to have an available URL on the web. It should ideally be understandable and pronounceable in all the world's languages and of course must not be offensive any place in the world! naming is so hard that there are companies who charge significant money to come up with a good name.
Back in 2010 a group of us had the ambition to launch a project which would revolutionize embedded software. What we know of today as the Internet of Things had a really messy software story with all kinds of wasted effort. We wanted to create a technology to be a universal starting point for IoT device and product software. The ultimate in collaboration and time saving.
In a flash of brilliance, one of us came up with the word "yocto," which is one of the metric system's smallest unit of measurements. (Think about the weight of a proton at 1.6 yocto-grams, and you know it's tiny). Perfect! It's memorable, it was not particularly well known and it should work internationally. And since embedded software should be tiny, the Yocto name is kind of descriptive.
The only problem is, what should follow the word "yocto"?
Originally we thought "Yocto Linux" would be the full name, but our friends in the Linux Foundation asked us to reconsider. (But not before I had a bunch of T-Shirts printed with that name). After all, we were not creating a new Linux distribution as the name suggests. Rather a universal distribution creation system. "Yocto Project" was the suggestion, and it works much better as a true name.
As we started sharing our ideas with the rest of the IoT community, they told us that they wanted to use "Yocto Project" as a brand. This was because they wanted to create their own products compatible with our project to claim a level of compatibility.
Unfortunately, when I search for the False Name, "Yocto Linux", Google comes up with about 57,000 results. (But it only took 0.59 seconds to figure that out).
I'm intrigued - what are some of the true names of Yocto Project compatible projects?
- Wind River calls their product Wind River Linux. The most recent release is version 8. This is a very powerful and versatile distribution creation system, which Wind River uses in a number of device application areas. They also have a product called "Wind River Pulsar Linux" which is more of a small footprint, focused OS.
- MontaVisa has their MontaVista Linux Carrier Grade Edition (CGE) and Carrier Grade eXpress (CGX). These are targeted at telecommunication equipment providers to satisfy network carriers' need for compute in their networking centers.
- Mentor Graphics' product is called Mentor Embedded Linux which has a rich history pre-Yocto Project and continues to be used in many product areas, such as automotive.
- Enea is a company which focuses on telecommunications software specifically for the network equipment providers, and its product is called Enea Linux.
- Timesys is a company which offers LinuxLink, a product which includes a web-based interface for customizing and building an embedded OS.
Enea Linux, Mentor Embedded Linux, MontaVista Linux CGE, LinuxLink, Wind River Linux ... there seems to be a definite theme here. All of these products and many more that I didn't mention use the Yocto Project at their core and thus can take advantage of its powerful, collaborative community which shares development and advancement of the most modern and up-to-date open source embedded software. Just don't call it "Yocto Linux".