In a video below I present my BuildingBlocks solution that I use in .Net development.
(use gear icon in video to switch to HD resolution)
1. Share only necessary subset of methods from BuildingBlocks
2. Open source those methods
3. BuildingBlocks must feel as part of solution where used
4. Ability to transparently improve (enrich, bug-fix,..) BuildingBlocks over time (edit it directly FROM WITHIN solution where it is used)
5. One-click update with those improvements in whichever other solution used
6. Team work