Are nodes that don't accept inbound connections necessarily leechers? Gavin Andresen and James Lopp seem to think that nodes that don't accept inbound connections could be called "leechers" in the same way a torrent leecher takes but doesn't give (or at least they did 5 years ago). I see no reason why leeching or seeding has anything to do with whether you accept inbound connections or not. 

Is this actually true in some way I haven't thought of?
An outbound connection is functionally equivalent to an inbound connection except in the respect that you initiated it.  An outbound only node provides the same resources to the network except that it doesn't provide incoming connection slots.  Outbound-only nodes forward blocks and transactions just like any other node. I think it is generally misleading to describe them as leeches.

You could consider one to be a connection slot leech but not a leech in any other respect.  There have been times in the past when the Bitcoin network has been short of inbound connection slot capacity, and a troubling percentage of listening nodes are concentrated in a few datacenters (and many appear to be run by parties with ill intent for Bitcoin users)... so it is certainly good for you to accept connections if you at all can.

Nodes without open inbound also provide important DOS and privacy protection to the network: It is much more difficult for an attacker to get connected to nodes that don't accept random connections, since the attacker must wait for the victim to come to them. So the presence of outbound-only peers has the advantage of strengthening the network against some kinds of attack. (That said, the network has more than enough out-only peers to achieve those benefits already...)