A New Approach to Develop Software

By Chris Preimesberger  |  Posted 2007-04-02 A New Approach to Develop Software 1.0, a new collaborative Web site and service package designed to improve the flow of communication between developers on different software projects, began public beta testing April 2.

Launchpad joins a well-established group of online open-source development sites and communities that include, CollabNet and, among others.

Registration to be a beta tester for Launchpad is free of charge but is dependent on approval of the project team. The project has been in the alpha stage for more than a year.

Sponsored by Canonical Ltd., the U.K.-based company that develops Ubuntu and Kubuntu Linux, Launchpad uses a different approach to free software project management and hosting, Canonical founder and Chairman Mark Shuttleworth told eWEEK.

"Launchpad helps projects collaborate more effectively to solve shared problems, such as bugs in shared code which affect multiple different projects," Shuttleworth said.

For example, Shuttleworth said, in a large project, such as Apache (an open-source Web server) or Firefox (Web browser), bug trackers often run into similar problems involving deployment on different operating systems but dont communicate because theyre working in separate communities. With Launchpad, the communities can now communicate and share code among themselves, Shuttleworth said.

Click here to read more about critical patches in Firefox.

"For a bug, say, in Firefox being used on Red Hat Linux, the bug trackers may be working on the same problem with Firefox on Ubuntu or Solaris. If they dont communicate, theres a lot of wasted time and effort there ... Launchpad solves this," Shuttleworth said.

Such conversations have traditionally been difficult across communities using different development tools. Launchpad helps to bring those communities closer together by linking the information from a variety of project-specific sources and presenting it through a common interface, Shuttleworth said.

Simple, Web-based Interface

The public beta uses a new interface that allows projects to establish their presence in Launchpad. It also highlights the current activity of members in the project.

Launchpads team management capability enables spontaneous team formation within a community and lowers the barriers to entry for new contributors to a project, Shuttleworth said. There are now about 2,700 projects and nearly 1,000 teams active in the system, some with several hundred members, he added.

The popular GNU/Linux distribution Ubuntu uses Launchpad to keep track of work in progress across hundreds of free software communities, a task that would not be possible without the capabilities of the platform, Shuttleworth said.

Launchpad makes it possible for the Ubuntu team to coordinate work on tens of thousands of bug reports, many of which involve third-party development communities, and hundreds of feature proposals for each release, and to make sure that Ubuntu is widely available in hundreds of languages, Shuttleworth said.

"Launchpad is built for Ubuntu, but its great to see other projects adopting it, too, most notably in recent weeks Zope and Silva," Shuttleworth wrote in his blog on April 2. "I hope those projects find it much easier to collaborate with one another, and with other projects, too."

Launchpad consists of a set of integrated tools that support collaboration and community formation, including team management, a bug tracker, code hosting, translations, a blueprint tracker and an answer tracker.

Free software communities constantly reuse one anothers code. In many cases, a bug is first discovered in a different community than the originator of the buggy code. Coordinating the diagnosis and bug fix requires a conversation that spans those communities, Shuttleworth said.

This is particularly true of distributions like Ubuntu, where the majority of the code is an aggregation of thousands of packages from hundreds of separate communities, Shuttleworth said.

Next Page: Presenting a unified view

Presenting a unified view

Bug Trackers Present Unified View of Ongoing Work

Launchpad aims to link separate conversations in external project bug trackers, such as Bugzilla, Roundup, Sourceforge and the Debian BTS and present a single unified picture of the work ongoing across each of those communities.

Launchpads bug tracker has both e-mail and Web interfaces, which is attractive to developers who prefer to keep on top of bug conversations by e-mail and to update their bug status without switching to the Web.

Zope is an open-source application server written in the Python programming language.

"We chose Launchpad to track Zope 3s bugs because it makes it easy for us to work together as a team and to work with other free software communities," said Zope CTO Jim Fulton. "Moving from our custom bug tracker has been real smooth, because the Launchpad team has completed the import of our full bug history." uses the Bazaar revision control system for its code-hosting service.

"It is certainly possible to host all of a projects code on Launchpad, but the system is specifically designed to enable code to be hosted anywhere on the Internet and yet still be easily accessible to project members," Shuttleworth said. "In cases where projects are using the CVS or Subversion systems, Launchpad can maintain a continuous import of the project development trunk into Bazaar. This enables new community participants to have full revision control of their submissions and contributions before they have been given formal commit access to the project."

Launchpad keeps track of the translations for each major version of a project separately, which allows translators to continue to improve the translations of a stable release while others begin the work of translating newer versions while they are still under development.

"We added Jokosher to Launchpad for translations and within two weeks it was translated into twelve languages," said Jono Bacon, leader of the Jokosher audio editor project and a Ubuntu development manager, said.

"We hadnt even told anyone we were doing it. Our community finds it easy to use and hassle-free to administer. It wasnt long before we also moved Jokoshers bug tracking to Launchpad as well."

Combining the Knowledge from Lists, Forums

The combined knowledge of the project community can often make an excellent support resource. However, much of this support takes place in mailing lists and Web forums where the information cannot be organized into a formal knowledge base.

Launchpad enables community members to track and answer user-support requests, and to create a knowledge base of solved issues for that piece of software, Shuttleworth said.

"The Launchpad developers are all active participants in free software projects. Weve experienced first-hand the barriers to collaboration, both social and technical, and have designed Launchpad to make collaboration easier. We hope to continue to improve the productivity of those who participate in the free software ecosystem," Shuttleworth said.

While some 2,700 projects have been registered, Shuttleworth said, many of them do not use Launchpad as their primary project hosting infrastructure. But their registration facilitates collaboration between other projects that depend on their code, he said.

"Launchpad connects us to our most important communities, and brings synergy to issue tracking for Silva, where problems in one component of the stack affect another up or downstream," said Infrae CEO Kit Blake.

Infrae, based in The Netherlands, makes Silva, a content management system for organizations that manage complex Web sites.

"Key components of our stack were already there: Infraes developers run Ubuntu, we develop with Zope 3, and the dLCMS product [which is built on top of Silva] has been using Launchpad for over a year. Locating the Silva issues on Launchpad was like finding ideal office space, hooked into the grid, loaded with amenities and ripe for networking," Blake said.

Questions about Launchpad can be directed to or posted here. There is also a mailing list for Launchpad users where the system is discussed; details can be found here.

Check out eWEEK.coms for the latest open-source news, reviews and analysis.

Rocket Fuel