caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Recent hooks design and general github PR issues
@ 2016-07-19 15:08 Yotam Barnoy
  2016-07-19 15:36 ` Fabrice Le Fessant
  2016-07-19 20:21 ` Alain Frisch
  0 siblings, 2 replies; 8+ messages in thread
From: Yotam Barnoy @ 2016-07-19 15:08 UTC (permalink / raw)
  To: Ocaml Mailing List

I would like to alert the list to a potential problem with github PRs,
and a recent example of such a problem.

I've noticed that recently, there has been an insertion of a
particular feature into the compiler. This feature involves
potentially long-term commitment in terms of maintenance, and yet I
have not seen it or its costs vs benefits being discussed fully in any
particular place. I'm specifically talking about PRs
https://github.com/ocaml/ocaml/pull/648,
https://github.com/ocaml/ocaml/pull/668 and
https://github.com/ocaml/ocaml/pull/647.

The problem with github PRs is that they allow you to insert features
piecemeal. This splits up the discussion across multiple PRs, making
it very difficult to have a discussion about the feature as a whole,
and making it seem like there is consensus when there might not be.

As a rule, I recommend that any such large feature spanning multiple
PRs first require discussion either on the list or on mantis, to
concentrate discussion in one place.

It may also be worthwhile to say that except for rare exceptions
(mostly bug fixes), PRs should not be merged by the same person who
authored them, as this makes the process seem biased and questionable.

I don't know if this feature in itself is problematic, but I've seen
several core members trying to voice concerns about the feature in one
PR, while other member PRs were simply merged into the tree. In my
opinion, questions on sub-PRs of a feature should inhibit merging any
parts of said feature.

This may be a false alert, but I think it is worth clarifying if it is
indeed one, and at the very least, the protocol should be set for the
future.

-Yotam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-19 15:08 [Caml-list] Recent hooks design and general github PR issues Yotam Barnoy
@ 2016-07-19 15:36 ` Fabrice Le Fessant
  2016-07-19 16:23   ` Yotam Barnoy
  2016-07-19 20:21 ` Alain Frisch
  1 sibling, 1 reply; 8+ messages in thread
From: Fabrice Le Fessant @ 2016-07-19 15:36 UTC (permalink / raw)
  To: Yotam Barnoy, Ocaml Mailing List

[-- Attachment #1: Type: text/plain, Size: 3108 bytes --]

Hi,

>   several core members trying to voice concerns about the feature in one PR,
while other member PRs were simply merged into the tree

Could you be more specific ? I think I have taken the time to discuss all
these PRs (for 20 days for 2 of them, 13 days for the other one), I have
modified the PRs to follow the requests that were voiced (for example, by
removing the default -fPIC) and they were all reviewed by other core
developers. If you think some concerns have not been taken into account,
please, tell me.

>  yet I have not seen it or its costs vs benefits being discussed fully in
any particular place

Probably because the cost vs benefit is very hard to measure in most PR:
the benefit might be small for some users, and big for other ones; some
features might be hard to understand and to use, yet one developer can use
them to develop a tool that can be used by many users; some features might
look of little use at the beginning, yet, once they are present, other
users might find usages that were not foreseen in the PR discussion.

--Fabrice


On Tue, Jul 19, 2016 at 5:09 PM Yotam Barnoy <yotambarnoy@gmail.com> wrote:

> I would like to alert the list to a potential problem with github PRs,
> and a recent example of such a problem.
>
> I've noticed that recently, there has been an insertion of a
> particular feature into the compiler. This feature involves
> potentially long-term commitment in terms of maintenance, and yet I
> have not seen it or its costs vs benefits being discussed fully in any
> particular place. I'm specifically talking about PRs
> https://github.com/ocaml/ocaml/pull/648,
> https://github.com/ocaml/ocaml/pull/668 and
> https://github.com/ocaml/ocaml/pull/647.
>
> The problem with github PRs is that they allow you to insert features
> piecemeal. This splits up the discussion across multiple PRs, making
> it very difficult to have a discussion about the feature as a whole,
> and making it seem like there is consensus when there might not be.
>
> As a rule, I recommend that any such large feature spanning multiple
> PRs first require discussion either on the list or on mantis, to
> concentrate discussion in one place.
>
> It may also be worthwhile to say that except for rare exceptions
> (mostly bug fixes), PRs should not be merged by the same person who
> authored them, as this makes the process seem biased and questionable.
>
> I don't know if this feature in itself is problematic, but I've seen
> several core members trying to voice concerns about the feature in one
> PR, while other member PRs were simply merged into the tree. In my
> opinion, questions on sub-PRs of a feature should inhibit merging any
> parts of said feature.
>
> This may be a false alert, but I think it is worth clarifying if it is
> indeed one, and at the very least, the protocol should be set for the
> future.
>
> -Yotam
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 4482 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-19 15:36 ` Fabrice Le Fessant
@ 2016-07-19 16:23   ` Yotam Barnoy
  2016-07-19 17:28     ` Fabrice Le Fessant
  0 siblings, 1 reply; 8+ messages in thread
From: Yotam Barnoy @ 2016-07-19 16:23 UTC (permalink / raw)
  To: Fabrice Le Fessant; +Cc: Ocaml Mailing List

See the comments at the bottom of
https://github.com/ocaml/ocaml/pull/668 by avsm and gasche, which can
be seen as asking question about the whole feature (not just the PR).
See also Shinwell's concerns at the bottom of
https://github.com/ocaml/ocaml/pull/647. And note that since they are
on separate PRs, they most likely did not see each others' comments,
which is a problem.

In general, I think the process has to be refined. As this is all part
of one feature, that feature should be discussed first before any
merging begins. And merging should not be done by the person
suggesting the feature.

-Yotam

On Tue, Jul 19, 2016 at 11:36 AM, Fabrice Le Fessant
<Fabrice.Le_fessant@inria.fr> wrote:
> Hi,
>
>>   several core members trying to voice concerns about the feature in one
>> PR, while other member PRs were simply merged into the tree
>
> Could you be more specific ? I think I have taken the time to discuss all
> these PRs (for 20 days for 2 of them, 13 days for the other one), I have
> modified the PRs to follow the requests that were voiced (for example, by
> removing the default -fPIC) and they were all reviewed by other core
> developers. If you think some concerns have not been taken into account,
> please, tell me.
>
>>  yet I have not seen it or its costs vs benefits being discussed fully in
>> any particular place
>
> Probably because the cost vs benefit is very hard to measure in most PR: the
> benefit might be small for some users, and big for other ones; some features
> might be hard to understand and to use, yet one developer can use them to
> develop a tool that can be used by many users; some features might look of
> little use at the beginning, yet, once they are present, other users might
> find usages that were not foreseen in the PR discussion.
>
> --Fabrice
>
>
> On Tue, Jul 19, 2016 at 5:09 PM Yotam Barnoy <yotambarnoy@gmail.com> wrote:
>>
>> I would like to alert the list to a potential problem with github PRs,
>> and a recent example of such a problem.
>>
>> I've noticed that recently, there has been an insertion of a
>> particular feature into the compiler. This feature involves
>> potentially long-term commitment in terms of maintenance, and yet I
>> have not seen it or its costs vs benefits being discussed fully in any
>> particular place. I'm specifically talking about PRs
>> https://github.com/ocaml/ocaml/pull/648,
>> https://github.com/ocaml/ocaml/pull/668 and
>> https://github.com/ocaml/ocaml/pull/647.
>>
>> The problem with github PRs is that they allow you to insert features
>> piecemeal. This splits up the discussion across multiple PRs, making
>> it very difficult to have a discussion about the feature as a whole,
>> and making it seem like there is consensus when there might not be.
>>
>> As a rule, I recommend that any such large feature spanning multiple
>> PRs first require discussion either on the list or on mantis, to
>> concentrate discussion in one place.
>>
>> It may also be worthwhile to say that except for rare exceptions
>> (mostly bug fixes), PRs should not be merged by the same person who
>> authored them, as this makes the process seem biased and questionable.
>>
>> I don't know if this feature in itself is problematic, but I've seen
>> several core members trying to voice concerns about the feature in one
>> PR, while other member PRs were simply merged into the tree. In my
>> opinion, questions on sub-PRs of a feature should inhibit merging any
>> parts of said feature.
>>
>> This may be a false alert, but I think it is worth clarifying if it is
>> indeed one, and at the very least, the protocol should be set for the
>> future.
>>
>> -Yotam
>>
>> --
>> Caml-list mailing list.  Subscription management and archives:
>> https://sympa.inria.fr/sympa/arc/caml-list
>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>> Bug reports: http://caml.inria.fr/bin/caml-bugs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-19 16:23   ` Yotam Barnoy
@ 2016-07-19 17:28     ` Fabrice Le Fessant
  0 siblings, 0 replies; 8+ messages in thread
From: Fabrice Le Fessant @ 2016-07-19 17:28 UTC (permalink / raw)
  To: Yotam Barnoy; +Cc: Ocaml Mailing List

[-- Attachment #1: Type: text/plain, Size: 2404 bytes --]

On Tue, Jul 19, 2016 at 6:24 PM Yotam Barnoy <yotambarnoy@gmail.com> wrote:

> See the comments at the bottom of
> https://github.com/ocaml/ocaml/pull/668 by avsm and gasche


I replied to Gabriel, who was asking for a different API, that could be
done, but is not my intent (OCamlPro needs what I implemented, not what he
was discussing, so if somebody else wants to contribute the complementary
approach, he is welcome), and Anil just said he didn't see the benefit of
the interception hooks, which is (1) only one part of the PR (cplugins can
be used to do other things, such as have a more portable version of
OCamlPro's Memory Profiler) and (2) there are several examples on
github.com/OCamlPro/ocp-cplugins that show that the restriction to the
stdlib provides already interesting use cases.


> See also Shinwell's concerns at the bottom of
> https://github.com/ocaml/ocaml/pull/647


Mark was commenting on the maintainability of ppx at Jane Street, not about
the maintainability of the ppx code inside the compiler. The discussion was
diverging from the actual subject of the PR at that point.


> . And note that since they are on separate PRs, they most likely did not
> see each others' comments, which is a problem.
>

I don't understand that part: there is no link between the two PRs, one is
about plugins in the runtime, the other one about plugins in the compiler,
which have completely different use cases and cost/benefits.


> In general, I think the process has to be refined. As this is all part
> of one feature, that feature should be discussed first before any
> merging begins. And merging should not be done by the person
> suggesting the feature.


I think it is quite common in the core team, especially before a code
freeze. Check all the closed/merged PRs with the black tag "Spacetime
prerequisite" for an easy example. The current process is to have at least
one code review by another core developer and no strong objection by
another core developer. I think it is a good trade-off between fast
evolution while keeping good code quality.

Finally, about the maintainability, I think having plugins both in the
runtime and the compiler will help externalizing some code from the
distribution, thus decreasing the maintenance cost of the distribution,
while allowing external contributors to extend the runtime and compiler
through OPAM packages.

Best regards,
--Fabrice

[-- Attachment #2: Type: text/html, Size: 3519 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-19 15:08 [Caml-list] Recent hooks design and general github PR issues Yotam Barnoy
  2016-07-19 15:36 ` Fabrice Le Fessant
@ 2016-07-19 20:21 ` Alain Frisch
  2016-07-21 12:09   ` Goswin von Brederlow
  1 sibling, 1 reply; 8+ messages in thread
From: Alain Frisch @ 2016-07-19 20:21 UTC (permalink / raw)
  To: Yotam Barnoy, Ocaml Mailing List

On 19/07/2016 17:08, Yotam Barnoy wrote:
> It may also be worthwhile to say that except for rare exceptions
> (mostly bug fixes), PRs should not be merged by the same person who
> authored them, as this makes the process seem biased and questionable.

Open source projects have leaders (Xavier and Damien, for OCaml), and 
other core maintainers with more decision power than the community.  And 
in the community, the opinions of some people have more weight than 
those of others.  Of course, the process is biased!

But compare to the situation before the switch to Git and GitHub: new 
developments were almost always pushed/committed by the author if they 
had commit rights, sometimes discussed (well, usually evoked) on 
caml-devel before, and even less often on Mantis.

The new situation is much more open and the level of review has 
increased significantly.  When someone with commit rights submits a PR, 
this is more community-friendly than pushing directly to trunk (which is 
not forbidden, and still happens), even if the same person finally does 
the merge after taking comments (from everyone) into account.  Possibly 
nobody feels like commenting, reviewing, nor endorsing the proposal; 
this is not ideal, but I don't think this should prevent merging after a 
reasonable amount of time, preferably also after mentioning the imminent 
merge.


Alain

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-19 20:21 ` Alain Frisch
@ 2016-07-21 12:09   ` Goswin von Brederlow
  2016-07-21 12:38     ` Fabrice Le Fessant
  0 siblings, 1 reply; 8+ messages in thread
From: Goswin von Brederlow @ 2016-07-21 12:09 UTC (permalink / raw)
  To: Alain Frisch; +Cc: Yotam Barnoy, Ocaml Mailing List

On Tue, Jul 19, 2016 at 10:21:14PM +0200, Alain Frisch wrote:
> On 19/07/2016 17:08, Yotam Barnoy wrote:
> > It may also be worthwhile to say that except for rare exceptions
> > (mostly bug fixes), PRs should not be merged by the same person who
> > authored them, as this makes the process seem biased and questionable.
> 
> Open source projects have leaders (Xavier and Damien, for OCaml), and other
> core maintainers with more decision power than the community.  And in the
> community, the opinions of some people have more weight than those of
> others.  Of course, the process is biased!
> 
> But compare to the situation before the switch to Git and GitHub: new
> developments were almost always pushed/committed by the author if they had
> commit rights, sometimes discussed (well, usually evoked) on caml-devel
> before, and even less often on Mantis.
> 
> The new situation is much more open and the level of review has increased
> significantly.  When someone with commit rights submits a PR, this is more
> community-friendly than pushing directly to trunk (which is not forbidden,
> and still happens), even if the same person finally does the merge after
> taking comments (from everyone) into account.  Possibly nobody feels like
> commenting, reviewing, nor endorsing the proposal; this is not ideal, but I
> don't think this should prevent merging after a reasonable amount of time,
> preferably also after mentioning the imminent merge.
> 
> 
> Alain

Many other projects use the rule that PR author != merger. Even
leaders make mistakes and this simple rulte gives each PR a second set
of eyes.

+1 to that suggestion.

MfG
	Goswin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-21 12:09   ` Goswin von Brederlow
@ 2016-07-21 12:38     ` Fabrice Le Fessant
  2016-07-21 13:37       ` Hendrik Boom
  0 siblings, 1 reply; 8+ messages in thread
From: Fabrice Le Fessant @ 2016-07-21 12:38 UTC (permalink / raw)
  To: Goswin von Brederlow, Alain Frisch; +Cc: Yotam Barnoy, Ocaml Mailing List

[-- Attachment #1: Type: text/plain, Size: 214 bytes --]

On Thu, Jul 21, 2016 at 2:09 PM Goswin von Brederlow <goswin-v-b@web.de>
wrote:

> Many other projects use the rule that PR author != merger.


But even more other projects don't use that rule, no ? ;-)

--Fabrice

[-- Attachment #2: Type: text/html, Size: 499 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Recent hooks design and general github PR issues
  2016-07-21 12:38     ` Fabrice Le Fessant
@ 2016-07-21 13:37       ` Hendrik Boom
  0 siblings, 0 replies; 8+ messages in thread
From: Hendrik Boom @ 2016-07-21 13:37 UTC (permalink / raw)
  To: caml-list

On Thu, Jul 21, 2016 at 12:38:56PM +0000, Fabrice Le Fessant wrote:
> On Thu, Jul 21, 2016 at 2:09 PM Goswin von Brederlow <goswin-v-b@web.de>
> wrote:
> 
> > Many other projects use the rule that PR author != merger.
> 
> 
> But even more other projects don't use that rule, no ? ;-)

Certainly one-man projects don'e/

-- hendrik

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-07-21 13:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-19 15:08 [Caml-list] Recent hooks design and general github PR issues Yotam Barnoy
2016-07-19 15:36 ` Fabrice Le Fessant
2016-07-19 16:23   ` Yotam Barnoy
2016-07-19 17:28     ` Fabrice Le Fessant
2016-07-19 20:21 ` Alain Frisch
2016-07-21 12:09   ` Goswin von Brederlow
2016-07-21 12:38     ` Fabrice Le Fessant
2016-07-21 13:37       ` Hendrik Boom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).