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
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.
At this evening meeting in London on Monday 22 July we have three talks with speakers looking at open source in the RISC-V Ecosystems. This is our fifth meeting since 2014 on the subject of RISC-V, but the first to be held jointly with the RISC-V Foundation as part of their global meetup program
This is a joint meeting with the UK Open Source Hardware User Group.
At this evening meeting in London on Thursday 20 June we have two talks, with a total of five speakers looking at makerspace. We last looked at this topic in April 2015, and in the intervening time the maker movement has evolved often, but not always, for the better.
This is a joint meeting with the UK Open Source Hardware User Group.
Dr Jenny Molloy, Tony Naggs and Anne-Pia Marty of Biomakespace Cambridge will talk on setting up and running a maker space for interdisciplinary work covering both technology and natural science.
Dr Laura James, co-founder of Cambridge Makerspace and Adrian McEwen, founder of DoES Liverpool will provide a critical review of maker spaces and their role in wider society.
Full details, including how to register are on the events page.
At this evening meeting in London on Thursday 16 May we’ll be welcoming three women, all of whom are pursuing a career in open source. This is a joint meeting with BCS Women and the UK Open Source Hardware User Group.
Rain Ashford of Goldsmiths University will talk aboutPrototyping wearables with open source
Pietra F T Madio, a sixth form student at Brockenhurst College will talk about Starting out in open source
Prof Cornelia Boldyreff of the University of Greenwich, past Chair of the BCS OSSG and BCS Council member will talk about A more inclusive way of looking at open source projects.
For full details, including how to register are on the events page.
BCS Open Source Specialist Group organized a one day workshop on open source AI, hosted by the University of Reading on 5 April 2019. Full details of this event can be found on the events page.
In this meeting, held on 21 March 2019 at BCS London, we heard from two speakers on the state of open source FPGA technology.
Once upon a time we could only use proprietary tools and development boards supplied by FPGA vendors, This all changed in 2016 with the advent of the IceStorm opensource toolchain combined with open Hardware like the myStorm board. With the 2nd generation of tools and hardware sophisticated FPGA features are opening exciting avenues for ‘Opensource all the way down’, we hope to provide an update and crystal ball on where some of this could be leading to.
Tools: past to present
David Shah looks at where we have come from with the IceStorm toochain, and looks at how this has devloped recently and expanded Ice40 Lattice support to include new lower power, lower cost, reduced pincount FPGAs to inlcude their Ultra & Ultra Plus range.
Hardware: past to present
Alan Wood talks about the journey through the early history of OpenSource FPGA open hardware from IcoBoard through myStorm too recent UltraPlus offerings recently made available.
Tools: present to future
Icestorm was aimed at a narrow family of Ice40 FPGAS, the new Symbiflow family of tools expands the opensource tooling exponetially. David Shah takes a look at NextPNR which lies at the heart of the toolset and deals with specific FPGA family functionality, in particular he concentrates on the Lattice ECP5 family support he has developed with Project Trellis as part of NextPNR and the recent 1.0 version supporting this new family and high end FPGA features.
Hardware: present to future
What comes next for opensource FPGA hardware, after the success of tinyFPGA and myStorm we are begining to see ECP5 opensource hardware emerging first with Radiona’s ULX3S and being followed up by offerings from both tinyFPGA and myStorm dev board stables, with new hardware comes new features building on NextPNRs tooling like DSP, SerDES IO Gearing and DDR memory etc, Alanplots the course for these new powerfull opesource development boards…
Demos
Time permitting we can show some of what’s possible with the new tools in a brave new ‘Opensource all the way down’ world.
David Shah, @fpga_dave, is a engineer at Symbiotic EDA and a Electronic and Information Engineering student at Imperial College London. He entered the world of open source FPGAs by extending Project Icestorm, the iCE40 bitstream documentation project, to include the newer iCE40 UltraPlus FPGAs. As well developing Project Trellis, he has been involved in the development of a new open source FPGA place-and-route tool, nextpnr.
Alan Wood, @folknology, has been working with parallel distributed programming for several decades. His recent work includes smart grids, 3D printers, robotics, automation, biotec diagnostics and designing FPGA devboards. His current research is focused on machine learning for embedded automation using FPGAs. He is a long term advocate of open source communities, a moderator (aka Folknology) for xCORE, the co-founder of myStorm open hardware FPGA community, as well as a co-founder of Surrey and Hampshire Makerspace.
Our second meeting of the year is an evening on the theme of security and hosted by Cheltenham and Gloucester BCS at the University of Gloucester. We have two talks
SCARV: a side-channel hardened RISC-V platform by Dr Daniel Page of the University of Bristol.
Open source tools and processes for secure IoT development by Dr Jeremy Bennett of Embecosm.
The evening is free to the attend. For those who cannot be present, the talks will be recorded, but we regret that on this occasion we are unable to offer live streaming.