Open Source Software Hosting Platforms: a Collaborative Perspective’S Review

Open Source Software Hosting Platforms: a Collaborative Perspective’S Review

Open Source Software Hosting Platforms: A Collaborative Perspective’s Review Ghadah Alamer, Sultan Alyahya* Information Systems Department, College of Computer & Information Sciences, King Saud University, Riyadh, Saudi Arabia * Corresponding author. email: [email protected] Manuscript submitted February 25, 2017; accepted April 27, 2017. doi: 10.17706/jsw.12.4.274-291 Abstract: Open source software (OSS) has been gaining large attention lately. In fact, several studies have shown that the collaboration is a remarkably major factor influencing the OSS quality. In addition, there are several existing platforms providing mediums for collaborative development of the OSS projects and involve advanced features that assist in boosting the collaboration process. Such platforms which can be called as open source software hosting platforms are rich of collaborative workflows. Therefore, in this research a comprehensive investigation of the current OSS hosting platforms is held for the sake of studying their collaboration capabilities as well as pointing out any limitations related to collaboration that might hinder OSS from meeting high quality. The review has shown that the current OSS hosting platforms have some potential limitations. The identified limitations have been shared through a survey with developers working on OSS platforms and the results have generally revealed that there is a necessity to overcome these limitations. Keywords: Collaboration, open source software, platform, software development. 1. Introduction Software development process has been moving towards community-based Open Source Software (OSS) development rather than being completely closed [1]. OSS development is facing large growth and their existence is notable in various areas such as industry, government and education [1][2]. Therefore, there are many powerful platforms have emerged providing collaborative hosting services for OSS projects (e.g. GitHub, GitLab, Bitbucket). OSS development is characterized by distinctive characteristics which have grabbed the attention of practitioners and researchers. Having a geographically distributed and voluntary nature, and as well as a changing and evolving community surrounding the OSS are some of the major properties of OSS development. This nature of the development process has a great and direct impact on the collaboration between the developers working on the OSS projects. Therefore, developers have been and are still working on finding out creative methods to increase productivity, efficiency, quality and reduce the complication of managing OSS projects through the adoption of better collaboration practices and version control tools. OSS is developed in an environment that potentially might introduce several obstacles in the collaboration between developers during development. Hence, having some problems in collaboration hinders open source software from achieving the required and expected level of quality. Hironori et al. in their study [3], clearly stated that: “In OSS development, the collaboration among developers is the key to improve software quality [3]”. According to [4], a large number of maintained OSS projects are available, however, on the other side, there are as well large number of abandoned projects with low quality. Due to the distributed, voluntary, virtual and little strictness and systematization nature of the OSS development, some collaborative concerns have been shown up. In fact, the distribution of developers makes collaboration much more challenging [5]. The OSS development is performed through the Internet with possibly no face-to-face meetings at all. Thus, unlike in the traditional development, it is quite difficult for developers to form clear and valid impressions about each other since they are collaborating virtually [6], in contrast to the closed or traditional software development where tasks are assigned to developers and they are fully in charge of them and besides, they usually are aware of each other’s abilities. In addition, having a voluntary nature where none of the collaborating developers working on the OSS is held responsible for a certain work is also another key aspect having a high impact on the improvement of the OSS [4]. Low commitments in OSS development might seem pleasing to developers; however, it might slow down the development process or even stop it. Having such characteristics in the OSS development requires more attentiveness towards the collaborative gaps preventing OSS from achieving good quality. In this research, the focus shall be on understating OSS development through exploring and evaluating the existing OSS hosting platforms. The research endeavors to contribute to the enhancement of the current collaboration processes between developers in currently existing OSS hosting platforms. In fact, the main motivation behind this research is that there are no studies provide a holistic investigation on OSS hosting platforms from a collaborative perspective. Despite the fact that there are some studies that select a single platform for investigation, however, it has appeared to us that no studies have been found which investigate the collaboration processes in particular. Therefore, this research attempts to contribute to fill this gap by performing a detailed investigation on a set of OSS hosting platforms by focusing mainly on their collaborative aspects. The remainder of this paper is organized as follows: Section 2 will provide a detailed background of OSS and will discuss the related work. Section 3 then will present an elaborative evaluation performed on the collaboration features existing in the OSS hosting platforms. Afterwards, an analysis of the limitation and challenges that the platforms are experiencing is provided in Section 4 with a survey supporting the credibility and necessity of overcoming these challenges. Finally, the paper is concluded in Section 5. 2. Literature Review 2.1. An Overview of Open Source Software (OSS) Open Source (OS) is relatively a recent term, but the basic idea behind it is actually not. The term has been around since 1960 [7] [8]. OSS refers to as software that is free to download and use and its source code can be completely accessible, viewable and modifiable by interested developers [9]. The software industry is confronting a great transformation towards OSS model rather than closed software (proprietary software) model [1] [10]. Nowadays, many software products have OSS components integrated into them [1]. In addition, more than 70% of IT professionals in the United States prefer OSS over proprietary software [10]. OSS development includes the following characteristics: 2.1.1. Based on volunteering OSS projects have a voluntary nature, where members contribute to an OSS project voluntarily and are not paid for their contributions. 2.1.2. Collaboration over a geographically distributed environment OSS is developed in a geographically distributed manner [7], where members of the OSS community are dispersedly located in remote sites with different time zones, and are collaboratively working on the OSS project. Therefore, having this distributed nature of OSS development creates the need for coordination, as Aberdour [11] have stated that: “OSS development must also manage a geographically distributed team, requiring focus on coordination tasks”. According to Nakakoji et al. [9], collaborative development is a substantial characteristic of any OSS. 2.1.3. Developers do not stick into a strict plan or schedule In OSS development, developers do not usually follow a well-structured plan and schedule [7]. In fact, the original developer actually starts the OSS project without planning it. However, the entire OSS community is the one which collaboratively leads the evolution and development process [9]. In contrast to OSS development, the traditional SW development process puts large effort into planning and scheduling [11]. Moreover, in the OSS development the owner of the project does not have full power over the contributing developers [7]. Therefore, developers are not being assigned strictly to specific roles and work; rather they assign themselves with what they see falls into their interests and desires [9]. In addition, OSS might not be accurately designed at first, which means that the software may not be of advanced level or of massively high qualifications [9]. However, OSS and the whole OSS community evolve over time [7] [9]. In the OSS development process the software never reaches to an end, but it keep on improving and evolving depending on the users’ desires and needs [8]. 2.1.4. Development done in parallel The OSS development is a parallel process; therefore, it is quite difficult to track the whole development progress; even though Version Control Systems (VCS) assist in doing so. In contrast, the Closed Source Software Development (CSSD) can be clearly tracked and traced [8]. In fact, the OSS’s source code is improved and maintained using parallel debugging which is performed by large number of distributed developers. However, in closed source development, the source code is usually maintained and quality-checked using planned and systematic testing [7]. 2.1.5. Requirement elicitation is driven by the collaborative OSS community Since the OSS development has an evolutionary nature, the requirements keep on appearing and emerging during the development. Contrary to OSS development, the closed source software development defines the set of requirements in the very beginning through requirement

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us