I&#x27;ve been involved at various times with both Martin and Pieter on the projects that motivated this article.  The dichotomy here sounds compelling, but I think it hasn&#x27;t any basis in reality at all.<p>Let&#x27;s look at the data.  nanomsg (&quot;the technical endeavor&quot;) is, objectively, a project with declining activity, and little of any import has happened in 2015.  [0]  libzmq (the &quot;social club&quot;) merges some 20 patches&#x2F;week. [1]<p>Now, maybe this is because nanomsg is &quot;done&quot;, and has simply already achieved its status as a &quot;small component that does one thing and does it well&quot; where nothing else needs to be added, while libzmq faces &quot;strong pressure to add one more option, one more feature&quot;.<p>Except that nanomsg is now in its fourth year of unstable beta, and even its own mailing list is riddled with statements that things are so bad don&#x27;t even bother to file bugs [2], features are &quot;horribly broken&quot; [3], and you should use a different project instead [4].  From my own experience deploying nanomsg in large environments, this criticism (from core developers!) is absolutely true.<p>One cannot look at these projects and fairly conclude that there is any tradeoff at all between &quot;software as a social club&quot; and &quot;software as a technical endeavor&quot;.  In reality libzmq is both, while nanomsg cannot even succeed at one.  libzmq may be a social club, but it&#x27;s a social club that ships.<p>Don&#x27;t get me wrong, libzmq has plenty of problems, technical and otherwise.  I am no champion of it.  And it was totally plausible, in 2012, that the philosophy enshrined in nanomsg would produce a better library.  I believed that.<p>What <i>is</i> wrong is now – now that we have the data – to ignore it and pretend that doubling down on a failing strategy is a good idea.  What <i>is</i> wrong is to gloss the serious <i>technical</i> inferiorities of nanomsg as a &quot;personality difference&quot;, or that the reason it is in a perpetually unusable state is because &quot;we focus on the code&quot;.<p>For nanomsg to be healthy, it needs to do a real postmortem.  Admit things aren&#x27;t working.  Think about why.  Change the philosophy to something that isn&#x27;t <i>proven</i> to be broken.  Kill some of the sacred cows.<p>Instead, puff pieces like this are written, that tell stories that &quot;feel true&quot; to developers instead of addressing the real facts at any point.  The software can never get healthy when this is the approach.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;nanomsg&#x2F;nanomsg&#x2F;graphs&#x2F;contributors" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nanomsg&#x2F;nanomsg&#x2F;graphs&#x2F;contributors</a><p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;zeromq&#x2F;libzmq&#x2F;graphs&#x2F;contributors" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zeromq&#x2F;libzmq&#x2F;graphs&#x2F;contributors</a><p>[2] <a href="http:&#x2F;&#x2F;www.freelists.org&#x2F;post&#x2F;nanomsg&#x2F;inproc-bugs,1" rel="nofollow">http:&#x2F;&#x2F;www.freelists.org&#x2F;post&#x2F;nanomsg&#x2F;inproc-bugs,1</a><p>[3] <a href="http:&#x2F;&#x2F;www.freelists.org&#x2F;post&#x2F;nanomsg&#x2F;v07beta-released" rel="nofollow">http:&#x2F;&#x2F;www.freelists.org&#x2F;post&#x2F;nanomsg&#x2F;v07beta-released</a><p>[4] <a href="http:&#x2F;&#x2F;www.freelists.org&#x2F;post&#x2F;nanomsg&#x2F;release-of-nanomsg06beta,9" rel="nofollow">http:&#x2F;&#x2F;www.freelists.org&#x2F;post&#x2F;nanomsg&#x2F;release-of-nanomsg06be...</a>