Varnish Moral License (almost) pays for half-time developer.

Poul-Henning Kamp phk at
Thu Jul 8 00:52:29 CEST 2010

Midsummer night came and went, and it is time for another status
email from the Varnish Software Project.

Varnish Moral License

A little over half a year ago, I instigated the "Varnish Moral
License" to fund development and bugfixing of the Varnish HTTP Cache
software package.

This has been a great success:  I have been working half-time on
Varnish since january 1st, resulting in dozens of bugfixes many new
features and a couple of releases.

To the 8 companies who bought Varnish Moral Licenses:  A BIG Thank You!

You can read more about the Varnish Moral License including accounting
of money and hours here:

Now, the bad news is that strictly speaking the VML scheme is running
in the red.

I have worked 508 hours, but since some of the outstanding invoices
cover dates in the future, only 472 of those hours have been funded.

I am as much an idealist as the next guy in Open Source Software,
but I also have a mortgage to pay and kids to keep warm and happy,
and while those 36 hours are not going to bankrupt me, they come
on top of all the time I spend replying to varnish-related emails
and helping out on the varnish IRC channels _and_ the VML being
invoiced at my absolutely lowest possible hourly rate.

Unless I can increase the VML license fees by approx EUR2000/month,
I will have to pace my Varnish work a little bit, in order to not
actually loose money on it.  Send me email if your company is
interested in helping fill this gap.

Another and much cheapr way to show that you appreciate Varnish is
to surprise me with good books.  It doesn't pay my mortgage, but it
makes me very happy:

With that bit of begging over with, let me give you a bit of status:

Release Status:  2.1.3

We are trying to get a 2.1.3 release canididate tested and released
this month, contents will be something like the top part of this

2.1.3 will probably also contain the new Tutorial that Per Buer
of Varnish Software has written.

Release Status:  3.0

My main focus is on Varnish 3.0, which will be better, shinier,
safer, cooler, will cure the common cold while always showing correct
signal strength bars, no matter which hand you hold it with.

To be honest I have no idea what will be in Varnish 3.0:  That
depends entirely on how much time I manage to spend before we release
it and how many bugs I have to track down.

Tentatively, I am aiming for a release around december 2010, but
we may do an "preview" release earlier than that.

Right now I am working on the VCL compiler, to add support for
expressions, functions (such as type conversions) and external
modules.  This will allow stuff like:

	// Not sure what this actually means...
	if (beresp.ttl + beresp.grace <
	    client.grace - duration(beresp.http.extra, 30s)) { [...] }
	set resp.http.Expires = now + 4.5h;
	// Overwrite client.ip, if X-Forwarded-For is valid IP# 
	set client.ip = IP(req.http.x-forwarded.for, client.ip);
	// Much neater than inline-C
	module geoip;
	set =;

Dynamic stats-counter allocation is almost working, so that we can
get per-backend, per-vcl, per-storage etc.  etc.  statistics.

In the background I am experimenting with streaming pass and fetch
and several other points from the extensive TODO list I brought
home from VUG2 in Amsterdam.

The main reason we bump the major number from 2 to 3, is that I
want to fix up some inconsistencies and bad naming choices, to make
varnish more intuitive.  For instance we have "purges" which are
really "bans" and an experimental "nuke" which is really a "purge",
and we have queued requests showing up as "overflowed" in the stats
etc. etc.

Other Varnish stuff

Anybody want to arrange Varnish User Group meeting #3 ?

The VUG2 participants, inspired by then recent volcanism wanted to
go to Iceland, but we will take any reasonably accessible location.

I have a new presentation brewing, aimed at a CMS audiences.  It
has been proposed to DrupalCon2010 in Copenhagen and T3CON10 in
Frankfurt, will update Wiki as events develop.

Thanks for listening, enjoy your (Antipode ? Winter : Summer)


Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

More information about the varnish-announce mailing list