Robert Godfrey wrote:
At the moment the Java and C++ projects are fairly distinct to the
point of being barely interoperable.
I agree that needs some work.
I think we might be in a better position if we organise ourselves on
functional rather than technical lines.
I'm not convinced re-organising the directory would improve things.
At the moment I do wonder what coherence there is to Qpid as a
whole...
Again, I agree, but this is to me more about coordination, communication
and actually spending time aligning the codebases where that is feasible
and sensible. I don't think the particular nesting of directories makes
much of a difference. In fact it would seem to use time better spent on
e.g. interop tests or defining common client api principles.
[...]
But it is also our way of thinking ... we identify ourselves as
working on the "C++" or "Java" (or Python, .NET or whatever) rather
than thinking about working on the client or the broker or the
management console. Since we are never going to have everyone able
to work on all codebases, I think at some level it makes sense to
organise our project along a functional split.
I see there being several different components. A client component for
c++, java, c#, python & ruby and broker components for java and c++.
The client and broker components within a particular language tend to
reuse some code (and e.g. build system scripts etc) between them, making
it not uncommon for people to work on both. Moving from client to broker
is simpler in general than moving between languages and I don't see that
changing with a different layout.