{{.Include "/includes/head.html"}}
{{.Include "/includes/header-nav.html" "black"}}
« Blog Index
March 2, 2016

Is Caddy Free?

By Matt Holt

Today you will notice an addition to the Download page: a "Payment" section. Is Caddy no longer free software?

The truth is, it never was. There's no such thing as free software. The question is, "Who pays the price?"

In the case of Caddy, it has been the developers. The obvious problem with this is that it's not sustainable in our economy. The equation simply doesn't balance: You set up your sites with a web server which:

and you profit by:

Or maybe you're a professional web developer who uses Caddy locally to help earn a living more easily.

Either way, the time invested by Caddy developers remains largely uncompensated. Unbalanced economics. It's not sustainable if we're serious about improving the way we serve the Web.

In less than a year, Caddy has well over 20,000 downloads -- many of which aren't counted as the project is cloned and built locally and deployed to both development and production environments. We've accrued over 4,500 stars on GitHub, processed hundreds of pull requests, and have dozens of participants in our chat rooms. I can't speak for other Caddy developers because donations are private, but thanks to very generous donors last year, our web hosting is paid (for now) and I've received a little over $150 for my time.

I learned a lesson from my last project, Papa Parse. That project, like Caddy, experienced a very successful reception on Hacker News. It was picked up by numerous companies to enhance their product offering; government departments around the world use it, and even the United Nations and Wikimedia integrate it. But now I have to pay the bills, and inevitably, work goes where the money does.

So, starting today, we're inviting you to support Caddy by voluntarily paying back the value it provides you. Consider:

Keep in mind that commercial offerings for similar web servers cost anywhere from $80 one-time to $1900/yr. (And none of them do what Caddy does.) My text editor costs $70, even just your domain name probably costs ~$12/yr. (If you support us well enough, we'll send you swag!)

You can still download Caddy without paying, but think of it as a trial period. If you like it and keep using it, you're encouraged to come back and pay what it's worth to you or your company.

This is not a business plan. This is just open source.

I am optimistic about this approach, because the open source community is incredible. I can't speak highly enough of the Go community which (overall) has been helpful when I have questions, forgiving when I make mistakes, diplomatic when I have requests, and supportive when I have announcements or something neat to show off. Let's Encrypt's team has been cooperative and encouraging (I hear they like Caddy's client experience). And it's amazing that over 60 people around the world have volunteered contributions to the project that have been merged in.

We're lucky to have Arroyo Networks sponsoring Caddy. They reached out to me a couple months ago because they realize that Caddy will benefit their customers and they also believe in Caddy's core values. As a beginning graduate student, sponsorships like this are extremely productive. Outside my research, I only have time for one other job. If I can't be paid to work on Caddy, it won't happen.

If you or your company would be interested in sponsoring the project, please do get in touch. We can also find ways to get Caddy to the benefit of your customers or improve your business internally.

Caddy is solving the right problem at the right time. Web security and usability is moving more and more to the responsibility of site owners. For example, HTTPS Everywhere can only help if the site has HTTPS enabled. HTTP/2 makes the Web experience faster, and Caddy is so easy to configure you won't have to sweat it. This really is the best possible time to be a part of the Caddy project. Thanks to your help, I'm excited to keep making it better.

« Blog Index
{{.Include "/includes/footer.html"}}