You might be familiar with the phrase “there’s no such thing as a free lunch.” Let me put that in the context of being an embedded developer. As we head into the future with more connected applications, increasing complexity, and rising security concerns, it might be tricky to choose a direction in regard to development tools. The ongoing market consolidation might also get you a bit worried or at least confused. “What development tool should I choose, a free tool or a professional one?” “Is a free tool for free?” There are a few things to consider to make your tool choice long term and future proof.
When talking about free vs. professional tools, we should of course quickly mention all the technical capabilities which represents the differentiators, such as performance, quality, and project lead time. But let’s first spend some time on why choosing “free” might be a natural consequence for human desire of being free and independent. In many of the decisions we make, especially in the IT industry, we seek a future that’s better than the past through new solutions, products, services, etc. In trails of these decisions, we see a constant flow of new offerings, all being better than the last one.
Again, as a natural flow of things, we as vendors want to seek a position of delivering this as the “industry standard.” Once the offering of a standard becomes more of a solution with less flexibility, the customer or user seeks alternatives. We’ve seen this trend for many years and in many contexts such as for UNIX vs. Linux. And on a side note, could Arm vs. RISC-V be one of those?
The market I live in as a development-tool vendor is under a major change, not only from the fact that it is shrinking in choice of vendors, but also from the trend in application complexity and lately code quality and security concerns. Who can you rely on and why?
Often, a first reaction of change is to take control by yourself, perhaps to minimize risk and exposure but also to stay flexible and not make a wrong decision. More often, I find customers first reviewing free development tools, since free also means free to evaluate. “No initial cost more than my own time!” Then, customers often return to professional tools. Let me explain why.
First, when it comes to free tools, you often need to package all the parts by yourself: the compiler, debugger, linker, etc. You may need different communication stacks or something similar. How do you integrated all this by yourself without spending too much time? Can you guarantee that all the parts will work together? With professional tools, you often get everything at once in one single solution covered by a wide and healthy ecosystem of tools and ready-made integrations.
Second, with free tools, your roadmap might come without any guarantee or control, meaning that even though the tools might get new features in the future, you aren’t really sure if it actually will be added to or maintained. You’re left without control and there’s no room for you to request or suggest functionality. With professional tools, you can rely on the commitment from the tools supplier to always stay ahead to meet your future demands. In addition, you can possibly influence the supplier’s own roadmap by mapping it to yours.
And third, what about support and guidance? Where do you go when you have a functionality question or have issues with something? How much of your own responsibility are you are willing to spend on setting things up in the first place, or integrating with other tools, or short- and long-term maintenance? Choosing a free tool means you need to take all that responsibility upon yourself. Of course, you can search for answers online or ask in a community, but how do you trust the solution you find? How do you ensure that the “solution” you find is reliable for your application? With professional tools, you can get access to experienced technical support teams. Often, you aren’t alone in your issue and the support team is always able to help you move forward.
To summarize: The phrase “there’s no such thing as a free lunch” might come with a taste of suspicion. With that in mind, would you consider free tools as being free? When choosing development tools, my advice for you is to stay flexible, but make your decision future proof. Consider the long-term value in getting complete packaging of components, roadmap control, and technical support. You should also stay loyal to your ambition, your creativity, your application, and your code. And finally, you should stay committed to your customer that also, in their use of your products, should make the same choices.
Stay ambitious and loyal is also what we at IAR Systems do to serve our customers in the best way we can. To all our customers choosing our tools, I salute you for making that choice for yourself and for your customers, and for enabling us to keep on developing and fine tuning the best professional development tools in the industry.
Stefan Skarin has been in the software and IT industries for over 30 years, and the CEO of IAR Systems since 2009. Connect on Twitter @sskarin.eletter-06-20-2018 eletter-06-21-2018