Software &quot;with no upgrade path&quot; that hasn&#x27;t been proven correct relative to a formal specification and deployed in an appropriate context (sufficient conditions to consider it a &quot;not software&quot; black box) should be considered a mistake and the responsible parties should be held accountable for reparations. Complacency with its continued existence is unsustainable.<p>Obviously this is an idealistic &quot;should&quot;, but we need to take every available step to move towards this stance because a policy of limiting the networked universe based on the worst common denominator client results in an inescapable black hole of technical debt.<p>Open-source software plays into this model beautifully because it makes it much easier to propagate improvements across the entire space of systems. There remain some problems such as langauge interoperability (&quot;best implementation of protocol X is in language Y but our system is written in Z and the Y-Z interop story is bad&quot;) which I&#x27;d like to see people give more attention. We need to address the quadratic workload of porting&#x2F;binding every library to every language.