On Wed, May 20, 2009 at 11:52 AM, Stefano Bagnara <apa...@bago.org> wrote:
> Robert Burrell Donkin ha scritto:
>> i've been having a little think recently, in particular about user
>> postings on the list. i think i can see a realistic path if there's a
>> consensus that this is the way we want to take james forward...
>>
>> Observations:
>>  * Felix Karaf (OSGi container) is very cool. this opens up lots of
>> cool possibilities for mixing protocols and is very interesting to me.
>
> Interesting. I'd like to see a POC about it, before embracing such a
> technology.

it will support the stuff i'm interested in without invasive changes
to james. all that's needed are features (dependencies) and spring
(assembly) documents.

this means that sometime soon i won't be running pheonix locally. most
other mail application developers (who post on list) also seem to be
using the spring deployment.

>>  * Stefano and Norman are very busy these days. so just directly
>> releasing 3.0 is looking harder and harder...
>
> Trunk was almost ready for a alpha/beta release 2 years ago, so I don't
> see this so hard. This require the same effort as any release of
> james-server: until no one will need a release and will take the time to
> build some test release we won't see a release.

building a release candidate is a complete waste of time unless there
are people who are willing and able to test it. this is where we now
come up very short.

>>  * The recent threads from users are telling us that we really need to
>> have a 2.x roadmap for mail server users (as opposed to mail
>> application developers)
>
> they don't care about 2.x or 3.x. IMO they simply would like to have new
> features that are in svn since years.

i used to think that but the upshot of the discussion with users is
that no they don't. james 2.x already has lots of features. most just
want releases plus much better documentation. any users who really
cares about features more than stability is probably already on 3.x.

the great thing about already having the features in trunk is that we
can decant them in bite-sized pieces ensuring they have been tested
and documentation written.

>> Proposal:
>>  * Use 2.x for mature, stable releases aimed at mail server users
>> retaining pheonix as the container
>>  * Target 3.x at mail application developers focussing on OSGi and Spring
>>  * Move code from 3.x to 2.x by factoring out libraries with multiple
>> modules to allow optional avalon and OSGi service support
>>
>> Roadmap:
>>   * Release 2.3.2 now (after deprecating mordered, crypto)
>>   * Release standard mailets 1.0
>>   * Release crypto mailets 1.1 targeting java 1.5
>
> Make sense.
>
>>   * Release 2.4 soon replacing source with jars released so far (with
>> note about standard mailets)
>>     * Compiled against Java 1.5
>>     * Remove mordred
>>     * Replace 2.x crypto source with released jar
>>     * Replace 2.x mailet API with released jars
>>   * Release 2.5 later replacing source with released jars
>>     * Add jSPF support
>>     * Replace standard mailet source with released jar
>>     * Replace whichever other services have been released by then
>
> My main concern is that this does not give features to the users. Users
> are asking for a roadmap because they want easy virtualhosting, fastfail
> and other features that are in trunk since *3 years* (yes, some stuff
> was there when we released 2.3.0 and didn't land v2.3), are trunk
> specific, and backporting them is a PITA. I don't think that the roadmap
> above does worth the required work, but if anyone think so and is
> willing to work on that then it will not be a bad thing.

the advantage of the above is that it's a road map and it's easy

but it won't fly without support and we need a road map before 2.3.2
can be released

> The only real features for end users in that roadmap is jSPF and this
> could be released as a mailet anyway. jSPF as it is in trunk cannot be
> done in v2.3 because of different fastfail stuff (IIRC).

fine - so let's factor out an SMTP library as well (multi-module with
avalon and OSGi service bindings)

this means a DNS service library as well but IMHO that's a good thing.
UserRepository is a little too much to chew ATM but i think we should
be able to bridge the interfaces.

AIUI this'd give us improved fail fast as well

> I will not work and I will not use such a branch: I don't need any
> feature from that so why should I upgrade and risk bugs?

i'm running out of time to devote to james (as a project). karaf gives
me the way out i've been looking for.

you and norman are busy, as are most of the other developers.  james
server is really close to actually dying.

no road map is going to work without your support. this is the best
plan i could think of. if you can see a better alternative way forward
then please propose it.

> IMHO the above roadmap is mainly a developer exercise to replace source
> code with libraries and to upgrade v2.3 to java5.

it's been 3 years since the last release. it's not ambitious but at
least it's a start.

it's not good releasing 2.3.2 without some sort of road map

> Backporting stuff from 3.x to 2.x is simply unfeasible for most
> interesting code because we had to change interfaces and break some
> compatibility in order to support the new features. I BET backporting
> some of them will take *much* more time than testing trunk as a whole.
> People keep claiming that v2.3 is stable and trunk is not, but the fact
> is that simply no one tested trunk and confirmed it is unstable. Maybe
> it is, but until I'll see bug reports about instability against trunk I
> won't consider this.

i wasn't proposing to backport but to factor out multi-module
libraries which can be shared. bugs can then be fixed against trunk.

- robert

---------------------------------------------------------------------
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