<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I have been thinking about this for a while, but Terrence's API/module & Dan's feedback have spurred me to put it out there.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
What are people's thoughts on starting to port Chirp to Python 3/GTK+, and moving to GitHub? Both are things that I think would help encourage more people to develop for Chirp. Most young and enthusiastic developers don't want to work with old versions of a
programming language. As to the GitHub question, while it may seem like a small thing, I also believe that comfort level with the development process is important to attract developers. GitHub has massive adoption, and most developers I know have some degree
of comfort working in git environments, whereas I get blank stares when I mention mercurial.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
There are a few discussion points that jump out at me. I'll throw them out there to start the discussion, but I know there are many other points to be made.</div>
<div style="">
<ol style="">
<li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">No XP support past Python 3.5. I think this is actually a good thing. I have never used XP for anything HAM radio related and it has not held me back. As technology enthusiasts, I tihnk it's silly
that many hams still client to an old, unsupported and insecure OS. I have old EF Johnson land mobile radios that i can program from Windows 10 using DOSBox. Given that Chirp is a major part of the amateur radio world, deciding to no longer support an OS that
the maker doesn't even support would be a factor in getting people to upgrade.</font></li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">With Python 3, we get GTK3+. GTK+ has many enhancements that will help with some of the kunkiness inherent in the version of GTK that Chirp is built agianst. (see e.g. GIMP for windows). Of course,
if Terrence's API idea pans out, then there are many other GUI options for Python 3 (PyQT, Kivy, Tkinter, etc...)</font></li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">Git is too complex - while this can be true, when it comes to developing on GitHub, there are established patterns and simple commands to accomplish most tasks. This complexity also comes with flexibility.
If I am working on a major change in git (say, upgrading from Python 2.7 to 3.6), but I run across a small bug in the production code that I want to fix, git makes it easy to put aside my other changes and fix the quick bug. During my daily workflow at work,
I often switch between several branches in a repo, wiith a small set of commands. There are something like 5 commands that I use on a day to day basis with git. (git pull, git push, git checkout, git commit). Conversely, I find the patchbomb process to be
a bit convoluted vs pull requests. Of course, there is also a mercurial plugin that allows mercurial users to work against GitHub repos: <a href="https://bitbucket.org/durin42/hg-git/overview" id="LPlnk436812">https://bitbucket.org/durin42/hg-git/overview</a></font>
<div id="LPBorder_GTaHR0cHM6Ly9iaXRidWNrZXQub3JnL2R1cmluNDIvaGctZ2l0L292ZXJ2aWV3" class="LPBorder280231" contenteditable="false" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer280231" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: rgb(200, 200, 200); border-radius: 2px;">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td>
<div id="LPImageContainer280231" style="position: relative; margin-right: 12px; height: 160px; overflow: hidden;">
<a target="_blank" id="LPImageAnchor280231" href="https://bitbucket.org/durin42/hg-git/overview"><img id="LPThumbnailImageId280231" alt="" height="160" style="display: block;" width="160" src="https://d301sr5gafysq2.cloudfront.net/a6f25d658c68/img/repo-avatars/default.png"></a></div>
</td>
<td style="width: 100%;">
<div id="LPTitle280231" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px;">
<a target="_blank" id="LPUrlAnchor280231" href="https://bitbucket.org/durin42/hg-git/overview" style="text-decoration: none; color: rgb(51, 51, 51);">durin42 / hg-git — Bitbucket</a></div>
<div id="LPDescription280231" style="font-size: 14px; max-height: 100px; color: rgb(102, 102, 102); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">
This is the Hg-Git plugin for Mercurial, adding the ability to push and pull to/from a Git server repository from Hg. This means you can collaborate on Git based projects from Hg, or use a Git server as a collaboration point for a team with developers using
both Git and Hg. The Hg-Git plugin can ...</div>
<div id="LPMetadata280231" style="font-size: 14px; font-weight: 400; color: rgb(166, 166, 166); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif;">
bitbucket.org</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
</li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">Git is destructive - This is not really true. In fact, the opposite is true. When you roll back a commit in HG, that commit is gone. In GIT, that commit is still available via the reflog for 30 days.
The main repo will be controlled with gated checkins anyhow. </font></li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">Github comes with its own documentation/hosting system with native support for markdown.</font></li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">Python itself is hosted on GitHub.</font></li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">GitHub makes it easy to share branches, so we can have multiple people collaborate on large projects (e.g. upgrading Python).</font></li><li style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font color="#000000" face="Calibri, Helvetica, sans-serif">Time - moving to GitHub is fairly straightforward. They provide examples of exporting from HG into git. That said, unless Dan wants to (temporarily) hand over control of the repo, it's his time, not
mine so I cannot speak for him there. Once that move is complete, again the python work can be staged in a separate brach and worked on as time permits while being set aside for other features that need attention in mainline.</font></li></ol>
<font color="#000000" face="Calibri, Helvetica, sans-serif">Anyhow, I'd love to hear what other people's thoughts are on this. I don't want to go down a path that will be outright rejected
<span>😊</span></font></div>
<div style=""><font color="#000000" face="Calibri, Helvetica, sans-serif"><span><br>
</span></font></div>
<div style=""><font color="#000000" face="Calibri, Helvetica, sans-serif"><span>Thanks,</span></font></div>
<div style=""><font color="#000000" face="Calibri, Helvetica, sans-serif"><span>Derek</span></font></div>
</body>
</html>