News for hackers. Stuff that matters.
Re:Announcing Caddy Commercial Licenses by mholt on Wednesday September 13, 2017 @10:06AM (#15238347)
Thanks for your feedback. I'd like to know more.

> The fact that the headers aren't seen by most non-technical users is moot.

Why's that? (And even among your technical visitors, how many of them actually inspect the response headers?)

> I find this practice pretty obnoxious to the point of looking at NGINX Plus for commercial use instead.

It's good to know that price isn't the bottleneck, then. Does it make any difference to know that commercially-licensed Caddy builds don't have that header?

Re:Announcing Caddy Commercial Licenses by lol768 on Wednesday September 13, 2017 @10:15AM (#15238449)
> Why's that? (And even among your technical visitors, how many of them actually inspect the response headers?)

I dislike this for a few reasons. Firstly, it honestly comes across as petty. I'm using the server for personal reasons, it's for a non-commercial site which I don't make money off. I don't display ads, and suddenly I'm now being forced to serve ads to my visitors. The medium of delivery is utterly irrelevant to me.

Secondly, it makes it more difficult to take steps to make it less obvious which web server is being used. I'd do this to make it slightly more difficult for script kiddies looking to exploit recent vulnerabiltiies - not because I think security through obscurity is a good idea.

> It's good to know that price isn't the bottleneck, then. Does it make any difference to know that commercially-licensed Caddy builds don't have that header?

No. The point is, you've annoyed someone who liked your software, used it for personal use (costing you nothing) and would've happily recommended it to colleagues.

Re:Announcing Caddy Commercial Licenses by JosephLark on Wednesday September 13, 2017 @10:30AM (#15238611)
> No. The point is, you've annoyed someone who liked your software, used it for personal use (costing you nothing) and would've happily recommended it to colleagues.

This is worth keeping in mind. Personally, this change is putting me off Caddy to the point that I might stop using it for personal sites. The big feature for me - instant LetsEncrypt TLS certificates - can be done on other servers now fairly simply. So the end result might be that I no longer use Caddy, which means I'll no longer have it in mind for commercial projects I work on.

Re:Announcing Caddy Commercial Licenses by djsumdog on Wednesday September 13, 2017 @10:41AM (#15238717)
I have pretty much the same reaction. I was considering moving some stuff to Caddy, but looking at this, I'd need to create my own build pipeline to keep rubbish like this out. No thanks. I'll use tools that give me the options of turning things like this on/off without having to compile my own copy.
Re:Announcing Caddy Commercial Licenses by tylersmith on Wednesday September 13, 2017 @06:03PM (#15243156)
I was pleasantly surprised at how quickly I was able to rip out Caddy and replace it with nginx and Traefik (in different cases), even with the LE automation. It shouldn't be much of a burden to move your person projects I don't think.
Re:Announcing Caddy Commercial Licenses by folago on Thursday September 14, 2017 @06:23AM (#15246498)
Seconded. This is also how I felt reading the news.
Re:Announcing Caddy Commercial Licenses by mholt on Wednesday September 13, 2017 @10:49AM (#15238796)
> Secondly, it makes it more difficult to take steps to make it less obvious which web server is being used. I'd do this to make it slightly more difficult for script kiddies looking to exploit recent vulnerabiltiies - not because I think security through obscurity is a good idea.

I thought about this as well, but I'm not convinced that hiding the Server header or anything like unto it is really that beneficial. Most exploits are automated anyway. And if it becomes common to hide or remove the Server header for Caddy instances, then guess what becomes its new signature?

> used it for personal use (costing you nothing)

This unfortunately isn't true. It costs a LOT of time and effort to maintain the build infrastructure and the Caddy project itself, even if its users don't make a profit from it.

Re:Announcing Caddy Commercial Licenses by seanwilson on Wednesday September 13, 2017 @04:23PM (#15242223)
> I thought about this as well, but I'm not convinced that hiding the Server header or anything like unto it is really that beneficial. Most exploits are automated anyway.

It probably doesn't help much but it can't hurt. Some servers send back a "Server" header that tells you the OS being used with the Apache and PHP version up to the minor version number for example. There's no benefit to leaking this information and it's potentially useful to an attacker even if only marginally so why risk it?

Re:Announcing Caddy Commercial Licenses by kbenson on Wednesday September 13, 2017 @06:47PM (#15243452)
> It probably doesn't help much but it can't hurt ... There's no benefit to leaking this information and it's potentially useful to an attacker even if only marginally so why risk it?

Actually, it can hurt. One really good reason to note it is that for the same reason an attacker might want to know the version, a defender (such as an employee) might want to as well. I've noted exploitable versions of software found to other divisions of the company I was working at before. For the attacker, it's really not much of an issue anyway, they'll just throw every exploit at it anyway (my webserver logs were always filled with random exploit attempts such as for wordpress and IIS).

Re:Announcing Caddy Commercial Licenses by warrenm on Wednesday September 13, 2017 @02:24PM (#15241106)
>> used it for personal use (costing you nothing)

> This unfortunately isn't true. It costs a LOT of time and effort to maintain the build infrastructure and the Caddy project itself, even if its users don't make a profit from it.

Yes - it is true.

The incremental cost for every additional Caddy install is 0 (or, as close to 0 as you can calculate for bandwidth charges).

So ... no. It does not cost you anything for an additional user to run Caddy. It is a sunk cost for any given new development - whether one person runs it, or millions.

But instead of realizing this, you've now put-off a vast swath of potential users.

Bad form.

Re:Announcing Caddy Commercial Licenses by Veratyr on Wednesday September 13, 2017 @03:15PM (#15241608)
> I thought about this as well, but I'm not convinced that hiding the Server header or anything like unto it is really that beneficial.

We as users don't believe that's your choice to make.

> And if it becomes common to hide or remove the Server header for Caddy instances, then guess what becomes its new signature?

This only applies if Caddy is the only server that does this, which is not the case.

Re:Announcing Caddy Commercial Licenses by StavrosK on Wednesday September 13, 2017 @10:10AM (#15238394)
> And even among your technical visitors, how many of them actually inspect the response headers?

I find that a bit disingenuous. You can't both include annoying headers and argue that they aren't annoying anyone because nobody will see them. If nobody will see them, why add them in the first place?

Re:Announcing Caddy Commercial Licenses by mholt on Wednesday September 13, 2017 @10:29AM (#15238602)
I know devs who use Sublime Text almost indefinitely without paying. They don't mind the little "Hey don't forget to buy" popup every once in a while.

We aren't putting popups on your site. :P

Re:Announcing Caddy Commercial Licenses by tylersmith on Wednesday September 13, 2017 @06:05PM (#15243165)
No, you're injecting data into traffic. That's way worse than a text editor occasionally reminding you you haven't paid.
Re:Announcing Caddy Commercial Licenses by kbenson on Thursday September 14, 2017 @03:23PM (#15251626)
Really? I don't see it as any different than an unregistered document editor saving "created with an unregistered version of X" in the comment section of saved documents that it edits. Stuff like that has been going on for decades.
Re:Announcing Caddy Commercial Licenses by kelnos on Saturday September 16, 2017 @02:46AM (#15263300)
Sure. Some people are fine with using free-as-in-beer software if the "cost" of that is the maker gets some free advertising. Some people -- like many in this thread -- are not ok with that. Both positions are perfectly valid.
Re:Announcing Caddy Commercial Licenses by bauerd on Wednesday September 13, 2017 @10:18AM (#15238478)
To give commercial users an incentive to pay for the open source software they use. Can you name an open source project that does not offer extended features for commercial versions and that sells? Because I can't
Re:Announcing Caddy Commercial Licenses by TAForObvReasons on Wednesday September 13, 2017 @11:14AM (#15239013)
There's a difference between "extended features for commercial versions" and "adware". Usually the open source version includes core features that solve a basic set of problems, and the commercial versions add additional features to solve other and/or larger problems. At no point is there an explicit crippling of the open source.

What's particularly frustrating is the burying of the lede here. The summary of the page intentionally omits the fact that you can build from source and use it in commercial contexts. And the section discussing the Apache license is factually incorrect: "Remember that building Caddy from source is still subject to the Apache 2.0 license which requires attribution and stating changes." -- that is only true if you are selling on-prem software that ships with the program. If you are using it in the normal course of your SaaS, no attribution is required.

Re:Announcing Caddy Commercial Licenses by StavrosK on Wednesday September 13, 2017 @03:43PM (#15241879)
Exactly. I would have no issue if paid usage was for things big companies are more likely to need, e.g. support, high-performance features, etc, like nginx does, but this is egregious.
Re:Announcing Caddy Commercial Licenses by snark42 on Wednesday September 13, 2017 @01:52PM (#15240745)
> Can you name an open source project that does not offer extended features for commercial versions and that sells?

pfSense, Ceph (prior to RH purchase) and OpenNebula off the top of my head.

Re:Announcing Caddy Commercial Licenses by tiernano on Wednesday September 13, 2017 @04:05PM (#15242075)
Pfsense does have commercial offering though netgate...
Re:Announcing Caddy Commercial Licenses by detaro on Wednesday September 13, 2017 @04:09PM (#15242115)
Netgate sells service, hardware and certification, not extra features.
Re:Announcing Caddy Commercial Licenses by tiernano on Wednesday September 13, 2017 @05:21PM (#15242812)
Doesn’t gold membership include extra features?
Re:Announcing Caddy Commercial Licenses by detaro on Wednesday September 13, 2017 @11:31PM (#15244798)
Looking at it again, it seems their cloud configuration backup service has special client code and could qualify as such. But the primary thing seems to be access to information, the devs and an officially certified VM for AWS.
Re:Announcing Caddy Commercial Licenses by StavrosK on Wednesday September 13, 2017 @10:34AM (#15238639)
Ad headers isn't an extended feature, it's a nag screen.
Re:Announcing Caddy Commercial Licenses by bauerd on Wednesday September 13, 2017 @10:37AM (#15238675)
Removal of ad headers surely counts as a feature then?
Re:Announcing Caddy Commercial Licenses by StavrosK on Wednesday September 13, 2017 @11:07AM (#15238934)
No, it counts as a bugfix.
Re:Announcing Caddy Commercial Licenses by andkenneth on Wednesday September 13, 2017 @10:15AM (#15238448)
I think the headers are there so they can see if commercial sites are using the personal version and get them to pony up.
Re:Announcing Caddy Commercial Licenses by jayrox on Wednesday September 13, 2017 @10:49AM (#15238792)
commercial sites have the easy ability to go to https://github.com/mholt/caddy; download the source; remove the header from header.go and server.go; compile; run

i'd venture to guess many build the binary themselves already. so they can add their own tweaks.

how would anyone be able to prove a website is being ran by caddy if the server doesn't announce that it is caddy?

Re:Announcing Caddy Commercial Licenses by detaro on Wednesday September 13, 2017 @11:19AM (#15239064)
If you do build it yourself, you don't fall under the commercial license, so it's correct if those are not detected.
Re:Announcing Caddy Commercial Licenses by nopzor on Wednesday September 13, 2017 @10:43AM (#15238731)
Wouldn't they already know who their customers are?
Re:Announcing Caddy Commercial Licenses by underyx on Wednesday September 13, 2017 @10:17AM (#15238473)
It's enough if nobody but the site maintainers will see them, that's what can annoy them into upgrading.
Re:Announcing Caddy Commercial Licenses by tylersmith on Wednesday September 13, 2017 @06:01PM (#15243139)
I think the biggest issue is that you've shown you're willing to modify traffic for license control. If you'd simply released commercial support for $500/mo/instance I'd have gladly paid for it in my products and think many others would have too. Showing such obtrusive forms of DRM makes me not want to ever use any of your software again. I've spent the past couple of hours migrating from Caddy to nginx and I've contacted them about buying support. I guess the silver lining was the nginx was was easy to migrate to.
Re:Announcing Caddy Commercial Licenses by mst on Wednesday September 13, 2017 @09:04PM (#15244166)
I've dealt with similar-ish situations before and would suggest that you consider (I am not recommending, merely suggesting) adding a config option -

    thanks_sponsors false
then people who really hate that header can disable it but it's clear what they're doing with the software they're paying no money for. If people complain about that well, that's their issue IMO. And they have to be explicit about how they're behaving.

This has worked well for me in the past. If you'd be interested chatting about how/why reply and I'll drop you an email.

Re:Announcing Caddy Commercial Licenses by AndrewCHM on Wednesday September 13, 2017 @11:20AM (#15239070)
peronally, while totally leaving my life unaffected, it'd be one of those thoughts in the back of my head, both knowing that there is some random text being output (need to optimize everything!), and that there is something intentionally uncontrollable there, and to a lesser degree, something there to intentionally bother me.

Can I ask who came up with the idea, and what other alternatives were discussed? Was this requested by the sponsors?

edit: as a further question, if this results in a fork (well, I guess thats a bit late but) or an increase in the number of from-source builds, would you seek to make those two options more difficult? (e.g. legal pressure, or mangling the codebase in some way with hard to acquire dependencies)

Re:Announcing Caddy Commercial Licenses by Touche on Wednesday September 13, 2017 @10:48AM (#15238783)
Hi mholt, I have used Caddy almost since you started it. Great product!

My issue with this is that there isn't an affordable license for small non-profit websites (like a person's personal website). I'd gladly pay if it were affordable, but it is not. So now I have to choose between incurring the wasted bandwidth of this header to my users, or choosing a different web server.

Re:Announcing Caddy Commercial Licenses by bschwindHN on Thursday September 14, 2017 @03:32AM (#15245670)
> incurring the wasted bandwidth of this header to my users

Can you attach a concrete number to this? I think I found the example header and it's around 91 bytes, right?

How many requests do you need to service before this becomes a real issue?

You could also just build it from source...

Re:Announcing Caddy Commercial Licenses by mholt on Wednesday September 13, 2017 @11:09AM (#15238963)
Thanks for your feedback. You could build from source, that's free.

If you need a commercial license, contact us at [email protected] and we'll see about working something out for you!

Re:Announcing Caddy Commercial Licenses by derefr on Wednesday September 13, 2017 @03:22PM (#15241667)
Even the time required to negotiate a custom commercial license costs more than the license is worth (and/or more than the switching cost) for most personal users.

I was using Caddy because I don't have time in my day to configure Nginx; but I also don't have time in my day to build Caddy from source to repackage+deploy it to my infrastructure. So back to Nginx it is.

What I would have time in my day for is a standardized one-time PayPal payment in exchange for a commercial license authorizing me to use Caddy for a site with traffic not exceeding [X amt any commercial site would quickly hit]. You know, like buying an SMB license of any other on-prem web-service software.

Re:Announcing Caddy Commercial Licenses by jimjimjim on Wednesday September 13, 2017 @04:23PM (#15242227)
you don't have time to recompile a software package but you do have time to read hackernews?

is time the right word here?

Re:Announcing Caddy Commercial Licenses by derefr on Wednesday September 13, 2017 @06:35PM (#15243372)
My job pays me units of money in exchange for a finite time per day spent dedicated to advancing their goals. There are more potential things to do for the company than fit into the time they pay me to spend; and I'm not going to work for free past that time just to fit all those things in. Therefore, I have to optimize—to choose which things are most worth the company's time. Compiling and configuring software packages are rather low on that list (which shouldn't be surprising, given that I'm a programmer, not an ops person.)

I read HN on my own time.

Re:Announcing Caddy Commercial Licenses by bschwindHN on Thursday September 14, 2017 @03:42AM (#15245726)
In the time it probably took you to type that comment, I compiled caddy from source. I've never even used it before, but in general Go programs are very easy to build.
Re:Announcing Caddy Commercial Licenses by shakna on Thursday September 14, 2017 @07:38AM (#15246898)
> but in general Go programs are very easy to build.

So long as you organise all your code according to GOPATH. You can't just compile it in your Downloads folder.

Re:Announcing Caddy Commercial Licenses by bschwindHN on Thursday September 14, 2017 @09:32AM (#15247786)
Yes I think the GOPATH is bullshit but it's also not hard to move files from one directory to another.
Re:Announcing Caddy Commercial Licenses by CodeWriter23 on Thursday September 14, 2017 @08:20AM (#15247187)
Personally, I prefer viewing HTTP headers in the comfort and privacy of my Secret Mountain Laboratory, with my fluffy cat on my lap, usually in the middle of the night, and often in complete silence. That Caddy has chosen to interrupt what to me is a sacred space with advertisements, while burning additional bandwidth, all day every day, for no good reason at all because only weirdos like me are going to see it is beyond obnoxious. In my view if this doesn't cross the line into being antisocial, then it walks right up to that line. Do what you want with your code, and due to the MIT license, so will the rest of the Internet. And PS using a Trademark in a product comparison is covered by fair use. You all really should familiarize yourselves with the Streisand Effect and fundamentals of public relations.
Re:Announcing Caddy Commercial Licenses by Bjartr on Wednesday September 13, 2017 @10:23AM (#15238539)
What if, instead of adding headers, you did something more like mobaxterm where there are games that can only be removed by paying for the commercial version. Like all personal caddy servers respond to /nethack?