<story><title>Python moved to GitHub</title><url>https://github.com/python/cpython</url></story><parent_chain><item><author>ycmbntrthrwaway</author><text>Centralizing around proprietary software is not a good idea generally.&lt;p&gt;Git is distributed, so when GitHub goes down, every developer has a backup of entire history. However, issues are lost forever. Python does not use &amp;quot;issues&amp;quot; feature for good.&lt;p&gt;One way to avoid email without centralization is setting up Gerrit. That is how Ring [1] and LineageOS (former CyanogenMod) [2] manage their &amp;quot;pull requests&amp;quot;.&lt;p&gt;Still, being able to submit patches via email is an absolutely necessary skill for everyone who considers himself a hacker. Lack of it makes you unable to contribute to many great projects, such as all suckless [3] projects and Linux itself.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;gerrit-ring.savoirfairelinux.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;gerrit-ring.savoirfairelinux.com&amp;#x2F;&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;review.lineageos.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;review.lineageos.org&amp;#x2F;&lt;/a&gt;&lt;p&gt;[3] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;suckless.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;suckless.org&amp;#x2F;&lt;/a&gt;</text></item><item><author>laurentdc</author><text>Yes!&lt;p&gt;I quite like the idea of &amp;quot;centralizing&amp;quot; development on GitHub, or similar services. It makes it much easier for everyone to fork, test, make a pull request, merge, etc..&lt;p&gt;For example, one reason why I gave up contributing to OpenWrt was their absolutely legacy contribution system [1], which required devs to submit code diff patches via email (good luck not messing up the formatting with a modern client) on a mailing list. It took me an hour to submit a patch for three lines of code. It seems like Python wasn&amp;#x27;t much different. [2]&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;dev.openwrt.org&amp;#x2F;wiki&amp;#x2F;SubmittingPatches#a1.Creatingapatch&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;dev.openwrt.org&amp;#x2F;wiki&amp;#x2F;SubmittingPatches#a1.Creatingap...&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;docs.python.org&amp;#x2F;devguide&amp;#x2F;patch.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;docs.python.org&amp;#x2F;devguide&amp;#x2F;patch.html&lt;/a&gt;</text></item></parent_chain><comment><author>ajdlinux</author><text>Everyone I know who has had to use Gerrit has &lt;i&gt;absolutely, utterly despised&lt;/i&gt; it.&lt;p&gt;Until I got a job working as a kernel developer I had never had to use emailed patches. It simply isn&amp;#x27;t an &amp;quot;absolutely necessary&amp;quot; skill for a good developer these days.&lt;p&gt;The kernel community is too attached to email patch submission for it to ever move away, and to be fair, email does have the benefit of being scalable and matches our decentralised workflow much better than any of the current alternatives.&lt;p&gt;But it&amp;#x27;s still not &lt;i&gt;good&lt;/i&gt;. There are plenty of ways to screw up email threading or forget conventions on labelling patchset versions or whatever (this happens &lt;i&gt;all the time&lt;/i&gt;). You have to rely on external tools such as Patchwork to provide a bare minimum of state-tracking. There&amp;#x27;s not much by way of generic CI tooling that&amp;#x27;s designed with email in mind (I&amp;#x27;m working on this!). Doing code review from an email client definitely has its benefits, but it&amp;#x27;s also limiting - web-based code review tools have much more scope for experimenting with better ways of presenting comments.&lt;p&gt;I can&amp;#x27;t see the Linux kernel ever moving away from email, and honestly it&amp;#x27;s not too bad once you&amp;#x27;ve figured out your workflow, but I would like to see kernel &lt;i&gt;hackers&lt;/i&gt; thinking about what it is that the kernel community loves so much about email compared to GitHub and other centralised services. It &lt;i&gt;is&lt;/i&gt; disappointing to see other large open source projects becoming incredibly dependent on a for-profit proprietary software company that may well not survive the next few years. How can we do proper decentralised version control and development &lt;i&gt;better&lt;/i&gt;?</text></comment>
<story><title>Python moved to GitHub</title><url>https://github.com/python/cpython</url></story><parent_chain><item><author>ycmbntrthrwaway</author><text>Centralizing around proprietary software is not a good idea generally.&lt;p&gt;Git is distributed, so when GitHub goes down, every developer has a backup of entire history. However, issues are lost forever. Python does not use &amp;quot;issues&amp;quot; feature for good.&lt;p&gt;One way to avoid email without centralization is setting up Gerrit. That is how Ring [1] and LineageOS (former CyanogenMod) [2] manage their &amp;quot;pull requests&amp;quot;.&lt;p&gt;Still, being able to submit patches via email is an absolutely necessary skill for everyone who considers himself a hacker. Lack of it makes you unable to contribute to many great projects, such as all suckless [3] projects and Linux itself.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;gerrit-ring.savoirfairelinux.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;gerrit-ring.savoirfairelinux.com&amp;#x2F;&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;review.lineageos.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;review.lineageos.org&amp;#x2F;&lt;/a&gt;&lt;p&gt;[3] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;suckless.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;suckless.org&amp;#x2F;&lt;/a&gt;</text></item><item><author>laurentdc</author><text>Yes!&lt;p&gt;I quite like the idea of &amp;quot;centralizing&amp;quot; development on GitHub, or similar services. It makes it much easier for everyone to fork, test, make a pull request, merge, etc..&lt;p&gt;For example, one reason why I gave up contributing to OpenWrt was their absolutely legacy contribution system [1], which required devs to submit code diff patches via email (good luck not messing up the formatting with a modern client) on a mailing list. It took me an hour to submit a patch for three lines of code. It seems like Python wasn&amp;#x27;t much different. [2]&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;dev.openwrt.org&amp;#x2F;wiki&amp;#x2F;SubmittingPatches#a1.Creatingapatch&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;dev.openwrt.org&amp;#x2F;wiki&amp;#x2F;SubmittingPatches#a1.Creatingap...&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;docs.python.org&amp;#x2F;devguide&amp;#x2F;patch.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;docs.python.org&amp;#x2F;devguide&amp;#x2F;patch.html&lt;/a&gt;</text></item></parent_chain><comment><author>fake-name</author><text>&lt;i&gt;&lt;/i&gt;Anything&lt;i&gt;&lt;/i&gt; is better then e-mail based systems.&lt;p&gt;The discoverability, browsability, and useability of something with actual markup and design is infinitely better then e-mail.&lt;p&gt;I&amp;#x27;ve tried several times to make submissions to several e-mail based projects, never with any success. At the same time, I&amp;#x27;ve had zero issues contributing to a dozen or so github hosted projects.&lt;p&gt;E-mail systems are a shitshow. First, you generally have to join a mailing list, which is regularly broken, or requires someone somewhere to &lt;i&gt;manually&lt;/i&gt; acknowledge your membership. Then, you have to figure out how they want shit formatted, figure out how to generate a diff (I&amp;#x27;ve been using SVN for 8+ years, git for ~3 years, and have &lt;i&gt;&lt;/i&gt;never&lt;i&gt;&lt;/i&gt; had to deal with diff files!), send an e-mail, find the mailing list shat itself and troubleshoot, try again, etc....&lt;p&gt;Basically, e-mail is the death of any sort of low-effort contribution. If you&amp;#x27;re starting a new project, and chose a mailing list, you&amp;#x27;re probably excluding a huge quantity of potential contributors.&lt;p&gt;If there&amp;#x27;s a project where I want to make a few-line change or minor enhancement, and it&amp;#x27;s on github, I&amp;#x27;ll generally PR it back into the original. If it&amp;#x27;s somewhere else, or requires &lt;i&gt;another&lt;/i&gt; account, there&amp;#x27;s no way I&amp;#x27;m going to spend the effort.&lt;p&gt;Plus, just &lt;i&gt;reading&lt;/i&gt; mailing lists is a fucking disaster. Literally no mailing list host I know of lets you just view a &lt;i&gt;complete&lt;/i&gt; topic thread in simple chronological order on &lt;i&gt;&lt;/i&gt;ONE PAGE&lt;i&gt;&lt;/i&gt;. They all operate on a per-message response-tree structure, so just &lt;i&gt;reading&lt;/i&gt; the discussion is a huge pain in the ass.&lt;p&gt;E-mail is basically dying among younger people, &lt;i&gt;including the ones that code&lt;/i&gt;, and with good reason. For actual forum-type discussions, it&amp;#x27;s a completely shit solution.</text></comment>