The little legacy code that could: a fable of software ownership
The underlying technology doesn&#x27;t have to be obsolete to have legacy code problems. Linux, Windows, GCC, Microsoft Office - all have serious internal problems from legacy code, and are tough to maintain.<p>It&#x27;s not so bad for big projects with enough staff. It gets tough when the legacy code does something hard, and the maintenance team doesn&#x27;t really understand why something was done in some way.<p>Second Life, the virtual world, has that problem. It&#x27;s written in C++, and some very good people wrote it about 10-15 years ago. They&#x27;re all gone. The people who maintain it today are struggling to fix serious bugs that have been outstanding for 5-8 years. It&#x27;s not just &quot;legacy&quot;, it&#x27;s &quot;not web-like&quot;. It&#x27;s a distributed system with tens of thousands of servers in one data center. It&#x27;s a tightly coordinated soft real time system. There&#x27;s a huge amount of in-memory state, which is changeable in real time yet is constantly being backed up.  This is totally alien to people who only know transaction-type web-based systems. So they can&#x27;t hire anybody and have them be productive quickly.