On 03/09/2015 11:48, Eric Charles wrote:


On 2015-09-03 11:04, Matthieu Baechler wrote:
Hi Eric,

On 03/09/2015 10:16, Eric Charles wrote:
I like Matthieu proposal (merge without mime4...), but this will open
the door to more refactoring that would maybe go against the initial
requirement of being able to embed some mailbox without the full server.

Of course, as the mailbox API will probably change more often, it will
break potential mailbox-api direct users. It leads to two questions :
  - is there such users ?
  - do we expect alpha/beta software to be API stable ?

I really like the idea of merging things until 3.0 release happens then
decide if we split back or not.


If we merge, we should be sure this is the right thing to do before and
after 3.0.

Why would we split again after 3.0?

Because maybe when you have a 3.0 release, the project goal can change from "releasing a great mail server" to "trying to grow a contributor community" or anything else.

Stefano first talk about this idea:

"And maybe they could be merged until we get to a more stable solution,
and then splitted again once they are stable enough."

I don't see anything wrong in using the right process for a given goal.


Maybe we should write to guidelines we can refer when working in that
single repository, otherwise we will have endless discussions that don't
occur for now simply because code live in separate projects.

I think maven dependencies capture the intent of module responsibility
very well. What would you want the guidelines to contain ? API stability
rules ? Anything else ?



Classes, Packages, Maven submodules and repositories all serve IMHO
segregation of responsibility and API.

For now, we have hard barrier that prevent someone to break this.

I don't see anything we would loose once the repositories are merged. What prevent any commiter to add spring into data-api today ? Or to introduce a cyclic dependency ?

Maybe I don't understand what you mean by "hard barrier", do you have some examples ?

I was thinking more about a documented diagram such as the one I started
on http://james.apache.org/server/3/dev.html to show the modules
interactions and boundaries.

A common understanding of such a representation will ease later discussion.

Actually, I don't see how the merge impact this diagram. We can definitively improve it, if it's what you mean, but is it really related to the merge ?

--
Matthieu Baechler

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to