<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>You repeated that I destroyed something. Ignoring commits does
      not mean there was destruction. I apologize again for my ignorance
      of the fact that people were developing and maintaining activities
      in cyberspace.<br>
    </p>
    <p>Git history or no, the important point is to have working
      activities available to our users and prospective users. This is
      the vital role of ASLO. <br>
    </p>
    <p>My comment about + was, of course, that I see no improvement in
      GTK3 over GTK2 but only the cost of its deliberately incompatible
      implementation. So far, it appears that Gimp has been unable to
      complete the port even though GTK was created as a toolkit for
      Gimp. They may skip GTK3 and start directly to GTK4.</p>
    <p>I think your contributing document is incomplete and needs to be
      modified. The most important point is that applying procedures
      necessary for Sugar OS development to activity developers is
      unnecessary overkill.</p>
    <p>The Contributing section applies only to Sugar OS and ought not
      be applied to activities. Following are my comments on 'Modifying
      Activities'.<br>
    </p>
    <p>
    </p>
    <h2><a id="user-content-modifying-activities" class="anchor"
href="https://github.com/sugarlabs/sugar-docs/blob/master/src/contributing.md#modifying-activities"><svg
          class="octicon octicon-link" viewBox="0 0 16 16" width="16"
          height="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
            0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91
            2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8
            4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
            2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64
            1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9
            13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Modifying
      Activities</h2>
    <p><i>Most activity repositories can be found in our </i><a
        href="https://github.com/sugarlabs"><i>GitHub </i><i><code>sugarlabs</code></i><i>
          organizatio</i>n</a>. An alternative fact.  At present about
      20% are there. (198/514).<br>
    </p>
    <p><i>A few activity repositories are somewhere else; read the
      </i><i><code>activity/activity.info</code></i><i> file, check the
        metadata on the
      </i><i><a href="https://activities.sugarlabs.org/" rel="nofollow">activities.sugarlabs.org
          app
          store</a></i><i>, or the </i><i><a
          href="https://wiki.sugarlabs.org/go/Activity" rel="nofollow">Activity
          page on
          wiki.sugarlabs.org</a></i><i>, or our
        deprecated </i><i><a href="https://git.sugarlabs.org/"
          rel="nofollow">gitorious instance</a></i><i>. </i><b>No, </b>The
      starting point should be a clone of the repository on
      github/SugarLabs or the current version on ASLO if no repository
      is on github.<i><b> </b></i><br>
      <i></i></p>
    <p><i>For new activities, see </i><i><a
href="https://github.com/sugarlabs/sugar-docs/blob/master/src/desktop-activity.md">Write
          your own Sugar desktop
          activity</a></i><i>, or </i><i><a
href="https://github.com/sugarlabs/sugar-docs/blob/master/src/web-activity.md">Write
          your own Sugar web
          activity</a></i><i>, then make a new repository in your
        GitHub account, put the source code in it, then ask the </i><i><a
          href="https://lists.sugarlabs.org/listinfo/systems"
          rel="nofollow">systems@
          list</a></i><i> to move it to the
        GitHub </i><i><code>sugarlabs</code></i><i> organization.</i></p>
    <p>Excellent. This should also be the model for new versions of an
      activity. This is a workable procedure where
      <a class="moz-txt-link-abbreviated" href="mailto:systems@lists.sugarlabs.org">systems@lists.sugarlabs.org</a> is manned by the Activity Team. So a
      typical procedure would be to clone an activity to a personal
      computer with Sugar. The developer makes changes such as a port to
      GTK3. During the port, the activity is launched and the log is
      checked to see why it is not starting. When the contributor has
      completed a new version it is pushed to the contributors github.
      The contributor sends an email to <a class="moz-txt-link-abbreviated" href="mailto:systems@lists.sugarlabs.org">systems@lists.sugarlabs.org</a>
      notifying the Activity Team that a new version is ready for
      release. <br>
    </p>
    <p><i>After modifying an activity, a new release may be needed. Some
        activities have no maintainer, so you may need to be the
        maintainer for a short time.</i></p>
    <p>The original model was that one person was responsible for an
      activity - but could bring on co-contributors. New versions were
      submitted to ASLO and after review released (normally by Walter
      Bender). However this model has changed. Activities in github are
      maintained by the community regardless of the original author or
      contributor - e.g ports to GTK3. A maintainer suggests someone
      dealing with an issue while a developer is adding a new feature.
      The distinction is not significant - all are contributors.</p>
    <h3><a id="user-content-checklist---anyone" class="anchor"
href="https://github.com/sugarlabs/sugar-docs/blob/master/src/contributing.md#checklist---anyone"><svg
          class="octicon octicon-link" viewBox="0 0 16 16" width="16"
          height="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
            0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91
            2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8
            4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
            2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64
            1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9
            13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Checklist
      - anyone</h3>
    <ul class="contains-task-list">
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            make a fork and clone it, (clone seems sufficient)
            Generally, developers are likely to clone to their own
            laptop and work there).<br>
          </i></p>
      </li>
      <li class="task-list-item"><input id="" disabled="disabled"
          class="task-list-item-checkbox" type="checkbox"><i> check if
          what you want to change is available already in any other
          branches or forks - </i><b>n</b><b>o</b>, the base for any
        change needs to be the activity master on github. If code is
        ready somewhere in cyberspace, it needs to be merged to the
        activity master to make a new version.
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"> <i>make
            and test your changes, </i>changes can be made in the
          Activities folder in Ubuntu or an XO Sugar. This process
          allows immediate testing of changes.<i><br>
          </i></p>
      </li>
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i> if
            your changes add a new feature or will affect users; update
            the NEWS file, the README.md file, and the help-activity,</i>
          when commiting a new version, there needs to be release notes
          (how has the new version improved on the previous version).
          The release notes need to be visible to a user of ASLO to help
          decide whether the update is needed.<br>
        </p>
      </li>
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i> if
            your changes affect translatable strings; regenerate the POT
            file, with </i><i><code>python setup.py genpot</code></i><i>,</i>
          this would seem desirable for any new version.<i><br>
          </i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i> make a
            branch, one or more commits, and a pull request, see </i><i><a
href="https://github.com/sugarlabs/sugar-docs/blob/master/src/contributing.md#workflow">Workflow</a></i><i>
            below</i>.<b> Wrong!</b> A mistake in a commit only affects
          that activity and has no downstream consequences. One of the
          benefits of git is that the bad commit can be easily removed.
          The procedure above is correct.<br>
        </p>
      </li>
    </ul>
    <i><br>
    </i><i>Checklist - maintainer<br>
      <br>
      The word maintainer should not be used in this context. The
      maintainer/developer is the contributor. This role belongs to the
      Activity Team<br>
    </i>
    <ul class="contains-task-list">
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            check version of latest bundle release in </i><i><a
              href="https://activities.sugarlabs.org/" rel="nofollow">activities.sugarlabs.org</a></i><i>,
          </i>Yes<i><br>
          </i></p>
      </li>
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            check version of latest tarball release in </i><i><a
              href="https://download.sugarlabs.org/sources/sucrose/fructose/"
              rel="nofollow">download.sugarlabs.org/sources/sucrose/fructose/</a></i><i>
            or </i><i><a
              href="https://download.sugarlabs.org/sources/honey/"
              rel="nofollow">download.sugarlabs.org/sources/honey/</a></i><i>,
          </i>I really don't know what a tarball has to do with Sugar
          activities<i><br>
          </i></p>
      </li>
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            check for a release version git tag, e.g. v34, </i>You
          don't say how this is done. (how is the tag committed. What is
          the difference between a tag and a commit message or a fork or
          a branch?<br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i>
            correlate with </i><i><code>activity_version</code></i><i>
            metadata in </i><i><code>activity/activity.info</code></i><i>,</i>
          This is not metadata. This is the basis for naming the bundle
          produced by setup.py. Probably the meaning is that version in
          activity.info must be incremented from the previous version.
          Hopefully, the git procedure allows extraction of the code for
          a previous version so that reported problems can be
          reproduced.<br>
        </p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><em> look
            for commmits after any of these, in either;</em></p>
        <i>
        </i>
        <ul class="contains-task-list">
          <li class="task-list-item"><i><input id="" disabled="disabled"
                class="task-list-item-checkbox" type="checkbox"></i><i>
              master branch of repository at sugarlabs,</i></li>
          <li class="task-list-item"><i><input id="" disabled="disabled"
                class="task-list-item-checkbox" type="checkbox"></i><i>
              any other branches,</i></li>
          <li class="task-list-item"><i><input id="" disabled="disabled"
                class="task-list-item-checkbox" type="checkbox"></i><i>
              any other forks,</i></li>
          <li class="task-list-item"><i><input id="" disabled="disabled"
                class="task-list-item-checkbox" type="checkbox"></i><i>
              orphaned repositories with the same </i><i><code>bundle_id</code></i><i>
              value, using GitHub or Google Search,</i></li>
          <li class="task-list-item"><i><input id="" disabled="disabled"
                class="task-list-item-checkbox" type="checkbox"></i><i>
              deprecated repositories at git.sugarlabs.org,</i> <b>No,
              no, no</b>. The github/Sugarlabs repository is the basis
            for release of activities. Any repositories in cyberspace
            are irrelevant and have not been released. There is no need
            for the Activity Team to ask the Russians or NSA if there is
            some later version somewhere.<br>
          </li>
        </ul>
        <i>
        </i></li>
      <li class="task-list-item"><i>
        </i>
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            review and merge all pull requests, </i>No, not consistent
          with the procedure above.<br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i> apply
            all desired commits, making pull requests if review is
            needed, </i>No, not consistent with the procedure above.<br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            apply all </i><i><a href="https://translate.sugarlabs.org"
              rel="nofollow">translation.sugarlabs.org</a></i><i>
            changes, </i>This is a serious problem<i>.</i> Many of the
          80 repositories in github now have unreleased mergers of po
          files which appear not to have been tested. However, a real
          test would be to execute the activity in each of the supported
          locales. When a new version of an activity is submitted, it is
          not possible to do this because the required new translations
          have not been done. Neither will they be done at any specific
          time in the future since there are possible translations
          required to over 100 languages. There really needs to be a
          realistic procedure developed - provide the I18n team with the
          new pot, get a merge request from the team when some level of
          translations are ready for release, merge these translations
          to make a new version of the activity and release it. Perhaps
          a scheme with odd and even version numbers would help. New
          feature versions could have even numbers. When translations
          are available for that version, one could be released to ASLO
          with the odd version number. If two feature versions are
          released before a po version, the version could be incremented
          by 2.<i><br>
          </i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"> <i>regenerate
            the POT file using </i><i><code>python setup.py genpot</code></i><i>,
            review the changes, and commit, </i>No. This was done by
          the contributor and was part of the commit<br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i> notify
            our translation-community manager @leonardcj </i>The
          translation community should be on <a class="moz-txt-link-abbreviated" href="mailto:systems@lists.sugarlabs.org">systems@lists.sugarlabs.org</a>
          and expect notification there.<br>
        </p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i> update
            the README.md file if necessary,</i><i> The item + 2 seems
            to cover this. The need is for the user to be able to see
            release notes before deciding whether to update to the new
            version.</i><br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i> write
            release notes for the NEWS file, change the </i><i><code>activity_version</code></i><i>
            metadata in </i><i><code>activity/activity.info</code></i><i>,
            commit, and </i><i><code>git tag</code></i><i> the version,
          </i>This should be expected of the contributor before
          submitting the new version. There needs to be a detailed
          procedure for the commit and git tag. The problem is to
          provide the release notes where the user can make a decision
          whether the update is needed.<i><br>
          </i></p>
        <i>
        </i></li>
      <li class="task-list-item"><i>
        </i>
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            update the activity documentation in the help-activity
            repository, </i>No, if needed this is the responsibilty of
          the contributor. At the moment there is help documentation for
          47 activites of 514. The help activity is an activity.
          However, the documentation is part of the Sugarlabs web site.
          At the moment it is much more practical to leave the help
          activity out of this process except if a new version of the
          help activity itself is being submitted.<br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><i><input id="" disabled="disabled"
              class="task-list-item-checkbox" type="checkbox"></i><i>
            for activities that include a tarball release, or where
            Fedora or Debian packages may be made, create a tarball
            using </i><i><code>python setup.py dist_source</code></i><i>,
            and upload tarball to download.sugarlabs.org using shell
            account, </i>I have no knowledge of what this is about -
          but I don't know how a contributor would know where Fedora or
          Debian packages may be made. Why does this matter for an
          activity?<br>
          <i></i></p>
      </li>
      <li class="task-list-item">
        <p><input id="" disabled="disabled"
            class="task-list-item-checkbox" type="checkbox"><i> create
            bundle using </i><i><code>python setup.py dist_xo</code></i><i>,
            test that it can be installed by Browse, and upload to
            activities.sugarlabs.org using developer account.</i> This
          absolutely needs to be done. The test with setup.py,
          installing with Browse is a task for the contributor. The
          'upload to activities.sugarlabs.org' task is the primary
          responsibility in this section and of the Activity Team. This
          neglect of this task makes about 80 activities which have been
          ported to GTK3 unavailable to our users.<br>
        </p>
      </li>
    </ul>
    In summary, <br>
    <br>
    Activities are developed and maintained by community contributors. A
    contributor can be expected to develop a new version of an activity
    on their own computer offline. The availability of Sugar on Ubuntu
    makes this a particularly attractive development environment. When a
    contributor has completed and tested, the git repository is pushed
    to the contributors github account and an email message sent to
    <a class="moz-txt-link-abbreviated" href="mailto:systems@lists.sugarlabs.org">systems@lists.sugarlabs.org</a>. The Activity Team verifies the basics:
    the new version produces a bundle by setup.py, the version number
    has been incremented, the bundle can be installed by Browse, the
    activity launches and starts. Once verified the Activity Team
    installs the bundle in its addon id directory in ASLO and updates
    the addon interface. Any repository for an activity which is not in
    github/SugarLabs (or better github/SugarActivities) is invisible to
    the process. Any contributor intervention for an activity should
    start from the github repository, if any or from a bundle downloaded
    from ASLO, if not.<br>
    <br>
    Tony<br>
    <div class="moz-cite-prefix"><br>
      On Tuesday, 22 May, 2018 07:44 AM, James Cameron wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20180521234412.GF19926@us.netrek.org">
      <pre wrap="">There were two repositories.  You destroyed, by ignoring, commits to
those repositories.  You've done it several times now; but I'm not
surprised, as you aren't an activity maintainer yet.

GTK+ is the name to the toolkit according to both The GTK+ Project and
Wikipedia.  It deserves a "+" because that's the name the authors
used.  I'll continue to credit their work by using the proper name.

<a class="moz-txt-link-freetext" href="https://www.gtk.org/">https://www.gtk.org/</a>
<a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/GTK%2B">https://en.wikipedia.org/wiki/GTK%2B</a>

The list of tasks for an activity maintainer is in
<a class="moz-txt-link-freetext" href="https://github.com/sugarlabs/sugar-docs/blob/master/src/contributing.md#checklist---maintainer">https://github.com/sugarlabs/sugar-docs/blob/master/src/contributing.md#checklist---maintainer</a>
and already includes incrementing a version number.

Translations should be merged to honour the work done by translators;
it is the same activity, based on recursive comparison of files.

I don't plan to make this activity available for Ubuntu Sugar, because
it is in terrible shape.  If someone were to maintain it, then I'd be
a bit more interested.

On Tue, May 22, 2018 at 07:10:36AM +0800, Tony Anderson wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">I really wish you would be a bit more careful with the facts. There was no
repository for this activity, so it is impossible that i destroyed anything.

Why would you merge translations from one activity to another when neither has
been ported to GTK3?

Porting to GTK3 (no evidence that it deserves a +), should affect the wrapper
code and not the binary. Making this activity or gnuchess available for the
Ubuntu Sugar would be helpful.

A simple alternative is to install gnuchess on the Gnome desktop and then
prepare a simple wrapper from the HelloWorld activity (GTK3 version in the
repository). The wrapper would execute gnuchess in Sugar.

EndGame activity is a different animal as it teaches simple end games in chess.

I appreciate your including release in the set of tasks, something which has
not been done. One of your bullets should be to increment the version number.

Tony

On Monday, 21 May, 2018 05:10 PM, James Cameron wrote:

    [1]@yashagrawal3, you might defer this activity to later in your list,
    because it will be a huge time sink. This activity needs much more than a
    COPYING file. It needs;

      □ restoring the git history lost when [2]@tony37 created the repository
        from a bundle instead of using [3]<a class="moz-txt-link-freetext" href="http://git.sugarlabs.org/ceibal-chess">http://git.sugarlabs.org/ceibal-chess</a>
        or [4]<a class="moz-txt-link-freetext" href="https://github.com/alesegovia/ceibal-chess">https://github.com/alesegovia/ceibal-chess</a>
      □ add license metadata in activity.info (which can be found in [5]
        @alesegovia's repository), along with a license for the embedded
        binary,
      □ removing the MANIFEST file,
      □ updating the embedded binary to the latest version and including other
        architectures; or adding a dependency that must be resolved before
        installing the activity.
      □ perhaps merging translations from the SimpleGNUChess activity on [6]
        <a class="moz-txt-link-freetext" href="https://translate.sugarlabs.org">https://translate.sugarlabs.org</a>
      □ testing,
      □ porting to GTK+ 3,
      □ testing,
      □ release.

    [7]@alesegovia may have some ideas on how to proceed.

    —
    You are receiving this because you were mentioned.
    Reply to this email directly, [8]view it on GitHub, or [9]mute the thread.*

References:

[1] <a class="moz-txt-link-freetext" href="https://github.com/yashagrawal3">https://github.com/yashagrawal3</a>
[2] <a class="moz-txt-link-freetext" href="https://github.com/tony37">https://github.com/tony37</a>
[3] <a class="moz-txt-link-freetext" href="http://git.sugarlabs.org/ceibal-chess">http://git.sugarlabs.org/ceibal-chess</a>
[4] <a class="moz-txt-link-freetext" href="https://github.com/alesegovia/ceibal-chess">https://github.com/alesegovia/ceibal-chess</a>
[5] <a class="moz-txt-link-freetext" href="https://github.com/alesegovia">https://github.com/alesegovia</a>
[6] <a class="moz-txt-link-freetext" href="https://translate.sugarlabs.org/">https://translate.sugarlabs.org/</a>
[7] <a class="moz-txt-link-freetext" href="https://github.com/alesegovia">https://github.com/alesegovia</a>
[8] <a class="moz-txt-link-freetext" href="https://github.com/sugarlabs/ajedrez-activity/pull/1#issuecomment-390598392">https://github.com/sugarlabs/ajedrez-activity/pull/1#issuecomment-390598392</a>
[9] <a class="moz-txt-link-freetext" href="https://github.com/notifications/unsubscribe-auth/AAULkuMzgWLw80NHUNFSQy2p1XR95zgxks5t0oSUgaJpZM4Q5vl7">https://github.com/notifications/unsubscribe-auth/AAULkuMzgWLw80NHUNFSQy2p1XR95zgxks5t0oSUgaJpZM4Q5vl7</a>
</pre>
      </blockquote>
      <pre wrap="">
</pre>
      <blockquote type="cite">
        <pre wrap="">_______________________________________________
Sugar-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sugarlabs.org/listinfo/sugar-devel">http://lists.sugarlabs.org/listinfo/sugar-devel</a>
</pre>
      </blockquote>
      <pre wrap="">

</pre>
    </blockquote>
    <br>
  </body>
</html>