Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Florian Boucault <florian <at> fluendo.com>
Subject: Elisa organisation changes
Newsgroups: gmane.comp.tv.elisa.general
Date: Tuesday 1st April 2008 15:27:05 UTC (over 9 years ago)
Hello Eliseros,

After careful thinking, the Elisa team has decided to move over to
Bazaar for version control and to Launchpad for bug tracking and release
management.


** Why the move? **

The Elisa project is all about people making their own customised media
center that fits their own particular needs. This is the rationale
behind its fully pluggable architecture.
In order to allow a similar flexibility for developers, it made complete
sense to use a distributed version control system (DVCS). The choice
between the myriad of existing DVCSes was driven by a simplicity of use
enabling easy contribution and flexibility to adapt to any possible
workflow we may need in the future.
For all these reasons Elisa's source code, which was previously
versioned using Subversion, is from now on stored in Bazaar branches.
Bazaar is well documented and has nice tutorials help people get started
such as this one:

http://doc.bazaar-vcs.org/bzr.dev/en/mini-tutorial/index.html


Obviously a full move to a decentralised working style meant that a good
tool was needed to keep track of what is going on in the branches, bugs
wise and also features wise. After some experiments with various tools
that could have done the job, Launchpad proved to cover the use cases
well and enable the kind of collaboration we all want to encourage.


** Teams and their purpose **

We are going to setup 2 launchpad teams.
The first team, called elisa-developers, will be opened to all the
developers that have read and signed the Fluendo copyright assignment
document. Everyone will be able to branch bazaar branches registered by
the elisa-developers team, but only the members will have write access
to them.
The second team, called elisa-contributors, will be open to everyone.
Every member will have write access to the branches under the team. This
team will make it easy for groups of developers to work together on
their branches whenever and however they want to.


** Contribution processes **

Code
----

The first thing needed to start hacking on Elisa is a branch of an
existing branch. The main development branch is at:

http://bazaar.launchpad.net/~elisa-developers/elisa/main

We never push directly to the main branch as we want all the changes to
be reviewed first. When a developer wants some code to be committed, he
sends a merge request to the [email protected] mailing
list by using the bzr send command, which is documented here:

http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#sending-changes

On the mailing list the changes are reviewed by one or more developers
and, once they have been approved, they are merged into the main branch.

The merging procedure varies depending on which bundle the changed code
belongs. Changes to core, -base, -good, and -ugly have to be reviewed by
at least two developers, changes to -bad by at least one developer. The
last reviewer merges the changes back into the branch.

We will setup a Bundle Buggy instance to track the merge requests and
the reviews. The voting system used by Bundle Buggy is defined here:

http://bundlebuggy.aaronbentley.com/help

Bug reports
-----------

Bug reports are stored in Launchpad which allows a per branch fine
tracking of bugs. There is nothing really new here apart from the
ability to have cross projects bug which will prove fairly useful in
Elisa's case since it depends on many other libraries (eg. Pigment,
GStreamer, etc.).

Specifications
--------------

Task specifications for new features will be centralised in one place in
the upcoming Elisa's wiki and tracked in Launchpad blueprints allowing a
quick and easy overview of all the current work being done and the
various branches related to them.

A quick task definition is written in Launchpad blueprints itself
whereas more detailed information will be stored in Elisa's wiki and
will contain: summary, rationale, use cases, implementation plan and
whatever is necessary to communicate around the task.



That's it for now. Thank you for reading so far. Hopefully all these
changes and decisions will help make Elisa go forward by allowing
everyone to collaborate as painlessly as possible. If there are any
questions please do not hesitate to ask.

The Elisa team
 
CD: 15ms