<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Comments injected below to retain some context.</div><div class="gmail_default" style="font-size:small"><br clear="all"></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div>--<br></div><div>Patrick Dowler<br></div>Canadian Astronomy Data Centre<br></div>Victoria, BC, Canada<br></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 29 Nov 2019 at 09:45, François Bonnarel &lt;<a href="mailto:francois.bonnarel@astro.unistra.fr">francois.bonnarel@astro.unistra.fr</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I experimented recently proposing changes for DataLink-next using github<span class="gmail_default" style="font-size:small">.</span><br>
I found this technically more difficult than when we moved to volute. <br></blockquote><div><br></div><div style="font-size:small" class="gmail_default">I think feedback via mailing lists and wiki pages like DataLink_next still have their place for the community to provide input (see below).</div><div style="font-size:small" class="gmail_default"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
And I still have a lot to learn to be efficient and avoid mistakes.<br>
<br>
There are more functionalities of course and these difficulties are the <br>
price to pay for that.<br></blockquote><div><span class="gmail_default" style="font-size:small">Yeah, there is more tech and there is a learning curve to become reasonably efficient at using github to collaborate.</span></div><div><span class="gmail_default" style="font-size:small"></span> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
But the conclusion is if we use this for specification development <br>
anybody proposing changes will have to learn a little bit of the git <br>
technology to master it.<br>
<br>
Github is perfect for application developpers who generally are already <br>
used to it.<br>
<br>
But for others ? One little example : In the current implementation you <br>
cannot see the result of changes accepted by the editor without cloning <br>
the repository and  compiling the latex yourself/<br></blockquote><div><span class="gmail_default" style="font-size:small">Well, a merge in github is like a commit on volute: neither magically makes a readable pdf or html document that others can find and read and someone or some process has to do that and publish the result. For volute, that&#39;s </span> <span class="gmail_default" style="font-size:small">a WG chair or vice chair doing &quot;svn update&quot; and &quot;make&quot; and uoload-to-doc-repo... </span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
People able to write changes proposals or discussing specifications are <br>
not only application developper but also users, organization managers, <br>
service maintainers, etc...<br>
<br>
The mailing list  /WG wiki pages / Document respository we created at <br>
the begining at the IVOA still seems to be the right place and way to do <br>
to have everybody involved in the discussions and make proposals.<br></blockquote><div><span class="gmail_default" style="font-size:small"><br></span></div><div><span class="gmail_default" style="font-size:small"></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I think github is probably better suited for discussion and <br>
collaboration between authors/editors in the intermediary phases of <br>
development, the stages you don&#39;t want to expose to the whole IVOA.<br></blockquote><div><br></div><div style="font-size:small" class="gmail_default">I completely agree that the mailing lists and wiki pages (especially Something_next) are the places to collect feedback from a wide range of users of a standard.Github issues aren&#39;t the right tool for this kind of feedback. More technical things like &quot;this part of the spec and that example are inconsistent&quot; are issues that can be analysed and dealt with in isolation. Once a new use case/requirement is well understood, then it could be the subject of an issue and authors can figure out a solution. It is usually the case that people come with feedback that combines a new use case/ requirements, and solutions and they may have implemented some/all of the solution.... <br></div><div style="font-size:small" class="gmail_default"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
In that sense it seems to have much more useful functionalities than <br>
volute (link between issues and pull requests, control by editor, <br>
indexing, merging, etc..;)<br>
<br>
But there is no possibility to reserve access to github repositories to <br>
a small list of people (= the authors) as far as I know.<br></blockquote><div><br></div><div style="font-size:small" class="gmail_default">While I agree that it will usually be authors and editors working in github, we do get contributions from other people. Usually that&#39;s people who are authors of other standards that know how to do the technical steps and I recall this with spelling and typos and they defer content changes to the authors... that happened with volute and can still happen with github. <br></div><div style="font-size:small" class="gmail_default"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
So, I&#39;m not really positive about moving to github in these conditions.<br>
<br></blockquote><div><br></div><div><div style="font-size:small" class="gmail_default">I guess all I can say here is that I agree with everything you said and maybe the only &quot;issue&quot; is that github was seen/expected/presented/sold as the bug magic replacement for everything that was going to make it all better and we&#39;d be able to produce new standards in a few months. Of course, it doesn&#39;t do that at all -- we all still have to do the real hard work and github can help with a portion of it. From my point of view, it helps with (i) track things we agreed to do or change, (ii) accept implementation of those changes, (iii) review the implemented changes. It is not far off to be able to (iv) automate testing that changes did not break the document build, (v) automate publish the latest cutting edge document where everyone can see it*, and (vi) automate publishing to the IVOA doc repo under some condition (maybe something like tagging the repo as WD-Foo-1.1-20191225).</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">* shouldn&#39;t be too hard to push it to the WG wiki page, for example</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">Sincerely,</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">Pat<br></div><div style="font-size:small" class="gmail_default"><br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
<br>
<br>
Le 23/11/2019 à 14:16, Mark Taylor a écrit :<br>
&gt; Ole&#39;s comments and suggested workflow sound very sensible to me.<br>
&gt;<br>
&gt; On Mon, 18 Nov 2019, Ole Streicher wrote:<br>
&gt;<br>
&gt;&gt; Hi Laurent, all,<br>
&gt;&gt;<br>
&gt;&gt; I think that your proposal makes it a bit too formal and complicated. In<br>
&gt;&gt; principle, the problem is not specific to the IVOA document creation,<br>
&gt;&gt; but happens everywhere.<br>
&gt;&gt;<br>
&gt;&gt; The usual workflow (which I know from many repositories on Github,<br>
&gt;&gt; including astropy, sunpy, starjava, gnudatalanguage) is:<br>
&gt;&gt;<br>
&gt;&gt; 1. When someone thinks that something is wrong with a document, but does<br>
&gt;&gt; not have a specific proposal (patch) to change it, it should be opened<br>
&gt;&gt; as an issue. This one can then be discussed in detail.<br>
&gt;&gt; When then someone has a specific solution, this solution goes into a<br>
&gt;&gt; Pull Request, mentioning the original issue with the text &quot;Fixes: #123&quot;<br>
&gt;&gt; (or whatever the issue is). This will link the two together and make<br>
&gt;&gt; sure that the original issue is closed once the PR is merged.<br>
&gt;&gt; Then one would still discuss the problem in the original issue and the<br>
&gt;&gt; specific solution in the pull request, linking those two together if needed.<br>
&gt;&gt;<br>
&gt;&gt; 2. When someone just has a specific proposal, opening a separate issue<br>
&gt;&gt; is not required; one just opens the Pull Request. Then, everything is<br>
&gt;&gt; discussed there. No need to artificially separate them. I would leave it<br>
&gt;&gt; as a decision of the issue/PR author to decide whether they wants to<br>
&gt;&gt; discuss the problem separately.<br>
&gt;&gt;<br>
&gt;&gt; One important point here is: the IVOA wants to broaden the development<br>
&gt;&gt; of standards and involve more people from the public. This has the<br>
&gt;&gt; effect that people will contribute to the development here as they do<br>
&gt;&gt; everywhere, and our rules shall be as close as possible to the usual way<br>
&gt;&gt; (f.e. in astropy) -- which means: mainly no specific rules unless they<br>
&gt;&gt; really arise from the specifics of the standards development.<br>
&gt;&gt;<br>
&gt;&gt; For the same reason, I would also suggest to use the basic git workflow<br>
&gt;&gt; with &quot;master&quot; as the main development branch, and to not the &quot;gitflow&quot;.<br>
&gt;&gt; The latter is just more complicated and rarely used: among the &gt;70 git<br>
&gt;&gt; repositories that I use for Debian packaging I almost none uses this<br>
&gt;&gt; way. And all they are well-maintained, with astropy being the largest,<br>
&gt;&gt; very lively and brilliant example. We should just follow astropy&#39;s<br>
&gt;&gt; practice unless there is a really proven reason why this doesn&#39;t work<br>
&gt;&gt; for us.<br>
&gt;&gt;<br>
&gt;&gt; Best regards<br>
&gt;&gt;<br>
&gt;&gt; Ole<br>
&gt;&gt;<br>
&gt;&gt; On 13.11.19 13:58, laurent.michel at <a href="http://astro.unistra.fr" rel="noreferrer" target="_blank">astro.unistra.fr</a> (Laurent Michel)<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt; Dear VO,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;m starting to use the new GitHub framework for the VO standard elaboration.<br>
&gt;&gt;&gt; My current experience concerns DataLink 1.1 which is still in design phase (before WD)<br>
&gt;&gt;&gt; This project is quite active these days with ~5 contributors which provides an interesting experiment of our Github standard<br>
&gt;&gt;&gt; process.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I would just give one personal feedback on the follow-up of the discussions we are having on Github.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Let&#39;s take an example of how things should work:<br>
&gt;&gt;&gt; - The author A1 proposes to add the feature F to the proposal.<br>
&gt;&gt;&gt; - A1 opens the issue proposing F.<br>
&gt;&gt;&gt; - Another author A2 does not agree with adding F to the proposal<br>
&gt;&gt;&gt; - The discussion continues on the  ISSUES panel until a compromise is reached.<br>
&gt;&gt;&gt; - Finally, A1 and A2 agree on adding F&#39; in the text<br>
&gt;&gt;&gt; - A PR process can be triggered to push F&#39;. The PR discussions are now just related to the wording of F&#39;, but no longer its<br>
&gt;&gt;&gt; relevance.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In the Datalink case, one PR has been open for some reason a little bit too early, therefore the discussion open on the ISSUE<br>
&gt;&gt;&gt; continued on the PR thread. This has 2 bad consequences:<br>
&gt;&gt;&gt; - Followers have now to check two places (ISSUES and PR)<br>
&gt;&gt;&gt; - The discussion on the PR concerns the relevance of the PR itself.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This example shows the necessity of clearly separate both steps (ISSUE and PR):<br>
&gt;&gt;&gt; - The ISSUE tool has to be used to discuss on *what* has to be add/remove/modify on the standard<br>
&gt;&gt;&gt; - The PR panel has to be used to discuss *how* to do it (e.g. wording).<br>
&gt;&gt;&gt; - The PR must not be open before an agreement has been found on the ISSUE.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This does not relate to some Github setup but to a few good usage rules that should be promoted somehow.<br>
&gt;&gt;&gt; May some people with a better Git experience than mine share their feeling about this?<br>
&gt;&gt;&gt;<br>
&gt; --<br>
&gt; Mark Taylor   Astronomical Programmer   Physics, Bristol University, UK<br>
&gt; <a href="mailto:m.b.taylor@bris.ac.uk" target="_blank">m.b.taylor@bris.ac.uk</a> +44-117-9288776  <a href="http://www.star.bris.ac.uk/~mbt/" rel="noreferrer" target="_blank">http://www.star.bris.ac.uk/~mbt/</a><br>
<br>
</blockquote></div></div>