Le 19/06/2020 à 20:49, David Leangen a écrit :
> 
> Hi,
> 
> Please be in a good mood when you read this. Words can be taken the wrong 
> way. I am writing this with a big smile on my face, all in good humour. 😆
> 
>>>
>>>> [... snipped everything ...]
>>
>> I agree with everything you wrote.
> 
> I think you are taking certain things a little too much out of context. 😀
> 
> My point is more about being honest than being generous. I am not trying to 
> recruit anybody to provide free work. Not at all.
> 
> When I say there should be some kind of SLA, I am not at all suggesting that 
> everybody commit a fixed amount of time or make any guarantees to solve other 
> people’s problems for free. Actually, I thought I had proposed quite the 
> opposite (that we list people and companies who are willing to do it for a 
> fee.) So it sounds like we are very much in agreement. Nobody should be 
> expected to work for free if the don’t want to.
> 
> My point is about being up front and honest, so people know what to expect 
> and can weigh their options. In order to build trust, we need to set 
> reasonable expectations (whatever they happen to be), and stick to them (or 
> update them if we can’t). Personally, I prefer when somebody under-sells and 
> over-delivers the somebody who does the opposite. I can trust that person and 
> if I agree to their terms, I know I will be satisfied. From what I have read 
> and based on the people I know, I think that most people appear to be the 
> same.
> 
> If people don’t understand their options, then the unknowns make using James 
> too risky. In my mind, that is not a successful community project.
> 
> For instance, if the website states that that a particular feature of James 
> works, then it really should work. Otherwise nobody will trust the James 
> community.
> 
> There are already basic standards in place and are I think being respected, 
> else the community would very quickly fall apart:
> 
>  * New features should have tests
>  * Tests should always pass
>  * Code should always compile
>  * Etc.
> 
> I could suggest that we add a bit to that list for the sole purpose of 
> setting expectations and, hopefully, eventually expanding the community.
> 
> And anyway, is it really such a horrible thing, for instance, to ask somebody 
> who commits a feature to ensure that it gets documented properly? Or that the 
> code is readable? Etc.
> 
> If it is too much to ask, then we should instead write disclaimers on the 
> website to warn people instead of trying to boast about how awesome James is.

This is a fair point, but 'quality' differs from 'support' concerns.

We of course need to refresh / clarify our expectations regarding code
quality as a all.

As part of the 3.0.0 release in 2016 we did that work and decided that
to be supported:

 - 'interfaces' in components needs a contract test suite
 - 'implementation' of these interfaces needs to pass this test suite
 - Decent integration tests coverage is needed
 - Performance tests needs to be conducted out.
 - Quality Assurance with external clients

Everything not matching these standards would be categorized as
experimental.

Enforcing this for 3.0.0 (JAMES-1765) id lead us to this kind of
documents [1], in order to leverage faith in the existing components.

[1]
https://github.com/chibenwa/james-project/blob/v3.0_roadmap/v3.0_roadmap.adoc

I would add to the list:
 - known existing production deployments/usages
 - usable documentation

I believe the 'quality' of what we provide is independent from the
support we offer (of course better quality might bring less needs of
support).

I will write an Architecture Decision Record on this topic.

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