Why did it take so long to release?
Our engineering team was tasked with supporting
the release of the phone and then the now
announced Snappy project. The team cared deeply
about open sourcing this code and spent time
wherever they could spare in moving it forward,
cleaning up the code so it would work enough
outside of the very specific production
environment and untangle it of some commercial
code that was used at some point.
The obvious follow-up question is, given their limited resources, why were they spending some of it on closed-source code based on other people's commercial code?
The answer quoted above said they needed to spend time to "untangle it of some commercial code that was used at some point." That just strikes me as a bizarre problem for Canonical to have even had.
Only if your focus is open source. UbuntuOne was conceived of as a service, so to make the project go faster and solve problems commercial products were used. As you'd expect you then have to disentangle that code to release you code as open source - happens all the time in big proprietary code bases that are being open sourced.