je...@drinktomi.com
unread,Jul 29, 2016, 12:39:56 PM7/29/16Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Go Package Management
Any successful go package management solution needs to recognized some dependencies have different isolation requirements. Some dependencies are under a project's control, and some are not.
Ignoring this leads to solutions like vendoring. Vendoring attempts to compensate for lack of control through complete isolation from downstream changes, but it comes with comparatively high friction for incorporating changes, making vendoring a poor solution where packages are co-evolving together within the same organization. When dependencies are closely coordinated, and where interoperability issues are best resolved through social means (e.g. tapping someone one the shoulder, or having a meeting) then lighter weight mechanisms are beneficial.
Any packaging solution which intends to be useful for both open-source and large internal projects should be compatible with both sorts of dependencies.