  Open-source software is increasingly reused, complicating the process of
patching to repair bugs. In the case of Linux, a distinct ecosystem has formed,
with Linux mainline serving as the upstream, stable or long-term-support (LTS)
systems forked from mainline, and Linux distributions, such as Ubuntu and
Android, as downstreams forked from stable or LTS systems for end-user use.
Ideally, when a patch is committed in the Linux upstream, it should not
introduce new bugs and be ported to all the applicable downstream branches in a
timely fashion. However, several concerns have been expressed in prior work
about the responsiveness of patch porting in this Linux ecosystem. In this
paper, we mine the software repositories to investigate a range of Linux
distributions in combination with Linux stable and LTS, and find diverse patch
porting strategies and competence levels that help explain the phenomenon.
Furthermore, we show concretely using three metrics, i.e., patch delay, patch
rate, and bug inheritance ratio, that different porting strategies have
different tradeoffs. We find that hinting tags(e.g., Cc stable tags and fixes
tags) are significantly important to the prompt patch porting, but it is
noteworthy that a substantial portion of patches remain devoid of these
indicative tags. Finally, we offer recommendations based on our analysis of the
general patch flow, e.g., interactions among various stakeholders in the
ecosystem and automatic generation of hinting tags, as well as tailored
suggestions for specific porting strategies.
