  Pull request (PR) based development, which is a norm for the social coding
platforms, entails the challenge of evaluating the contributions of, often
unfamiliar, developers from across the open source ecosystem and, conversely,
submitting a contribution to a project with unfamiliar maintainers. Previous
studies suggest that the decision of accepting or rejecting a PR may be
influenced by a diverging set of technical and social factors, but often focus
on relatively few projects, do not consider ecosystem-wide measures, or the
possible non-monotonic relationships between the predictors and PR acceptance
probability. We aim to shed light on this important decision making process by
testing which measures significantly affect the probability of PR acceptance on
a significant fraction of a large ecosystem, rank them by their relative
importance in predicting PR acceptance, and determine the shape of the
functions that map each predictor to PR acceptance. We proposed seven
hypotheses regarding which technical and social factors might affect PR
acceptance and created 17 measures based on them. Our dataset consisted of
470,925 PRs from 3349 popular NPM packages and 79,128 GitHub users who created
those. We tested which of the measures affect PR acceptance and ranked the
significant measures by their importance in a predictive model. Our predictive
model had and AUC of 0.94, and 15 of the 17 measures were found to matter,
including five novel ecosystem-wide measures. Measures describing the number of
PRs submitted to a repository and what fraction of those get accepted, and
signals about the PR review phase were most significant. We also discovered
that only four predictors have a linear influence on the PR acceptance
probability while others showed a more complicated response.
