A comment by Julian Kunkel, Simon Worthington, Jeremy Bennett, Andy Bennett
Governments worldwide are developing smartphone apps that track the location and movement profile of citizens in order to quickly identify contact persons of COVID-19 infections. According to The Financial Times, if even 40% of smartphone users install such an application, the infection levels would be significantly reduced in the UK. Therefore, the widespread usage of such an application is an important instrument in the current crisis.
How could such a smartphone app work? In a nutshell, a device can scan other nearby devices and exchange device IDs, for example, using Bluetooth. This information then needs to be stored with a timestamp. If the owner of a device contracts the virus, s/he could indicate this fact in the app allowing to associate the own device ID with the information that s/he may have infected others. This data then needs to be recorded on a server to allow the app of other users to query the register and then compare any contact information with the register of COVID-19 victims.
This post is part of the OSSG series “the role of open source in the UK”, where we collect and publish statements from companies and individuals in the UK regarding their experience with Open Source Software. We welcome any submission to this series. If you are interested, please send an email to Dr Julian Kunkel.
by Dr Jeremy Bennett, Chief Executive, Embecosm
Open source is central to the work of Embecosm, and over more than a decade we have built up a very successful business. In this post I’ll explain how we did it.
About the company
Embecosm Limited was established in 2008, initially to provide free and open source modelling and debug services to system-on-chip designers. It very quickly became clear that chip designers wanted more than just debug. The company expanded to cover development of the entire free and open source compiler tool chain. More recently we have broadened our expertise to cover operating system development, bringing up open source operating systems of all sorts.
This is Embecosm’s business today, providing open source software development services in our specialist fields. Much of our business is in the embedded space and very often pre-silicon, hence our continued expertise in modelling. We use everything from high-level functional models through instruction set simulators, cycle accurate models based on Verilog and VHDL, through to EDA event driven simulation.
With bases in the UK and Germany, Embecosm is now the world’s largest independent general open source compiler tool chain developer. We are not the only player in this area, CodePlay in Edinburgh specialise in OpenCL compilers, while AdaCore in France specialises in open source Ada compilers. Siemens in Germany also has a department offering compiler development services.
The business model
Embecosm follows a purely service business model. Customers pay for our engineering expertise to develop their compilers, models and operating systems. These are all inherently very difficult areas of software engineering, very much the rocket science end of the discipline. This is core to our business model―it is invariably more cost effective for customers to use our services than to attempt to recruit and manage an in-house team.
We are not a body shop. We supply a team to solve
the problem, bringing in specialists at different times. Early on we probably
want assembler and modeling specialists, later on the compiler team get to
work, then we need the documentation and training specialists to complete the
The scarcity of the skills we offer is critical to driving our business. The fact that the software is always freely available is important (see “The risk factor” below), but doesn’t allow the customer to solve the problem on their own.
The risk factor
The value of free and open source software to the
customer is in the reduction of risk. It costs as much to use Embecosm to
develop/maintain a compiler tool chain as it does to buy in a proprietary tool
chain. However unlike the proprietary
tool chain, you are not locked in to one supplier. If you wish you can drop
Embecosm and use another tool chain supplier with no problem.
Indeed the ability to walk away from Embecosm at
any time, is a key reason that customers stay with us. It is a value of free
and open source software that is often overlooked, but in a business context
can be the most important.
A service business relies on reputation. This is the case even more for free and open
source software, with its basis in open communities. The first three years of
Embecosm were not profitable, and mostly spent writing application notes
explaining to people how to do all the things we do and talking about these
things at conferences. These application notes on integrating GDB, building
fast Verilator models, porting Newlib and so on, remain standards for the
But showing people how to do the work themselves,
ended up driving business to us. Reading our application notes allowed managers
to see how difficult the problem was and that Embecosm had the skills to solve
these problems. It makes the buying
decision to use Embecosm services much easier.
We remain completely open with all we do and
contribute widely to free and open source projects. Almost every customer asks
us to train up in-house staff, which we are happy to do. It provides us with
advocates inside the customer who understand our work, and can act as
“translators” to others in the customer, allowing us to provide a better
solution. Their experience invariably
leads to growing confidence in Embecosm’s skills and a strong bond between
customer and supplier engineering teams, which helps both.
We are also unashamed that our skills are
valuable. My staff are highly qualified and highly paid, reflecting the extreme
scarcity of the abilities we need. Our
charges to customers reflect the value we deliver.
In once case a customer had a team of 10
generalist engineers in India trying to develop a GCC tool chain for 5
years. Customers continued to complain
about the poor quality of the tool chain and eventually we were called in. By then standard regression testing was
flagging over 130 internal compiler errors.
All were fixed by one Embecosm engineer in one month and we then spent a
year training up the team in India with the specialist skills they needed to maintain
the tool chain.
So we may look expensive by the hour, but when you
consider what we deliver in that hour, we suddenly seem very good value. This is a general principle of business,
whether open source or not. The higher
value the services you can provide, the more profitable you will be.
Free and open source businesses can be very
profitable, particularly operating in areas where skills are scarce. Ongoing engagement with the wider community
is essential to building reputation, trust and ultimately more business.
Dr Jeremy Bennett is Chief
Executive of Embecosm (www.embecosm.com), specializing in the development of free and open source compiler
tool chains, operating systems and processor models. He is author of the standard textbook
“Introduction to Compiling Techniques” (McGraw-Hill 1990, 1995, 2003) and holds
a MA and PhD in Computer Science from Cambridge University. Since 2017 he has
served as Chair of the BCS Open Source Specialist Group.