There seems to a lot of ways to monetize open source. The last post covered open core - where you have some add on component that is more or less proprietary. Today
In our quest to cover them all it's time to turn to the somewhat exotic. I actually haven't seen any projects doing this. If you know of any, please leave a comment.
Varnish is tied to Unix and POSIX. Some of the design decisions made makes porting Varnish to Windows really hard. There are, however, other considerations in addition to the purely technical ones.
The Varnish Community
We get a lot of help from our community. I believe this is in part due to the open source culture. You're supposed to be a good citizen and help out. Our users are good at debugging and they operate in an environment where debugging tools are easily available. So, requests for core dumps, stack traces, system call traces and log excerpts are fullfilled more often then not.
So, what is the situation on Windows? For starters the tools to produce decent debugging information is
not part of the operating system
not easily available, on FreeBSD and Linux you can install a debugger with a single command
not something the average system administrator is trained in using
So, I'm speculating that Windows users won't contribute in the same way as FreeBSD and Linux users do. If we decide to port Varnish to Windows, it not at all certain we'd get a the same support from the community.
Case in point; MySQL on Windows and Linux
Lets try to verify this in some way. I did a search in the MySQL bugzilla for bugs in the InnoDB storage engine. One search on Linux and one on Windows. Guess what, there are twice as many bugs reported on Linux as there is on Windows. This even the majority of MySQL users (50%) use MySQL on Windows. It might be because MySQL runs much smoother on Windows, but I doubt that.
I think it is because Linux sysadmins are better community players then Windows sysadmins. It's in their blood. The same goes for FreeBSD, of course.
So, if this is true it undermines the rationale behind porting Varnish to Windows. The port will in itself be expensive and the maintenance cost will be higher. So what should we do? Well, we could make the port proprietary. Varnish could have a proprietary cousin, Lacquer, that only runs on Windows. It would contain the same code base, but with a giant windows patch maintained out of tree. In order to get access to it you would have to pay and you would be supported in much the same way that any other proprietary product, except we would of course have better service. :-)
I can certainly see Lacquer being popular. It would make give a lot of Sharepoint administrators an viable option accelerating Sharepoint in their Windows only environment. Right now pure Windows environments that want web accelerators within their firewalls are left with the old, expensive and slow alternatives.
Let me underline one thing. This is not something we have planned to do. This is pure speculation on my side. It's just published here to help others starting up a business on open source a few more options. Then again, if there is demand.... Please, tell me what you think in the comments.
The picture is (c) 2006 Darwin Bell and can be found here.