Values of Community Source Development

To help us understand open source in the context of higher education, Lois Brooks lays a groundwork based on the work of some of the best thinkers in the software development world. By Lois Brooks, Stanford University

There are a lot of projects underway in higher education institutions right now that are pushing software into open source. Open source isn’t new, of course, and in the 30 years that it has been a viable model for software development, some common practices and values have emerged. The structure and beliefs of the open source community are increasingly present in higher education. In recent years a trend toward community-based projects has emerged, where institutions pool their talent and resources to develop products for use by the education community.

The definition of open source is access to the raw, original code of an application. The intellectual underpinning is that the code itself is at liberty—the source itself is available to anyone who wishes it. Others can modify, extend, poke around to learn, or whatever they wish. The notion is not that open source is free of cost, though often there are no licensing fees. Open source is not free of cost. It costs someone to make it, maintain it, write documentation, and so on. It also costs to learn to use, install, and modify it. This is an important distinction to make as we reflect on the many inter-institutional open source projects that are emerging in higher education. We need to think about open source not as a product or as a way of distributing code, but rather, as a philosophy about how we develop tools in the higher education community.

The projects emerging today are strategic, and they are intended to engage other people in the process from their inception. The model for these projects, called community source, is a hybrid of the two most common methods for developing software as described in Eric Raymond’s foundational essay, “The Cathedral and the Bazaar.” (Raymond, 1999)

The Cathedral and the Bazaar

The cathedral defines software developed in a typical business situation, such as when we deploy ERP systems on our campuses. It is carefully architected and engineered by experts working in an isolated project team. The cathedral doors open when the construction is complete. The cathedral process works when the problem you are trying to solve is well-understood and the way people will use the software d'esn’t change very often. The project team constrains access to the software through focus groups and beta testing, and while feedback is accepted, it rarely changes the direction of the project. The responsibility for success rests with the project team.

The cathedral model has distinct advantages. Top-down decision making helps assure that the efforts of the IT staff are directed to the priorities for the institution. It also allows us to invoke the planning needed to meet the rigid deadlines under which we work—start of school, graduation, and so on.

There are disadvantages as well. The project teams are often not in touch with the user community. Also, teams are constrained to the talent available locally. Perhaps the biggest problem is one of economics: Institutions cannot afford to build everything they need with small, closed, internally funded teams.

In contrast, Raymond offers the model of the bazaar to describe the open source world. Many people come together to create something that is larger than anyone could accomplish on their own.

The work of Linus Torvalds and the Linux community is the exemplar of a successful open source project, though there are many other successful projects as well. When Torvalds was a graduate student, he posted a note on the Internet asking if anyone had thoughts about a new version of the mimix operating system. The response was immediate and strong, and 10 years later we have a fully open source operating system that is in use on one-third of the Web servers in the world, a system that is widely held to be better than its commercially developed counterparts (Weber, 2004). It is a remarkable accomplishment. A community of volunteers works without pay, at their own pace and skill level, on whatever they want to do. In the case of Linux, hundreds of developers are active at any one time.

Successful Models

In the excellent book, The Success of Open Source, Steve Weber discusses several aspects of the Linux community that have contributed to its success. They include:

The community is made up of people who are interested in the software and the technology enough that they want to work on it on their own time. Some people are deeply involved and are heavy contributors, others less so.

The large community is leveraged in useful ways. When a problem or bug is found, or an idea is generated, the likelihood that someone can solve the problem or absorb the task is much greater than on a small team. A secondary benefit is that the open communication allows participants to know when a problem has been solved. They can look to the community for solutions before reinventing the wheel.

Open source communities are known for the lively and frank interchanges of ideas on discussion forums. Exposing all ideas to the community for conversation, allows good ideas to be generated and vetted by the community.

Successful open source projects are well-led and well-organized. Linux, Apache, and Unix have systemized ways that final decisions are made on critical things like whether code becomes part of a final production release. The organization and governance structures provide a balance to the community involvement.

Simply stated, the more people who are available to a project, the better the ideas, the greater the ability to absorb a task, the faster the work gets done, the more quickly bugs are fixed. With a greater talent pool from which to draw, it is less likely that one person will cause a bottleneck as work queues on his or her desk.

There are two fundamental problems with adopting this model wholesale for all of our projects. First, we are not all volunteers, so real money, and hence, the keen interest of our institutions, is involved. Second, it is not likely that our institutions are willing to bet the next release of a mission-critical system on the goodwill of people we only know by their screen names. We need to acknowledge that our institutions have finite budgets, no tolerance for downtime, and that we have hard deadlines. If we are deploying a new version of the CMS, it had better be done before the budget runs out; it had better be ready to go when school starts. We need control. This means that we need structured, managed projects.

Raymond presents two contrasting models, one very controlled with predictable outcomes, the other harnessing the minds of many to create a rapidly evolving product. There are aspects of both methodologies that are being extended and modified to fit the higher education environment.

The notion of harnessing the best of our brains is appealing. We know what we want, we know how to design, build, and deploy software. The sheer volume of expertise and talent in the higher education community is a huge asset for gathering ideas and creating tools.

Like the people who self-select into open source projects, institutions that opt into a particular community are motivated to work on the projects. They might be interested in the technology or perhaps in the functional aspects of a project—something draws them to it. They have an interest in getting something done. The challenge, then, is to align ourselves with each other when the ideas and timing mesh.

In successful projects, the people who participate have developed ways to work collectively and to communicate effectively. We have a long history in higher education of inter-institutional research projects. It is a short step, then, to leverage our collective talent by working together on the development of tools. This allows the best ideas to emerge and helps to avoid reinvention of the wheel.

The collaborative projects emerging in higher education are beginning to combine elements of the cathedral and the bazaar to allow us to capitalize on the elements of each in ways that fit our needs and environment. This new hybrid model is community source.

The New Community
Who makes up the new communities that we are forming? First, we find colleagues at other institutions who have similar goals, similar responsibilities, and similar timing around what they are trying to get done. We form community source projects around a common desire to get something done. The work on Sakai with Stanford University, Indiana University, MIT and, Michigan is a perfect example of this. In higher education we are uniquely suited to collaborate because we are not in competition with each other. There is no loss of income or blurring of our distinct identities when we work together on software projects. We only gain from the collaboration.

A second key component of community source projects includes the commercial partners who can provide the product support that adopters will need. The Gartner Group highlights commercial support of open source eLearning products as critical to their long-term viability (Yanosky, 2003). In the case of uPortal and the Open Source Portfolio Initiative, commercial groups are partnering with universities on the development of the products, and on Sakai, they are entering the community as support providers. Engagement of the commercial support providers helps the projects because they have expertise that university developers typically do not have, most notably, experience with many different campus environments. Also, having vendors engaged helps assure wider adoption of the open source software. People who rely on the support provided by software companies when a product is purchased are able to utilize open source products because reliable support structures are in place.

Third, our communities include funding agencies, who provide seed funding to the projects and are increasingly engaged in shaping goals, forming alliances between project groups, and using their contacts to help the community structures develop.
Finally, the new communities include all of higher education and potentially, K-12. The emerging projects are formed with a desire to engage the community in much broader ways. In part this is tightly coupled with our values as academics. We share knowledge rather than keep it to ourselves. There are also economic motivators, which include both lowering the overall cost of development to our institutions, and fostering enough movement in many projects so that we can adopt new tools as well as develop our own. However, a vibrant community requires active participation. MacKenzie Smith, et al., write, “Achieving true community requires the transformation of users who are initially consumers into stakeholders.” (Smith, 2004)

Considerations for Stakeholders

What d'es it mean to be a stakeholder? It means that as a community we have a vested interest in the success of a project, which comes from adopting, using, and relying on the tools. This begins by expanding the factors in our decision process to include adoption as an option to the traditional buy/build. Brad Wheeler counsels that there is a complex equation of elements in such a decision. Criteria include fit with the institution, user needs, costs for acquisition, maintenance and support of a system, and the current priorities of the institution (Wheeler, 2003). A school cannot afford to build everything or to participate as a contributor in every project, so each major decision requires that we review the options available to us. The cathedral model is well-known for its benefits and shortcomings, and we may continue to build applications in-house at times or make decisions to purchase commercial products when it is expedient. Adoption is also a choice. There is much less fear among IT leaders now about open source than there used to be. When a well-established open source choice is available to us, say Linux or Apache, there is really no question about adoption. None of us would take on the task of writing Web server software now when we can quickly and easily adopt something.

Wheeler also counsels that we consider to what extent we wish to control our destiny. The community source efforts demonstrate the commitment to this control by the institutions that are contributing resources. The emerging question for IT leaders is that of adoption of the products developed by community source groups. The open code is now a key factor, since institutions may extend, change, or modify in small or large ways. The criteria for decision making can now include the question of whether an institution wishes to customize the features or the look and feel of a product for local needs, as well as the extent to which integration is needed or desired. Of course, sometimes the best choice is to just install a piece of software and not invest in local modifications. The community source products will need to stand on their own merit.

The question of support often arises when considering the use of open source software. The engagement of commercial support providers in the community source efforts offers a tangible benefit to the institution considering adoption. The decision about the software can be decoupled from the decision about a support provider. If there are several companies available to support a product, they can be selected through RFP, and if their service is not satisfactory, another can be selected.

Values and Community Source
One significant value of engaging in the community source process is that it teaches us to look more widely, to be more accepting of things “not invented here,” and to think more strategically about the build/buy/adopt argument.
It almost g'es without saying that being part of a community source project is enriching for everyone involved. Pedagogical and technology ideas are exchanged, evaluated, argued, and the best emerge. We learn best practices from each other for how we work and how we think about our work. Carl Jacobson of the uPortal project comments that being a part of a community project is multidimensional; much of the value is in engaging on issues beyond the software itself. Many of us face the same set of policy issues on our campuses, e.g., regarding copyright protection and access polices for digital materials.

The community source structure gives us opportunity to converse with colleagues at other institutions about policy and practices that the digital age requires.

Even as we become more individually engaged in community source efforts, we are obliged to consider the interest of our home institutions. At what point d'es the institution reap the benefit from our involvement? This will be realized when the institution is able to use the products of many community source projects together. What if the same content could be referenced or moved easily among a portfolio, a course management tool, and a scholarly archive? Imagine that your campus portal allowed each person to access data from all the tools they use in their learning, teaching, and research in a cohesive way.

The ultimate goal of community source efforts is to develop tools that meet the changing needs of dynamic teaching and research institutions. By working together, we can accomplish more than we could do on our own.

References

Frederick P. Brooks (1995). The Mythical Man Month: essays on software engineering. USA, Addison-Wesley.

Margaret S. Elliott, Walt Scacchi (2003). Free Software: A Case Study of Software Development in a Virtual Organizational Culture. Irvine, CA, Institute for Software Research, University of California-Irvine.

Eric, Raymond (1999). The Cathedral and the Bazaar. Sebastapol, CA, O’Reilly: 27-78.

MacKenzie Smith, Richard Rodgers, Julie Walker, Robert Tansley (2004). DSpace: a Year in the Life of an Open Source Digital Repository System. Cambridge, MA, MIT Libraries.

Ron Yanosky, M. H., Michael Zastrocky (2003). Higher-Education E-Learning Meets Open Source. Gartner Group.

Stephen Weber, (2004) The Success of Open Source. Cambridge, Mass.: Harvard University Press.

Brad Wheeler, (2003). Aligning IT Strategy to Open Source, Partnering, and Web Services. EDUCAUSE Center for Applied Research. Boulder, CO.

Brad Wheeler, (2004). "Open Source 2007: How Did This Happen?" EDUCAUSE Review 39(4): 12-27.

Featured