title: How do I make a required thrift field optional?
body: <p>What is the best process for making a <code>required</code> field <code>optional</code> in thrift. For example, I have a struct...</p>
  
  <pre><code>struct Message {
      1: required double userID;
      2: required string content;
      ...
  } 
  </code></pre>
  
  <p>... but I want to make <code>content</code> optional.</p>
  
  <p>EDIT: To clarify, I already have consumers that use this struct, so I would need to update it without breaking those consumers. A staged upgrade is fine (ie - add a new <code>optional</code> field, update the downstream clients, then remove--or stop using--the old <code>required</code> field).</p>