Wouter Tinusis creating Windows ACME Simple (WACS)
Select a membership level
About Wouter Tinus
Thanks for dropping by!My name is Wouter Tinus and I'm software architect from the Netherlands. Although I'm not the original creator nor the only contributor, for the past years I've played a key role in the development of Windows ACME Simple (WACS). I've spent a lot of spare time the past years improving existing features, solving bugs, adding new capabilities, updating documentation and most importantly helping users with whichever problems they run into. I've gotten help from some very nice and clever people, but you can check the contributer page or search the issue list by commenter to gauge my level of involvement versus that of others.
Why I created this page
Getting startedI started contributing to the project around May of 2017 because I wanted to use Let's Encrypt certificates at my company. The project - then still known as letsencrypt-win-simple - was the best Windows client available, if only because there was not much competition.
Unfortunately something wasn't working for me. I tried to get it fixed, but quickly realized that the project was not in a healthy state. The original creators had apparently lost interest and many bug reports and feature requests went unresolved and unanswered for months.
I decided to make my first real venture into the world of GitHub. I set out with the plan to fix some of the most annoying bugs, add one or two much-requested features and then walk away a little wiser about open source development and the ACME protocol.
Obviously, it didn't end there.
As I got more familiar with the code, I realized that the problems were more than just skin deep. There were all the typical quality issues stemming from a series of well-meant but largely disjointed efforts. People had been willing to contribute and added capabilities left and right, but the overall architecture had not gotten the attention it needed for a long time. All kinds of interesting use cases - which from the outside must have appeared as trivial to add as 1+1 - were simply not possible without very ugly code duplication (and that's how it was done in some cases).
So, I duly started re-designing and cleaning up the code, while maintaining compatibility with design choices from the past, however awkward that would sometimes be. That initial re-plumbing was done by early 2018.
Hitting the ceiling and breaking throughAfter that, things got less exciting for a while. The project entered what could be called a stable period. There were still bugs to fix and new minor features to add, but I felt that I'd reached the limit of what was possible within the constraints of the old design. Some of the bigger features that people had been asking for just couldn't be done in an elegant way without breaking backwards compatibility.
All there was left to do was help users with their problems and try to improve the documentation so that same questions wouldn't get asked over and over again. Not the most exciting thing to do - it actually felt a lot like work.
The next big thing on the horizon was ACMEv2, the new protocol that Let's Encrypt had taken into production. I decided that it was the right time to break with the old architecture and take on the challenge to re-shape the program again. This time my effort would be unhindered by the constraint that everything should be backwards compatible. I built everything in a way that - at least to me - feels nicely compartmentalized, testable, secure, extensible and scalable. I also spent a lot of time expanding, updating and restructuring the documentation. Release 2.0.0 represents the culmination of this effort.
More boring stuff coming...After this release the project will enter another - probably much longer - stable period. Now keep in mind that this is a Good Thing™, because this tool is not exactly used for trivial purposes. We use it to keep our websites, mail servers, Remote Desktop Gateways and who knows what else up and running safely. If we're not able to renew our certificates in time, things fall apart and users and managers get annoyed or worse. Nobody in their right mind wants to have drastic changes to a tool like this every month. We want reliability, security, quality and compatibility.
We also want to know that someone is going to have our back if and when things go haywire. In theory that can be anyone. In practice I've taken this task onto myself, because I didn't see anyone else doing it.
I feel that people should have the peace of mind that a program that's critical to a hosting infrastructure is properly maintained and managed. I want it to be like that for my company - and if you are running a business, you'll probably want it for yours too.
At the end of the day I am just a normal guy though, living a normal life, who has to divide his precious spare time between many potentially stimulating and rewarding things. A "thank you" is always nice to hear, but a little side income - if only to buy some beers - would also go a long way in keeping up my motivation. So that's the long answer to the question why I created this page.
Don't worryWACS is free and open source software and it will always stay that way. There will not be artificial limitations on what it can do. I fully realize that this project existed before I joined and it will continue to exist even if I would ever lose my interest. Others can always step up as I have. I will also not going stop helping people that are not paying. But I would like to see if this can become a little bit more than a just a hobby.
What am I offering?There are basically two types of membership here, each with three tiers so that you can choose to pay whatever amount you feel comfortable with.
ThanksThe "thanks" tiers are aimed at individuals who want to show their support without expecting much in return (besides the work that I've already put in). The only real benefit will be that you get have access to members-only posts here. I'm planning to share my thoughts about future developments and concepts for a version 3.0, though I can't guarantee that you will find any of them interesting!
SponsorThe "sponsor" tiers are aimed at business who rely on WACS for a least some of their day-to-day operations. In return for the sponsoring there are actually some real benefits, namely that I will provide different levels of support for your use of the program. I will do anything in my power to make sure that your systems never end up running without a valid certificate. This kind of guarantee is simply not offered by posting issues on GitHub. Besides that I am willing to promote your business by publicly thanking it in the release notes, which is actually a page that's trafficked pretty well.
TL;DR / DisclaimerIf you choose to become a patron you are not supporting the IETF, Let's Encrypt or the entire group of people that made Windows ACME Simple possible. You are supporting my personal contribution to the project and - in case of sponsoring - getting my personal commitment to support your business if you use it.
$200 - reached! per month
4 of 4
I will start donating at least 20% of the donations to privacy/internet related charities, e.g. the EFF.
By becoming a patron, you'll instantly unlock access to 3 exclusive posts
By becoming a patron, you'll instantly unlock access to 3 exclusive posts
Recent posts by Wouter Tinus
How it works
Get started in 2 minutes
Choose a membership
Add a payment method