VyOS Platform Blog

10 years of VyOS, 30 years of Debian, 40 years of GNU

Written by Yuriy Andamasov | September 1, 2023 4:33:57 PM Z

Hello, Community!

This year is a year of three anniversaries that are very important for us.

In October, VyOS turns 10. In August, Debian turned 30; in September, the GNU project turns 40 — four times older than VyOS!

Those anniversaries seem like good chances for both celebration and reflection. We have some plans for celebrating the 10th anniversary of VyOS, but we'll discuss that later; now, we'd like to share some observations and announcements about the future of VyOS as a free software project. 

GNU

Before everything else, I’d like to interject for a moment: VyOS is usually described concisely as a Linux-based operating system, but it's, in fact, GNU/Linux. VyOS wouldn't be possible without the Linux kernel and its amazing networking capabilities, but it wouldn't be possible without the software developed or supported by the GNU project. The base set of UNIX utilities is GNU coreutils, and we wouldn't want to trade it for BusyBox to save space. GNUPG served for verifying release images for a long time — we'll soon phase it out entirely in favor of minisign, but when we started, minisign didn't even exist. The compiler we use for C, C++, and Ada is GCC. FreeRangeRouting, our current routing protocol stack, started its life as GNU Zebra.

Some Linux distributions don't use GNU software in the base system, such as Alpine or Android. However, the most popular general-purpose distros, such as Debian/Ubuntu/Mint, Fedora/CentOS/Rocky/RHEL, and openSUSE/SLES, are all GNU/Linux. GNU is historically important and is not going anywhere anytime soon. We are confident they will celebrate their 50th anniversary and will not stop there.

One really important thing about the GNU project is the emphasis on software freedom. One of the early motivations for the free software movement members was an early laser printer driver that at some point became closed-source, and they could no longer patch it themselves to fix bugs in it — they found themselves at the mercy of the vendor unwilling to fix those bugs.

When the Vyatta project ceased to exist in its original form, the fact that its source code was under free software licenses was crucial for our ability to fork it and start VyOS. That freedom to inspect and modify the source code is equally important for many of our users — from people who see missing functionality and want to implement it to high-security environments where all software must be audited because any undeclared functionality can have catastrophic consequences.

However, freedom is often conflated with price. That has already led to awkward acronyms like FLOSS — Free/Libre Open-Source Software and COSS — Commercial Open-Source Software. The point is the founders of the free software movement never said that the software should be available at no cost. What the GPL says about cost is that the source code must be available at the cost of the medium and shipping — to people who have the binaries. The GNU project keeps the source code of all its software easily available online because it chooses to, not because it has to.

The source code of VyOS is also public — as a service to the community, not as a requirement of any of the licenses we use. Yet, many entitled people claim that everything, including the binaries of LTS releases, must be available at no cost “because VyOS is open-source”.

It would be ridiculous to claim that original Vyatta developers were required to help us start the fork just because the code was open, wouldn't it? We certainly weren't entitled to any such help. Having that source gave us no rights beyond those granted by the GPL.

In the same vein, because VyOS has public, easily buildable source code, it doesn't mean anyone is entitled to anything beyond the rights granted by its license. Regarding the parts under the GPL and LGPL, no one is entitled to receive that source code until they receive pre-built binary images.

However, our commitment to keeping the VyOS project open and community-driven remains unwavering. By making the source code of VyOS public, we can foster a contribution process that is accessible to everyone, and we actively work towards establishing new governance structures that encourage community participation.

Still, there's a distinction between community members who are moving the project forward and its end users who use the work of the maintainers and those community members but never contribute anything back. 

The misconception of free, open-source

The recent move by RedHat to stop publishing the SRPMs of RHEL and to prevent RHEL subscribers from redistributing them or the recent overnight license change to BSL done by HashiCorp is a good reminder of how much, even in strict free software licenses, is a legal requirement and how much is a courtesy. When project sustainability is at risk, the choice is often between changing the conditions and having the project slow down and wither away.

Recently, we have noticed quite a few people distributing pre-built VyOS LTS  release images publicly. We believe those people act in good faith, but that effort is misguided. If you want to build an LTS for your use, feel free to do that, but refrain from distributing even just for this reason — let’s encourage people to get contributor subscriptions, get certified, and fund the project through buying support and software access subscriptions.

We wouldn't want people to distribute them for many reasons, including reputation risks from bad actors distributing intentionally malicious images, problems people may have with incorrectly built images, and trademark dilution, which is why we keep the name trademarked and the artwork non-free. But the main point is that if you want to have access to LTS — keep contributing to the project, and we’ll happily share our work on LTS releases with you for your personal business use.

 

OpenCollective

We used to provide pre-built LTS images in exchange for small donations on OpenCollective. We have seen quite some misuse of that option (access for personal needs was used in corporate environments to save on subscriptions)  and quite some misunderstanding of the idea of OpenCollective.

One significant change we are making to encourage people to contribute to VyOS development and advocacy is that pre-built LTS images will no longer be available for donations  — only to contributors,  commercial customers, and VyOS for Good participants.

Note: Those who currently  have access will keep their access until they cancel their donations; additionally, you can now request cloud access (AWS, Azure, GCP)

The role of OpenCollective is to make it easier to direct donations from users towards specific projects, tasks, and needs, pay community members who want to take up those projects, compensate them for their work, and fund our upstream projects. Be that Wireguard support, Debian Extended LTS, or VyOS Local UI development, you can donate to any cause that resonates most with your use case(s) and to support open-source.

So, if you want a graphical web UI, you can donate to 

https://opencollective.com/vyos/projects/vyos-gui-project.

Or maybe you are more interested in VPP? We have a project for that:

https://opencollective.com/vyos/projects/vpp-and-linux-control-plane-ng

It can be you want to support Debian, and we've also got you  covered:

https://opencollective.com/vyos/projects/debian-elts 

We want to encourage everyone to give back to VyOS! If you only have a bit of spare cash, donate it through OpenCollective — we will direct the collected funds to projects we rely on or use them to reward developers from the community for doing important work on VyOS. If you need LTS releases for your home lab, remember that we give free-of-charge contributor subscriptions liberally — whether you are testing rolling releases and reporting bugs, sending us patches, improving the docs, or promoting VyOS on the Internet or at in-person events on an ongoing basis, you may be eligible. Fill out the form to apply for a contributor subscription and tell us about your contributions; there's a good chance we'll grant it to you.

We also give access to LTS images for personal use to all holders of the certifications from major vendors and, of course, VCNE holders,  so you can also get certified if you aren't already.

Orbit

So, how do we actually know who is eligible as a contributor?  For a long time, it was mostly a manual process, but the number of contributors has grown during the last few years, and since we have several places like the forum, Slack, GitHub, and Phorge, we started looking into how to do this a more automated way. We hope that Orbit will help us. Expect a separate post about this!

Exiting X  and joining the Fediverse. And what about other social media?

Twitter was fun while it lasted, and it was one of the first social media sites for the VyOS project. Still, it never gained a big audience. Since all that bluecheck madness, we noticed a significant drop in views and engagements — presumably because we were not verified. And now, lots of people are leaving the website known as X out of disagreement with its policies and practices.

We concluded that spending 1k+ on our Slack workspace is a better investment than paying for a checkmark on X, and instead, we now have our own Akkoma instance at https://vyos.social, which is part of the Fediverse! You can follow the tag #vyos from any Fediverse instance or follow VyOS project leaders personally, like Daniil Baturin or me 

VyOS.social is currently only reserved for project members, but there are lots of Mastodon services and other ActivityPub implementations that you can join — pick any instance from joinmastodon.org that matches your interests.

We will also continue to publish project updates on VyOS.Social Reddit and LinkedIn pages 

There is Facebook, Instagram, and even TikTok, but not much content there for now.

 

We at VyOS hope you enjoyed your summer!