Share this article:
In an Open-Sourced World, It’s All About Integration
I have historically been somewhat skeptical about open source software (OSS). I am always wary of anything that is “free” and subscribe to the TANSTAAFL (“there ain’t no such thing as a free lunch”) principle. It has taken me quite a few years to understand that open software is not free – it is just a different business model from the usual “we make it, you buy it” approach.
I am only now coming to grips with how the OSS model really works, why it is a good thing and how business can leverage it to mutual benefit …
We are used to thinking about software development as writing code. However, if we are going to build an embedded Linux system with hundreds of packages, most of the code already exists! This is the big attraction of using the operating system. Our challenge is gluing it together – which of course does require some code. But, the primary hard problems become different. For example, when something breaks, it may well not be in your code – it is in the underlying OSS. This raises some interesting questions:
- How can you figure out what is broken?
- Since nobody that works for you wrote the code, how can you fix it?
- If you can fix it, can you get the fix upstream so that you do not have to fix it again in the next release?
- What do you do if the basic trade-offs (e.g. speed vs space) made by the OSS developers are different from your needs?
These are all very valid questions, which occur all the time during deployment of OSS. Solving them costs money. This is why OSS is not free.
With lots of software, like a real-time operating system (RTOS), for example, you have a “make vs buy” decision to make. You can write your own RTOS, which will have significant development and ongoing support costs, or go to a commercial supplier and make a purchase. Deployment of OSS gives a similar opportunity to choose between two possible approaches:
- You can develop the expertise to work with available Linux distributions etc., learn the processes for sharing your work and nurture relationships within the OSS community. This is a major investment, but it makes sense if you have an ongoing need to deploy significant amounts of OSS across numerous projects and over an indefinite time period.
- You can work with a company, that is well established in the OSS world and are able to offer you the support to deploy OSS for your project, without you needing to develop significant expertise. This support might include the straightforward provision of Linux distributions, tailored to your needs, along with integrated (OSS) tools and technical support, if you have queries or problems.
The choice is yours. But, however you go about it, OSS is not free.
Save 30% on his book and other Newnes Press and embedded systems books. Use discount code “STC317″ at checkout.
About the Author
You can read more about Colin and his work on embedded systems at The Colin Walls Blog at Mentor Graphics here. Connect with Colin online here:
Computing functionality is ubiquitous. Today this logic is built into almost any machine you can think of, from home electronics and appliances to motor vehicles, and it governs the infrastructures we depend on daily — telecommunication, public utilities, transportation. Maintaining it all and driving it forward are professionals and researchers in computer science, across disciplines including:
- Computer Architecture and Computer Organization and Design
- Data Management, Big Data, Data Warehousing, Data Mining, and Business Intelligence (BI)
- Human Computer Interaction (HCI), User Experience (UX), User Interface (UI), Interaction Design and Usability
- Artificial intelligence (AI)