  Message-passing software systems exhibit non-trivial forms of concurrency and
distribution; they are expected to follow intended protocols among
communicating services, but also to never "get stuck". This intuitive
requirement has been expressed by liveness properties such as progress or
(dead)lock freedom and various type systems ensure these properties for
concurrent processes. Unfortunately, very little is known about the precise
relationship between these type systems and the classes of typed processes they
induce.
  This paper puts forward the first comparative study of different type systems
for message-passing processes that guarantee deadlock freedom. We compare two
classes of deadlock-free typed processes, here denoted L and K. The class L
stands out for its canonicity: it results from Curry-Howard interpretations of
linear logic propositions as session types. The class K, obtained by encoding
session types into Kobayashi's linear types with usages, includes processes not
typable in other type systems. We show that L is strictly included in K, and
identify the precise conditions under which they coincide. We also provide two
type-preserving translations of processes in K into processes in L.
