Talks on Hypothesis testing and Open Source Software business models

Public group
Location image of event venue


We have two speakers lined up for this meeting, and Stena Line will be hosting us at their offices in Danmarksterminalen.

17:30 mingle and sandwiches
18:00 Introductions
18:10 Alexander Hultnér: "Test Faster, Fix More: Property based testing with Hypothesis"
19:00 short break
19:15 Andrew Dalke: "How to (not) make money making open source software"
20:15 mingle
20:45 close

"Test Faster, Fix More: Property based testing with Hypothesis" - with Alexander Hultnér of Hultnér Technologies

Did you ever miss that corner case bug? Maybe it was a negative integer, strange timezone conversion behaviour, off by one error or something entirely else. These subtle bugs are often hard to catch and are easily missed in test cases. You like me have probably ran into plenty of code utilising only happy path testing, only to later discover subtle bugs which are easily fixed once pointed out.

This is where property based testing comes into the picture. In this talk I will focus on a wonderful Python library called Hypothesis but the concepts apply to other languages as well. Hypethesis is based on the same concept as the famous QuickCheck library for Haskell, which in turn have been ported a large number of languages. Hypothesis uses a wide range of input to find edge cases that you could otherwise easily miss, once it finds these cases it narrows down the input to the minimal breaking example to provide failures which are easier to understand.

"How to (not) make money making open source software" - with Andrew Dalke

I sell a software product. For most of the first 10 years, I developed it as commercial open source software. While I made some income 'selling free software', I ran into several difficulties which aren't often talked about in the sunshine and unicorns vision of open source software. Last year I started selling proprietary licenses to the same product, which has made at least a few things easier.

My experience is a facet of a growing problem in open source software - who maintains our 'digital infrastructure'? Many of the free software tools that thousands or millions of people use are maintained by only one or two people working "for free" under sometimes stressful circumstances. Watch Brett Cannon's "Setting expectations for Open Source participation" PyCon 2018 keynote for one example of this problem in Python.

In my talk I'll describe some of technical principles behind my product then switch to the business side and address issues like the differences between 'open source' and 'free software', my attempts at different free software business models, the larger problem of how to maintain free software, and some of the approaches others have tried, like "weaponized AGPL" and "open core."

I have no real solution to the wider problem of funding open source software development, but sometimes the first step is to highlight that there is a problem. At the very least, I hope to provide some insight for those thinking to develop commercial open source software.