Episode 53

What the Fork? Shurui Zou on Forking in Open Source


September 11th, 2020

32 mins 48 secs

Your Hosts

About this Episode

Sponsored by:


Justin Dorfman | Richard Littauer


Shurui Zhou

Show Notes

Hello and welcome to Sustain! On today’s episode, we have special guest, Shurui Zhou, who is going to be teaching soon at University of Toronto in the Fall, and she’s been working on Forks on GitHub. Our topic today is Social vs. Hard Forks. We will learn all about the difference between the Social and Hard forks, Shurui’s GitHub Bot she wrote, and her paper she wrote on “Identifying Features in Forks.” Also, Jenkins, previously known as Hudson, an open source continuous integration tool, is explained and why it is such a success story in terms of hard forks. Download this episode now!

[00:01:31] Shurui tells us about her PhD Thesis which is on Forks.

[00:02:51] Richard wonders what Shurui means when she said she tried to merge together different forks. She also tells us where she got her initial forks from that she was trying to merge and where the initial database was seeded from.

[00:05:57] Richard wants to know without the domain knowledge of a maintainer does Shurui find it difficult to figure out what is going on. Also, has she seen any frustrations from maintainers? She wrote a GitHub Bot that she talks about.

[00:10:42] Shurui tells us about a future work that was super interesting which is how we can identify the intention behind this work. She mentions the paper they published on 2018 on “Identifying Features in Forks” and talks about the difference in hard fork and social fork.

[00:13:11] One thing that caught Justin’s attention is that 290 projects on GitHub are rejected to “redundant development” and Shurui explains what this means.

[00:17:00] Richard wonders if Shurui has run across this phenomenon of someone being the only maintainer and being a selfish person wanting all the stars and is this a common thing.

[00:19:04] Richard wants to know how Shurui is dealing with the political side of things.

[00:20:04] Shurui talks about the project she was referring to which is a repository. Richard wonders how many hard forks she’s found where it’s just some company that wants to do something, versus a group of community members who are interested in building out a feature and having it go in a different direction. Also, how many times do you see a company decide we need to have this under our own wheelhouse and fork it and them develop independently without going back? She brings up the Hudson and Jenkins story.

[00:26:22] Richard asks Shurui if she’s tried making forks.

[00:29:00] Shurui tells us where we can find her on the internet and how can we learn more about her research.


  • [00:30:14] Justin’s spotlight is he’s rescuing a Golden Doodle puppy and go to YouTube for dog training videos.
  • [00:30:45] Richard’s spotlight is the Library of Babel.
  • [00:31:26] Shurui’s spotlights are two repositories on GitHub, Marlin and Smoothieware, and she wants to thank her collaborators and her PhD advisor.


[00:08:16] “The maintainer will go through the code and with the description all together in the mail and to decide whether we want to merge it or not.”

[00:10:55] “One of the future works I think that was super interesting is how we can identify the intention behind this work.”

[00:11:19] “And we actually define these kinds of forks as social forks because people create forks and maybe their goal is to merge back.”

[00:11:30] “We found out there are two types of forks and we define forks that create a fork and going to a different direction and never come back we defined this as a hard fork, and we define the GitHub style fork as a social fork.”

[00:12:26] “We have seen some requests happening in one community and have been submitted three years later, exactly the same feature.”

[00:12:46] “I know the title to this podcast. It is going to be social vs hard fork with Shurui.”

[00:17:00] “But, if I were to hard fork it, I would lose all the watchers, all the stars, and I was signaled to every single one of those people that I’m kind of a selfish guy who wants stars.”

[00:17:55] “They don’t want people to hard fork and to fragment the community and go to a different direction.”

[00:19:22] “I’m not dealing with the political side, but what I’m trying to do is to just raise awareness of what’s happening with different forks.”

[00:21:19] “Jenkins was a hard fork off of Hudson because that’s the people after Oracle… and they want to maintain or keep the Hudson project within their pocket.”

[00:24:09] “One thing we’ve studied to compare the difference between the hard fork and social fork before and after GitHub, is maybe before GitHub people create a fork, they have already the intention of going to a different direction to fragment the community.”



Support Sustain