Hello!

I wanted to tie together a few ongoing threads and make a proposal for the road 
to a 4.0 release. My assumption is that there currently is not roadmap to 4.0. 
If I am mistaken, please do let me know and I will adapt.

I think by now it is clear that, although a great project with TONS of great 
work put into it by some very dedicated people over several years, over time 
James has drifted away from having a user focus. (I’ll say “user” here because 
it is more natural, but I really mean “Operator” as we defined recently). What 
this means is:

 * It is difficult for new users to understand how James works
 * It is difficult to get James working
 * It is not easy to understand how to configure James
     (or even to understand what all the different configurations are)

I don’t think this was ever intended, but it just kinda happened over time. I 
think it is understandable, as James is a very complex project. Maintaining a 
working system of this scale by a small team of volunteers is not at all an 
easy task. I am not at all trying to suggest that this is a “bad” thing in any 
way, so please don’t get me wrong.

I get the feeling that there has been a lot of support in the community to 
shift towards making James more user-friendly, and that it shouldn’t require a 
huge effort because there are so many good things already baked into the 
project. The current direction seems to be:

 * Redo the documentation (already underway, though taking more time than 
expected)
 * Have a “Basic Server” entry-level offering that is ideally very easy to 
install and operate
 * Have an “Extensible Server” offering that shows where James really shines 
(i.e. its extensibility)
     —> Include some kind of “build project” that helps operators build the 
James they want
  * Have a “Distributed Server” offering for more heavy-duty environments

(There are a few other servers as well, but maybe they are more 
development-oriented??)

My intention in this thread is to set a very clear objective for a 4.0 release. 
I would like to propose that for the 4.0 release, we start to make the 
objectives more user-oriented. I would like to propose that as part of setting 
our objectives for 4.0, we adhere to the following:

 * Set clear metrics to determine if the objectives are met or not
 * Make the metrics user-oriented

As part of this release, I would like to resolve how the community sees its 
role. In the discussion we had last time, it seemed to be very inward focused 
(what do I get out of this; how do I ensure that I don’t feel stuck doing 
something I don’t want to do) instead of being outward focused (what does the 
user get, how should the user expect to benefit). I would argue that any 
user-oriented documentation should be for the user’s benefit, and ought to be 
user-focused. I think we need a clear resolution, and I think it is related to 
the 4.0 objective.

By the way, to coincide with the release, if the objectives are clear, perhaps 
there is a commercial organization (or individual) who would be willing to 
provide paid-for professional support starting from 4.0? I think it would help 
complete the offering, and hopefully provide a commercial opportunity as well 
in a way that is beneficial to all, including the James community. We just need 
to ensure that the “contract” is very clear, and that we avoid any potential 
conflicts of interest. I think we should include this item in the scope of the 
discussion as well. (Just a thought, but maybe the “Distributed James” could be 
a commercial offering, rather than a community offering??)


To resolve this thread, I will be satisfied once we have a clear statement of 
objectives regarding the 4.0 release.

Cheers,
=David



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