Free as in Freedom

• Herbert Wolverson

I’m Herbert, lead developer of LibreQoS. I joined not long after Robert and Dave got the ball rolling, added IPv6 support, and created most of the Rust parts, C parts, etc.

I’ve been a believer in Free Software since the early 1990s. I was running a BBS (on OS/2), and needed some custom software. A friend pointed me to the GNU Compiler Collection. Initially, I took a utilitarian standpoint - “hey wow, I can write the software I need without having to part with what little money I have!”. And I did, various terminal i/o utilities for my BBS. One of the great things about Bulletin Boards was that you met people; I became friends with other system operators - and discovered that they needed these tools, too. At the time, shareware licenses were all the rage - but they didn’t really fit what I wanted. I wanted to share the code, allow them to share the code - and if anyone fixed things, I really wanted everyone to have the benefits. Fortunately, the answer was staring me in the face: the GNU Compiler Collection came with a “GNU Public License”, built to do just that. So I shared my tools, received patches, and everyone was happy.

In the late 90s, I tried out SunOS at the University of Hull computer lab - and absolutely loved it. UNIX was so nice. So I looked into what it would take to run UNIX at home, and the answer was “stop being a broke student”. Fortunately, Linux 2.0.0 was just shipping - and Slackware 95 had a nice CD distribution with friendly (by early Linux-standards) setup. It also cost more than the price of some CDs and pretty labels. And you know what? I wrote a cheque, received the CDs, and couldn’t have been happier. I had the software and the Slackware people could eat; that’s more than a fair trade. Over the decades since then, I’ve released free software in C, C++, C#, Java, Perl, Rust - and probably more. I’ve picked different licenses for different project, but the core promise has always been the same: you don’t just get the software, you get the freedom to use it as you wish, modify it, and make it work for you.

English really is a wretched language in some ways. “Free” can mean “Freedom” and can mean “Without Charge”. The French have a much better system, with “libre” (free as in freedom) and “livre” (free as in free beer) being separate words. That’s led to decades of confusion and debate - but ultimately, I think we can defer to Richard Stallman (founder of GNU and the GPL) for a definition:

“When we speak of free software, we are referring to freedom, not price,” advised Stallman in the GPL’s preamble. By the late 1980s, Stallman had refined it to a more simple mnemonic: “Don’t think free as in free beer; think free as in free speech.” (1 - page 132)

If you dig into Stallman’s writings (I highly recommend it), you’ll see that he’s addressed this time and time again. He’s even said that dual-licensing is fine, GPL software can carry a price (it’s free so long as the source remains free - you can charge for access to the software; otherwise, Red Hat wouldn’t have been able to succeed).

In recent years, open source and free software have had a problem. It started with TiVo (modifying Linux and distributing it as a service, so nobody got to benefit from the modifications), which GNU sought to counter with the GPLv3 (and AGPL).(2) Unfortunately, Linux didn’t move to the AGPLv3. If it were up to me, LibreQoS would be entirely AGPLv3 - but license compatibility with Linux and the eBPF layer keeps us on GPLv2. That’s not the only problem, though. Large parts of the Internet are powered by open source - but fewer and fewer people donate to keep the projects they rely on running. Bruce Perens (co-founder of the open source initiative) sees this as the problem of “wealth extraction” - a restatement of the classic tragedy of the commons. The common base we rely on gets stripped, while companies benefit from their labour. As a result, Perens has founded the post-open (3) project; it’s not far enough along to adopt at this time, but the principle is absolutely correct. Freedom isn’t very utilitarian when it leaves the people doing the work eating ramen while the users eat caviar.

Frank met Dave in 2022 while working with OpenWrt routers and after learning about his work on fixing bufferbloat, he understood that LibreQoS could be that badly needed force multiplier that will help it scale to ISP networks all around the world. Dave has invested all his money and even health in fixing bufferbloat and this was the only viable way how to help the world to pay him something back.

After Wispapalooza 2022, Dave was having a terrible time financially. He couldn’t afford the healthcare he needed, could barely keep the lights on and eat. Robert made the decision to commercialize LibreQoS - and I stand with him. Dave Taht created CeroWRT, co-created fq_codel and CAKE, contributed to the Linux kernel and free software for decades. He spearheaded the Bufferbloat project. Millions of people were benefiting from his work on a daily basis. And he couldn’t maintain even a basic standard of living. That’s not right.

We initially made Long-Term Stats a paid option, and pushed for donations. Donations remained very low. So we took the difficult decision of requiring an Insight (or API) license at 1,000 circuits - a number more than 95% of our users never reach. We retained Freedom - the source is right there. And we retained the bazaar model; the comparison between cathedrals and bazaars is exactly where you should be looking.(4) Do yourself a favour, and read The Cathedral and the Bazaar. Eric Raymond makes some excellent points - and our source code is right here in the bazaar, proudly bearing a GNU license. And like any other bazaar, if you don’t like it - there’s plenty of cathedrals (some of which have locked doors) out there. Preseem, Bequant, Paraqum - those all cost a lot more money than LibreQoS, and don’t share the source. Mikrotik have fq_codel and CAKE, but they don’t share the source code either. You can run OpenWRT on all your CPEs, build your own core - or not run any QoE at all. You have that freedom.

As for pricing; we have regional pricing (taking into account Internet costs around the world as best we can). We’ll negotiate with anyone who asks. We realized – responding to use feedback – that not everybody wants Insight, so there’s an API-only option. You also have the source code, for free.

On a personal note, I still believe in Free software. Free as in freedom. I don’t believe that developers should be putting hundreds/thousands of hours of labour into creating useful software - and be expected to live in a van down by the river. We have thousands of ISPs using LibreQoS world-wide; if every one of them happily donated to the cause, that’d be awesome. But as Perens noted - donations are barely a trickle, and thousands of users benefit without helping to keep the lights on. It’s not just us; Nginx, Grafana, and many other free software projects are suffering.

(1) Free as in Freedom (2.0): Richard Stallman and the Free Software Revolution. Williams, Sam revised by Stallman, Richard. https://sagitter.fedorapeople.org/faif-2.0.pdf

(2) https://www.gnu.org/philosophy/tivoization.html

(3) https://postopen.org/

(4) https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar