Understanding Open Source Contributor Profiles in Popular Machine Learning Libraries
<|reference_start|>Understanding Open Source Contributor Profiles in Popular Machine Learning Libraries: With the increasing popularity of machine learning (ML), many open-source software (OSS) contributors are attracted to developing and adopting ML approaches. Comprehensive understanding of ML contributors is crucial for successful ML OSS development and maintenance. Without such knowledge, there is a risk of inefficient resource allocation and hindered collaboration in ML OSS projects. Existing research focuses on understanding the difficulties and challenges perceived by ML contributors by user surveys. There is a lack of understanding of ML contributors based on their activities tracked from software repositories. In this paper, we aim to understand ML contributors by identifying contributor profiles in ML libraries. We further study contributors' OSS engagement from three aspects: workload composition, work preferences, and technical importance. By investigating 7,640 contributors from 6 popular ML libraries (TensorFlow, PyTorch, Keras, MXNet, Theano, and ONNX), we identify four contributor profiles: Core-Afterhour, Core-Workhour, Peripheral-Afterhour, and Peripheral-Workhour. We find that: 1) project experience, authored files, collaborations, and geographical location are significant features of all profiles; 2) contributors in Core profiles exhibit significantly different OSS engagement compared to Peripheral profiles; 3) contributors' work preferences and workload compositions significantly impact project popularity; 4) long-term contributors evolve towards making fewer, constant, balanced and less technical contributions.<|reference_end|>
@article{liu2024understanding,
    title={Understanding Open Source Contributor Profiles in Popular Machine
  Learning Libraries},
    author={Jiawen Liu, Haoxiang Zhang, Ying Zou},
    journal={arXiv preprint arXiv:2406.05685},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.05685},
    primaryClass={cs.SE}
}