The recent landing of the Go changes make me think that we should be more
explicit about our development process with respect to new language
bindings (or possibly in general). There are two problems I would like to
address.

First, a bunch of code just landed on trunk without prior
communication/peer review right as we are trying to stabilize for 0.10.
With the go binding work having started/proceeded directly on trunk, I
can't tell if this is a rush commit to get stuff into 0.10, or if it's just
more ongoing development that was assumed to not impact the stated 0.10
goals.

Secondly, from a release management perspective it is in general awkward to
have early stage development mixed in with changes to a stable codebase.
The git history between 0.9, 0.9.1, and master is currently a mix of high
fidelity changes, e.g. discrete bug fixes/feature enhancements all
cluttered up with a bunch of more noisy checkpoint/work-in-progress style
commits for the go binding that are a normal part of early stage
development work. This makes things hard when it comes to release
management as there is a lot of noise to sort through when running git
cherry and the like.

I'd like to propose getting a bit more formal about the following policy,
especially now that we are fully using git and branches are cheap. I think
a number of people already follow this implicitly, but as a whole we are
somewhat inconsistent about it (myself included at times):

1. For developing new language bindings (and really for any development
work that will involve enough new stuff to have a noisy commit history) we
use branches. This is already the case with the Ruby/C++/Python3 bindings,
as well as the SASL work.

2. We should discuss on the mailing list before we land major features. We
were trying to stabilize trunk for a 0.10 release, and this hasn't been in
the discussion, and a number of things have been broken in the recent
commits.

--Rafael

On Tue, May 5, 2015 at 7:48 PM, Alan Conway <acon...@redhat.com> wrote:

> First serious stab at a concurrent Go API for proton with working examples
> (send.go, receive.go) that inter-operate with the python examples :)
>
> Read all about it:
> https://github.com/apache/qpid-proton/tree/master/proton-c/bindings/go
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
> For additional commands, e-mail: dev-h...@qpid.apache.org
>
>

Reply via email to