This is one of the reasons I love working on LibreOffice. I think most people acknowledge that LibreOffice is a pretty decent office suite. But it is just over 30 years old now and it has acreted massive amounts of legacy code, some questionable design decisions and in terms of often trying to track it in version control it can be a nightmare if you go back far enough.<p>But it would definitely be a mistake to rewrite it from scratch. There are millions of users who rely on it, and it&#x27;s a massive code base that runs on three major operating systems - four if you include Android.<p>Instead, the LibreOffice developers are slowly working through refactoring the code base. They are doing this quietly and carefully, bit by bit. Massive changes are being done in a strategic fashion. Here are some things:<p>* changed the build system from a custom dmake based system to GNU guild - leading to reduced build times and improving development efficiency<p>* the excising of custom C++ containers and iterates with ones from the C++ Standard Template Library<p>* changing UI descriptor files from the proprietary .src&#x2F;.hrc format to Glade .ui files<p>* proper reference counting for widgets in the VCL module<p>* an OpenGL backend in the VCL module<p>* removal of mountains of unneeded code<p>* cleanup of comments, in particular a real push to translate the huge number of German comments to English<p>* use of Coverity&#x27;s static analysis tool to locate thousands and thousands of potential bugs most of which have been resolved<p>* a huge amount of unit tests to catch regressions quickly<p>This has allowed LibreOffice to make massive improvements in just about every area. It has also allowed new features like tiled rendering - used for Android and LibreOffice Online, the VCL demo which helps improve VCL performance, filter improvements which has increased Office compatibility and allowed importing older formats, a redesign of dialogue boxes, menus and toolbars which has streamlined the workflow in ways that make sense and are non-disruptive to existing users, and many more improvements which I probably don&#x27;t know about it has slipped my mind.<p>But my point is - if LibreOffice had decided to do a rewrite it would have been a failure. It is far better to refactor a code base that is widely used than to rewrite it, for all the reasons the article says.