Community vs Technical Debt

OpenJDK CommunityOracle’s Java technical chief recently admitted that dealing with long standing security issues has hampered the release of the latest Java instalment. The issues didn’t necessarily originate with Oracle, they’ll have been accumulating over many years, first at Sun and then at Oracle. The problem has been that until now these issues have been on a continual back burner, the “tyranny of the urgent” focussing developer attention onto business considerations as the priority.

Dealing with this technical debt is clearly a time consuming affair, but eventually it catches up with a project and needs to be handled. Some long lived projects don’t seem to gather this sort of flotsam though; the key is in the community. Proprietary projects are often forced to be solely feature focussed, but open projects with a healthy community are in a much better position to bypass the problem of technical debt, as community members will often pour enthusiasm and expertise into resolving the backlog.

Indeed it’s interesting to note how in the case of LibreOffice, a large technical debt was inherited from Once the LibreOffice community got their teeth into it they became very focussed on eliminating that debt and still found time to develop new features. There are a lot of them, including some more substantial features such as Microsoft Works Import filters, support for Visio and MS Publisher and CMIS support.

Perhaps then Oracle should be reassured. So long as they are able to keep to their community commitments with OpenJDK, this investment into dealing with the technical debt could be a one-off payment, allowing Java to be developed unhindered in future releases. Red Hat’s has already shown that they’re ready to step in and look after the technical legacy of OpenJDK. The community can deliver if they’re set free to do so.

For a more detailed treatment of this subject, read Simon’s InfoWorld article.