[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