<div dir="ltr"><font color="#0000ff">Thanks Stefan and Jan-Simon, </font><div><font color="#0000ff">Comments in-line. </font></div><div><font color="#0000ff"><br></font></div><div><font color="#0000ff">Walt</font></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 18, 2016 at 11:19 AM, Stephane Desneux <span dir="ltr">&lt;<a href="mailto:stephane.desneux@iot.bzh" target="_blank">stephane.desneux@iot.bzh</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Some feedback inline.<br>
Thanks<br>
<span class=""><br>
Stephane Desneux - CTO<br>
sdx@iot.bzh - <a href="tel:%2B33.257.620.237" value="+33257620237">+33.257.620.237</a> - <a href="http://iot.bzh" rel="noreferrer" target="_blank">http://iot.bzh</a><br>
<br>
</span><span class="">On 18/01/2016 15:37, Jan-SImon Möller wrote:<br>
&gt; Hi !<br>
&gt;<br>
&gt; A few notes ...<br>
&gt;<br>
&gt; Am Montag, 18. Januar 2016, 12:08:48 schrieb Stephane Desneux:<br>
&gt;&gt; Hi Walt,<br>
&gt;&gt;<br>
&gt;&gt; To prepare the dev meeting tomorrow where we could hopefully get a<br>
&gt;&gt; consensus, let me summarize a proposal on how the various git projects<br>
&gt;&gt; could be handled depending on their nature:<br>
&gt;&gt;<br>
&gt;&gt; * AGL component project (doesn&#39;t exist yet)<br>
&gt;&gt;    - considered as the main upstream source for a given AGL component<br>
&gt;&gt;    - examples: Application Framework, MOST driver, Security Framework,<br>
&gt;&gt; upcoming APIs implementations ...<br>
&gt;&gt;    - path in gerrit: AGL/components/$NAME or AGL/components/$CATEGORY/$NAME<br>
&gt;&gt; (or alternatively AGL/src/$CATEGORY/$NAME to identity that these are git<br>
&gt;&gt; repos containing source code :))<br>
&gt;&gt;      $CATEGORY could be<br>
&gt;&gt; &#39;network&#39;,&#39;multimedia&#39;,(graphics&#39;,&#39;audio&#39;,&#39;system&#39;,&#39;tools&#39;,&#39;qa&#39; ...<br>
&gt;&gt;    - life span: very long (&gt;15 years)<br>
&gt;<br>
&gt; What about shorter names ... we already have the AGL container in gerrit.<br>
&gt; We could do  AGL/src/&lt;name&gt;  as the repo name and add the ACL to AGL/src/<br>
&gt; as per the policy below.<br>
&gt;<br>
<br>
</span>Yes, shorter names are fine too !<br>
<br>
That was my first idea, but it may get messy when we&#39;ll have hundreds of<br>
projects 8^D<br>
<span class=""><br>
&gt;&gt;    - gerrit policy:<br>
&gt;&gt;       + a specific group is created for each project and contains the<br>
&gt;&gt; *component maintainers*, all with full rights on the repo, including<br>
&gt;&gt; pushing without review, branching, erasing etc. Equivalent to &quot;owners&quot;<br>
&gt;&gt; on github.<br></span></blockquote><div><font color="#0000ff">&lt;Walt&gt; I think we have something similar in place for DemoApps. The idea is to extend that to the component teams and their individual components. Erasing is probably missing. See the wiki page. </font></div><div><a href="https://wiki.automotivelinux.org/agl-distro/contributing">https://wiki.automotivelinux.org/agl-distro/contributing</a><font color="#0000ff"><br></font></div><div><font color="#0000ff"><br></font></div><div><font color="#0000ff">We should update to reflect that AGL-... roles can be for subsystems or projects as well. </font></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
&gt;&gt;       + *additional reviewers* could be added from existing groups<br>
&gt;&gt; depending on the component type (ex: &quot;connectivity group&quot;,&quot;multimedia<br>
&gt;&gt; group&quot;, &quot;telephony group&quot; ...) These reviewers should have merge rights<br>
&gt;&gt; (no &#39;push --force&#39;).<br>
&gt;&gt;       + an *identified user* can push patches for reviews on various<br>
&gt;&gt; branches<br>
&gt;&gt;       + anonymous users can&#39;t push anything<br>
&gt;<br></span></blockquote><div><font color="#0000ff">&lt;Walt&gt; I believe this matches the current plan. </font></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
&gt; Most is in place and we just need to finetune the ACL.<br>
&gt; Question: why would you need &quot;push without review&quot; and erase. Unless there is<br>
&gt; some cleanup needed, no &quot;fancy&quot; actions should happen on published/release<br>
&gt; repos (its AGL/src/&lt;name&gt;, so its ). Should be discussed from that<br>
&gt; perspective.<br>
&gt;<br>
<br>
</span>&#39;push without review&#39; and &#39;push --force&#39; help to speed up things in the<br>
development phase, as you would on github: as the owner of the repo, you<br>
do what you want with it, including errors :\.<br>
<br>
I fully agree that some mistakes must be avoided on the released<br>
branches. As the main purpose of the mode &#39;no review, push --force<br>
allowed&#39; is for development, we could restrict this policy to the<br>
development branch, be it &#39;master&#39;,&#39;devel&#39; or any chosen common name<br>
amongst repositories.<br>
<div><div class="h5"><br>
&gt;&gt; * AGL integration repository<br>
&gt;&gt;    - contains anything related to integration and build (layers,<br>
&gt;&gt; manifests, build metadata, jenkins stuff, CI specifics ...) =&gt; no source<br>
&gt;&gt; code except patches if quantity is reasonable.<br>
&gt;&gt;    - examples: meta-agl, meta-renesas, AGL-repo ...<br>
&gt;&gt;    - path in gerrit: AGL/meta-$NAME for metas, AGL/$NAME for other repos<br>
&gt;&gt;    - life span: very long (&gt;15 years) : we want to be able to patch and<br>
&gt;&gt; rebuild an old AGL version at any time<br>
&gt;&gt;    - gerrit policy:<br>
&gt;&gt;       + a member of the &quot;integrators group&quot; can merge submissions<br>
&gt;&gt;       + a specific group of maintainers could be created to add merge<br>
&gt;&gt; permissions to additional users<br>
&gt;&gt;       + an *identified user* can push patches for reviews on the main<br>
&gt;&gt; branch or on release branches only<br>
&gt;&gt;       + *anonymous users* can&#39;t push anything<br>
&gt;<br>
&gt; Ok, this is what we have right now in AGL/ . Integrator group is atm &quot;AGL-<br>
&gt; mergers&quot; .<br>
&gt;<br>
&gt;&gt; * AGL demo repository<br>
&gt;&gt;    - contains POC projects, demo components or apps, demo integration<br>
&gt;&gt; layers on top of other layers<br>
&gt;&gt;    - examples: meta-agl-demo, AGL/DemoApps<br>
&gt;&gt;    - path in gerrit: AGL/demo/$NAME<br>
&gt;&gt;    - life span: quite short (&lt;1 year)<br>
&gt;&gt;    - gerrit policy:<br>
&gt;&gt;       + a group of *demo maintainers* is declared and members have full<br>
&gt;&gt; rights on demo repositories (so push without review anywhere)<br>
&gt; - why push without review ...<br>
<br>
</div></div>Again, trying to go faster. This is a bit like the policy for a<br>
&#39;component repo&#39; but for all repos related to demo, be it a component, a<br>
layer or whatever (example: more freedom/flexibility on meta-agl-demo,<br>
but NOT on meta-agl).<br>
<br>
Alternatively, we could treat the demo repos as the other ones: some can<br>
be &#39;demo components&#39; and other are &#39;demo layers&#39;... But given the life<br>
span, we don&#39;t need to be too strict.<br>
<span class=""><br>
&gt;&gt;       + *identified users* can push patches without review on the master<br>
&gt;&gt; branch (&#39;push --force&#39; must be forbidden)<br>
&gt;&gt;       + *anonymous users* can&#39;t push anything<br>
&gt;<br>
&gt; Consolidation of the AGL/DemoApps into AGL/demo +1 .<br>
&gt; But watch out for URLs in existing recipes (AA release!)<br>
&gt;<br>
&gt; Wrt meta-agl-demo ... we use that layer atm more heavily (do you build just<br>
&gt; with meta-agl ??). The AA release manifests reference it from AGL/ .<br>
&gt; So I don&#39;t think we can move it w/o republishing AA.<br>
&gt;<br>
&gt;<br>
<br>
</span>I&#39;m not sure it&#39;s a good idea to rename the existing repos, as they are<br>
already referenced.<br>
<br>
If we really want to restart from a clean tree for AGL 2.0, we can still<br>
make a copy and mark the old repos as obsolete for future developments<br>
by adding a &quot;DO-NOT-USE.txt&quot; file and a very clear commit message<br>
redirecting to the appropriate repo. Later, when releasing 2.0, it&#39;ll<br>
probably be possible to drop those old repos.<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><font color="#0000ff">&lt;Walt&gt; I really do not want to start with a clean tree or rename existing repos. </font></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">
&gt;&gt; Globally, we&#39;ll get more freedom on the components repos than on<br>
&gt;&gt; integration repos, which seems coherent. On their side, demos are<br>
&gt;&gt; considered as short lifetime stuff and handled very differently.<br>
&gt;&gt; Please note that Gerrit policies must be adjusted given the existing<br>
&gt;&gt; ones as I just wanted to highlight the essential permissions.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Best,<br>
&gt; Jan-Simon<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><span style="color:rgb(136,136,136)">Walt Miner</span><div style="color:rgb(136,136,136)">Engineering Project Manager</div><div style="color:rgb(136,136,136)">The Linux Foundation<br></div><div style="color:rgb(136,136,136)">mobile: <a value="+14086234789" style="color:rgb(17,85,204)">+1.847.502.7087</a></div><div style="color:rgb(136,136,136)">skype: vstarwalt</div><div style="color:rgb(136,136,136)"><br></div><div style="color:rgb(136,136,136)">Visit us at:</div><div style="color:rgb(136,136,136)"><a href="http://automotive.linuxfoundation.org" target="_blank">automotive.linuxfoundation.org</a><br></div><div style="color:rgb(136,136,136)"><a href="http://www.linuxfoundation.org" target="_blank">www.linuxfoundation.org</a></div><div style="color:rgb(136,136,136)"><br></div><div style="color:rgb(136,136,136)"><br></div></div></div>
</div></div>