Why Software Engineering is Not Like Assembly Line Work

The other day I ran into one of the oldest software engineering tropes in the book: That software engineering should be more like work in a factory, and that developers are best equated to assembly line workers who put together a software product by assembling components to a specification. I wasn’t sure whether I should be amused or irritated. In any case, this nonsensical idea has long been debunked by Peter Naur, before it even took roots in later work by others. In Naur’s words, programming is (best viewed as) theory building, and this gets to the heart of the matter.

Continue reading “Why Software Engineering is Not Like Assembly Line Work”

Getting Started with FLOSS Governance and Compliance in Companies (OpenSym 2019)

Abstract: Commercial use of open source software is on the rise as more companies realize the benefits of using FLOSS components in their products. At the same time, the ungoverned use of such components can result in legal, financial, intellectual property, and other risks. To mitigate these risks, companies must govern their use of open source through appropriate processes. This paper presents an initial theory of industry best practices on getting started with open source governance and compliance, focusing on private companies. Through a qualitative survey, we conducted and analyzed 15 expert interviews in companies with advanced capabilities in open source governance. We also studied practitioner reports on existing practices for introducing FLOSS governance processes. We cast our resulting initial theory in the actionable format of best practice patterns that, when combined, form a practical handbook of getting started with FLOSS governance in private companies.

Continue reading “Getting Started with FLOSS Governance and Compliance in Companies (OpenSym 2019)”

Solving the Commercial Open Source Licensing Dilemma With Triple-Licensing

As you may have noticed, the move away from approved open source licenses to commercial almost-like-open-source licenses by single-vendor-owned open source projects has created a lot of bad press for the vendors behind such software. I don’t really understand this, because for all that I can tell, a triple-licensing rather than just a dual-licensing approach could have solved their problems. Let me explain.

Continue reading “Solving the Commercial Open Source Licensing Dilemma With Triple-Licensing”

Pay-walled Research Papers Do Not Constitute Published Work

I just had another discussion with a reviewer (by way of an editor) who insisted that I cite (presumably their) work buried behind an Elsevier paywall. How obnoxious can you be?

It is 2019 and there are still editors and reviewers who consider articles, which are not freely accessible on the web, published research? That’s so wrong. Such work has been buried behind a paywall. It yet needs to be published.

Continue reading “Pay-walled Research Papers Do Not Constitute Published Work”

Free and Open Source Software Licenses Explained (Miriam Ballhausen, IEEE Computer Column)

I’m happy to report that the second article in the new Open Source Expanded column of IEEE Computer has been published.

TitleFree and Open Source Software Licenses Explained
KeywordsOpen Source Software, Licenses, Computer Security
AuthorsMiriam Ballhausen, Bird & Bird, LLP, Hamburg, Germany
PublicationComputer vol. 52 (June 2019), pp. 82-86

Abstract: This installment of Computer’s series exploring free and open source software confronts a pressing issue, free and open source software licenses: what they are, the rights they convey, and the restrictions they impose.

As always, the article is freely available (local copy).

Also, check out the full list of articles.

The Commercial Open Source Pledge

I’m pretty frustrated by some of the discussion around the recent relicensing decisions by commercial open source companies. A fair bit of it seems confused to me, and I think this is mostly due to commentators not understanding the purpose of community for the vendor. So I decided to write a hypothetical pledge for venture-capital backed companies that those can adopt to be clear about their intentions. Then, future behavior doesn’t come as a surprise. Non VC-backed companies may want to tone down the return-on-investment verbiage. With that:

Continue reading “The Commercial Open Source Pledge”

Market Segmentation in the Open Core Model

Life is exciting in commercial open source land. On Tuesday this week, another commercial open source vendor relicensed its product while at the same time disavowing the open core model, which they call a tiered approach to their business. This disavowel piqued my interest, not because the open core model is good or bad, but because the argument seemed confused to me and illustrates how important it is to understand your users and the resulting market segmentation.

Continue reading “Market Segmentation in the Open Core Model”

Agile Methods and the Magic Triangle

In software engineering, the magic triangle is a well-known concept to illustrate the relationship between scope, time, and cost of a software development project. Of the three (scope, time, cost), pick two, and the third will magically follow. (It is determined by the other two.) Scope means features (or delivered functionality), time means duration or deadline, and cost typically means number of developers or, more abstractly, available labor.

Continue reading “Agile Methods and the Magic Triangle”

Position Statement on the Use of ML / KI Techniques in Software Engineering For the adesso Hochschulbeirat

I just submitted the following short position statement on how to work with ML / KI techniques in software engineering. This is a statement on using such techniques for the engineering of software, not in the software itself, which is a (not completely, but mostly) separate issue.

ML / KI techniques can be use in software development to assist the human engineer. Properly applied, they can make engineers more productive by helping them focus on understanding and solving the human problem behind the software to be developed (essential complexity) and by freeing them from getting distracted by technical implementation details (accidental complexity).

Continue reading “Position Statement on the Use of ML / KI Techniques in Software Engineering For the adesso Hochschulbeirat”

From the Bag of Commercial Open Source Tricks: Paying for the Upgrade

On a recent trip to Montreal, I reconnected with Marc Laporte, leader of the WikiSuite project and an old friend and fellow wiki enthusiast. Naturally, we talked about open source business strategies and he pointed me to one way of how commercial open source companies make money: They don’t provide you with a free upgrade path from one version to the next; you only get an upgrade if you pay.

Continue reading “From the Bag of Commercial Open Source Tricks: Paying for the Upgrade”