Daily archives: September 5, 2019


Case study: Building a profitable open source business

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.

Embecosm's activity over the years

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 project.

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.

Building profitability

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 industry.

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.

Conclusions

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.