You’ve likely heard the phrase, “there’s such thing as a free lunch.” Let’s put that in the context of 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 with respect to development tools. The ongoing market consolidation might also have you a bit worried or at least confused. The key questions you should be asking are whether it’s best to opt for a free development tool or a professional one, and whether a free tool is actually free. Here is some free advice to consider to make your tool choice both long-term and future-proof.
When talking about free vs. professional tools we should of course quickly mention all the technical capabilities that differentiate the two, such as performance, quality, and project lead time. But first, I’ll explain why choosing free might seem like the natural choice.
In many of the decisions we ponder, we seek a future that’s better than the past through new solutions, products, services, etc. In the context of this discussion, we see a constant flow of new offerings, all seemingly better than the last one.
On the other hand, vendors look to position their offerings as “industry standards.” Should that solution ever become one with less flexibility, the developer immediately seeks alternatives. We’ve seen this trend for many years and it’s likely to continue.
The development tool market is in the midst of a significant change, not only in terms of the shrinking number of vendors, but also from the on-going application complexity and lately, code-quality and security concerns.
So, who can you rely on? The first reaction is often, let me take control, and hopefully minimize risk and exposure while staying flexible.
I typically find that developers evaluate the free tools first, but usually come around to the professional offerings, and for some sound reasons. First, when it comes to free tools, you often need to source all the part by yourself—the compiler, debugger, linker, and so on—and ensure that they’ll work seamlessly. Then, you may need different communication stacks. This integration must be achieved without burning too much time (remember, that design window shuts pretty quickly). With professional tools, everything is typically integrated in one solution covered by a wide and healthy ecosystem of tools and ready-made integrations.
Next, your free-tool roadmap likely comes with no guarantees, and certainly no control, meaning that even though the tools might updated down the road, you can never tell for sure. With professional tools, you can rely on the commitment from the tools supplier to always stay ahead to meet your future demands. And there’s the potential to influence the supplier’s own roadmap by mapping it to yours.
Finally, you have support and guidance to consider, including where to go when you have a functionality question or related issues. You also must determine how much time you’re willing to spend on setting things up in the first place, or integrating with other tools, or short and long-term maintenance, because going the free route means that you take on that responsibility on your own.
You could probably find those answers online or in a community, but can you trust the responses, especially when your project depends on it? With professional tools you get access to experienced technical support teams, who are always available to move your project forward.
My advice? Stay flexible, but make sure your decision is future proof. Consider the long-term when shopping for the complete packaging of components, roadmap control, and technical support. Always stay loyal to your ambition, your creativity, your application, and your code.
Note that IAR Systems is hosting a series of free developer conferences around the world and yes, it includes a free lunch!
Stefan Skarin is the CEO of IAR Systems. He’s been in the software and IT industries for over 30 years. Connect with him on Twitter @sskarin.