$c->hide_TODO = false;
If true, then TODO will only be visible to the admin or owner of a calendar.
Often these todo are only relevant to the owner, but in some shared calendar situations they might not be in which case you should set this to false.
The purpose of setting "$c->hide_TODO = true;" is to optionally hide all tasks (i.e. VTODO resources) from non-admin users of the calendar. In fact it is a somewhat unsatisfactory solution because it really needs to be settable on a per-collection basis, rather than site wide.
The original rationale behind this option was that it is more confusing to see other's tasks mixed in with your own, though obviously this depends to some extent on the software used. So this option was introduced as a way of excluding the VTODO from queries where you do not have full rights. CalDAV does not have a setting to describe such functionality, although obviously you could store your tasks in a separate collection, with separate privileges.
Of course if you are an administrator of the system you have full rights everywhere, so the setting is useless in that case, but in general the administrator should not be a calendar user of the system. Best to have a separate admin user, and only use the caldav server as a normal user.
Available from DAViCal version: 0.5 and later