6 advantages to using third party libraries over developing your own
You should always consider using existing software components instead of developing your own; even if you think that the latter would be much better. Here are 6 reasons why working with third party projects (open source or commercial) is usually a better choice:
– Domain expertise: Authors are usually experts in the domain covered by the library. This will ensure that you will get the most appropriate implementation. A good example is SharpMap. The main committers are experts in geospacial software.
– Stability: These libraries have the big advantage of being used by other people as well as you, and in many cases, hundreds if not many thousands of developers worldwide. Most of the early problems have already been encountered by others and fixed by authors. If they don’t fix them, it’s a good opportunity for you to contribute and give back to the community!
– Knowledge: You will learn from others’ code and design. Many popular libraries are written by top notch developers and are usually great examples of good coding practices and design. You will learn by just using them.
– Finance: You save tons of money. The equivalent of hundreds if not thousands of man days of work for free or, at the very worst, the cost of one man day for commercial libraries.
– Support: Paid libraries usually come with free support from top class developers that you can contact 24h a day. Many developers of free libraries also provide that level of support. Exposing your team to these developers will be beneficial for them.
– New features: They will appear automatically, without effort, in your product. If you are using the reporting engine from vendor X, and vendor X releases the new feature Y, you will be able to provide the new Y feature to your customer at no cost, with very low effort. You can consider the authors of your libraries as other teams working for you, for free or for very little money!
So, assuming that you are not an expert in the domain, don’t have thousands of users, have lots to learn from others, don’t have tons of money, will probably need support and resources are stretched, don’t reinvent the wheel. Unless you plan on learning more about the wheel.
Do you think NASA would have been able to send men to the moon if they tried to build the components of their rocket themselves?
Recent Comments