When it comes to the implementation of a software architecture or user interface every software developer team comes to the point where a decision needs to be taken whether or not to reinvent the wheel. Before getting the hands dirty with implementing a own solution approach I encourage every team to first look around what kind of open source library could address some or at best all of the problems the team is currently facing. For me the process of determination which open source library could dramatically increase the teams velocity can be summarized like:
What kind of open source license is feasible?
The license is quiet important depending on the software and customer you are building the software for. For example in regulatory environment often only Apache2 is feasible.
What kind of problem needs to be address?
for example distribution, caching, persistence, loose coupling, Inversion of Control, MVVM, MVP, broker etc.
Read more: PlanetGeek.ch