How to Succeed in the Software Business While Giving Away the Source Code: The AdaCore Experience
Open-source software, or, more accurately, Freely Licensed Open-Source Software (“FLOSS”), at first appears to present a dilemma when adopted as part of a business model. If users are allowed to access, modify and/or redistribute the source code, how does a company protect its intellectual property, and more fundamentally, sell something that can be easily and legally reproduced?
AdaCore has faced this issue since the company’s inception in 1994. Its major commercial product, GNAT Pro Ada, is an Ada development environment based on the GNU Compiler Collection (GCC) from the Free Software Foundation (FSF). AdaCore has implemented an Ada compiler front end and companion run-time libraries and tools and has contributed these components to the FSF. In turn, the GNAT Pro Ada compiler incorporates the GCC back end for a variety of target architectures. Leveraging the GCC back end has enabled AdaCore to make Ada available on a wide range of platforms, both native and embedded, at a significantly reduced effort – indeed, that was the technical rationale for choosing GCC and a design goal of GCC itself. But the challenge of this approach is how to generate a sustained and profitable business. AdaCore’s 25 years of FLOSS experience offers an explanation and “lessons learned”.
Dr. Benjamin Brosgol is a member of the senior technical staff of AdaCore. He has been involved with programming language design and implementation throughout his career, concentrating on languages and technologies for high-assurance software. Dr. Brosgol was a member of the design team for Ada 95, and he has also served in the Expert Groups for several Java Specification Requests. He has presented papers and tutorials on safety and security certification on numerous occasions including ESC (Embedded Systems Conference), ICSE (IEEE/ACM International Conference on Software Engineering), STC (Software Technology Conference), ACM SIGAda, and Ada-Europe. Dr. Brosgol holds a BA in Mathematics from Amherst College, and MS and PhD degrees in Applied Mathematics from Harvard University.