I want to wish you all a happy new year, reflect on the past year, and fill you in on where we’re going in 2021.
As with many of you, 2020 has been a tough year for us as a company and as individuals. We’ve been luckier than many; none of us experienced serious illness, tech was not as adversely impacted by Covid-19 as many other sectors of the economy, and we’ve all had the privilege of being able to work mostly remotely during this time. But, we still took a financial hit and we’ve never been exactly rolling in dough from our work on Virtualmin, so we’re ending the year in a pretty tight spot (I’ll talk about what that means in a moment).
But, there were some good aspects to a slowed economy and being stuck at home, as well. Jamie and Ilia, in particular, have done a lot of great development during this time. They’ve fixed tons of bugs, improved the Install Scripts experience (and removed several apps that we simply couldn’t provide a good experience for), Ilia made huge GUI and internationalization and translation improvements, the new forums have proven very popular and the better tools it provides are working great at keeping spam and abuse at bay, and I’ve even found a little time to work on migrating us off of Drupal for issue tracking and billing/licensing (not done yet, but in progress)! We’re grateful to the community members who’ve stepped up here in the forums to help report spam and abusive posts, and who have helped out answering questions and getting new users on the right track.
We’ve also added support for CentOS 8 and Ubuntu 20.04 in 2020 (once again, Jamie and Ilia get a lot of the credit here, but I always play a big role in new OS support development, too), and worked out tons of issues with supporting new versions of MariaDB and MySQL and the new networking configuration system on Ubuntu. Our projects had thousands of new commits from more than two dozen contributors, including a few new ones. Ilia blew the curve for everyone with his auto-translation project, making 5124 commits this year to Webmin alone! Anybody who hasn’t thanked Ilia lately for his work on Webmin and Virtualmin should do so, he’s been a major driving force for progress, and not just in the GUI (but especially in the GUI).
Behind the scenes, I migrated a bunch of services that were running on a creaky old server in colo to cloud-based services and upgraded them to newer distros and versions of the various services they depend on. In particular, Webmin documentation wiki has been migrated and all software upgraded after a server outage, and all of our software mirrors have been moved into cloud services running on new systems, and the forum is running on cloud-based services, as well. The only major things remaining on our colocated servers (which are 10 and 7 years old) are our Drupal instance for Virtualmin.com and one of our name servers. Moving Virtualmin.com will be a big ordeal, so I’m just going to finish migrating off of Drupal and then shut down that server once it’s done. Reliability of our website and related services, and the cost of providing them, should be improved by all of these changes.
So what’s coming next? Well, I’ve got some good news, and I’ve got some (maybe?) bad news:
Virtualmin 7 will finally see the light of day in 2021. Most of the new features we were aiming for in Virtualmin 7 are already out there in current 6.x Virtualmin releases (we don’t do big releases, we push new stuff all the time in small pieces), but a new streamlined and simplified and also more configurable installer will be coming out to complete the picture. A default install will be leaner and harder to mess up, while providing all of the commonly-used and recommended features. We’ll be dropping support for older distro versions (CentOS 6, Ubuntu 16.04, and Debian 9, at least) for new installs (existing installs on older distros will continue to be supported until the distro reaches EOL, as always), and simplifying the PHP environment and making it harder to break by focusing on PHP-FPM. Removing support for older distros frees us up to focus on implementing best practices rather than papering over weaknesses in older systems. We’ll probably also focus on getting newer PHP versions into every installation from the get-go, because a perusal of the forums indicates it is super common for folks to break their system while trying to upgrade PHP (we can’t stop people from installing five versions of PHP from multiple third-party repos for no good reason, so there will still be breakages, but maybe we’ll stop a few from embarking on that sort of crazy project if they have the latest PHP by default).
The time off of work from my other job while I was furloughed due to Covid-19 has freed me up for other projects including working on new billing and issue tracking systems for Virtualmin. Those aren’t ready yet, but will go live early in 2021, resolving a lot of the major complaints folks have with buying the software, managing upgrades, renewals, and cancellations, and with getting support for the Pro version. So, that’s undoubtedly good news for any Pro user, and for us, since we suffer more than anyone due to the poor experience from the current Drupal-based system.
There is some uncertainty looming in 2021 for a lot of Virtualmin users, and for us, in the form of the dramatic change in CentOS development. They’ll be ending the traditional release-based version of CentOS and switching to a stream-based model, where stability is a little more uncertain and server lifecycle will require a bit more active management on the part of users. We don’t know what this will look like for Virtualmin, but you’ll find plenty of discussion about it here in the forums. I think we can say with some level of confidence we’ll end up supporting at least one RHEL rebuild distribution, probably Rocky Linux (but there are other possibilities). And, I think we’re also likely to try supporting CentOS Stream (probably with a beta label and some warnings, because I don’t know how well it’ll work out, and we want the option of backing out, if it’s just too flaky).
And, here’s the maybe bad news:
Some of our Pro prices are going to go up when the new billing system goes live. We’ve maintained the same prices for many years, even while all of our major competitors implemented multiple price hikes in that time (including a very large one from our biggest competitor who shall not be named). Frankly, we can’t keep asking Ilia and Eric to work for peanuts. And, Jamie and I have mostly been volunteering on the project for the past few years. It’s unsustainable. We ended 2020 with approximately $250 in the company bank account (and $900 in outstanding debt to our colo provider). I said we’d be raising prices more than a year ago, and then never actually flipped the switch to do so, so we’re long overdue on this change. We’ve always tried to keep the product very affordable, but we’ve got to price it realistically to support the needs of developing and maintaining and supporting such a complex product, and we haven’t been doing that.
We’re also going to begin asking GPL users to contribute, in a pay-what-you-want subscription model, when you download the software. Free software isn’t free to build (not even close), and we’ve been carrying too much of the weight ourselves for too long. We really need some help. We’re hoping that by simply asking for GPL users to voluntarily sign up as donors when they download the installer we’ll see enough additional revenue to not need to implement anything more drastic (I honestly don’t know what “more drastic” means here, so hopefully we won’t have to find out…). I know many GPL users want to help out and we haven’t really provided a good path for that desire (we’ve tended to just suggest buying a Pro license), so it’s a priority going forward to make it easy for GPL users to support development and also make it obvious how they can do that. That will also go live with the new billing system, since we don’t currently have a way to accept arbitrary payment amounts.
Of course, the flip side of asking for more money is we will hopefully have more resources to devote to making Virtualmin better, and the ability to outsource some kinds of projects that we don’t have the skills for in-house. I think that’d make everyone happy.
I think that’s it! I hope you all have a great 2021 and I hope you’re able to do all the things you missed out on in 2020! And, let us know about your plans for using Virtualmin in 2021 and what you wish you could do more easily!