Written by our CEO Stefan Skarin
I guess you might be familiar with the phrase “there are no free lunches”. Let me put that in the context of being an embedded developer. As we are heading into the future with more connected applications, increasing complexity and arising security concerns, it might be tricky to choose which way to go in regards to development tools. The ongoing market consolidation might also get you a bit worried or at least confused. “What development tool should I go for, a free tool or a professional one?” “Is a free tool for free?” I believe there are a few things you can 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 me also first spend some time on why choosing “free” might be natural consequence for human desire of being free and independent. In many of the decisions we make, especially in the IT industry, we are seeking a future better than the past through new solutions, products, services, etc. In trails of these decisions we see a constant flow of new offerings, all as being better than the last one. Again, as a natural flow of things we as vendors wants to seek a position of delivering this as the “standard” of the industry. Once the offering of a standard is becoming more of a solution with less flexibility, the customer or user seeks alternatives. We have 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 vendor of development tools 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 to rely on and why? As often, a first reaction of change is to take control by yourself, perhaps to minimize risk and exposure but also for staying flexible and not making a wrong decision. More often I find customers to make the choice of reviewing free development tools, since free also means free to evaluate. “No initial cost more than my own time!” As often I find customers returning to a decision on professional tools and let me explain why.
First, when it comes to free tools you often need to package all part by yourself: compiler, debugger, linker, etc. Maybe you need different communication stacks or something similar? How do you integrated all this by yourself without spending too much time? Can you guarantee if 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 be without any guarantee or control, meaning that even though the tools might get new features in the future, you are not really sure if it actually will be added or maintained. You are left without control and there is 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 will have the possibility to influence the supplier’s own roadmap by mapping it to yours.
And third, how about support and guidance? Where do you go when you have a functionality question or having 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 by yourself. Of course, you are able to search for answers online or ask in a community, but how do you trust the solution you find? How do you make sure 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 are no free lunches” might come with a taste of suspicion. With that in mind, would you consider free tools as being free? When making the choice of 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 industry for over 30 years, and as CEO of IAR Systems since 2009.
Connect on twitter @sskarin