[openstack-dev] [tc] supporting Go

Flavio Percoco flavio at redhat.com
Tue May 10 22:54:26 UTC 2016

On 09/05/16 14:35 -0400, Ben Swartzlander wrote:
>On 05/09/2016 02:15 PM, Clint Byrum wrote:
>>Excerpts from Pete Zaitcev's message of 2016-05-09 08:52:16 -0700:
>>>On Mon, 9 May 2016 09:06:02 -0400
>>>Rayson Ho <raysonlogin at gmail.com> wrote:
>>>>Since the Go toolchain is pretty self-contained, most people just follow
>>>>the official instructions to get it installed... by a one-step:
>>>># tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
>>>I'm pretty certain the humanity has moved on from this sort of thing.
>>>Nowadays "most people" use packaged language runtimes that come with
>>>the Linux they're running.
>>Perhaps for mature languages. But go is still finding its way, and that
>>usually involves rapid changes that are needed faster than the multi-year
>>cycle Linux distributions offer.
>This statement right here would be the nail in the coffin of this idea 
>if I were deciding. As a community we should not be building software 
>based on unstable platforms and languages.
>I have nothing against golang in particular but I strongly believe 
>that mixing 2 languages within a project is always the wrong decision, 
>and doubly so if one of those languages is a niche language. The 
>reason is simple: it's hard enough to find programmers who are 
>competent in one language -- finding programmers who know both 
>languages well will be nearly impossible. You'll end up with core 
>reviewers who can't review half of the code and developers who can 
>only fix bugs in half the code.

The above is my main concern with this proposal. I've mentioned this in the
upstream review and I'm glad to have found it here as well. The community impact
of this change is perhaps not being discussed enough and I believe, in the long
run, it'll bite us.

The feedback from the Horizon community has been that it's been impossible to
avoid a community split and that's what I'd like to avoid.


>If you want to write code in a language that's not Python, go start 
>another project. Don't call it OpenStack. If it ends up being a better 
>implementation than the reference OpenStack Swift implementation, it 
>will win anyways and perhaps Swift will start to look more like the 
>rest of the projects in OpenStack with a standardized API and multiple 
>plugable implementations.
>-Ben Swartzlander
>>Also worth noting, is that go is not a "language runtime" but a compiler
>>(that happens to statically link in a runtime to the binaries it
>>The point here though, is that the versions of Python that OpenStack
>>has traditionally supported have been directly tied to what the Linux
>>distributions carry in their repositories (case in point, Python 2.6
>>was dropped from most things as soon as RHEL7 was available with Python
>>2.7). With Go, there might need to be similar restrictions.
>>OpenStack Development Mailing List (not for usage questions)
>>Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>OpenStack Development Mailing List (not for usage questions)
>Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe

Flavio Percoco
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160510/5807e40e/attachment.pgp>

More information about the OpenStack-dev mailing list