The Future of Research in FreeOpen Source Software Development p315 PDF
The Future of Research in FreeOpen Source Software Development p315 PDF
Development
Walt Scacchi
Institute for Software Research
University of California, Irvine
Irvine, CA 92697-3455 USA
+1-949-824-4130
[email protected]
315
motivation seems necessary to sustain participation, whereas a and multi-modal modeling and analysis of the socio-technical
perception of exploitation by others can quickly dissolve a processes and networks found in sustained FOSSD projects [9, 15]
participants commitment to further contribute, or worse to dissuade show that the empirical study of FOSSD is growing and expanding.
other participants to abandon an open source project that has gone This in turn will contribute to and help advance the empirical
astray. science in fields like SE, which previously were limited by
Second, in terms of cooperation, coordination, and control, FOSSD restricted access to data characterizing large, proprietary software
projects do not escape conflicts in technical decision-making, or in development projects. Thus, the future of empirical studies of
choices of who gets to work on what, or who gets to modify and software development practices, processes, and projects will
update what. As FOSSD projects generally lack traditional project increasingly be cast as studies of FOSSD efforts.
managers, then they must become self-reliant in their ability to
mitigate and resolve outstanding conflicts and disagreements. 3. RESEARCH OPPORTUNITIES FOR
Beliefs and values that shape system design choices, as well as FOSSD AND SE
choices over which software tools to use, and which software There are a significant number of opportunities and challenges that
artifacts to produce or use, are determined through negotiation arise when we look to identifying which software development or
rather than administrative assignment. Negotiation and conflict socio-technical interaction practices found in studies of FOSSD
management then become part of the cost that FOSS developers projects might be applied in the world of SE. As such, let us
must bear in order for them to have their beliefs and values fulfilled. consider some research opportunities for SE that can arise from
It is also part of the cost they bear in convincing and negotiating FOSSD studies.
with others often through electronic communications to adopt their
beliefs and values. Time, effort, and attention spent in negotiation First, FOSSD poses the opportunity to favorably alter the costs and
and conflict management represent an investment in building and constraints of accessing, analyzing, and sharing software process
sustaining a negotiated socio-technical network of dependencies. and product data, metrics, and data collection instruments. FOSSD
is poised to fundamentally alter the cost and calculus of empirical
Third, in terms of forming alliances and building community SE [3, 6, 10]. Software process discovery, modeling, and simulation
through participation, artifacts, and tools points to a growing research [e.g., 15] is one arena that can take advantage of such a
dependence on other FOSSD projects. The emergence of non-profit historically new opportunity. Similarly, the ability to extract or data
foundations that were established to protect the property rights of mine software product content (source code, development artifacts,
large multi-component FOSSD projects create a demand to sustain team communications, public user feedback) within or across
and protect such foundations. If such a foundation becomes too FOSSD project repositories [7] to support its visualization,
bureaucratic, then this may drive contributors away from its FOSSD refactoring, or redesign can be a high-yield, high impact area for SE
projects. So, these foundations need to stay lean, and not become a study and experimentation. Another would be examining the
source of occupational careers, in order to survive and evolve. effectiveness and efficiency of traditional face-to-face-to-artifact SE
Similarly, as FOSSD projects give rise to new types of requirements approaches or processes for software inspections [e.g., 16]
for community building, community software, and community compared to the online informal peer reviews involving many
information sharing systems, these requirements need to be eyeballs prevalent in FOSSD efforts.
addressed and managed by FOSSD project contributors in roles
above and beyond those involved in enhancing the source code of a Second, based on results from studies of motivation, participation,
FOSSD project. FOSSD alliances and communities depend on a role migration, and turnover of individual FOSS developers, it
rich and growing web of socio-technical relations. Thus, if such a appears that the SE community would benefit from empirical
web begins to come apart, or if the new requirements cannot be studies that examine similar conditions and circumstances in
embraced and satisfied, then the FOSSD project community and its conventional software development enterprises. Current SE
alliances will begin to come apart. textbooks and development processes seem to assume that
individual developers have technical roles and motivations driven
Fourth, in terms of the co-evolution of FOSS systems and by financial compensation, technical challenge, and the quality
community, individual and shared resources of peoples time, effort, assuring rigor that purportedly follows from the use of formal
attention, skill, sentiment (beliefs and values), and computing notations and analytical schemes. Said simply, is FOSSD more fun,
resources are part of the socio-technical web of FOSSD. more interesting, more convivial, and more personally rewarding
Reinventing existing software systems as FOSS coincides with the than SE, and if so, what can be done differently to make SE more
emergence or reinvention of a community who seeks to make such like FOSSD?
system reinvention occur. FOSS systems are common pool
resources that require collective action for their development, Third, based on results from studies of resources and capabilities
mobilization, use, and evolution. Without the collective action of the employed to support FOSSD projects, it appears that conventional
FOSSD project community, the common pool will dry up, and software cost estimation or accounting techniques (e.g., total cost
without the common pool, the community begins to fragment and of operation or TCO) are limited to analyzing resources or
disappear, perhaps to search for another pool elsewhere. capabilities that are easily quantified or monetized. This in turns
suggests that many social and organizational resources/capabilities
Last, empirical studies of FOSSD are expanding the scope of what are slighted or ignored by such techniques, thus producing results
we can observer, discover, analyze, or learn about how large that miscalculate the diversity of resources and capabilities that
software systems can be or have been developed. In addition to affect the ongoing/total costs of software development projects,
traditional methods used to investigate FOSSD like reflective whether FOSS or SE based.
practice, industry polls, survey research, and ethnographic studies,
comparatively new techniques for mining software repositories [7] Fourth, based on results from studies of cooperation, coordination,
and control practices in FOSSD projects, it appears that virtual
316
project management and meritocratic socio-technical role contribution of FOSS system development participants who are
migration/advancement can provide a slimmer and lighter weight not necessarily skilled in the traditional principles and practices of
approach to SE project management. However, it is unclear whether SE means there will be a long-term need to adapt SE concepts,
we will see corporate experiments in SE that choose to eschew techniques and tools to people lacking skills in SE, while also
traditional project management and administrative control regimes seeking new ways and means for motivating these new
in favor of enabling software developers the freedom of choice and participants to engage in learning and practicing emerging SE
expression that may be necessary to help provide the intrinsic processes, practices, and principles. In addition, the public
motivation to self-organize and self-manage their SE project work. availability of FOSSD artifacts will likely become a primarily
Fifth, based on results of studies on alliance formation, inter-project source of data for empirical SE research, as such data will often
social networking, community development, and multi-project be far less encumbered by corporate non-disclosure agreements
software ecosystems, it appears that SE projects currently operate at that have historically limited what software development data can
a disadvantage compared to FOSSD projects. In SE projects, it is be made available for scientific research purposes.
commonly assumed that developers and end-users are distinct FOSS systems research will continue to be a rich source of
communities, and that software evolution is governed by market observation and experimentation for collaborative software
imperatives, the need to extract maximum marginal gains (profit), development processes, practices, and project forms. As many
and resource-limited software maintenance effort. SE efforts are successful, ongoing, and large-scale FOSS systems and project
setup to produce systems whose growth and evolution is limited, communities are typically physically decentralized but logically
rather than capable of sustaining exponential growth of co-evolving centralized, this ways and means for such sustained software
software functional capability and developer-user community seen development must rely on collaboration tools, techniques, and
in successful FOSSD projects [10]. patterns of use that whose fundamental principles we do yet fully
understand. Yet, FOSS system development is a clear, recurring
Last, based on studies of FOSS as a social movement, it appears that demonstration that the development of complex systems can be
there is an opportunity and challenge for encouraging the emergence performed, governed, and sustained in a decentralized manner,
of a social movement that combines the best practices of FOSSD with little/no corporate oversight or enterprise governance, while
and SE. The world of open source software engineering (OSSE) is corporate oversight and governance regimes have long been a
the likely locus of collective action that might enable such a hallmark for the development and maintenance large complex
movement to arise. For example, the community Web portal for systems. Collaborative FOSS system development processes,
Tigris.org is focused on cultivating and nurturing the emerging practices, project forms, project infrastructures, and surrounding
OSSE community. More than 700 OSSE projects are currently ecosystem represent new ways and means for developing complex
affiliated with this portal and community. It might therefore prove systems that help meet societal needs.
fruitful to closely examine different samples of OSSE projects at
FOSS systems depend on and co-evolve with their surrounding
Tigris.org to see which SE tools, techniques, and concepts are being
ecosystem. FOSS systems are both social and technological
employed, and to what ends, in different FOSSD projects.
endeavors, where socio-technical interactions are more critical to
system development, use, and evolution than a formal
4. BROADER IMPACT AREAS FOR mathematical basis for specifying the system's analytical intent.
FOSS RESEARCH AND DEVELOPMENT Yet understanding how FOSS system ecosystems operate is at a
Two major categories of broader impact arising from research in very early stage of study, and how best to study, explain, and
FOSS systems over the next 5-10 years. These are (a) software rationalize it is still in a very formative stage. But human-made
development, and (b) science and industry. Each of these broader complex systems are increasingly recognized as being products of
impacts categories can be described in turn. their own complex ecosystems, and of the networks of producer,
integrators, and consumers who create, assemble, and use such
4.1 Software Development systems. Thus, research into complex system ecosystems like
The development of reliable large, very-large, or ultra-large scale those that situate and embed FOSS systems are within the grasp
software-intensive systems requires more than robust, formalized, of scientific study, comprehension, and explanation. These
and mathematically grounded approaches to SE. They also require eventual accomplishments would provide the basis for
the engagement of decentralized communities of practitioners rationalizing, predicting, controlling, and transferring such
who can participate in and contribute to the ongoing development, knowledge to other complex ecosystems, especially those that are
use, and evolution of software system tools, online artifacts, and mediated by information infrastructures or cyberinfrastructure.
other information infrastructure resources, either on a local or Thus research into FOSS ecosystems is critical to advancing
global basis. The development of software-intensive systems at scientific knowledge and technology development in many areas
large-scale and beyond needs to be recognized as something now beyond software systems.
essential to the advancement of science, technology, industry,
government, and society across geographic borders and cultural Last, FOSS systems are complex software systems with an open
boundaries. evolutionary history and future. Such openness is in many ways
historically unprecedented for complex technical systems. So we
FOSS systems research is likely to change how SE research and should not miss or scuttle such a rare opportunity to study FOSS
practice are now accomplished. The openness of FOSS system system and ecosystem evolution, as a software system, as a
development means that new participants are coming into the decentralized social system for peer production, and as a complex
world of software systems to contribute to the ongoing socio-technical system.
development and evolution of such systems. The engagement and
317
4.2 Science and Industry if the goal is to improve national and industrial IT system
Many grand challenges for science and engineering going forward capabilities and related industries.
depend on the research and development of a new generation of
complex, software-intensive systems (cf. Finally advances in enterprise information systems that help
http://www.engineeringchallenges.org/, accessed September realize new ways and means for improving or streamlining
2010). Advanced healthcare informatics, advanced personalized enterprise operations, creating new products or services, and
learning systems, secure cyberspace, engineering automated tools creating more stimulating jobs, careers, and workforce
for scientific discovery, and enhanced virtual reality are all development opportunities depend on faster, better, and cheaper
readily recognized as problem domains that depend on future software systems. Helping to make regional and national
software systems. Making solar energy economical, managing the government agencies more transparent, open, and trustworthy
nitrogen cycle, preventing nuclear terror, provide energy from requires public access to information systems that are easy to
fusion, providing access to clean water, engineering better access, open for study and open to citizen participation. FOSS
medicines, developing carbon sequestration methods, improving systems are the most likely technology that can realize these
urban infrastructure, and reverse engineering the human brain are societal needs.
also areas where new generations of software systems are needed
to enable and deploy the sought after scientific advances. But
5. CONCLUSIONS
Free and open source software development is emerging as an
meeting these grand challenges depends on more than robust or
alternative approach for how to develop large software systems.
well-engineered software systems.
FOSSD employs socio-technical work practices, development
It appears likely that the development of software systems in processes, and community networking often different from those
these other application domains will increasingly depend in part found in industrial software projects, and those portrayed in
or full on FOSS systems and ecosystems, as well as FOSSD software engineering textbooks [17]. As a result, FOSSD offer new
processes, practices, and project forms. The reasons for this are types and new kinds of practices, processes, and organizational
many, but not inevitable. Social choices and economic constraints forms to discover, observe, analyze, model, and simulate. Similarly,
may make proprietary or closed source system solutions less understanding how FOSSD practices, processes, and projects are
practical and less desirable. For example, if scientific research similar to or different from traditional SE counterparts is an area
into fusion energy centers around the International Thermonuclear ripe for further research and comparative study. Many new research
Energy Research (ITER) project, with its forecasted budget of opportunities exist in the empirical examination, modeling, and
more than $100B (and it is still in the early stages of simulation of FOSSD activities, efforts, and communities.
development), then how much of that budget will be allocated to
FOSSD project source code, artifacts, and online repositories
development of ITER control system software, and who will be
represent and offer new publicly available data sources of a size,
called upon to develop or engineer the requisite software? ITER is
diversity, and complexity not previously available for SE research,
a multi-national effort, and there is likely to be a common call for
on a global basis. For example, software process modeling and
openness in its software development projects, as well as
simulation research and application has traditionally relied on an
openness in science practices, rather than an expectation that
empirical basis in real-world processes for analysis and validation.
some company or contractor will be called upon to develop a
However, such data has often been scarce, costly to acquire, and is
proprietary, closed source software system. As such, it may be the
often not available for sharing or independent re-analysis for reasons
case that grand challenge problems are more likely to embrace or
including confidentiality or non-disclosure agreements. FOSSD
demand openness in their system development efforts in part or
projects and project artifact repositories contain process data and
full, or at least prior to any commercialization of supporting
product artifacts that can be collected, analyzed, shared, and be re-
software systems.
analyzed in a free and open source manner.
FOSS system development has already begun to transform the
global software industry and all major software and Information Last, through surveys of empirical studies of FOSSD projects [4, 5,
Technology (IT) firms. Proprietary, closed source systems are not 11], it should be clear there are an exciting variety and diversity of
likely to disappear, but there will be growing pressure to expect opportunities for new research into software development processes,
that proprietary systems offer innovative features or functions that work practices, project/community dynamics, and related socio-
are not yet available as FOSS systems. FOSS systems may help to technical interaction networks. Thus, you are encouraged to
drive technological advances in proprietary systems and closed consider how your efforts to engage in SE research or apply FOSSD
source system developers, out of self interest and preservation of concepts, techniques, or tools can be advanced through studies that
commercial or market position. Once again, FOSS system are a examine FOSSD activities, artifacts, and projects.
creative driver that helps stimulate advances to the broader
economy and IT marketplace. Companies and firms that actively 6. ACKNOWLEDGMENTS
resist the progressive transition to FOSS systems in different The research described in this paper has been supported by grant
application or service areas will be increasingly marginalized, #0808783 from the U.S. National Science Foundation, grant
rather than embraced. FOSS systems will increasingly take over #N00244-10-1-0038 from the Acquisition Research Program at
mundane, infrastructural, and non-competitive IT domains, and the Naval Postgraduate School, and a grant from the Computing
this will help to clarify where IT or software system value truly is Community Consortium. No review, approval, or endorsement
to be found. So stimulating research and development into FOSS implied.
systems and FOSSD projects are a strategic national investment,
318
7. REFERENCES Software, Computer Supported Cooperative Work, 15(2/3),
[1] Boehm, B.E., A View of 20th and 21st Century Software 229-250, 2006.
Engineering. Proc. 28th International Conference on Software [10] Scacchi, W., Understanding Free/Open Source Software
Engineering (ICSE 2006), Shanghai, China, 12-29, ACM Evolution, in N.H. Madhavji, J.F. Ramil and D. Perry (Eds.),
Press, 2006. Software Evolution and Feedback: Theory and Practice, John
[2] Computing Community Consortium Workshop on Free/Open Wiley and Sons Inc, New York, 181-206, 2006.
Source Software Development, http://cra.org/ccc/foss.php and [11] Scacchi, W. Free/Open Source Software Development: Recent
http://foss2010.isr.uci.edu/, 10-12 February 2010, accessed Research Results and Methods, in M. Zelkowitz (Ed.),
June 2010. Advances in Computers, 69, 243-295, 2007.
[3] Cook, J.E., Votta, L.G., and Wolf, A.L., Cost-Effective [12] Scacchi, W., Crowston, K. Jensen, C., Madey, G., Squire, M.,
Analysis of In-Place Software Processes, IEEE Trans. et al., Towards a Science of Open Source Systems, Final
Software Engineering, 24(8), 650-663, 1998. Report, Institute for Software Research, University of
[4] Crowston, K., Wei, K., Howison, J., and Wiggins, A. (2010). California, Irvine, Fall 2010.
Free/libre open source software development: what we know http://foss2010.isr.uci.edu/content/foss-2010-reports
and what we do not know. ACM Computing Surveys, (in accessed September 2010.
press). [13] Scacchi, W., Crowston, K., Madey, G., and Squire, M.
[5] Hauge, O., Ayala, C. and Conradi, R. (2010). Adoption of Envisioning National and International Research on the Multi-
Open Source Software in Software-Intensive Organizations - A Disciplinary Study of Free/Open Source Software, Spring
Systematic Literature Review. Information and Software 2009.
Technology, (in press). http://www.ics.uci.edu/~wscacchi/ProjectReports/CCC-
FOSS-SPRING2009.pdf, accessed June 2010.
[6] Harrison, W., Editorial: Open Source and Empirical Software
Engineering, Empirical Software Engineering, 6(2), 193-194, [14] Scacchi, W., Feller, J. Fitzgerald, B., Hissam, S., and K.
2001. Lahkani, Understanding Free/Open Source Software
Development Processes, Software Process--Improvement and
[7] Howison, J., Conklin, M., and Crowston, K., FLOSSmole: A Practice, 11(2), 95-105, March/April 2006.
Collaborative Repository for FLOSS Research Data and
Analyses. Intern. J. Info. Tech. and Web Engineering, 1(3), 17- [15] Scacchi, W., Jensen, C., Noll. J. and Elliott, M.E. Multi-Modal
26, 2006. Modeling, Analysis and Validation of Open Source Software
Development Processes, Intern. J. Internet Technology and
[8] Robles, G. and Gonzalez-Baharona, J.M., Contributor Web Engineering, 1(3), 49-63, 2006.
Turnover in Libre Software Projects, in Damiani, E.,
Fitzgerald, B., Scacchi, W., Scotto, M. and Succi, G., (Eds.), [16] Seaman, C.B. and Basili, V., Communication and
Open Source Systems, IFIP Vol. 203, Springer, Boston, 273- Organization: An Empirical Study of Discussion in Inspection
286, 2006. Meetings, IEEE Trans. Software Engineering, 24(6), 559-572,
1998.
[9] Sack, W., Detienne, F., Ducheneaut, Burkhardt, Mahendran,
D., and Barcellini, F., A Methodological Framework for Socio- [17] Sommerville, I., Software Engineering, 8th Edition, Addison-
Cognitive Analyses of Collaborative Design of Open Source Wesley, New York, 2006.
319