Linux Containers Authors: John Mertic, Elizabeth White, Carmen Gonzalez, Pat Romanski, Liz McMillan

Related Topics: Linux Containers

Linux Containers: Article

The OSS Development Life Cycle

Part 4 of 4

This is an excerpt from Chapter 6 of Understanding Open Source Software Development by Joseph Feller and Brian Fitzgerald, published by Addison-Wesley. ISBN 0201734966. No part of this excerpt may be reproduced, in any form or by any means without the prior written permission of the publisher. (c) 2002 Addison-Wesley

The traditional software development life cycle (SDLC) is premised on a set of stages, which, in their most generic form, include:

  • Planning
  • Analysis
  • Design
  • Implementation
However, the OSS development life cycle is quite different. First, the planning, analysis, and design phases are largely conducted by the initial project founder, and are not part of the general OSS development life cycle. Getting design issues right is perhaps even more critical in OSS than in conventional development. Certain criteria in relation to modularity of the code are critical. For example, modules must be loosely coupled, thereby allowing distributed development in the first place. Less important, but still highly desirable for achieving an efficient development model, is that modules be highly cohesive and address a single well-defined purpose. However, design decisions are generally made in advance, before the larger pool of developers start to contribute, and are generally based on well-established design patterns. This allows developers to collaborate without having to undergo the detailed requirements analysis or design phases of the traditional life cycle. In the absence of conventional project management, the importance of "having a tail-light to follow" (Bezroukov, 1999b) is a very useful coordinating principle, as it allows a multitude of developers to contribute. This also helps to explain why many OSS products are horizontal infrastructure-type products, as these are ones in which the requirements are pretty well understood. In vertical domains, developer knowledge of the application domain has been found to be critical, but it is unlikely that the pool of potential developers would be as high in such domains.

Thus, the OSS development life cycle is located primarily within the implementation phase of the traditional SDLC. Several researchers have investigated the life cycle underpinning OSS. Bollinger et al. (1999) suggest that it follows a very intensive spiral model (Boehm, 1988), albeit without any real risk assessment. Mockus et al. (2000) have derived a life cycle for OSS from their study of the Apache Project, and Jorgensen (2001) has investigated the life cycle in the FreeBSD Project. Both have come up with models that are largely compatible, but Jorgensen's is more detailed. He identifies the following main phases in the OSS development life cycle:


  • Review
  • Pre-commit test
  • Development release
  • Parallel debugging
  • Production release

    This is the sine qua non activity. However, many potential OSS contributors may fear taking the initial step of submitting their code for review by the supremely talented OSS "code-gods" (Asklund and Bendix, 2001; Bergquist and Ljungberg, 2001), a fear that is quite warranted when you consider the views of a FreeBSD developer reported by Jorgensen (2001):

    The way you get commit privileges is by first making enough code contributions&This implies the code you've been submitting is of sufficiently impressive quality that no one objects and says, "Yuck, no, don't give him commit privileges. He writes ugly code."

    Thus, the knowledge that talented and respected peers will be reviewing the code is a real incentive to improve the quality of the code being submitted in the first place.

    As already mentioned, truly independent peer review is one of the central strengths of the OSS process. However, Jorgensen found that eliciting feedback was not always easy. "Heavyweights" with a proven reputation will get a lot of feedback, but it can be quite difficult to get attention as a newbie - another classic "Catch-22" situation. Also, somewhat paradoxically, the simpler the code, the more feedback you gets. However, complex code would invariably benefit more from feedback. Also, it's more difficult to get feedback on design issues.

    Precommit Test
    Given the vulnerability of the OSS development model, it's critical that committers test each contribution carefully to avoid breaking the build, another common norm in the OSS community. Since there is no convenient help-line or telephone support for those installing the eventual product, it can be an adventure completing an actual OSS product installation. Sanders (1998) quotes the "tech-savvy" Ellen Ullman's description of her installation of Linux as "an exhilarating succession of problem-solving challenges." Given this problematic installation context, it is imperative that installation proceeds as smoothly as possible without unnecessary noise, and thus rogue modules that could jeopardize this must be prevented.

    Interestingly, testing is very much a personal process. There is no requirement that test scenarios be rigorously planned and written down in advance. However, the negative implications of allowing a faulty contribution through are such that the testing process is taken very seriously indeed. As mentioned earlier, the delegation of testing to the user community - or partial delegation, as is the case with Mozilla and GNOME - is one of the strengths of OSS (Schmidt and Porter, 2001).

    Development Release
    If the committer deems the module ready, it can be incorporated in the development release. This is the key payoff for many developers as they get the reward of seeing their code implemented quickly in the product. Jorgensen (2001) cites a developer who captures it quite graphically:

    There is a tremendous satisfaction to the "see bug, fix bug, see bug fix get incorporated so that the fix helps others" cycle.

    Parallel Debugging
    The advantages of global parallel debugging were discussed above. Again, as in testing, there is typically no formal plan for debugging. Rather the numbers of potential debuggers is where the power of the debugging arises - Linus's Law. If bugs are found, they can be fixed and resubmitted as per the life cycle described above, or problem reports may be created and submitted. This can also be a way of initiating your contributions to OSS. For example, the database of outstanding problem reports could be examined, and if there are some outstanding that catch your interest or are within your capability, then these can be worked on. Thus, can you begin a career in OSS.

    Production Release
    Contributions eventually become part of the production release. They are merged into the stable production branch. This is accomplished in different ways in different projects. FreeBSD maintains stable production and current development branches, and contributions that are eventually found suitable are merged into the latest stable production branch, and, in the case of a bug fix, to any previous production branches to which it might be relevant. Linux maintains its stable production and development versions in different directories, and uses release numbers to identify production (even numbers) and development (odd numbers) versions.

    We have argued that the generic OSS development process is characterized by the practice of parallel, rather than linear, collaboration among developers, which leads to increases in both speed and quality; by the participation of large, globally distributed communities of developers who participate in a truly independent peer review process; by prompt feedback (e.g., bug reports) and prompt recognition (e.g., integration of bug fixes); by the participation of talented and motivated developers and extremely active users; and by rapid, incremental release schedules. We also examined the well-stocked toolkit of OSS, including configuration management tools like CVS, as well as editors, build tools, documentation extractors, and the like. Finally, we argued that the OSS process is governed by an elaborate system of taboos and social mores that take the place of formal project management, and that the OSS process follows a distinctly different development life cycle to traditional proprietary software.

  • More Stories By Joseph Feller

    Joseph Feller is a lecturer with the Business Information Systems Group,
    University College Cork, Ireland. His research on Open Source Software is
    published in several prominent conference proceedings and he is the author
    of Customer Friendly: Design Guidelines for eCommerce. He also edits the
    monthly professional journal, Inside XML Solutions.

    More Stories By Brian Fitzgerald

    Brian Fitzgerald is the Frederick A Krehbiel II Professor of Innovation in Global Business and Technology at the University of Limerick, Ireland. He is Associate Editor for two leading international journals in the IS field, The Information Systems Journal, and Data Base. His publications include five books and more than 50 papers, published in leading international conferences and journals. Having worked in the industry prior to taking up an academic position, he has more than 20 years of experience in the IS field.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

    @ThingsExpo Stories
    One of biggest questions about Big Data is “How do we harness all that information for business use quickly and effectively?” Geographic Information Systems (GIS) or spatial technology is about more than making maps, but adding critical context and meaning to data of all types, coming from all different channels – even sensors. In his session at @ThingsExpo, William (Bill) Meehan, director of utility solutions for Esri, will take a closer look at the current state of spatial technology and ar...
    Everyone knows that truly innovative companies learn as they go along, pushing boundaries in response to market changes and demands. What's more of a mystery is how to balance innovation on a fresh platform built from scratch with the legacy tech stack, product suite and customers that continue to serve as the business' foundation. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, will discuss why and how ReadyTalk diverted from healthy revenue an...
    SYS-CON Events announced today that Streamlyzer will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Streamlyzer is a powerful analytics for video streaming service that enables video streaming providers to monitor and analyze QoE (Quality-of-Experience) from end-user devices in real time.
    You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
    SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
    In past @ThingsExpo presentations, Joseph di Paolantonio has explored how various Internet of Things (IoT) and data management and analytics (DMA) solution spaces will come together as sensor analytics ecosystems. This year, in his session at @ThingsExpo, Joseph di Paolantonio from DataArchon, will be adding the numerous Transportation areas, from autonomous vehicles to “Uber for containers.” While IoT data in any one area of Transportation will have a huge impact in that area, combining sensor...
    Almost everyone sees the potential of Internet of Things but how can businesses truly unlock that potential. The key will be in the ability to discover business insight in the midst of an ocean of Big Data generated from billions of embedded devices via Systems of Discover. Businesses will also need to ensure that they can sustain that insight by leveraging the cloud for global reach, scale and elasticity.
    The security needs of IoT environments require a strong, proven approach to maintain security, trust and privacy in their ecosystem. Assurance and protection of device identity, secure data encryption and authentication are the key security challenges organizations are trying to address when integrating IoT devices. This holds true for IoT applications in a wide range of industries, for example, healthcare, consumer devices, and manufacturing. In his session at @ThingsExpo, Lancen LaChance, vic...
    Cloud based infrastructure deployment is becoming more and more appealing to customers, from Fortune 500 companies to SMEs due to its pay-as-you-go model. Enterprise storage vendors are able to reach out to these customers by integrating in cloud based deployments; this needs adaptability and interoperability of the products confirming to cloud standards such as OpenStack, CloudStack, or Azure. As compared to off the shelf commodity storage, enterprise storages by its reliability, high-availabil...
    In the next forty months – just over three years – businesses will undergo extraordinary changes. The exponential growth of digitization and machine learning will see a step function change in how businesses create value, satisfy customers, and outperform their competition. In the next forty months companies will take the actions that will see them get to the next level of the game called Capitalism. Or they won’t – game over. The winners of today and tomorrow think differently, follow different...
    The IoT industry is now at a crossroads, between the fast-paced innovation of technologies and the pending mass adoption by global enterprises. The complexity of combining rapidly evolving technologies and the need to establish practices for market acceleration pose a strong challenge to global enterprises as well as IoT vendors. In his session at @ThingsExpo, Clark Smith, senior product manager for Numerex, will discuss how Numerex, as an experienced, established IoT provider, has embraced a ...
    SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in Embedded and IoT solutions, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 7-9, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/Big Data, HPC and ...
    The Internet of Things (IoT), in all its myriad manifestations, has great potential. Much of that potential comes from the evolving data management and analytic (DMA) technologies and processes that allow us to gain insight from all of the IoT data that can be generated and gathered. This potential may never be met as those data sets are tied to specific industry verticals and single markets, with no clear way to use IoT data and sensor analytics to fulfill the hype being given the IoT today.
    Web Real-Time Communication APIs have quickly revolutionized what browsers are capable of. In addition to video and audio streams, we can now bi-directionally send arbitrary data over WebRTC's PeerConnection Data Channels. With the advent of Progressive Web Apps and new hardware APIs such as WebBluetooh and WebUSB, we can finally enable users to stitch together the Internet of Things directly from their browsers while communicating privately and securely in a decentralized way.
    Donna Yasay, President of HomeGrid Forum, today discussed with a panel of technology peers how certification programs are at the forefront of interoperability, and the answer for vendors looking to keep up with today's growing industry for smart home innovation. "To ensure multi-vendor interoperability, accredited industry certification programs should be used for every product to provide credibility and quality assurance for retail and carrier based customers looking to add ever increasing num...
    The Open Connectivity Foundation (OCF), sponsor of the IoTivity open source project, and AllSeen Alliance, which provides the AllJoyn® open source IoT framework, today announced that the two organizations’ boards have approved a merger under the OCF name and bylaws. This merger will advance interoperability between connected devices from both groups, enabling the full operating potential of IoT and representing a significant step towards a connected ecosystem.
    Manufacturers are embracing the Industrial Internet the same way consumers are leveraging Fitbits – to improve overall health and wellness. Both can provide consistent measurement, visibility, and suggest performance improvements customized to help reach goals. Fitbit users can view real-time data and make adjustments to increase their activity. In his session at @ThingsExpo, Mark Bernardo Professional Services Leader, Americas, at GE Digital, discussed how leveraging the Industrial Internet a...
    More and more brands have jumped on the IoT bandwagon. We have an excess of wearables – activity trackers, smartwatches, smart glasses and sneakers, and more that track seemingly endless datapoints. However, most consumers have no idea what “IoT” means. Creating more wearables that track data shouldn't be the aim of brands; delivering meaningful, tangible relevance to their users should be. We're in a period in which the IoT pendulum is still swinging. Initially, it swung toward "smart for smar...
    SYS-CON Events announced today that LeaseWeb USA, a cloud Infrastructure-as-a-Service (IaaS) provider, will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. LeaseWeb is one of the world's largest hosting brands. The company helps customers define, develop and deploy IT infrastructure tailored to their exact business needs, by combining various kinds cloud solutions.
    A completely new computing platform is on the horizon. They’re called Microservers by some, ARM Servers by others, and sometimes even ARM-based Servers. No matter what you call them, Microservers will have a huge impact on the data center and on server computing in general. Although few people are familiar with Microservers today, their impact will be felt very soon. This is a new category of computing platform that is available today and is predicted to have triple-digit growth rates for some ...