« Blog Index
July 2, 2019

Caddy 2 is Ready for Developers

By Matthew Holt

I've just pushed Caddy 2's source code to the v2 branch of the Caddy repo and moved the Caddy repo to the caddyserver organization on GitHub. Clone it down and kick it around! I want your help making Caddy 2 into your dream web server. Starting today, I want you to contribute to its development by sharing it with others, reporting issues, requesting features, improving documentation, and reviewing pull requests. This is the time to make sure Caddy 2 becomes the best it can be. (And yes, Caddy 2 is and will remain open source.)

Caddy 2 is not yet in beta, nor is it ready for production use; but it is already being used in production on some less important/visible sites. I encourage you to try it in low-risk production settings as well so we can field-test it as widely as possible.

I mustn't forget to mention how excited I am about Caddy 2. Version 2 is what Caddy 1 could have and should have been, but was impossible with the technology of the time. Advances in cloud services, the Go language, the Go ecosystem, and Internet protocols combined make Caddy 2 the most flexible, programmable, and privacy-focused web server for developers and businesses. It is a total evolution from Caddy 1, designed from the ground-up. Caddy 2's new architecture alone closed over 1/3 of all open issues, including some that have been open for several years; and all other open issues are already slated to be resolved soon or have the potential to be resolved with Caddy 2's design.

Put another way, the README for v2 lists more than 60 major improvements Caddy 2 makes over Caddy 1.

Please know that Caddy 2 is not yet feature-complete. Some obvious features such as logging, an advanced reverse proxy, and the Caddyfile, are still being worked on, but will be ready before the 2.0 release.

Giving Caddy Back to the Community

Part of the reason I moved Caddy out of my personal account---and why I am opening the Caddy 2 source before it is finished---is because I want to undo the mistakes I made as Caddy 1 grew. That means no license shenanigans, no business use case limitations, no unnatural response headers. Caddy 2 is and will remain truly open source (it is licensed with Apache 2.0). It should be the Go community's web server. Let's all hack on it together.

Now that I've finished grad school, I finally have the privilege of working on Caddy full-time. And through a partnership with Ardan Labs, the growing pains that Caddy was facing over the last few years are being relieved as we work together to make Caddy into the ultimate server.

We really want to put Caddy 2 in the community's hands, which is why I'll be looking for committed maintainers who are independent of Light Code Labs and Ardan Labs to be regular collaborators on the Caddy project. This way, both the open source community and Caddy Enterprise customers can be fairly represented not only in terms of user base, but in the actual development efforts. (As it goes with open source, this is not a paid position, but you are welcome to seek funding if you desire.)

As a Caddy lead maintainer, you will:

We prefer maintainers who:

Contributing to open source can be fun and rewarding, and you'll get to work on a project that many people use and benefit from. Caddy is especially fun because of the various use cases and neat modules that make it all work! (Plus it's Go, so what's not to love.)

Once we get established, lead maintainers will be able to merge pull requests and release new non-major versions without needing me or anyone at Light Code Labs or Ardan Labs to manually approve them; in other words, you'll have the autonomy needed to propel the open source project forward.

If you are interested, please participate in our forum. You may also nominate someone else for the role (just be sure to tag/notify them).

Showcase

To help members of our community get to know one another, I've created a new category in our forum: Showcase - where you can share a link to your site, service, or app that is powered by Caddy, and tell us a bit about it. We hope you'll have fun with this category!

Try Caddy 2 Today

Without further ado, please check out the development version of Caddy 2 and let me know what you think! Please also feel free to discuss it on our forums.


« Blog Index