Excerpts from Thomas Goirand's message of 2016-05-20 12:42:09 +0200: > On 05/11/2016 04:17 PM, Dean Troyer wrote: > > The big difference with Go here is that the dependency work happens at > > build time, not deploy/runtime in most cases. That shifts much of the > > burden to people (theoretically) better suited to manage that work. > > I am *NOT* buying that doing static linking is a progress. We're back 30 > years in the past, before the .so format. It is amazing that some of us > think it's better. It simply isn't. It's a huge regression, for package > maintainers, system admins, production/ops, and our final users. The > only group of people who like it are developers, because they just don't > need to care about shared library API/ABI incompatibilities and > regressions anymore. >
Static linking is _a_ model. Dynamic linking is _a_ model. There are aspects of each model, and when you lay different values over any model, it will appear better or worse depending on those values. Debian values slow, massively reusable change. Everyone advances at around the same pace, and as a result, the whole community has a net positive improvement. This is fantastically useful and is not outdated in any way IMO. I love my stable OS. But there is more software being written now than ever before, and that growth does not have a downward curve. As people write more software, and the demands on them get more intense, they have less reasons to reuse a wider set of libraries, and have more of a need to reuse a narrow subset, in a specific way. This gives rise to the continuous delivery model where one ships a narrow subset all together and tests it deeply, rather than testing the broader tools in isolation. That means sometimes they go faster than the rest of the community in one area, and slower in others. They give up the broad long term efficiency for short term agility. That may sound crass, like it's just fast and loose with no regard for the future. But without the agility, they will just get run over by somebody else more agile. When somebody chooses this, they're choosing it because they have to, not because they don't understand what they're giving up. Whichever model is chosen, It doesn't mean one doesn't care about the greater community. It simply means one has a set of challenges when contributing along side those with conflicting values. But it's not a regression, it is simply people with a different set of values, finding the same old solutions useful again for different reasons. So, I'd urge that we all seek to find some empathy with people in other positions, and compromise when we can. Debian has done so already, with a Built-Using helper now for go programs. When libraries update, one can just rebuild the packages that are built using it. So, rather than fighting this community, Debian seems to be embracing it. Only tradition stands in the way of harmony in this case. __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev