DistributedDevelopment

Differences between revisions 20 and 21
Revision 20 as of 2009-12-17 00:32:54
Size: 4229
Editor: cpc4-aztw22-2-0-cust59
Comment:
Revision 21 as of 2009-12-17 00:43:36
Size: 2863
Editor: cpc4-aztw22-2-0-cust59
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This is an area of the wiki for the "Ubuntu Distributed Development" initiative. This is an area of the wiki for the "Ubuntu Distributed Development" initiative. This initiative aims to make Ubuntu development more efficient and bring it even closer to our upstreams by making better use of Bazaar and Launchpad.
Line 3: Line 3:
This is discussed on the [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel|ubuntu-distributed-devel]] public mailing list. == Getting Started ==
Line 5: Line 5:
== The Aim == You can read more about the effort on the '''[[DistributedDevelopment/About|About]]''' page.
Line 7: Line 7:
The TL;DR version: If you want to know how to work with the tools and get things done then the '''[[DistributedDevelopment/Documentation|Documentation]]''' is for you.
Line 9: Line 9:
  1) Version Control rocks.
  2) Distributed version control rocks even more.
  3) Bazaar rocks particularly well.
  4) Let's use Bazaar for Ubuntu.
For those that are interested in development of the idea you can read and contribute to the specifications. There is the '''[[DistributedDevelopment/Specification|Overall phased specification.]]''' Each phase then gets its own spec that will be a little more up to date when we work on that phase. '''[[DistributedDevelopment/ImporterSpecification|Phase 1]]''' is about importing Ubuntu packages in to Bazaar. '''[[DistributedDevelopment/DebianImportSpecification|Phase 2]]''' is about importing Debian as well as Ubuntu. '''[[DistributedDevelopment/ImproveDebianImportSpecification|Phase 3]]''' is about improving the Debian import by including the branches pointed to by Vcs-* information.
Line 14: Line 11:
Or, if you prefer a more verbose version... This is discussed on the '''[[https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel|ubuntu-distributed-devel]]''' public mailing list. Please subscribe to that and join in the discussion. In addition please contribute any ideas you have to the '''[[DistributedDevelopment/IdeaPool|IdeaPool.]]'''
Line 16: Line 13:
Ubuntu is a global project with many people contributing to the development
of it in many ways. In particular development/packaging involves many people
working on packages, and much of this requires more than one person to work
on the change that it is being made, for e.g.
If you have any comments or questions, or would like to get involved then please contact JamesWestby (james.westby@canonical.com or james_w on irc.ubuntu.com).
Line 21: Line 15:
  1) Working on the problem together
  2) Sponsoring
  3) Other review

etc.

These things usually require the code to be passed backwards and forwards,
and in particular, merged. In addition, we sometimes have to do things
like merge the patch in the bug with a later version of the Ubuntu package.
In fact, Ubuntu is a derivative of Debian, and we expend a huge effort
every cycle merging the two.

Distributed version control systems have to be good at merging, it's a
fundamental property. We currently do without, but we have tools such
as MoM that use version control techniques to help us with some of the
merging. We could carry on in this fashion, or we could move to use
a distributed version control system and make use of its features, and
gain a lot of other things in the process.

Tasks such as viewing history, and annotating to find who made a particular
change and why, also become much easier than when you have to download and
unpack lots of tarballs.

This isn't to say that there aren't costs to the transition, and tools
and processes we currently use that don't currently have an obvious
analogue in the bzr world. That just means we have to identify those
things and put the work in to provide an alternative, or to port, where
it makes sense.

The aim is therefore to help make Ubuntu developers more productive, and
enable us to increase the number of developers, by making use of modern
technologies, in particular Bazaar, though there are several other
things that are also being used to do this.

== Documentation ==

'''[[DistributedDevelopment/Documentation|Documentation]]'''

== Specifications ==

For those that are interested in development of the idea:

[[DistributedDevelopment/Specification]] - Overall phased specification.

DistributedDevelopment/ImporterSpecification - A specification for the importer that will import source packages.

DistributedDevelopment/DebianImportSpecification - A specification for the bringing up an import of Debian parallel to Ubuntu.

DistributedDevelopment/ImproveDebianImportSpecification - A specification for improving the Debian import by including the branches pointed to by Vcs-* information

DistributedDevelopment/ClientToolsDiscussion - Discussion of the various approaches to client tools

DistributedDevelopment/ClientToolsV1Design - Design of the first iteration of the client tools
== More... ==
Line 83: Line 25:
https://launchpad.net/udd/ - the launchpad project used to co-ordinate some aspects of the work. Here are some other documents that may be of interest:
Line 85: Line 27:
If you have any comments or questions, or would like to get involved then please
contact JamesWestby (james.westby@canonical.com or james_w on irc.ubuntu.com).
   * DistributedDevelopment/ClientToolsDiscussion - Discussion of the various approaches to client tools
   * DistributedDevelopment/ClientToolsV1Design - Design of the first iteration of the client tools

'''[[https://launchpad.net/udd/]]''' is the launchpad project used to co-ordinate some aspects of the work.

This is an area of the wiki for the "Ubuntu Distributed Development" initiative. This initiative aims to make Ubuntu development more efficient and bring it even closer to our upstreams by making better use of Bazaar and Launchpad.

Getting Started

You can read more about the effort on the About page.

If you want to know how to work with the tools and get things done then the Documentation is for you.

For those that are interested in development of the idea you can read and contribute to the specifications. There is the Overall phased specification. Each phase then gets its own spec that will be a little more up to date when we work on that phase. Phase 1 is about importing Ubuntu packages in to Bazaar. Phase 2 is about importing Debian as well as Ubuntu. Phase 3 is about improving the Debian import by including the branches pointed to by Vcs-* information.

This is discussed on the ubuntu-distributed-devel public mailing list. Please subscribe to that and join in the discussion. In addition please contribute any ideas you have to the IdeaPool.

If you have any comments or questions, or would like to get involved then please contact JamesWestby (james.westby@canonical.com or james_w on irc.ubuntu.com).

More...

There are a group of pages giving the requirements of the tools for a specific task. Help to improve these pages and document each of the common tasks that will be performed would be appreciated.

Here are some other documents that may be of interest:

https://launchpad.net/udd/ is the launchpad project used to co-ordinate some aspects of the work.

Dump to be cleaned up later


CategoryDistributedDevelopment

DistributedDevelopment (last edited 2013-12-03 12:07:11 by dholbach)