Re: [PATCH wayland 1/2] contributing: add review guidelines

2018-06-19 Thread Emil Velikov
Hi Pekka,

On 18 June 2018 at 14:42, Pekka Paalanen  wrote:

> +- Stable ABI or API is not broken.
> +
I think I've just caught one of those ;-)

Thanks for the vast, yet concise writeup. Fwiw
Reviewed-by: Emil Velikov 

-Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH wayland 1/2] contributing: add review guidelines

2018-06-19 Thread Pekka Paalanen
On Tue, 19 Jun 2018 11:45:24 +0100
Daniel Stone  wrote:

> Hi Pekka,
> 
> On Mon, 18 Jun 2018 at 14:43, Pekka Paalanen  wrote:
> > This sets up the standards for patch review, and defines when a patch
> > can be merged. I believe these are the practises we have been using
> > already for a long time, now they are just written down explicitly.
> >
> > It's not an exhaustive list of criteria and likely cannot ever be, but
> > it should give a good idea of what level of review we want to have.
> >
> > It has been written in general terms, so that we can easily apply the
> > same text not just to Wayland, but also Weston and other projects as
> > necessary.
> >
> > This addition is not redundant with
> > https://wayland.freedesktop.org/reviewing.html .
> >
> > The web page is a friendly introduction and encouragement for people to
> > get involved. The guidelines here are more specific and aimed for people
> > who seek commit rights or maintainership.  
> 
> Thanks a lot for tackling this! Having it written down is fantastic,
> and I like how you've put it. I have two minor suggestions below:
> 
> > +- The code is correct and does not ignore corner-cases.  
> 
> In general this is what we aim for, but the presence of 'XXX'/'FIXME'
> comments in the code shows we don't always live up to that ideal. ;)
> Maybe this could instead be something like:
> 
> The code is correct and does not introduce new failures for existing
> users, nor add new corner-case bugs.

Yes, that was my intention.

> When fixing bugs, 'root cause' fixes are preferred rather than hiding
> symptoms: identify why the issue has occurred, and fix it as close as
> possible to the source. If it is not practical to completely fix the
> issue, partial fixes should be accompanied by a comment in proximate
> code, as well as a new issue opened in GitLab clearly noting known
> corner cases with a suggestion on how to fix them.

A good point.

> 
> > +- The code does what it says in the commit message and changes nothing 
> > else.  
> 
> Which leads naturally to something like:
> 
> If the commit message starts getting too long and addresses multiple
> points, this may be a sign that the commit should be broken into
> smaller individual commits.

Yes.

> I'm happy to take alternate wording, since what you've written here is
> far more concise than mine. Anyway, both patches are:
> Reviewed-by: Daniel Stone 

On one hand I'd like it to be very concise, so that people don't get
put off by it. The list already seemed a bit long, and one could write
books about it. On the other hand I'd like to expand on all points.

Should we favour short bullet points or longer explanations?
The Markdown formatting also sets some restrictions, and I think it's
likely the list will only grow longer.

I suppose your intention is that we can land these two patches as is,
and make amendments in follow-ups, right?

I'd like to let this soak on the mailing list for a while and see what
other comments and R-bs we get.

> Could this later be used as the basis for similar Weston patches?

I assumed we just point here from Weston, if we don't already, at least
until differences between Wayland and Weston emerge.


Thanks,
pq


pgpyRkZ2mMMuL.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH wayland 1/2] contributing: add review guidelines

2018-06-19 Thread Daniel Stone
Hi Pekka,

On Mon, 18 Jun 2018 at 14:43, Pekka Paalanen  wrote:
> This sets up the standards for patch review, and defines when a patch
> can be merged. I believe these are the practises we have been using
> already for a long time, now they are just written down explicitly.
>
> It's not an exhaustive list of criteria and likely cannot ever be, but
> it should give a good idea of what level of review we want to have.
>
> It has been written in general terms, so that we can easily apply the
> same text not just to Wayland, but also Weston and other projects as
> necessary.
>
> This addition is not redundant with
> https://wayland.freedesktop.org/reviewing.html .
>
> The web page is a friendly introduction and encouragement for people to
> get involved. The guidelines here are more specific and aimed for people
> who seek commit rights or maintainership.

Thanks a lot for tackling this! Having it written down is fantastic,
and I like how you've put it. I have two minor suggestions below:

> +- The code is correct and does not ignore corner-cases.

In general this is what we aim for, but the presence of 'XXX'/'FIXME'
comments in the code shows we don't always live up to that ideal. ;)
Maybe this could instead be something like:

The code is correct and does not introduce new failures for existing
users, nor add new corner-case bugs.

When fixing bugs, 'root cause' fixes are preferred rather than hiding
symptoms: identify why the issue has occurred, and fix it as close as
possible to the source. If it is not practical to completely fix the
issue, partial fixes should be accompanied by a comment in proximate
code, as well as a new issue opened in GitLab clearly noting known
corner cases with a suggestion on how to fix them.

> +- The code does what it says in the commit message and changes nothing else.

Which leads naturally to something like:

If the commit message starts getting too long and addresses multiple
points, this may be a sign that the commit should be broken into
smaller individual commits.

I'm happy to take alternate wording, since what you've written here is
far more concise than mine. Anyway, both patches are:
Reviewed-by: Daniel Stone 

Could this later be used as the basis for similar Weston patches?

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH wayland 1/2] contributing: add review guidelines

2018-06-18 Thread Matheus Santana
Reviewed-by: Matheus Santana 

It seems a great starting point.

On Mon, Jun 18, 2018 at 10:42 AM, Pekka Paalanen 
wrote:

> From: Pekka Paalanen 
>
> This sets up the standards for patch review, and defines when a patch
> can be merged. I believe these are the practises we have been using
> already for a long time, now they are just written down explicitly.
>
> It's not an exhaustive list of criteria and likely cannot ever be, but
> it should give a good idea of what level of review we want to have.
>
> It has been written in general terms, so that we can easily apply the
> same text not just to Wayland, but also Weston and other projects as
> necessary.
>
> This addition is not redundant with
> https://wayland.freedesktop.org/reviewing.html .
>
> The web page is a friendly introduction and encouragement for people to
> get involved. The guidelines here are more specific and aimed for people
> who seek commit rights or maintainership.
>
> Signed-off-by: Pekka Paalanen 
> ---
>  CONTRIBUTING.md | 49 +
>  1 file changed, 49 insertions(+)
>
> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
> index 7ad75b8..6e74b6d 100644
> --- a/CONTRIBUTING.md
> +++ b/CONTRIBUTING.md
> @@ -197,5 +197,54 @@ New source code files should specify the MIT Expat
> license in their
>  boilerplate, as part of the copyright statement.
>
>
> +Review
> +==
> +
> +All patches, even trivial ones, require at least one positive review
> +(Reviewed-by). Additionally, if no Reviewed-by's have been given by
> +people with commit access, there needs to be at least one Acked-by from
> +someone with commit access. A person with commit access is expected to be
> +able to evaluate the patch with respect to the project scope and
> architecture.
> +
> +During review, the following matters should be checked:
> +
> +- The commit message explains why the change is being made.
> +
> +- The code fits the project's scope.
> +
> +- The code license is the same MIT licence the project generally uses.
> +
> +- Stable ABI or API is not broken.
> +
> +- Stable ABI or API additions must be justified by actual use cases, not
> only
> +by speculation. They must also be documented, and it is strongly
> recommended to
> +include tests excercising the additions in the test suite.
> +
> +- The code fits the existing software architecture, e.g. no layering
> +violations.
> +
> +- The code is correct and does not ignore corner-cases.
> +
> +- In a patch series, every intermediate step produces correct code as
> well.
> +
> +- The code does what it says in the commit message and changes nothing
> else.
> +
> +- The test suite passes.
> +
> +- The code does not depend on API or ABI which has no working free open
> source
> +implementation.
> +
> +- The code is not dead or untestable. E.g. if there are no free open
> source
> +software users for it then it is effectively dead code.
> +
> +- The code is written to be easy to understand, or if code cannot be clear
> +enough on its own there are code comments to explain it.
> +
> +- The code is minimal, i.e. prefer refactor and re-use when possible
> unless
> +clarity suffers.
> +
> +- The code adheres to the style guidelines.
> +
> +
>  [git documentation]: http://git-scm.com/documentation
>  [notes on commit messages]: http://who-t.blogspot.de/2009/
> 12/on-commit-messages.html
> --
> 2.16.4
>
> ___
> wayland-devel mailing list
> wayland-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


[PATCH wayland 1/2] contributing: add review guidelines

2018-06-18 Thread Pekka Paalanen
From: Pekka Paalanen 

This sets up the standards for patch review, and defines when a patch
can be merged. I believe these are the practises we have been using
already for a long time, now they are just written down explicitly.

It's not an exhaustive list of criteria and likely cannot ever be, but
it should give a good idea of what level of review we want to have.

It has been written in general terms, so that we can easily apply the
same text not just to Wayland, but also Weston and other projects as
necessary.

This addition is not redundant with
https://wayland.freedesktop.org/reviewing.html .

The web page is a friendly introduction and encouragement for people to
get involved. The guidelines here are more specific and aimed for people
who seek commit rights or maintainership.

Signed-off-by: Pekka Paalanen 
---
 CONTRIBUTING.md | 49 +
 1 file changed, 49 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7ad75b8..6e74b6d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -197,5 +197,54 @@ New source code files should specify the MIT Expat license 
in their
 boilerplate, as part of the copyright statement.
 
 
+Review
+==
+
+All patches, even trivial ones, require at least one positive review
+(Reviewed-by). Additionally, if no Reviewed-by's have been given by
+people with commit access, there needs to be at least one Acked-by from
+someone with commit access. A person with commit access is expected to be
+able to evaluate the patch with respect to the project scope and architecture.
+
+During review, the following matters should be checked:
+
+- The commit message explains why the change is being made.
+
+- The code fits the project's scope.
+
+- The code license is the same MIT licence the project generally uses.
+
+- Stable ABI or API is not broken.
+
+- Stable ABI or API additions must be justified by actual use cases, not only
+by speculation. They must also be documented, and it is strongly recommended to
+include tests excercising the additions in the test suite.
+
+- The code fits the existing software architecture, e.g. no layering
+violations.
+
+- The code is correct and does not ignore corner-cases.
+
+- In a patch series, every intermediate step produces correct code as well.
+
+- The code does what it says in the commit message and changes nothing else.
+
+- The test suite passes.
+
+- The code does not depend on API or ABI which has no working free open source
+implementation.
+
+- The code is not dead or untestable. E.g. if there are no free open source
+software users for it then it is effectively dead code.
+
+- The code is written to be easy to understand, or if code cannot be clear
+enough on its own there are code comments to explain it.
+
+- The code is minimal, i.e. prefer refactor and re-use when possible unless
+clarity suffers.
+
+- The code adheres to the style guidelines.
+
+
 [git documentation]: http://git-scm.com/documentation
 [notes on commit messages]: 
http://who-t.blogspot.de/2009/12/on-commit-messages.html
-- 
2.16.4

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel