Free and open-source software

I use, like, support, and promote FOSS.

Linux and Debian user

I use FOSS routinely. As one particular example, let me dwell on Linux for this and the following section.

I booted Linux for the first time February 6, 1994. Initially using Slackware and later SuSE, I switched to Debian in September 1997 (then version 1.3.1 aka Bo). Ever since, while occasionally experimenting with other distributions, I have invariably found myself returning to Debian. I appreciate Debian’s open source stance and, on a day-to-day basis, experience it as a system that doesn’t get into my way. I’ve tried to pay back by consistently reporting bugs as I observe them.

FOSS activism

In the late 90s and early 00s, FOSS took a beating by Microsoft’s tactics, notably “embrace, extend, extinguish” and “fear, uncertainty, and doubt”. At the time, I played my little role in grassroots countermeasures, as Linux/FOSS enthusiast and evangelist. It did that both at work and also privately in a mailbox nets’ Linux user group, which I moderated for a few years. I fondly remember a friendly community, gathering at monthly user meetings of which quite a few doubled as “Linux installation parties”.

I proudly report I’ve been “eating my own dog food” consistently. Over the years, I’ve used various machines as my private main computers, but none of them ever under any version of MS-Windows as its OS.

Notable pull requests

I’ve contributed to foss with pull requests. Some examples (somewhat arbitrarily in alphabetic order):


Using Ansible rather heavily recently, I helped out with several pull requests. The most prominent one activates existing doc strings for the Ansible documentation on their web site.

Arduino UTF-8 character handling

The venerable Arduino micro-controller platform allows the Arduino board to communicate with a PC via USB. It had been a long standing issue that the Arduino-IDE did not display non-ASCII characters properly, that were send to the PC by the board. I fixed that.

Erlang make

This one produced a considerable speed-up of the bootstrapping process of It clones the git repo with --depth 1 only, instead of pulling the entire history. I seperated it into an issue report and a pull request proper.


A radio amateur colleague of mine found it easy to enlist me to join her to give a joined talk at BedCon 2018 conference explaining the basics of radio to a software development audience. Following her suggestion, we had agreed to use reveal.js for our talk’s slides.

But on my Linux box, after a standard installation, the “reload on change” functionality did not work: The browser attempted to pull reload-related material from a server at IP

I found out: The middleware used had several configuration options, and setting the src option to the proper value would cure the problem. But this configuration option was not exposed by the grunt-contrib-connect module that actually runs that middleware.

At the time, there was no obvious clean way to fix the problem. A corresponding issue had been open for some four years. That issue and the underlying problem were resolved by my pull request.

Rails’ Girls

I wholeheartedly support the Rails’ Girls initiative. I’ve been helping out as a tutor quite a few times, and consistently very much enjoyed the experience. I also contributed a few pull requests to their installer as well as their website.

Dr. Andreas Krüger, Herweghstr. 13, 12487 Berlin, Germany,