[chirp_devel] Python 3 status

Martin Cooper
Sat Aug 21 18:00:16 PDT 2021


On Fri, Aug 20, 2021 at 4:51 PM Dan Smith via chirp_devel <
chirp_devel at intrepid.danplanet.com> wrote:

>
> This is assuming we're going to move to github, which is at least not a
> plan currently. I personally don't like github, and there are several
> developers here comfortable with the mercurial process and who have
> contributions to chirp that outweigh a lot of perceived benefit of moving
> to a "new" platform. Of course I'm 100% git in my day job outside of chirp,
> but I don't want to screw over the existing contributors. I also definitely
> do not want to have the github page be the thing that "regular" users find
> or try to file bugs against.
>

The world has moved to Git. Today there are *far* more developers who are
familiar with Git than are familiar with Mercurial. Bitbucket started life
as a Mercurial-only service, added Git 3 years later, and last year dropped
support for Mercurial entirely. As for Chirp, I would hazard a guess that a
significant proportion of the small number of contributors learned
Mercurial just so they could contribute to Chirp. I know I did. I would
hazard a further guess that many more people are likely to contribute to a
Git-based project, and simply aren't willing to learn another source
control system just to help out with Chirp. So if you want more help with
Chirp, you're much more likely to get it if it's a Git project than if it
continues with a dying SCM that people don't want to learn.

I'd be interested in hearing your objections to GitHub. In my experience
with a significant number of projects, the pull request mechanism has no
equal elsewhere, and makes it easy for a lot of people to contribute, even
if they only contribute small changes, and for the project maintainers to
apply those changes easily and with excellent tracking. The ability for
project maintainers to comment on a pull request, and request additional
changes, which can then be made to the same updated pull request, really
helps track threads of change. Much better than "please make these changes
to your patch and submit another one" via e-mail. GitHub also has
great built-in support for Continuous Integration, and with minimal effort,
users can see the status of the latest builds and tests at a glance on the
repo home page. If there are features that you don't like - you mention the
issue tracker - then you don't need to use them. Most of them are optional.
The Python project itself is a great example of using GitHub to great
effect without buying into the issue tracker, wiki, etc.

https://github.com/python/cpython

That said, Git doesn't have to mean GitHub. As someone else has already
mentioned, there are alternatives such as Bitbucket, GitLab, or even
self-hosted Git. (This last, though, can take significant work to harden,
security-wise - just ask the PHP folks, who have now moved to GitHub after
their self-hosted repo was hacked).


This is easy to say, but it's just not that simple. We can't stop chirp
> development for two years while we completely rewrite the GUI (again?) and
> sort out the immense number of unicode/bytes violations in all the drivers.
> So, we have to be able to keep releasing on python2 from the main branch
> while we get something on python3 close to ready - at least close enough to
> be able to replace the current distribution for most people.


But this is not what's happening today. The py3 branch is languishing while
development continues on trunk. Very little work is happening on the py3
branch, so it is falling further and further behind. You may not want to
stop development for two years to rewrite things, but the py3 branch has
already been sitting for two years, almost untouched over that period. Even
if the py3 branch is progressed to a working state in its current form, the
task of merging in all the changes from trunk is going to be massive. And
only then will Chirp be at the point that you can have Py2 & Py3 building
out of the same tree.



> Especially since (almost) nobody other than myself ever works on the GUI,
> it's just a huge disincentive to go in that direction at all, IMHO. The py3
> branch was being sync'd from the default branch regularly while I was
> working on it, which wasn't too terrible, but it's definitely work and it's
> hard to get casual contributors to make sure things work on both for
> submissions. Rick probably wants to strangle me (more than usual) right now.
>

I really do believe that you're going to get many more people willing to
contribute to a Git project than a Mercurial project. You're certainly more
likely to find more GUI developers that way. I also believe that a pure Py3
version is likely to gain more traction with contributors than one where
people have to futz around with all the Py2/Py3 compatibility cruft in full
knowledge that it's all in service of supporting an obsolete version of the
language. There is so much good stuff in Py3, and so much that could
benefit Chirp, that it really hobbles the project - and the experience of
contributors - to require the use of a compatibility layer to support
(develop, build, test) both. (On a personal note, I was quite interested in
working on the py3 branch until I discovered all of the compatibility
cruft, at which point I lost interest entirely.)

Martin.
KD6YAM


I definitely agree that the various trees that have sprung up with no
> history is causing confusion, and I really don't want to see that as I
> think it benefits nobody. I guess if it would help for me to create a
> master github clone that tracks the mercurial tree (at least for a while) I
> can do that, but I don't want to orphan the people that actually contribute
> via the current process for several people that have made a couple tweaks
> via github. No offense. Hopefully at least that would create a stake in the
> ground for the "official" chirp git tree, with history, and then we can see
> if the heavy contributors here are comfortable moving to that.
>
> --Dan
> _______________________________________________
> chirp_devel mailing list
> chirp_devel at intrepid.danplanet.com
> http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
> Developer docs: http://chirp.danplanet.com/projects/chirp/wiki/Developers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://intrepid.danplanet.com/pipermail/chirp_devel/attachments/20210821/faf15965/attachment-0001.html 


More information about the chirp_devel mailing list