Canonical, the company behind the popular Ubuntu Linux distribution, has released a content-development tool designed to move development into the internet age.
Bazaar 1.0, released on Friday, differs from other version control systems (VCS) in that it's distributed rather than centralised, meaning that it can be used by teams of widely dispersed programmers without the need for a central code repository.
The software, whose name recalls Eric Raymond's open-source manifesto The Cathedral and the Bazaar, is well suited for open-source projects — which are typically distributed — as well as for private projects where teams are dispersed, Canonical said.
"Distributed software engineering is not limited to the open-source world: corporate and proprietary software development is increasingly done by teams that span companies, continents and time zones and need the ability to manage their work in an efficient distributed fashion," said Canonical's chief executive Mark Shuttleworth in a statement.
The trick of such a system is the complex task of co-ordinating contributions and modifications from a large number of sources without any central point of reference.
Canonical promised that Bazaar can easily handle certain tricky processes, such as text or naming conflicts and renaming of files and directories. Viewing the status in a tree of 5,000 files takes just half a second, Canonical said.
The program has been used in large projects for several years in pre-release versions. More than 50 open-source projects as well as several large private projects are currently using it. Bazaar's pre-release versions over the past two years haven't had any data-loss bugs, Canonical said.
The program is intended to be easy to learn, with a choice of command-line or graphical interface and integration with developer tools such as Eclipse.
It is extensible via plug-ins and runs on Python 2.4 or later, meaning it can run on Python-supporting operating systems such as Windows, Linux or Mac OS X.
Developers run Bazaar on their own server and can commit changes locally at any time. Rather than a dedicated server, any web server with FTP access can be used.
Bazaar can also be used as a storage engine for systems such as content-management systems, wikis or graphical tools, Shuttleworth said.
The software is available under the General Public License or a commercial licence, the latter allowing it to be integrated into third-party commercial products.
Among the most popular version control systems are Concurrent Versions System, originally developed in the 1980s and now used by many open-source projects, and Subversion, initiated by CollabNet in 2000 and gaining popularity in both the open-source and proprietary development worlds.