There are two choices when faced with developing some core libraries:

  1. Roll your own

  2. Find an existing standard library that already does it

The disadvantage of rolling your own technology is that it is impossible to draw on an experienced user base.  Developers leave companies and knowledge is lost.

A large, 30 person software project was in the startup phase and a method for communicating with the database was required.  Rather than embrace an existing open source Object/relational bridge product such as Hibernate or OJB, it was decided by an academic that a developer would write a persistence layer in entirety.  Two man years and a great deal of money later, the project had a working persistence layer with only half the features of Hibernate or OJB.  They could not leverage any bug fixes done by the open source community, and developers who worked with the custom persistence layer had few skills that would relate to future projects in the industry.

blog comments powered by Disqus