Ubuntu creator wants to squash 'upstream' bugs

Mark Shuttleworth has called for Ubuntu developers to accept responsibility for all flaws in the OS's code, including those in 'upstream' source code

The founder of the Ubuntu open-source operating system, Mark Shuttleworth, has called for Ubuntu developers to fix all software flaws found in the operating system, including, crucially, those in inherited source code.

Shuttleworth, who runs Ubuntu's commercial arm, Canonical, said that most users expect developers of open-source distributions to fix bugs affecting the operating systems, even if the flaws were introduced in groups of files developed by other coders. Such groups of files are often referred to as 'upstream' source code.

"We need to accept some responsibility for all the software defects ('bugs') that users actually experience across the entire stack," wrote Shuttleworth in a blog post. "Most users don't install their apps from upstream source [code]; they install them from the packages provided by their distribution. So, when they experience a bug, they don't know if it's a bug introduced by that distribution or a bug in the underlying upstream code. They don't know, they don't care and they shouldn't have to."

Shuttleworth wrote that, while Ubuntu had suffered from as many reported software flaws as OpenOffice, Mozilla, Gnome and KDE combined, most of the bugs had been found in the upstream source code. To combat this, Shuttleworth said that bug fixes should also be relayed upstream.

"Our primary goals should be to ensure that fixes we produce, and information we generate in the QA [quality-assurance] process, make their way upstream, where they will benefit the broadest cross-section of the community," wrote Shuttleworth, who added that the Ubuntu community should be "responsible for the user experience of every line of code, even though we don't produce every line of code".

Shuttleworth's move could go someway towards addressing the issue of who should be responsible for patching flaws in open-source code, when that code is developed by disparate, potentially unconnected groups.