I consider "github" to be a whole gamut of technologies based on "diff".
"Github" is a production version of "diff".
Github could use "diff" in a bigger way. Instead of diff'ing lines of code, it should diff layers of design. (Which might be blocks of code).
Our PLs are just glorified text editors.
A lot of what we think about and build into PLs is DRY.
RY is what we want, but we waste brain power on DRY.
Machines could detect DRY for us. And refactor the code/design/etc. for us automagically.
Github could include technology to figure out DRY.
Our editors could figure out repeated lumps of text and make a golden copy for us.
The editor could show repeated lumps of source in gray and automagically update the golden copy when we edit the gray parts.
 PL means Programming Language
 DRY means Don’t Repeat Yourself
 RY means Repeat Yourself