Selecting libraries

Programming for the enterprise or even programming a moderately sized project cannot be done without the use of external libraries. In the Java world, most of the libraries that we use are open source and, more or less, free to use. When we buy a library that is sold for money, there is usually a standard process enforced by the purchasing department. In such a case, there is a written policy about how to select the vendor and the library. In the case of "free" software, they do not usually care, though they should. In such a case, the selection process mainly lies with the IT department and it is therefore important to know the major points to be considered before selecting a library even if for free.

In the previous paragraph, I put the word free between quotes. That is because there is no software, which is free. There is no such thing as a free lunch, as they say. You have heard this many times but it may not be obvious in the case of an open source code library or framework you are going to select. The major selection factor for any purchase or implementation is the cost, the price. If the software is free, it means that you do not need to pay an upfront fee for the software. However, there is a cost in integrating it and using it. Support costs money. Somebody may say that the support is community support and also available free of charge. The thing is that the time you spend hunting for a workaround that helps you to get over a bug is still money. It is your time, or in case you are a manager, it is the time of the professional in your department whose time you pay for, or, as a matter of fact, it can be an external contractor who will hand you a huge bill in case you do not have the expertise in-house to solve the issue.

Since free software does not have a price tag attached, we have to look at the other factors that are important in the selection process. At the end of the day, they all will affect the cost in some way. Sometimes, the way a criterion alters the cost is not obvious or easily calculable. However, for each one, we can set no-go levels that are based on technology decisions, and we can compare libraries for being better or worse along with each of the criteria.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.124.145