Toward understanding new feature request systems as

advertisement
Toward understanding new feature request systems as
participation architectures for supporting open innovation
Michelle W. Purcell
College of Computing & Informatics
Drexel University
3141 Chestnut St., Philadelphia PA
610-864-1060
E-mail: mjw23@drexel.edu
ABSTRACT
Most research regarding innovation in open source software
communities pertains to identifying supporting conditions for
promoting code contribution as a way to innovate the software.
Instead, this paper seeks to identify social and technological
affordances of new feature request systems and their potential to
support open innovation through integration of peripheral
community members’ ideas for advancing the software. Initial
findings from the first of a planned study of multiple open source
software communities are presented to identify attributes of
effective participation architectures.
Categories and Subject Descriptors
H.5.3 [Information Interfaces and Presentation]: Group and
Organization Interfaces – collaborative computing, computersupported cooperative work, organizational design.
General Terms
Design, Management
Keywords
Open innovation, Free and open source software, Participation
architectures, Organizational studies.
1. INTRODUCTION
New feature request systems in Free and Open Source Software
(FOSS) projects provide a key method for users to request
community developers to make changes to the software. The
extent to which new feature requests enable users to represent and
generate support for their ideas has implications for project
sustainability and open innovation. Much has been written about
the coordination of work among distributed developers in FOSS
projects [2, 5–7]. The process is well established, relying on code
modularity to reduce coordination needs among developers and
tools such as the mailing list, bug reporting tools, IRC and code
repositories to maintain awareness and provide group transactive
memory. These characteristics enable developers to heedfully
interrelate [15] while working on selected portions of the code
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or
distributed for profit or commercial advantage and that copies bear this notice and
the full citation on the first page. Copyrights for components of this work owned
by others than ACM must be honored. Abstracting with credit is permitted. To
copy otherwise, or republish, to post on servers or to redistribute to lists, requires
prior specific permission and/or a fee. Request permissions from
Permissions@acm.org.
OpenSym '15, August 19 - 21, 2015, San Francisco, CA, USA
© 2015 ACM. ISBN 978-1-4503-3666-6/15/08…$15.00
DOI: http://dx.doi.org/10.1145/2788993.2789842
base largely independently to produce a major code release.
However, little is known about how to support heedful
interrelating between outsiders and (mainly technical) community
members during the process of requesting community developers
to make enhancements to the software.
2. THEORETICAL BACKGROUND
2.1 Models of Open Innovation
Gassmann & Enkel [4] provide three models describing how
knowledge flows within open innovation. Inside-out innovation
applies when ideas developed internally to the firm are made
innovative through the externalization of that knowledge and sale
of Intellectual Property (IP). Outside-in innovation occurs when
firms’ integrate knowledge from suppliers and customers. A
coupled process combines both outside-in and inside-out forms of
innovation. Spaeth et al. [14] use the term “push model” to
describe a variant of outside-in innovation that derives from
unsolicited knowledge sharing by stakeholders outside the firm.
For example, in IBM’s open sourcing of the Eclipse integrated
development environment, code contributions from outside
contributors provided key software innovations [14]. Push
models of open innovation in open source software have focused
on contingencies supporting code contributions, such as the role
of the development process [12, 18]; project governance
structures [13, 17]; software architecture [1, 9], or business
strategy [16].
This study takes a different perspective,
investigating a push model of open innovation via new feature
requests from persons requesting community developers to make
enhancements to the software.
Participant architectures are “the socio-technical framework that
extends participation opportunities to external parties and
integrates contributions” [17, p. 146]. They enable varying
degrees of openness which in turn are positively related to
sustaining and growing an innovation community [17]. This paper
presents preliminary findings pertaining to the research question:
Can we identity technological affordances of participation
architectures that support a community of innovation, given that
this requires the participation by outsiders in an existing system of
heedful interrelating between (mainly technical) community
members?
2.2 Heedful Interrelating in Open Innovation
Designing a participant architecture to support open innovation
must address the challenge that in diverse communities,
knowledge is ‘stretched across’ participants, rather than shared
between them [8]. Therefore, it must facilitate the process of
distributed cognition. Heedful interrelating as a lens enables a
finer grained analysis of the distributed cognition process, a.k.a.
collective mind, helping elucidate the conditions that support it.
To heedfully interrelate to enact collective mind requires one
heedfully represent and subordinate their contributions, “a heedful
contribution enacts collective mind as it begins to converge with,
supplement, assist, and become defined in relation to the
imagined requirements of joint action presumed to flow from
some social activity system” [15, p. 365]. Therefore, any
participation architecture must consider factors that influence the
ability to act heedfully to represent knowledge within the current
state of the social activity.
2.3 Affordances Supporting Heedful
Interrelating
Majchrzak. et al. identity affordances of social media technology
– “the action potential that can be taken given a technology” [10,
p. 39] – that have the potential to support communal online
knowledge sharing. These affordances are closely related to the
roles and key practices of heedful interrelating shown in Table 1.
Table 1. Mapping affordances of social media for online
communal knowledge sharing to heedful interrelating
Affordance
[10]
Metavoicing
Triggered
Attending
Definition [10]
Adding metaknowledge
to the content that is
already online.
Metavoicing can take
many forms including
retweeting, voting on a
posting, commenting on
someone’s post, voting
on a comment, “liking” a
profile, etc. [p. 41]
Engaging in the online
knowledge conversation
by remaining uninvolved
in content production or
the conversation until a
timely automated alert
informs the individual of
a change to the specific
content of interest [p.42].
Application to
Heedful
Interrelating
Becoming aware of
others’ participation
in the community.
Understanding
when a task, debate,
or decision requires
your specific
participation.
NetworkInformed
Associating
Engaging in the online
knowledge conversation
informed by relational
and content ties [p. 44].
Understanding whoknows-what so you
can refer others to a
knowledgeable
source /collaborator.
Generative
Role-Taking
Engaging in online
knowledge conversation
by enacting patterned
actions and taking on
community-sustaining
roles in order to maintain
a productive dialogue
among participants [p.
45].
Adopting a specific
role (e.g., facilitator
or champion) or
process to maintain
dialogue among
participants.
Although designated for social media the definition is broad
enough to be applicable to the new feature request process in
FOSS which typically involves use of bug reporting tools and
mailing lists for documenting and sharing knowledge related to a
requests’ worthiness and technical feasibility.
2.4 Technology Affordances and Constraints
Theory (TACT)
Technology affordances and constraints theory [11] takes a nondeterministic approach to the study of technology. While
technologies have features such as the ability to vote on an idea,
that does not mean the feature will achieve the desired effect of
gathering input from a wide variety of users. To understand the
ability to achieve a desired outcome, one must look at the
relationship between people and technology as it is this
relationship that either affords or constrains an organization from
achieving a desired goal. The method, data collection and
analysis process for this study therefore examines affordances,
constraints on action, and outcomes.
3. METHOD AND DATA COLLECTION
Given the exploratory nature of this study a qualitative study
using ethnographic methods was employed. The sample consists
of one open source software project although the study of
additional communities is planned. The project was chosen
because there was evidence of users submitting new feature
requests and the community welcoming new feature requests.
The project employs a deployment business model meaning while
the code is free users are willing to pay support, subscription, and
professional services to maintain and customize the software [3].
The majority of development is done by paid developers at
software companies and some of the institutions using the
software. The project would be considered relatively small based
on lines of code and users.
Firstly, new feature requests submitted via the open community
bug reporting web-platform were analyzed over several months.
WIKI articles, and IRC and mailing-list communications were
sampled – this analysis was related to the success or failure of
new feature requests submitted via the web platform. This
analysis permitted enculturation in community practices and
allowed channels for user participation to be identified. Interviews
were conducted with five core community members who were
well-indoctrinated into community practice around the new
feature request process. Four of the interviews were with user
representatives and one was with a developer from a software
company. Three of those interviewed were elected members of
the governing board. Interviews were semi-structured lasting
between 38 minutes and 1 hour and 10 minutes. Data were
analyzed to identify how the technology afforded heedful
interrelating as described in table 1.
4. FINDINGS
As part of the process for submitting a new feature request
participants are to propose their idea on the mailing list or IRC to
identify whether it has already been discussed and is being
worked on and gauge support for the idea. The mailing list and
IRC are primarily text-based.
While it is recommended to address the request to the mailing list
or IRC first, one may submit the idea directly to the bug tracker
for inclusion on the wishlist by setting it as wishlist importance
themselves or another community member does it. The wishlist is
hosted on Launchpad which is also primarily text-based. In this
system items are designated an importance, status, assignee, and
milestone. Additional metadata is captured such as the reporter,
number, title, last update and heat. Users can comment on an
item, increase the heat by stating whether it affects them, add
attachments, tag it, or choose to subscribe to the item.
Analysis showed that the participation architecture needed to
support two processes for a new feature to be implemented,
gaining support and identifying resources to implement. There
were five factors related to generating support: affects a
community member’s institution; overall effect on the
community; effect on maintainability of software; social capital of
the requester; knowledge availability to flesh out request. There
were six factors related to obtaining resources for implementation:
relates to a developer’s existing work; relates to a developer’s
skill set; opportunity to build a developer’s reputation in
community; opportunity to build a developer’s resume; time
available; funding to support development.
Broadly speaking, two types of new feature requests could
eventually be implemented using the new feature request system,
small and large requests, and the methods for getting a request
implemented varied. Although large feature requests typically
involved obtaining funding from one’s institution or convincing
other institutions to pool funding to contract to a software support
company to implement the request, smaller requests could happen
in a number of ways.
In the case of small requests, sometimes identifying resources was
all that was necessary -- and a little serendipity. For example, one
respondent described a fortunate circumstance of having a small
change implemented after talking to developers on IRC:
I brought up hey, wouldn’t it be great if, like I was thinking I
was going to try and add this feature that I think my users
would like. Does it make sense to you developers? This was
in the IRC channel and then like “oh, we don’t have that little
bit of data display, hold on. Oh yeah, here’s the code, now it
displays.”
In another case, generating support and identify resources was
done by calling in favors:
Going behind the scenes and working to get things done on a
favor basis that happens a fair bit and it is usually for fairly
small things. I have some good friends among the developers
in the community. I’ve actually gotten them to work on a
number of things for me over the years.
One respondent described the Launchpad tool as providing means
for generating support and identifying resources:
So this is an expression at any place and time of some of the
things that are going on in the community. Whether I am a
developer looking at it trying to address some of those things
and move the community along, or whether I am funder
looking and it and I have some funding and yes that’s exactly
what I want, here’s $5 and so on and so forth.
While the Launchpad tool appeared to provide functionality
related to generating support with the notion of heat and ability to
provide comments, it did not seem a viable way to do that. One
respondent said heat was not used in any formal way to assess
importance of the requests and examination of the wishlist
requests showed it as not being related to importance in
implementing wishlist requests. Another respondent said she did
not use Launchpad and communicated mainly through the mailing
list because she did not feel she had the knowledge to participate
in the technical discussions going on there.
A number of feature requests in Launchpad sat in limbo for an
extended period of time. When one respondent was asked why,
his response was that the wishlist acts as “blue sky” and the most
critical advancements will “bubble up to the surface.” However,
another community member didn’t see it that way:
And, institutions that put in a wishlist but don’t have funding
associated with it to work on it is not terribly likely to ever
happen. In my experience if somebody puts in a wishlist and
has the funding to do it, it happens fairly quickly.
All of this points to a lack of online communal knowledge sharing
in the Launchpad tool regarding the two main functions of the
participation architecture, generating support and identifying
resources.
5. DISCUSSION
The wishlist contained in the Launchpad tool did not support
heedful interrelating well for generating support and identifying
resources. There was not much online communal knowledge
sharing and the notion of the tool supporting the ideas “bubbling
up” did not occur often. This section presents examples of why in
terms of the affordances for online communal knowledge sharing
presented in Table 1.
5.1 Metavoicing
While the wishlist had the technical feature of allowing tagging it
was hit or miss as to its ability to organize items and maintain
awareness of already requested features. One respondent said
regarding tagging:
Sometimes they are a convenient shortcut to see if something
has already been filed. Unfortunately not everybody uses the
tags consistently.
On the other hand with regard to managing technical
implementation the community had a well-established pattern of
applying the “pull-request” tag when code needed to be added to
the baseline for testing.
5.2 Triggered Attending
Maintaining awareness of items on Launchpad items in order to
provide feedback was mainly a manual process which involved
reading the mailing list and IRC logs and subscribing to email
updates and searching for items of interest. In discussing with a
user representative how he knows when to provide feedback he
said he signed up for email mailings for all bugs as triggered
attending in terms of identifying specific items of interest was not
adequately provided by the Launchpad tool:
I read each one of them, yeah. Ultimately it’s part of my job
to keep track of the software for my organization so I need to
chime in where things may potentially affect us.
5.3 Networked Informed-Associating
Identifying developer resources and generating support relies on
finding out who knows what. One respondent when asked about
how well the new feature request process worked said:
For an organization considering the software or somebody
who has been using the software but isn’t deeply tied into
some of the existing communication channels or who doesn’t
know some of the individuals who’ve spearheaded a
development, rather who they are, my perception is that it
could be much more of a challenge for them to figure out how
to get started with, you know, with taking their idea and
getting somebody to write the code for it, to write the
documentation for it, and to get it folded it into the software.
5.4 Generative Role-Taking
With regard to identifying resources, at times a wishlist item
would sit in limbo with a developer assigned with little or no
progress taken on implementing the feature. The community had
no formal process for moving progress along on these items; one
respondent described the process this way:
And so it becomes in form a little of a creative approach,
some of the networking within the community besides mailing
list and IRC, so coming together at the annual conference,
that sort of thing, provides an opportunity to get some of the
stuck bugs unstruck, if you will. So, for the most part, all of
that is quite informal.
6. CONCLUSION
This paper presents an approach to analyzing how the technical
affordances of a new feature request system afford or constrain
participation by outsiders in an existing system of heedful
interrelating between (mainly technical) community members.
Examples were presented in terms of social media affordances to
support online communal knowledge sharing.
Preliminary
findings suggest that the new feature request system does not
support heedful interrelating during the two main tasks
participants need to accomplish to have a new feature
implemented which were generating support and identifying
resources. This has implications for the new feature request
system to enable open innovation as only those who can spend
copious amounts of time monitoring and participating on the
mailing list, IRC, and wishlist can hope to develop the
connections within the community to generate support and
identify resources necessary to have an idea implemented.
The analysis presented here is a first step in a wider study that
will also identify community roles and processes needed to
support technology affordances. It will include multiple open
source software communities with different business models for
the dual purpose of: 1) aiming for a sample that achieves
maximum variation and 2) considering the potential effect
business model may have on instantiation of participation
architectures.
7. REFERENCES
[1] Baldwin, C.Y. and Clark, K.B. 2006. The Architecture of
Participation: Does Code Architecture Mitigate Free Riding
in the Open Source Development Model? Management
Science. 52, 7 (2006), 1116–1127.
[2] Bolici, F. et al. 2009. Coordination without discussion?
Socio-technical congruence and Stigmergy in Free and Open
Source Software projects. Socio-Technical Congruence
Workshop in conj Intl Conf on Software Engineering,
Vancouver, Canada (2009).
[3] Chesbrough, H.W. and Appleyard, M.M. 2007. Open
Innovation and Strategy. California Management Review.
50, 1 (2007), 57 – 76.
[4] Gassmann, O. and Enkel, E. 2004. Towards a theory of open
innovation: three core process archetypes. R&D
management conference (2004).
[5] Gutwin, C. et al. 2004. Group awareness in distributed
software development. Proceedings of the 2004 ACM
conference on Computer supported cooperative work
(2004), 72–81.
[6] Hemetsberger, A. and Reinhardt, C. 2006. Learning and
Knowledge-building in Open-source Communities: A
Social-experiential Approach. Management Learning. 37, 2
(2006), 187–214.
[7] Howison, J. and Crowston, K. 2014. Collaboration through
superposition: How the IT artifact as an object of
collaboration affords technical interdependence without
organizational interdependence. MIS Quarterly. 38, (2014),
29–50.
[8] Lave, J. 1988. Cognition in practice: Mind, mathematics and
culture in everyday life. Cambridge University Press.
[9] MacCormack, A. et al. 2006. Exploring the Structure of
Complex Software Designs: An Empirical Study of Open
Source and Proprietary Code. Management Science. 52, 7
(2006), 1015–1030.
[10] Majchrzak, A. et al. 2013. The Contradictory Influence of
Social Media Affordances on Online Communal Knowledge
Sharing. Journal of Computer‐Mediated Communication. 19,
1 (2013), 38–55.
[11] Majchrzak, A. and Markus, M.L. 2012. Technology
affordances and constraints in management information
systems (MIS). Encyclopedia of Management Theory,(Ed:
E. Kessler), Sage Publications. (2012).
[12] Scacchi, W. 2002. Understanding the requirements for
developing open source software systems. Software, IEE
Proceedings- (2002), 24–39.
[13] Shah, S.K. 2006. Motivation, Governance, and the Viability
of Hybrid Forms in Open Source Software Development.
Management Science. 52, 7 (2006), pp. 1000–1014.
[14] Spaeth, S. et al. 2010. Enabling knowledge creation through
outsiders: towards a push model of open innovation.
International Journal of Technology Management. 52, 3
(2010), 411–431.
[15] Weick, K.E. and Roberts, K.H. 1993. Collective mind in
organizations: Heedful interrelating on flight decks.
Administrative science quarterly. (1993), 357–381.
[16] West, J. and Gallagher, S. 2006. Patterns of open innovation
in open source software. Open Innovation: researching a
new paradigm. 235, 11 (2006).
[17] West, J. and O’Mahony, S. 2008. The role of participation
architecture in growing sponsored open source communities.
Industry and Innovation. 15, 2 (2008), 145–168.
[18] Yamauchi, Y. et al. 2000. Collaboration with Lean Media:
how open-source software succeeds. Proceedings of the
2000 ACM conference on Computer supported cooperative
work (2000), 329–338.
Download