[openstack-dev] [tc] supporting Go

Dean Troyer dtroyer at gmail.com
Wed May 11 14:17:58 UTC 2016

On Wed, May 11, 2016 at 8:36 AM, Thomas Goirand <zigo at debian.org> wrote:

> Pinning versions doesn't change the fact that you'll have to trust a
> large amount of providers, with some of the files stored in a single
> location on the Internet. Yes, you can add a cache, etc. but these are
> band-aids...

If this were not a thread about Go, I'd swear you were talking about PyPI

> With the huge difference that in the case of distros, you're trusting a
> single well known entity, with known QA and all, vs a very large number
> of 3rd party which you have absolutely no relationship with, and which
> you may not be able to get in touch with.

But 'single location on the Internet' is a bad thing?

In practice, you wont make any effort to make sure what you're
> downloading comes from trusted sources only: it's just too difficult for
> no rewards.

And here is the real point, you (for every value of 'you', being me, zigo,
jroll, everyone) are most likely to use the SAME principles and practices
in development in all environments for the same purpose.  I am just as
meticulous in Go and Python and Perl for production use, and just as sloppy
in all for one-off-hack use.  Some tools make this easier, some make it
harder (sometimes that's the same tool!)

Thomas, I understand why you believe that $language packaging systems are
all evil.  But they are a necessary evil because we have N OS packaging
systems (think beyond Linux here, all of these languages do) to deal with.
This is an extension of why OpenStack doesn't even try to include packaging
in the main projects, and why tarballs are still a viable, and often
preferred, method for upstream distribution.

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.
Following the same basic principles with Go is just as possible as it is
with Python, or C, or even Perl.  They all require different details, but I
believe working out those details is doable, even in a mostly-acceptable



Dean Troyer
dtroyer at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160511/12df0841/attachment.html>

More information about the OpenStack-dev mailing list