[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-dev
Subject:    Re: [webkit-dev] Proposal for an "intent to" process for web-exposed features
From:       Maciej Stachowiak <mjs () apple ! com>
Date:       2020-02-27 17:22:09
Message-ID: E7D73DE7-F504-4B4F-A093-E6B2C9E11E53 () apple ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I think we should have some structure, not just freeform emails. We can \
start with a simple template, but there's some info that folks almost \
always want, so it's easier if it's included in the first place, rather \
than needing predictable follow-up questions

I also like having a title pattern, because that makes it easier to search \
email to find all things that fit the category.

Basically, since for any given feature email, there's many potential \
readers and only one sender, so it seems reasonable to ask the sender to do \
a little extra 

I had some sample templates (much simpler than the ones used by Chrome) \
which I will dig out and send here.

> On Feb 26, 2020, at 11:08 PM, Ryosuke Niwa <rniwa@webkit.org> wrote:
> 
> Thanks for starting this discussion.
> 
> On Wed, Feb 26, 2020 at 10:33 PM Frédéric Wang <fwang@igalia.com \
> <mailto:fwang@igalia.com>> wrote: 
> The idea of an "intent to" process has been raised several times in the \
> past (e.g. in our 2020 goals [1]) and some people already use it \
> informally, but it does not seem that we have any agreement right now. \
> Such a process would help to coordinate changes internally (between port \
> maintainers and contributors) and externally (with standard groups, users \
> and other implementers). For the former point, see [2][3][4] for examples \
> of how coordination is not smooth right now. The latter point will give a \
> better understanding of what's happening in WebKit and help web developer \
> advocacy. 
> Having some kind of a process to announce a new Web facing API or \
> behavior change is a good idea. In fact, we technically still have such a \
> process although nobody seems to be using these days: \
> https://trac.webkit.org/wiki/AddingFeatures \
> <https://trac.webkit.org/wiki/AddingFeatures> 
> The Mozilla and Chromium projects have their own process [5] [6]. We can \
> probably start with minimal rules and refine them in the future. We can \
> even make it mandatory only for new web platform features developed under \
> a runtime preference for now (i.e. excluding small features for which \
> it's not worth introducing a flag, behavior changes or \
> deprecation/removal). Below is a proposal based on Mozilla's one. 
> WebKit tends to err on the side of simpler rules so let's stick with \
> that. I don't think we need an email template for example (I hate \
> templates; all those intent to X emails on other engines' mailing lists \
> look so silly). 
> 1. Email webkit-dev with an intent to prototype.
> 
> I really dislike the idea of putting features into different stages like \
> prototyping, etc... I'd prefer a much simpler approach in which a new \
> feature or any behavior chance being worked on is announced on \
> webkit-dev. 
> In fact, I don't think we should have any rule about how emails are \
> titled, etc... Emails just need to contain a certain set of information \
> we need to evaluate whether a given feature / behavior change is good or \
> not. 
> Rather, what we need a guidance on is at which point something becomes a \
> feature or a behavior change significant enough that an announcement on \
> webkit-dev is necessary. For example, one could argue that any bug fix in \
> Web facing API will affect its behavior. However, I don't think we want \
> to be tracking every one of those behavior changes in WebKit on \
> webkit-dev. 
> Similarly, adding a new API has multitude of scales. On one hand, there \
> is ResizeObserver and there is adding pointerLockElement on ShadowRoot \
> <https://trac.webkit.org/changeset/209648/webkit>. At which point, should \
> we be making webkit-dev announcement. Again, I don't think we want to be \
> tracking the addition of every new DOM property, JS API, etc... on \
> webkit-dev.

I personally think every web platform facing change should be announced, \
but it's ok if some broader feature announcements cover every property and \
attribute in the spec at the time, even if they don't land all at once. On \
the other hand, in specs like HTML or DOM, many individual new markup \
attributes or DOM properties are a feature in themselves.


> 
> 2. Implement the feature normally behind a off-by-default preference.
> 
> This is not a preference, it's a WebKit policy: \
> https://webkit.org/feature-policy/ <https://webkit.org/feature-policy/>
I think he was using "preference" to mean "setting", not to suggest that \
this is merely a preference and not required.

> 
> 3. Email webkit-dev with an intent to ship.
> 
> I don't think this makes much sense in WebKit since there is no such a \
> thing as shipping in WebKit. Each port maintainers decide which set of \
> features will be enabled at when. 
> Or do you mean that we enabling new feature / behavior by default? If so, \
> then making such an announcement on webkit-dev requirement for Web facing \
> feature / behavior change makes sense to me. But we should never use term \
> such as "shipping". 
> 4. If there's no negative feedback, ship (ports maintainer can still \
> disable the feature if they want to). 
> We should probably adopt the same 5 business day policy here.
> 
> II/ Intent to prototype template
> 
> I don't think a template is necessary. We don't have a template for \
> nominating reviewer, committer, etc...  
> We should just have a list of topics / details / information each email \
> should contain. We should probably have: Summary of new feature / \
> behavior change Bug URL
> Spec URL / PR / Issue
> Status in other browsers
> I really don't think links to the related emails on webkit-dev, etc... is \
> necessary because anyone interested in a given feature / behavior change \
> will surely check the bug, etc... 
> On the other hand, we should probably also create a way to track all \
> these new features and behavior changes in some central place. For new \
> Web facing features, we have: https://webkit.org/status/ \
> <https://webkit.org/status/> 
> We should probably create some other page / tracking tool where all \
> behavior changes to existing Web APIs are tracked. And updating of \
> https://webkit.org/status/ <https://webkit.org/status/> as well as this \
> new tracking tool should probably a part of the requirement of adding a \
> new feature / making a Web facing behavioral change. 
> - R. Niwa
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev


[Attachment #5 (unknown)]

<html><head><meta http-equiv="Content-Type" content="text/html; \
charset=utf-8"></head><body style="word-wrap: break-word; \
-webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div \
class=""><br class=""></div>I think we should have some structure, not just \
freeform emails. We can start with a simple template, but there's some info \
that folks almost always want, so it's easier if it's included in the first \
place, rather than needing predictable follow-up questions<div class=""><br \
class=""></div><div class="">I also like having a title pattern, because \
that makes it easier to search email to find all things that fit the \
category.</div><div class=""><br class=""></div><div class="">Basically, \
since for any given feature email, there's many potential readers and only \
one sender, so it seems reasonable to ask the sender to do a little \
extra&nbsp;</div><div class=""><br class=""></div><div class="">I had some \
sample templates (much simpler than the ones used by Chrome) which I will \
dig out and send here.<br class=""><div><br class=""><blockquote \
type="cite" class=""><div class="">On Feb 26, 2020, at 11:08 PM, Ryosuke \
Niwa &lt;<a href="mailto:rniwa@webkit.org" \
class="">rniwa@webkit.org</a>&gt; wrote:</div><br \
class="Apple-interchange-newline"><div class=""><div dir="ltr" \
class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" \
class=""><div dir="ltr" class=""><div class="">Thanks for starting this \
discussion.</div><div dir="ltr" class=""><br class=""></div><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 26, 2020 \
at 10:33 PM Frédéric Wang &lt;<a href="mailto:fwang@igalia.com" \
class="">fwang@igalia.com</a>&gt; wrote:<br class=""></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
  

    
  
  <div bgcolor="#FFFFFF" class=""><div \
id="gmail-m_-3689131201992439938magicdomid5" class=""><br class="">  </div>
    <div id="gmail-m_-3689131201992439938magicdomid92" class=""><span \
                class="">The idea of
        an "intent to" process has been raised several times in the \
past</span><span class=""> (e.g. in our  2020 goals [1])</span><span \
class=""> and some people already  use it informally, but it does not seem \
that we have any  agreement right now. Such a process would help to \
coordinate  changes internally (between port maintainers and contributors)
        and externally (with standard groups, users and other
        implementers). </span><span class="">For the former
        point, s</span><span class="">ee [</span><span \
class="">2</span><span class="">][</span><span class="">3</span><span \
class="">][</span><span class="">4</span><span class="">] for examples of \
how coordination is not smooth right  now.</span><span class=""> The latter
        point will give a better understanding of what's happening in
        WebKit and help web developer \
advocacy.</span></div></div></blockquote><div class=""><br \
class=""></div><div class="">Having some kind of a process to announce a \
new Web facing API or behavior change is a good idea. In fact, we \
technically still have such a process although nobody seems to be using \
these days:&nbsp;<a href="https://trac.webkit.org/wiki/AddingFeatures" \
class="">https://trac.webkit.org/wiki/AddingFeatures</a></div><div \
class=""></div><div class=""><br class=""></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
bgcolor="#FFFFFF" class="">  <div \
id="gmail-m_-3689131201992439938magicdomid94" class=""><span class="">The \
Mozilla  and Chromium projects have their own process [</span><span \
class="">5</span><span class="">] [</span><span class="">6</span><span \
class="">]. We can probably start with minimal rules and refine  them in \
the future. We can even make it mandatory only for new  web platform \
                features </span><span class="">developed under
        a runtime preference </span><span class="">for now (i.e. \
</span><span class="">excluding small  features for which it's not worth \
introducing a flag, behavior  changes or deprecation/removal</span><span \
class="">). Below is  a proposal based on Mozilla's \
one.</span></div></div></blockquote><div class=""><br class=""></div><div \
class="">WebKit tends to err on the side of simpler rules so let's stick \
with that. I don't think we need an email template for example (I hate \
templates; all those intent to X emails on other engines' mailing lists \
look so silly).</div><div class=""><br class=""></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
bgcolor="#FFFFFF" class="">  <div \
id="gmail-m_-3689131201992439938magicdomid25" class=""><span class="">1. \
Email webkit-dev  with an intent to \
prototype.</span></div></div></blockquote><div class=""><br \
class=""></div><div class="">I really dislike the idea of putting features \
into different stages like prototyping, etc... I'd prefer a much simpler \
approach in which a new feature or any behavior chance being worked on is \
announced on webkit-dev.</div><div class=""><br class=""></div><div \
class="">In fact, I don't think we should have any rule about how emails \
are titled, etc... Emails just need to contain a certain set of information \
we need to evaluate whether a given feature / behavior change is good or \
not.</div><div class=""><br class=""></div><div class="">Rather, what we \
need a guidance on is at which point something becomes a feature or a \
behavior change significant enough that an announcement on webkit-dev is \
necessary. For example, one could argue that any bug fix in Web facing API \
will affect its behavior. However, I don't think we want to be tracking \
every one of those behavior changes in WebKit on webkit-dev.</div><div \
class=""><br class=""></div><div class="">Similarly, adding a new API has \
multitude of scales. On one hand, there is ResizeObserver and there is <a \
href="https://trac.webkit.org/changeset/209648/webkit" class="">adding \
pointerLockElement on ShadowRoot</a>. At which point, should we be making \
webkit-dev announcement. Again, I don't think we want to be tracking the \
addition of every new DOM property, JS API, etc... on \
webkit-dev.</div></div></div></div></div></div></div></div></blockquote><div><br \
class=""></div>I personally think every web platform facing change should \
be announced, but it's ok if some broader feature announcements cover every \
property and attribute in the spec at the time, even if they don't land all \
at once. On the other hand, in specs like HTML or DOM, many individual new \
markup attributes or DOM properties are a feature in \
themselves.</div><div><br class=""></div><div><br class=""><blockquote \
type="cite" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" \
class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" \
class=""><div class="gmail_quote"><div class=""><br \
class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
bgcolor="#FFFFFF" class=""><div \
id="gmail-m_-3689131201992439938magicdomid25" class="">&nbsp;2. Implement \
the  feature normally behind a off-by-default \
preference.</div></div></blockquote><div class=""><br class=""></div><div \
class="">This is not a preference, it's a WebKit policy:&nbsp;<a \
href="https://webkit.org/feature-policy/" \
class="">https://webkit.org/feature-policy/</a></div></div></div></div></div></div></div></div></blockquote><div><br \
class=""></div><div>I think he was using "preference" to mean "setting", \
not to suggest that this is merely a preference and not required.</div><br \
class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" \
class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" \
class=""><div dir="ltr" class=""><div class="gmail_quote"><div class=""><br \
class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
bgcolor="#FFFFFF" class="">  <div \
id="gmail-m_-3689131201992439938magicdomid27" class=""><span class="">3. \
Email webkit-dev  with an intent to \
ship.</span></div></div></blockquote><div class=""><br class=""></div><div \
class="">I don't think this makes much sense in WebKit since there is no \
such a thing as shipping in WebKit. Each port maintainers decide which set \
of features will be enabled at when.</div><div class=""><br \
class=""></div><div class="">Or do you mean that we enabling new feature / \
behavior by default? If so, then making such an announcement on webkit-dev \
requirement for Web facing feature / behavior change makes sense to me. But \
we should never use term such as "shipping".</div><div class=""><br \
class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
bgcolor="#FFFFFF" class="">  <div \
id="gmail-m_-3689131201992439938magicdomid28" class=""><span class="">4. If \
there's no  negative feedback, ship (ports maintainer can still disable the
        feature if they want to).</span></div></div></blockquote><div \
class=""><br class=""></div><div class="">We should probably adopt the same \
5 business day policy here.</div><div class=""><br \
class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
bgcolor="#FFFFFF" class="">  <div \
id="gmail-m_-3689131201992439938magicdomid30" class=""><span class="">II/ \
Intent to  prototype template</span></div></div></blockquote><div \
class=""><br class=""></div><div class="">I don't think a template is \
necessary. We don't have a template for nominating reviewer, committer, \
etc...&nbsp;</div><div class=""><br class=""></div><div class="">We should \
just have a list of topics / details / information each email should \
contain. We should probably have:</div><div class=""><ul class=""><li \
class="">Summary of new feature / behavior change</li><li class="">Bug \
URL</li><li class="">Spec URL / PR / Issue</li><li class="">Status in other \
browsers</li></ul></div><div class="">I really don't think links to the \
related emails on webkit-dev, etc... is necessary because anyone interested \
in a given feature / behavior change will surely check the bug, \
etc...</div><div class=""><br class=""></div><div class="">On the other \
hand, we should probably also create a way to track all these new features \
and behavior changes in some central place. For new Web facing features, we \
have:&nbsp;<a href="https://webkit.org/status/" \
class="">https://webkit.org/status/</a></div><div class=""><br \
class=""></div><div class="">We should probably create some other page / \
tracking tool where all behavior changes to existing Web APIs are tracked. \
And updating of <a href="https://webkit.org/status/" \
class="">https://webkit.org/status/</a> as well as this new tracking tool \
should probably a part of the requirement of adding a new feature / making \
a Web facing behavioral change.</div><div class=""><br class=""></div><div \
class="">- R. Niwa</div><div class=""><br \
class=""></div></div></div></div></div></div></div> \
_______________________________________________<br class="">webkit-dev \
mailing list<br class=""><a href="mailto:webkit-dev@lists.webkit.org" \
class="">webkit-dev@lists.webkit.org</a><br \
class="">https://lists.webkit.org/mailman/listinfo/webkit-dev<br \
class=""></div></blockquote></div><br class=""></div></body></html>



_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic