Social Computing in Open Source Community: A Study of Software Reuse
Software projects are not developed in isolation but often build upon other open source resources. These projects form a kind of reference ecosystem regarded as a software world. Most of social computing works focus on social networks such as Facebook and weibo to mine information. However, few previous works analyze Open Source Community which could help developers conduct collaborative development. In this paper, we model the Java reference ecosystem as a network based on the reuse relationships of GitHub-hosted Java projects and analyze the characteristics and the patterns of this reference ecosystem by using community detection and pattern discovery algorithms. Our study indicates that (1) Developers prefer to reuse software limited in only a small part of projects with cross cutting functionality or advanced applications. (2) Developers usually select software reused with similar function widely depending on different requirements, resulting to different patterns. Based on these collective intelligence, our study opens up several possible future directions of reuse recommendation, which are considered as guidance of collaborative development.
KeywordsSocial computing Open source software Reuse relationship Characteristic and pattern
This work is supported by the National Natural Science Foundation of China (Grant Nos. 61432020, 61472430 and 61502512).
- 1.Jia, Y., Shelhamer, E., Donahue, J., et al.: Caffe: convolutional architecture for fast feature embedding In: Proceedings of the ACM International Conference on Multimedia, pp. 675–678. ACM (2014)Google Scholar
- 5.Ossher, J., Bajracharya, S., Lopes, C.: Automated dependency resolution for open source software. In: Proceedings of 7th Working Conference on Mining Software Repositories, pp. 130–140. IEEE (2010)Google Scholar
- 6.Gousios, G., Spinellis, D.: GHTorrent: GIThub’s data from a firehose. In: Proceedings of the 9th Working Conference on Mining Software Repositoties, pp. 12–21. IEEE (2012)Google Scholar
- 9.Bastian, M., Heymann, S., Jacomy, M.: Gephi: an open source software for exploring and manipulating networks. In: International AAAI Conference on Weblogs and Social Media (2009)Google Scholar
- 12.Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Boston (1998)Google Scholar
- 15.Werner, C., Jansen, S.: A systematic mapping study on software ecosystem from a three-dimensional perspective. Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry, pp. 59–81 (2013)Google Scholar
- 16.Businge, J., Serebrenik, A., Van den Brand, M.: Survival of eclipse third-party plug-ins. In: Processing of 28th International Conference on Software Maintenance, pp. 368–377 IEEE (2012)Google Scholar
- 17.Syed S., Jansen, S.: On cluster in open source ecosystem. In: Proceedings of International Workshop on Software Ecosystems, pp. 19–32. Citeseer (2013) Google Scholar