Free Beer vs. Free Speech
Throughout 2000, LinuxDevices.com conducted a survey of developers to try to understand their motivations for using Linux in embedded systems and intelligent devices. Some of the most interesting results are in the areas of reasons for wanting to use open-source software and the perceived strengths and advantages of Linux.
You might think the simple answer would be “Because it's free.” Not so!
Here, developers were asked to select their first, second and third reasons for using open-source software in embedded applications from these choices:
So I can add functionality directly within the OS.
It represents “insurance”, even if it's never needed.
It facilitates debugging and troubleshooting the application.
It allows a full understanding what's going on inside the OS.
It lets me immediately fix OS bugs, if they arise.
It eliminates dependence on a single OS vendor.
The collaborative open-source development process produces superior software.
I don't need or want open source.
Each of the selected reasons was weighted according to whether it was designated most important (5 points), second most important (3 points), or third most important (1 points). Then, the results were combined and normalized such that the top reason ended up with a score of 1.0. Figure 1 shows the results.
These results are intriguing in several respects. First, the popular notion of programmers hacking away at source code to create custom versions of Linux was not borne out by the survey. Instead, developers place a high value on having source code as a way to avoid being held hostage to proprietary OS providers. Also, having source code makes it much easier to find out what's going on inside the system. Choices like “so I can modify the software” and “so I can fix bugs” did receive a fair number of votes, but in the overall scheme of things, these ended up at the bottom of the list.
Interestingly, the reason that topped the list was “the collaborative open-source development process produces superior software”. What's especially significant about this finding is that it's not something that proprietary software vendors can emulate without fundamentally altering their business models—something they are highly unlikely to do.
The survey also asked developers to identify their main reasons for wanting to use Linux in embedded applications. Here, the respondents were asked to check all of the reasons they felt were important from among the following:
No runtime royalties.
Source code is available (and free).
It's not from Microsoft.
Linux has excellent networking support.
There are more drivers and tools available.
Lots of programmers are familiar with Linux.
Linux is more robust/reliable.
Figure 2 shows the results.
One particularly intriguing result is that, despite the obvious cost-sensitivity of embedded devices, the “free speech” aspect of Linux (i.e., source code is available) edged out “free beer” (i.e., no royalties) as the primary reason developers are looking at embedding Linux in their designs.
To delve a bit deeper into the cost issue, we asked a pair of questions related to costs: “Would you consider paying for Linux development/support services?” and “Would you consider paying per-unit royalties?” The results appear in Figures 3 and 4. (Note: the second question was added more recently, so the results shown here are based on a relatively small sample of data.)
What we learn from the results is that while embedded developers are indeed prepared to invest money in outside services and support for embedded Linux (68% said yes and only 13% said no), the numbers are nearly flip-flopped when the question is willingness to pay royalties (51% said no and only 21% said yes).
I suspect some of the suppliers of embedded Linux software and services will find these results “interesting”--to say the least!
Please vote in the new 2001 Embedded Linux Market Survey, even if you already participated in last year's survey. Go to www.linuxdevices.com/cgi-bin/survey/survey.cgi.
- Machine Learning Everywhere
- Own Your DNS Data
- Understanding OpenStack's Success
- Natalie Rusk's Scratch Coding Cards (No Starch Press)
- Understanding Firewalld in Multi-Zone Configurations
- Returning Values from Bash Functions
- Dynamic Kernels: Modularized Device Drivers
- From vs. to + for Microsoft and Linux
- Choosing a GUI Library for Your Embedded Device
- Bash Shell Script: Building a Better March Madness Bracket