&gt; If you want to re-implement logind you will invariably read the logind source code anyway...<p>1) Does this mean that you consider software&#x27;s source code to be adequate documentation of an API and its behavioral contracts?<p>2) There&#x27;s this saying that goes something like &quot;You never know that you have a good API until you&#x27;ve created three independent implementations of it.&quot;. It&#x27;s <i>very</i> difficult to create an independent implementation of an API if the primary documentation of important parts of that API&#x27;s behavior is the source code that implements that API.