Who Cares About My Feature Request?

. Previous studies on issue tracking systems for open source software (OSS) focused mainly on requests for bug fixes. However, requests to add a new feature or an improvement to an OSS project are often also made in an issue tracking system. These inquiries are particularly important because they determine the further development of the software. This study examines if there is any difference between requests of the IBM developer community and other sources in terms of the likelihood of successful implementation. Our study consists of a case study of the issue tracking system BugZilla in the Eclipse integrated development environment (IDE). Our hypothesis, which was that feature requests from outsiders have less chances of being implemented, than feature requests from IBM developers, was confirmed.


Introduction
Collaboration of core developers with the outside community is an important key to the longevity of an Open Source Software (OSS) project [1].For users, it is particularly important to have their requirements integrated into future versions of the software product.Issue tracking systems are the main instrument used to integrate the needs of external participants.In an OSS development project, the community can report a bug or feature using issue tracking systems such as Bugzilla [2].Issue tracking systems have received considerable attention in the OSS literature [3][4][5].Due to the open nature of these systems and the ease of data collection, they are an ideal subject for examination when investigating the OSS development process.Issue tracking systems also have various advantages for the community: more problems with the software can be identified, because they are easy to report, and more bugs can be fixed, because there are more developers contributing to solutions.This not only helps to improve the product, but also to tailor a software to the users' needs [6,7].Moreover, issue tracking systems are a way to integrate more externals into the OSS community.In the context of the Eclipse IDE, where IBM revealed the source code of its software under an OSS license, their goal was to increase its popularity as a development platform on a larger market, while retaining control over the future path of the software development.The present study examines the area of conflict between the contributors from IBM and the outsiderspeople not paid by IBM.Do feature requests from outsiders have less chance of being implemented than those which originate from an IBM employee?
To answer this question, this paper is structured as follows: Chapter 2 describes theories on community integration as well as an analysis of previous studies of issue tracking systems.Moreover, the Eclipse IDE is presented in detail.Chapter 3 describes the method applied to analyse our hypothesis, Chapter 4 presents the results, which are then discussed in Chapter 5.

Theory section
Since Netscape released their source code for the Internet browser Mozilla, an increasing number of business companies have revealed their prior proprietary source code under an OSS license.For the most part, the intention behind such a move is not altruistic, but is based instead on the hope that the community will help to improve and maintain the future code base, in order to reduce internal development efforts [1].The involvement of a community in an OSS project is a vital factor in the success of the project because the community promotes the project and its development [8,9].Moreover, as stated by Grammel et al [7], integrating the community in the OSS development plays a key role for the success of an OSS project.Ways to involve people in an OSS project include the marketing of the OSS project to attract potential contributors and integrating their efforts into the project.As the project grows, governance structures become necessary [1,10].On the technical side, increasing modularity in the source code is one incentive to attract new developers.A modular software makes the software more attractive to outsiders, since the effort required to get to know the code is lower [11].Another way to integrate a community in an OSS project is to use an issue tracking system; this will be discussed in more detail in the next subsection.

Issue tracking systems
Although there is no strict hierarchical structure in an OSS community, the structure is not completely flat.According to [12], roles and their associated influence can be earned through contributions to the community.The resulting community structure, called the "onion-model" can be shown in a layer where the roles closer to the center (e.g. the project leader and core members) have a greater influence than the roles in the external area (e.g.readers and passive users).Contributions to the community can be made through an issue tracking system, thereby influencing the community structure and the impact each individual has on the OSS project.OSS projects typically have an open issue tracker where developers and users of the software can report bugs and feature requests [3].Previous studies of issue tracking systems covered topics such as the automatic assignment of bug reports to developers [3,13,14], the automatic assignment of priority and severity labels to bug reports [15], the identification of duplicate reports [5,16], the automatic summarization of reports [17,18] and the prediction of bug fixing times [19,20].
Bug fixing times, respectively the speed at which bug reports are processed, are influenced by several factors.Bugs which are critical for the proper functioning of the software (i.e. have a high severity) receive more attention and resources and are therefore fixed faster than more trivial bugs [21].However, the bug fixing time is also influenced by the characteristics of the person filing the bug report.The popularity of the reporting person within the community reduces the bug fixing time.A bug filed by a reporter whose bugs are usually fixed quickly, has a high chance of any future bugs also being fixed quickly [21].A study of the issue tracking system BugZilla of the Mozilla Firefox project revealed that bug reports from 'outsiders' tend to be ignored by the developer community.These were processed far more slowly than bugs reported by core developers.Furthermore, the study showed that reports from 'outsiders' tend to be ignored only in the more recent versions of Mozilla Firefox, and not in the earlier stages of development [22].

Feature requests in issue tracking system
Issue tracking systems are not used only to report bugs, but also serve to request new features or enhancements to the software [3,23,24].Previous research excluded reports containing feature requests or enhancements, despite the fact that these are very interesting for research on OSS communities since they determine the further development of the product, under the influence not only of developers, but also based on the opinions of its users.Other than the famous first lesson by Eric S. Raymond "Every good work of software starts by scratching a developer's personal itch."[25].Feature requests also allow nonprogrammers to express their demand for further development of the OSS product.Using issue tracking systems to highlight new functional needs thus allows their ideas and requirements to be integrated.
In this paper we identify measures that influence whether or not a feature request is successful.A key variable indicates whether a feature request was reported by a core developer or by an outsider.Based on the findings of Dalle, den Besten, and Masmoudi [22], we expect that requests from outsiders are less likely to be implemented than feature requests from core developers (IBM developers).Other independent variables included in our analysis will be introduced later in this study.

Eclipse IDE
The Eclipse IDE project is a longstanding and well-established OSS project, with a wide installation base in both the OSS and in the commercial development field: It presents a large and mature OSS project [20].While the focus has been on projects such as Linux, Apache or Gnome, the Eclipse IDE was not founded as a "grassroots" community of user-developers [1].The project was initially owned by IBM and was released as OSS in 2001.By releasing the source code under an OSS license, IBM made a source code available with a value estimated at $40 million [26].While this seemed a somewhat surprising decision at the time, this step increased its popularity as a development platform across a larger market, attracting more attention to IBM's complementary products.From 2001 until 2004, the control over the development strategy remained in the hands of IBM [27].In 2004, IBM ceded control over the project and the Eclipse Foundation was established, which now owns the intellectual property rights (IPR).With this decision, IBM allowed other firms to become equal members in the project.Today, the Eclipse Foundation serves as a "steward" of the Eclipse community.In general, the Eclipse Foundation provides four services to their community: IT-Infrastructure management, IPR-management, development processes and the ecosystem development.
Eclipse was the subject of many studies in the OSS literature [3,6,19,20,14].Source code contribution and mailing list activity have already been investigated in terms of participation by IBM developers vs. outsiders.The results indicated that IBM developers initially dominated mailing list and source code contributions, but the participation of outsiders increased over time [27].

Method
We obtained a database dump of Eclipse's issue tracking system BugZilla from the website of the MSR Mining Challenge 2011.The dataset included 316'911 reports from 30'230 different reporters for the period from 2001 to 2010.We then used the command line tool Bicho to crawl additional data for the period from 2010 to December 2015 from the Eclipse issue tracking system.
The reports were filtered according to their value for the attribute "severity".Only reports with the severity attribute set to "enhancement" were included in the analysis."Enhancement" is the label used to tag reports that contain feature requests or enhancements in BugZilla.Our subsample consisted of 24'856 reports.

Logistic Regression Model
To investigate which factors led to a successful feature request, we included only resolved feature requests and excluded all open feature requests.Furthermore, we investigated only requests marked as "FIXED" or "WONTFIX", because it was only with respect to these issues that a decision was made on whether or not to implement the requested feature."FIXED" feature requests were considered to be successful and "WONTFIX" were considered unsuccessful.We excluded feature requests with any other resolution such as duplicate reports, invalid requests or requests not related to Eclipse.Therefore, the categories "INVALID", "WORKSFORME", "DUPLICATE" and "NOT ECLIPSE" were omitted from our analysis.
To distinguish IBM developers from outsiders, we used a similar approach as Spaeth, Stuermer, and von Krogh [27].Reports from users whose e-mail addresses contained @ibm or @oti were classified as IBM developers; all other users were classified as outsiders (early members communicated with @oti email addresses because the initial version of Eclipse was developed by OTI).The original data did not include any e-mail addresses, which made it necessary to crawl the corresponding e-mail address for every user ID from BugZilla via their API interface and merge them into the dataset.Eleven user accounts did not contain any e-mail address, leading to the exclusion of 134 reports.The remaining 11'479 feature requests were included in the analysis.
The following were also included as additional independent variables: the date of the request and the assigned priority (P1 up to P5) of the request; the number of times the request was reassigned to another developer; and the number of times the request was reopened to control for their effect.To measure the attention the feature request received, we counted the number of votes for the feature request and the number of people who had the feature request on their "watch list".Both attributes were visible for anyone working on the request.As a measure of the volume of discussion the feature request generated, we included the number of comments written and the number of separate authors writing comments.To investigate whether an extensively written description had any impact on the success of the feature request, we measured the length of the description in 100s of characters.
In order to include the type of software, we included variables for the three major "products" within the Eclipse SDK: the Java Development Toolkit (JDT), the Plugin Development Environment (PDE) and the Eclipse development platform (Platform) itself.We also included another set of variables for the four most frequent subcomponents: the Core of the product (Core), the User Interface (UI), the Debugging component (Debug) and the Text Editor component (Text).

Results
Our dataset consisted of 24'856 feature requests from the period between October 2001 and December 2015.A total of n=7'303 (29.4%) feature requests were submitted by IBM developers, n=17'553 (70.6%) were submitted by outsiders.As Figure 1 shows, the relative share of feature requests submitted by outsiders varies strongly depending on the resolution type.Outsiders are responsible for over 70% of all invalid feature requests (INVALID, NOT ECLIPSE, WORKSFORME) and for over 80% of all duplicate feature requests.The proportion of all feature requests which are later implemented (FIXED) is more balanced.Around 42% of all implemented feature requests stem from IBM developers and 58% from outsiders.
Figure 2 shows that the participation of outsiders grew rapidly after the first year of development.Prior to the release of version 2.0 of Eclipse in 2002, the majority of all feature requests (n=1'374, 56.1%) were submitted by IBM developers.In the post 2.0 release phase, outsiders were responsible for the majority of 73% (n=16'477) of all feature requests.Figure 2 also shows that the total number of feature requests filed every year decreased in the later years of development.The number of feature requests from both IBM developers and outsiders decreased after the release of version 3.0 in 2004.

Logistic Regression
A logistic regression was performed to ascertain the effects on the likelihood that the feature request was successfully implemented of: being an IBM developer vs. outsider; the year the request was submitted; assigned priority; number of characters in the description; number of comments; number of separate authors of comments; number of people watching the request; number of reassignments and times the request was reopened; and the product and component to which the feature request referred.Table 1 shows the mean and standard deviation of variables included in the regression model.The logistic regression model was statistically significant, χ 2 (17) = 3148.69,p < .001.The model explained 32.2% (Nagelkerke R 2 ) of the variance in success rate and correctly classified 72.5% of all cases (76.6% of successful and 67% of unsuccessful requests).Table 2 indicates feature requests from IBM developers were two times more likely to be successfully implemented than requests from outsiders, e β = 2.08, p < .001.Feature requests in the later years of development were more likely to be implemented than feature requests in the earlier years of development, e β = 1.11, p < .001.Increasing priority level by one unit (out of five) doubled the chances of success, e β = 2.10, p < .001.An increasing number of comments on a feature request was associated with an increased likelihood of the request being successful (e β = 1.23, p < .001),but an increasing number of separate authors submitting comments on a request was associated with a reduction in the likelihood of success, e β = .65,p < .001.The number of people watching the feature request slightly increased the likelihood of success, e β = 1.06, p < .05.While the number of times the feature request was reassigned had a positive effect (e β = 1.37, p < .001), the number of times the request was reopened (e β = .74,p < .001)and the length of the description (in 100's of characters) had a minimal negative effect on the likelihood of success, e β = .99,p < .001.The number of votes slightly increased the likelihood of success, e β = 1.10, p < .001.
Feature requests concerning the Java development tools (JDT) or Platform yielded noticeably lower likelihoods of success (e β = .20,p < .001)where there was no significant effect on requests concerning the PDE, e β = .88,p = .723.Requests concerning the Core of the product (e β = .79,p < .05)and the Debugging component (e β = .77,p < .01)were less likely to be successful, whereas feature requests concerning the Text Editor had a significantly higher likelihood of being successful, e β = 2.33, p < .001.There was no significant effect on the likelihood of success for feature requests concerning the User Interface (UI), all other variables being equal, e β = .96,p = .458.

Conclusions
In this last section, we discuss the results and implications of this research paper.We also explain its limitations and future research issues.

Discussion of results
Our analysis indicates that feature requests from non-IBM employees are less likely to be implemented than feature requests from IBM developers.Thus, we confirm the finding that core developers tend to ignore reports from outsiders as indicated previously in the Mozilla Firefox project [22].While ignorance might be a possible cause of the identified effect, there might also be other reasons.Feature requests formulated by IBM employees might be more qualified based on their in-depth knowledge and experience with the source code and available software features.Feature requests by IBM developers likely target highly relevant areas of improvement within the Eclipse software and, thus, might be implemented more often than feature requests by outsiders.This is somewhat contradictory considering core developers are essentially not required to file feature requests for certain requirements.Through their commit access to the code repository they have the opportunity to implement new functionalities directly into the source code, without going through the feature request process.We assume core developers often file feature reports voluntarily in order to comply with community rules and norms.
The results show that besides IBM affiliation, several other characteristics of feature requests also influence the probability of implementation.Our results suggest the highest positive impact on resolution is induced by the priority level of a feature request.Raising the priority level of a feature request by one doubles the probability that the feature will be implemented.The reason for this might be signaling effects indicating high relevance and demand, thus motivating developers to actually prioritize implementation of a certain feature.Based on this insight, ambitious users might now be tempted to categorize all of their feature requests as high priority.However, issue reporting users in Bugzilla cannot define the priority of their issue.This function is limited to the person to whom the issue is assigned, who can change the priority level, thus inhibiting opportunistic behavior of feature reporters.
Besides reporter origin and feature priority, the number of reassignments also had a strong positive effect on its implementation.Reassignments indicate an issue has been directed to persons with the best skills required to implement the work, following the principle of knowledge specificity [28].Interestingly, in this context the number of authors involved in a feature request had a negative impact, thus indicating that the mere fact that a large number of people are involved discussing a feature request did not help to implement it.Only when responsibility to resolve the issue changed were the chances of success raised.
In addition the number of comments and the number of votes an issue had received, as well as the number of people watching a feature request positively influenced the probability of its implementation.It is possibly the activity level surrounding a feature request and, thus, the level of interest in the resolution of a certain enhancement that increased the chances of its successful completion.
While we started with a research question concerning the factors influencing implementation probability of a feature request, we coincidentally found the interesting observation of decreasing request numbers over the years.While Eclipse is the leading Java development platform [29] it apparently receives less issues as others researching bug tracking have also found [30].On the one hand, this might indicate a decreasing level of interest in Eclipse in the long-term.On the other hand, a more mature software solution justifiably receives less feature requests because it already fulfills most user requirements.This unexpected finding raises new questions about software maturity related to community activity and necessitates further research in other OSS projects to test whether their feature request pattern behaves the same, or if it is different -and if so, why.

Limitations and future research
The distinction between IBM developers and outsiders using their e-mail address is one limitation of this empirical research paper.Holders of an IBM e-mail address might not necessarily be core developers, and not all core developers in Eclipse are employed by IBM.In the Mozilla Firefox study [22] bug reports were differentiated according to their initial state when they enter the issue tracking system.Experienced developers with the "CanConfirm" privilege were able to enter their reports as "NEW", all other reports were initially in the state "UNCONFIRMED".Therefore, reports which entered the issue tracking system in the state "NEW" were considered to come from core developers, whereas reports which entered the issue tracking system in the state "UNCONFIRMED" were considered to come from outsiders.This approach was not applicable to the Eclipse project, because all reports are initially flagged as "NEW", irrespective of the privileges of the reporter.Other methods of identifying core developers in the Eclipse project, such as measuring activity levels in terms of source code contribution, issue tracker and newsgroup activity, could be applied to distinguish between core developers and outsiders.
Future research could analyze if and how differences in the likelihood of success of feature requests from outsiders evolved over time.The effect that reports from outsiders tend to be ignored by the core developers in the Mozilla Firefox project could be shown only for the more recent versions of Firefox and not in the earlier stages of development.Eclipse evolved from being under the strict control of IBM to an independently governed OSS project.The effects of this evolution have already been shown in terms of increased source code contribution and newsgroup activity from outsiders in the Eclipse project [27].It would be of particular interest to study the effect of governance on the treatment of feature requests from outsiders.Further, a comparison between requirements from IBM developers and outsiders could be made to understand the differences of our quantitative study.Perhaps internal requests are more clear and feasible than those from outsiders and are therefore preferred by the Eclipse IDE developers.
Future research could obtain a dataset of further Eclipse projects or other OSS communities to expand the scope of the analysis.It would allow the reliability of the results of this study to be tested, including the accidently discovered effect of the decreasing number of feature requests.As the issue tracking system keeps record of historical information, it is possible to analyze in-depth the process between the reporting and solving of bugs and feature requests.This represents a reliable and promising source for further studies.

Fig. 1 .
Fig. 1.Number of feature requests from IBM developers and outsiders by resolution type

Fig. 2 .
Fig. 2. Number of feature requests from IBM developers and outsiders from 2001 to 2015

Table 1 .
Mean and SD (in parenthesis) for variables included in the Logistic Regression Model

Table 2 .
Summary for Logistic Regression Analysis for variables predicting success of a feature request (n=11'479)