Commercial or opensource/freeware components? (short essay)

Similarly to many other developers, I've been using various component packs or even single components for a very special purposes. Although Delphi itself provides maybe hundreds of components, there are frequent scenarios and situations when using "something 3rd party" is unavoidable. Let's mention for instance signing PDF documents, working with a timestamp, creating rich and astonishing reports or creating QR codes.

The crucial question before making a final decision is - commercial or opensource (freeware)? The question seems to be trivial but the answer appears more complex.

Well, price is a rudimentary point of view. If I have an opportunity to save money, why not? Choosing of something free of charge is a logical option. But the price is not only perspective that you should assess and a lot of bottlenecks can be seen here.

Let me do one small interpolation. About one year ago we decided to obtain and install a solar power station on our detached house. The representative of the concerned company had overlooked the site and all necessary dispositions and - among other things - observed our heat pump Panasonic (11 years at work at that time) and asked - how long have you been using this facility and which parts of it have you already exchanged and how many times? Nothing and never, I replied. He ended this discussion with a sentence: I asked you deliberately because I know that Panasonic heat pumps are reliable but not the cheapest - and I see you're happy with the one. Our components for your new photovoltaic station are also not the cheapest but reasonably durable and reliable.

Why I mentioned this short story? Because as it was said, the price is not the only criterion. In the programmer's world, we also try to choose the most reliable components or packages because we intend to use them for years. What aspects should we consider regarding this?

  • How long has the vendor been operating on the software market?
  • What is a reaction time for releasing the updated package if a new version of Delphi comes out?
  • What type of technical support is provided? If a user forum only, go away!
  • What signals are sent towards a technical support? Some freeware vendors like saying that they do not have a time actually, very bad!
  • What is a pricing model of the package in case considered product is commercial? Is the solution not underpriced/overpriced?
  • What is the quality of the documentation provided?
  • Are there samples of code available? Some vendors solve this request using trial-and-error way, which is unacceptable because of huge loss of your worthy time.

My recent experience is a suitable supplement of this short essay. I've been using a suite of communication components (not Indy but I'll not give the name of its author) and needed to explain a part of using one aspect. I emphasize that this suite is provided as a freeware and practically with no documentation, however I mentioned my willingness to pay for the extra technical support. After exchanging some useless e-mail messages, I got the final information that the staff is busy and cannot help me. Simply said, reluctancy par exellence.

At last, I solved my assignment by purchasing a similar but commercial product. Well, it's not cheap on one side. But on the other hands, the vendor's company has a long history and experience, the package is really broad and contains tens of useful components, the technical documentation is exhausting and technical support is excellent.

After all, paying for the software is normal, isn't it? Even if using it generates not insignificant earnings for us.

About the Author

Ing. Karel Janecek, MBA, MSc.