Re:Don't Reinvent The Wheel, Unless You Plan on Learning Mor...
by derefr on Sunday February 08, 2009 @09:49PM
(#472852)
"Critical," to me, means "what your clients/customers are paying for," or perhaps "what you're competing on with those in your product space."
Facebook's critical features are the friend network, the information page, and the wall. Facebook would be stupid to write their own HTML rendering library. They would be stupid not to make sure they have the optimum data structures and indexes underlying their relationship graph, and therefore probably wouldn't use an off-the-shelf FOAF library.
I don't have any generalization to offer, I personally make the reuse-or-build decision on a case by case basis.
There are a lot of factors (assuming it's something that is really a fit or near-fit in the first place):
- the scope of the library in question (feature set can be both too small or big, it depends on the situation if either of these things is a problem)
- the maturity (age, testing in place, testability)
- the subjective reputation/community factors can play a role
- the amount of time you have vs. the costs of implementing (duh)
- usually the licenses present a problem
- the depth of understanding I want/need to obtain (an important point that the article is touching on)