Transaction outputs with value 0

Transaction outputs with value 0

If I am correct, some transactions have outputs with “value” field equal to 0, and some even have all their output “value” fields equal to 0.

See for instance:
transaction 9173744691ac25f3cd94f35d4fc0e0a2b9d1ab17b4fe562acc07660552f95518

I wonder if this is a feature or a bug, and what it means to send 0. Any thoughts?