Niels Jorgensen - Academia.edu (original) (raw)
Papers by Niels Jorgensen
Journal of Management & Governance, 2007
Delegation of authority is the basic approach to coordination of work in FreeBSD, an open source ... more Delegation of authority is the basic approach to coordination of work in FreeBSD, an open source software (OSS) project that develops and maintains an operating system. This essay combines a software engineering perspective with a knowledge creation perspective to discuss three central mechanisms in FreeBSD: (1) motivation, (2) quality control by frequent building, and (3) bugfixing by parallel debugging. It is argued that frequent building is the project's key coordinating mechanism, and that build breakdowns play a constructive role in the processes of knowledge creation in FreeBSD.
Lecture Notes in Computer Science, 2002
The make program is widely used in the software industry to reduce compilation time in large proj... more The make program is widely used in the software industry to reduce compilation time in large projects. make skips source files that would have compiled to the same result as in the previous build. (Or so it is hoped, at least.) The crucial issue of safeness of omitting a full build-from-scratch is addressed by defining a semantic model for make. The model is in some ways similar to models proposed for logic programming languages, because makefiles, similarly to logic programs, have no global variables and execution is query driven. Safeness is shown to hold if a set of criteria are satisfied, including soundness, fairness, and completeness of makefile rules. The safeness result is useful for the makefile programmer because these criteria, while stated formally, are also intuitively reasonable, and may form a basis for a kind of checklist for makefile rules. The rigorous semantic definition for make may also be helpful in the construction of tools for automatic makefile generation.
Information Systems Journal, 2001
Software development in the FreeBSD project is incremental in the sense that a stream of contribu... more Software development in the FreeBSD project is incremental in the sense that a stream of contributions, including bugfixes and minor and major new features, go into a single branch in the repository, the development branch (or "trunk"), and are required to preserve the software in a working state. This creates a succession of development releases, akin to the practice of frequent releasing argued by Eric S. Raymond in his essay The Cathedral and the Bazaar to be the key to the success of Linux and other open source projects. The positive and negative impact of this approach is discussed based on a survey involving 72 project participants. On the positive side, the data indicate that it creates a highly motivating "see bug, fix bug, see bug fixed in new release" life cycle, and helps integrate bugfixing with new development. On the negative side, the data indicates that the highly incremental model does not support the development of complex new features.
Journal of Management & Governance, 2007
Delegation of authority is the basic approach to coordination of work in FreeBSD, an open source ... more Delegation of authority is the basic approach to coordination of work in FreeBSD, an open source software (OSS) project that develops and maintains an operating system. This essay combines a software engineering perspective with a knowledge creation perspective to discuss three central mechanisms in FreeBSD: (1) motivation, (2) quality control by frequent building, and (3) bugfixing by parallel debugging. It is argued that frequent building is the project's key coordinating mechanism, and that build breakdowns play a constructive role in the processes of knowledge creation in FreeBSD.
Lecture Notes in Computer Science, 2002
The make program is widely used in the software industry to reduce compilation time in large proj... more The make program is widely used in the software industry to reduce compilation time in large projects. make skips source files that would have compiled to the same result as in the previous build. (Or so it is hoped, at least.) The crucial issue of safeness of omitting a full build-from-scratch is addressed by defining a semantic model for make. The model is in some ways similar to models proposed for logic programming languages, because makefiles, similarly to logic programs, have no global variables and execution is query driven. Safeness is shown to hold if a set of criteria are satisfied, including soundness, fairness, and completeness of makefile rules. The safeness result is useful for the makefile programmer because these criteria, while stated formally, are also intuitively reasonable, and may form a basis for a kind of checklist for makefile rules. The rigorous semantic definition for make may also be helpful in the construction of tools for automatic makefile generation.
Information Systems Journal, 2001
Software development in the FreeBSD project is incremental in the sense that a stream of contribu... more Software development in the FreeBSD project is incremental in the sense that a stream of contributions, including bugfixes and minor and major new features, go into a single branch in the repository, the development branch (or "trunk"), and are required to preserve the software in a working state. This creates a succession of development releases, akin to the practice of frequent releasing argued by Eric S. Raymond in his essay The Cathedral and the Bazaar to be the key to the success of Linux and other open source projects. The positive and negative impact of this approach is discussed based on a survey involving 72 project participants. On the positive side, the data indicate that it creates a highly motivating "see bug, fix bug, see bug fixed in new release" life cycle, and helps integrate bugfixing with new development. On the negative side, the data indicates that the highly incremental model does not support the development of complex new features.