Donate to support our Open Source projects

Howdy all,

A common request we've heard quite a bit has been for the ability to contribute to our Open Source development projects (Webmin, Virtualmin GPL, Cloudmin GPL, and Usermin), without purchasing our commercial products. Since we are a small company, with really big projects to maintain and improve, we think that's a great idea. To that end, you'll find a "Donate" button at the end of this message, if you want to chip in a few bucks toward improving our Open Source projects (and all of our projects, since they all share common codebases).

Specifically, because none of us are very good at design or UI, we're gonna get some outside help for our UI overhaul that is in progress. If you think Webmin/Virtualmin/Cloudmin/Usermin would be vastly improved by some major UI improvements (we sure think it could!), and can afford to chip in to make it happen, that'd be awesome!

Also, if you're a JavaScript master or a UI genius (especially one with some awesome Bootstrap/jQuery experience), and want to help out some venerable Open Source projects used by millions of people by donating a bit of your time, I'd love to hear from you. My capacity for solving some of our issues in migrating to a Bootstrap/jQuery frontend have been insufficient, thus far, and I'd love it if some super hero were to fly in and save me from my Javascript nightmares.


Hello Swelljoe , thank you so much for being ever so nice and helpful and for this awesome new looking website .

Can you please link this page in the menu or somewhere more accessible , I had to do a google search to reach here .

Just did, 20 bucks on the way. Thanks for all you do.

Awesome new site, awesome new Virtualmin interface, you are well worth supporting!



I’m about to make a donation, with the following context.

Regarding your comments, e.g., “We never see your credit card data. At all … the only company you have to trust in that exchange is Braintree/PayPal.”

Please see my posting in which I wrote:

“With Paypal or Google Wallet, I choose whom to pay and when. I like that choice. With credit card numbers, the party wanting payment makes the choice.”

This is true with Braintree even if you never see a single credit card number.

To give you an incentive to allow one of the payment systems that give the person making the payment control over how much and when he pays, I’m making a contribution via Paypal in appreciation for Webmin. My intent is that half of this contribution is a donation as requested. Please save the other half and apply it towards the licence(s) I will buy if/when you accept a sender-controlled payment method, such as Paypal, Google Wallet, or bitcoins.

Still wanting to buy some commercial licenses, if I can do that without revealing bank or credit card info.

I did get a very brief thanks for my donation, but no acknowledgement that they would save half of it and credit it to me for any future purchase of licenses.

My plan now is to use Virtualmin GPL, and augment it with Installatron.

The combination of Virtualmin GPL and Installatron gives me both less and more than Virtualmin Pro. I don’t get some of the features of Virtualmin Pro. But I get a much more powerful and flexible script installer.

Sorry for the trouble!

We’re unfortunately not really setup to handle special requests like that… if you want to send a donation, that’s wonderful, and very much appreciated. If you would like to purchase a license, that’s appreciated as well. But we don’t have a way to earmark some portion of a donation towards something else in the future.

I imagine Joe saw that and was grateful… but there’s no easy way to apply that towards your account.

The cart does currently require credit cards, and adding in Paypal support is on the todo list. In the meantime, we can manually process Paypal payments for anyone looking to pay a year at a time.


Apologies, Joe. I’m not setting out to disappoint anyone; just very busy, and a lot of things are very difficult with the shopping cart and license manager that I’d hoped wouldn’t be.

We can make that request happen. You’ll have to remind us when you’re ready to buy a license, though. As Eric mentioned, we don’t currently have any way to issue credit in our shopping cart. I’m working on making that possible, but the Drupal Commerce system is much less baked than the docs and module descriptions had led me to believe (discounts and coupons, for example, do not work with commerce_license_billing, at all…and we’re using commerce_license_billing, so we can’t use coupons or discounts without writing them ourselves).

In short: Open a ticket in the tracker when you want to buy, and you can pay with PayPal for the license you want (minus that donation bit) and we’ll issue the license for you manually.

I wish all of this were going smoother than it has been, and I wish turning on PayPal were as easy as flipping a switch; payments have proven to be extraordinarily buggy and incomplete. That’s just another element of it. PayPal support for commerce_license_billing and cardonfile is not functional, as far as I can tell. So, if we’re going to turn on PayPal, I’ll need to implement it myself (or at least implement some of it), which may be beyond my pay grade when it comes to PHP and Drupal development. We’ll see.

@joe as you said: ‘’ Also, if you’re a JavaScript master or a UI genius (especially one with some awesome Bootstrap/jQuery experience), and want to help out some venerable Open Source projects used by millions of people by donating a bit of your time, I’d love to hear from you. My capacity for solving some of our issues in migrating to a Bootstrap/jQuery frontend have been insufficient, thus far, and I’d love it if some super hero were to fly in and save me from my Javascript nightmares. ‘’

How can I help? perhaps where I can contact you? I could not found any email here at all.


Email can be a challenging way to reach me. I get way too many emails to stay on top of it.

And the picture on the ground is a little different than when I first posted this plea for help! Ilia has been the superhero I wished for, and came along with Authtentic Theme, which has been a miraculous change for all of Webmin. It’s brought some growing pains (and a recent security bug that borders on disastrous). We’re currently working to improve Authentic; I’ve been doing a code review of the Perl side of things, as Ilia is still learning Perl (though he’s getting better very rapidly; sometimes he’s been poorly served by looking to Webmin code for examples, and some Webmin code is old-fashioned enough to be a bad example to follow).

I think there’s also room on the javascript side to improve performance, in particular. We’re pulling down a lot of libraries to build the Authentic UI; that’s probably an area for improvement. We’re also still working with a multi-page application, in some regards, which is sub-optimal for something with such large dependencies. I had sort of solved this in my Bootstrap theme, but it was still a long way from being production quality (whereas Authentic has been ready for production, for many use cases, for at least a few months).

So, our current development projects:

  1. Modern Perl overhaul of all of Webmin. This one is a huge project. Short-term goals include making “use strict/use warnings” and Perl Critic happy in all of Webmin/Virtualmin/Cloudmin/Usermin. That’s the point where we’ll branch a 2.0 beta of Webmin and start getting more experimental. This strict/warn project is ongoing on github (I’ve just wrapped up several hundred changes over the past week, making all of the bind8 module a bit more modern and ready for 2.0 branch, and I’m starting on another module today).
  2. Modern Perl overhaul of Authentic. While Authentic is recently written, it is built with Webmin as the primary example of Perl usage, which is pretty old school. So, it needs the same treatment as Webmin. This may also help us sort out potential security gotchas, and we also need to find areas where things have been built as part of the theme that should be part of Webmin core or in a module. I’ve also been working on this one. I’m working with Ilia to get him doing more frequent check-ins, so more people can more readily help out with development there; now that it has become a somewhat mature product with more evolution than revolution, it would be well-served by more code janitors helping keep it nice and clean and tight and solid.
  3. Performance and bandwidth improvements to Authentic. Ilia has done some nice work on this front recently (18.00 is notably faster than prior versions), but there’s still more to be done. As more of the UI gets built in the client browser, the weight of what we’re pulling down the pipe grows; people on slow links notice the sluggishness of that model (I’m on a slow link, because I live in an RV and use 4G broadband, which is expensive and slow, so I notice this).
  4. Get ahead of the curve on modern JavaScript and HTML app development. That probably means looking to React (or similar) for some of the front end. Currently Authentic uses jQuery and some other standalone libraries to do its work. As we leave behind the old crappy browsers (IE9, in particular), we can use more modern JavaScript features and shrink our reliance on libraries, making the js payload smaller. A component based approach to the UI might be just the right thing for Webmin; Jamie has already begun work on making an OO interface to in Webmin. Making that talk to a React (or other JS) frontend would be a super cool way forward.
  5. Open up development of all of the plugins for Virtualmin (at the least), via a public repo for each project. We currently have one big private repository with everything Virtualmin related in it, including stuff we release as Open Source. No good reason it’s that way, it is just what we did 11 years ago when we started the Subversion repository.

And, I don’t want to imply that Authentic is the only way to work on JavaScript and UI in Webmin/Virtualmin. New themes are great. Though we’re shaking things up a lot going forward, so it’ll take a real commitment to staying on top of how the UI library evolves to keep a new theme working through the Webmin 2.0 development. For that period, it’ll be easiest to work on Authentic while we learn what the new paradigm ought to look like. There’s so much room for impacting how we build the new UI library and themes going forward, it’s almost hard to point you to anything specific, because it is all wide open. We honestly don’t know the best way forward on UI/HTML5/JavaScript, but we’re moving forward rapidly, anyway!

Do you have a github account? We’re doing all of our development there, for now (we’re looking at gitlab, as it has better CI and code review built in), and all of the changes we’re doing are going in as pull requests. So, you can fork Webmin or Authentic and start making contributions immediately. I’m happy to help guide you in the areas I know well (the Perl update work, for example). On the UI side, I think we’re all flying blind, and learning as we go (Ilia knows more than me or Jamie on that front, however, so we usually defer to him on front end decisions).

Sure thing Joe! I really love Virtualmin keep up the great job!