Business Risks and Governance of Open Source in Software Products (in German)

Titel: Geschäftsrisiken und Governance von Open-Source in Softwareprodukten

Zusammenfassung: In fast jedem Softwareprodukt, auch in großer Standardsoftware, sind heute Open-Source-Komponenten enthalten. Die Hersteller dieser Software müssen die Geschäftsrisiken, die mit der Integration von Open-Source-Software in kommerzielle Produkte verbunden sind, verstehen und vernünftig managen. Dieser Artikel zeigt ein Modell verschiedener rechtlicher, technischer und sozialer Risiken auf, die durch unkontrollierten Einsatz von Open-Source-Software entstehen und erläutert ausgewählte Erfolgsmethoden der Open-Source-Governance, die von führenden Firmen angewandt werden. Das Modell ist das Analyseergebnis von fünf mit großen deutschen Softwareherstellern geführten Interviews sowie weiterer Literaturrecherche.

Continue reading “Business Risks and Governance of Open Source in Software Products (in German)”

Design and Implementation of the Sweble Wikitext Parser: Unlocking the Structured Data of Wikipedia

Abstract: The heart of each wiki, including Wikipedia, is its content. Most machine processing starts and ends with this content. At present, such processing is limited, because most wiki engines today cannot provide a complete and precise representation of the wiki’s content. They can only generate HTML. The main reason is the lack of well-defined parsers that can handle the complexity of modern wiki markup. This applies to MediaWiki, the software running Wikipedia, and most other wiki engines. This paper shows why it has been so difficult to develop comprehensive parsers for wiki markup. It presents the design and implementation of a parser for Wikitext, the wiki markup language of MediaWiki. We use parsing expression grammars where most parsers used no grammars or grammars poorly suited to the task. Using this parser it is possible to directly and precisely query the structured data within wikis, including Wikipedia. The parser is available as open source from

Keywords: Wiki, Wikipedia, Wiki Parser, Wikitext Parser, Parsing Expression Grammar, PEG, Abstract Syntax Tree, AST, WYSIWYG, Sweble.

Reference: Hannes Dohrn and Dirk Riehle. “Design and Implementation of the Sweble Wikitext Parser: Unlocking the Structured Data of Wikipedia.” In Proceedings of the 7th International Symposium on Wikis and Open Collaboration (WikiSym 2011). ACM Press, 2011. Page 72-81.

The paper is available as a PDF file (preprint).

Technical Report on WOM: An Object Model for Wikitext

Abstract: Wikipedia is a rich encyclopedia that is not only of great use to its contributors and readers but also to researchers and providers of third party software around Wikipedia. However, Wikipedia’s content is only available as Wikitext, the markup language in which articles on Wikipedia are written, and whoever needs to access the content of an article has to implement their own parser or has to use one of the available parser solutions. Unfortunately, those parsers which convert Wikitext into a high-level representation like an abstract syntax tree (AST) define their own format for storing and providing access to this data structure. Further, the semantics of Wikitext are only defined implicitly in the MediaWiki software itself. This situation makes it difficult to reason about the semantic content of an article or exchange and modify articles in a standardized and machine-accessible way. To remedy this situation we propose a markup language, called XWML, in which articles can be stored and an object model, called WOM, that defines how the contents of an article can be read and modified.

Keywords: Wiki, Wikipedia, Wikitext, Wikitext Parser, Open Source, Sweble, Mediawiki, Mediawiki Parser, XWML, HTML, WOM

Reference: Hannes Dohrn and Dirk Riehle. WOM: An Object Model for Wikitext. University of Erlangen, Technical Report CS-2011-05 (July 2011).

The technical report is available as a PDF file.

Controlling and Steering Open Source Projects

The IEEE just published a short version of the “control points and steering mechanisms” article. Here is the abstract. Please see the original for more details.

Abstract: Open source software has become an important part of the software business. In a 2009 survey, Forrester Research found that 46 percent of all responding enterprises were using or implementing open source software. Moreover, in 2009, the Gartner Group estimated that by 2012, at least 80 percent of all software product firms will use open source software. Thus, it’s important to understand how software product firms depend on open source and how they manage that dependency to meet their business goals. There are three main types of software product firms. […]

Continue reading “Controlling and Steering Open Source Projects”

New German Edition of Design Patterns (Entwurfsmuster) book (in German)

Seit ein paar Monaten ist die neue Ausgabe des Entwurfsmusterbuchs verfügbar. Dies ist meine Übersetzung des Klassikers “Design Patterns” von Erich Gamma et al. aus dem Amerikanischen. Mit der neuen Ausgabe kommen einige Neuerungen und Änderungen. An erster Stelle zu nennen wäre der neue Umschlag:

Erster Vorschlag für den Umschlag der neuen Ausgabe

Der tatsächliche Inhalt der Sprechblase in der endgültigen veröffentlichten Fassung ist ein anderer und lautet: “We present you the book that changed software design.” Da die Viererbande (Gang-of-four) noch auf ein Nachfolgebuch mit weiteren Mustern hofft, habe ich Addison-Wesley’s ursprünglichen Vorschlag entsprechend geändert.

Continue reading “New German Edition of Design Patterns (Entwurfsmuster) book (in German)”

Lessons Learned from Using Design Patterns in Industry Projects

Abstract: Design patterns help in the creative act of designing, implementing, and documenting software systems. They have become an important part of the vocabulary of experienced software developers. This article reports about the author’s experiences and lessons learned with using and applying design patterns in industry projects. The article not only discusses how using patterns benefits the design of software systems, but also how firms can benefit further from developing a firm-specific design language and how firms can motivate and educate developers to learn and develop this shared language.

Keywords: Design pattern, pattern language, design language, design communication, design collaboration, design implementation, design documentation.

Reference: Dirk Riehle. “Lessons Learned from Using Design Patterns in Industry Projects.” In Transactions on Pattern Languages of Programming II, LNCS 6510. Springer-Verlag, 2011. Page 1-15.

The paper is available as a PDF file.

Micro-Blogging Adoption in the Enterprise: An Empirical Analysis

Abstract: Given the increasing interest in using social software for company-internal communication and collaboration, this paper examines drivers and inhibitors of micro-blogging adoption at the workplace. While nearly one in two companies is currently planning to introduce social software, there is no empirically validated research on employees’ adoption. In this paper, we build on previous focus group results and test our research model in an empirical study using Structural Equation Modeling. Based on our findings, we derive recommendations on how to foster adoption. We suggest that micro-blogging should be presented to employees as an efficient means of communication, personal brand building, and knowledge management. In order to particularly promote content contribution, privacy concerns should be eased by setting clear rules on who has access to postings and for how long they will be archived.

Reference: Valentin Schöndienst, Hanna Krasnova, Oliver Günther, and Dirk Riehle. “Micro-Blogging Adoption in the Enterprise: An Empirical Analysis.” In Proceedings of the 10th International Conference on Wirtschaftsinformatik (WI 2011). Page 931-940.

The paper is available in PDF form. You may also like the prior paper “Modeling Micro-Blogging Adoption in the Enterprise” as well as my “patterns of effective tweeting”.

The Single-Vendor Commercial Open Source Business Model

Update 2012-01-28: Springer changed the citation. The reference below reflects this.

Springer just republished our 2009 article on how vendor-owned open source works, again. Here is the abstract:

Abstract: Single-vendor commercial open source software projects are open source software projects that are owned by a single firm that derives a direct and significant revenue stream from the software. Single-vendor commercial open source at first glance represents an economic paradox: How can a firm earn money if it is making its product available for free as open source? This paper presents the core properties of single-vendor open source business models and discusses how they work. Using a single-vendor open source approach, firms can get to market faster with a superior product at lower cost than possible for traditional competitors. The paper shows how these benefits accrue from an engaged and self-supporting user community. Lacking any prior comprehensive reference, this paper is based on an analysis of public statements by practitioners of single-vendor open source. It forges the various anecdotes into a coherent description of revenue generation strategies and relevant business functions.

Reference: Dirk Riehle. “The Single-Vendor Commercial Open Source Business Model.” Information Systems and e-Business Management vol. 10, no. 1. Springer Verlag, 2012. Page 5-17.

You can read it online, download a PDF, or use the Springer site.

Control Points and Steering Mechanisms in Open Source Software Projects

Following up on my Lisog talk earlier this month, I was asked to write up the talk’s content. So here we go, my analysis of what commercial open source firms do to manage or steer open source projects they depend on.

Abstract: Most commercial software today depends on open source software. The commercial software might be using an underlying open source platform, or it might be incorporating open source components, or it might be provided as a commercial open source product itself. Whichever the case, the software firm behind the commercial software needs to ensure that its interests are met by the open source software projects it depends on. This article shows how commercial software firms manage or steer open source software projects to meet their business needs.

Read more…