DerivativeTeam

Differences between revisions 11 and 23 (spanning 12 versions)
Revision 11 as of 2007-03-04 00:42:54
Size: 3522
Editor: 69-179-3-108
Comment:
Revision 23 as of 2008-08-06 17:01:22
Size: 3837
Editor: localhost
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[Include(DerivativeTeam/Header)]] <<Include(DerivativeTeam/Header)>>
Line 3: Line 3:
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; background-repeat: no-repeat; background-position: 98% 0.5ex; margin: 0 0 1em 1em; padding: 0.5em;">'''Contents'''[[BR]][[TableOfContents]]|| ||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; background-repeat: no-repeat; background-position: 98% 0.5ex; margin: 0 0 1em 1em; padding: 0.5em;"><<TableOfContents>>||
Line 5: Line 5:
= Mission =
Line 6: Line 7:
'''Draft v1:''' DavidFarning
[rephrase - not from Ubuntu's perspective]
= Introduction =
'''Make it easy and efficient to create and maintain a Linux distribution that is based on Ubuntu'''
Line 10: Line 9:
One of the great strength of open source is the ability for everyone to improve and modify their software as they see fit. Ubuntu can benefit from this by developing a healthy ecosystem of derivative distributions which contribute back to the Ubuntu project. = Goals =
Line 12: Line 11:
It is often quoted that 'the value of a network is equal to square of the number of nodes.' The value of a software distribution also grows at a rate that equal to the square of the number of installations. There three areas where Ubuntu and Ubuntu derivative distributions can collaborate: bug handling, code sharing, and code customizations.
Line 14: Line 13:
There are a number of factors that contribute to this nonlinear growth.  1. Bug handling. Make Ubuntu's bug process compatible with derivative distribution's bug processes to ease the flow of information back and forth. This includes issue triage and automatic crash reporting systems.

 1. Code sharing. Insure that Ubuntu and Ubuntu derivative distributions are able to easily share the same code base. Combine resources so that the Ubuntu and it's derivative communities' can develop and push good patches upstream.

 1. Code Customizing. Insure that it is easy and efficient for Ubuntu derivative distributions to customize Ubuntu code to meet their user's and customers needs.

= Philosophy =

One great strength of open source is the ability for everyone to improve and modify their software as they see fit. Everyone can benefit from this by developing a healthy ecosystem of Ubuntu derivative distributions that contribute back to the Ubuntu project.

According to [[http://en.wikipedia.org/wiki/Metcalfe's_law|Metcalfe's law]], the value of a network is equal to square of the number of nodes. The value of a software distribution also grows at a rate that equal to the square of the number of installations.

Three factors contribute to this nonlinear growth.
Line 16: Line 27:
 2. As the number of computers running the distribution growths, so does the hardware support.
 3. As the number of installed systems grow, so does the third party software support.
 1. As the number of computers running the distribution growths, so does the hardware support.
 1. As the number of installed systems grow, so does the third party software support.
Line 21: Line 32:
Derivatives distributions are different from forks in three ways.
 1. Derivatives have a common code base.
 2. Derivatives collaborate on patch management.
 3. Derivatives collaborate on issue tracking.
Derivatives distributions are different from forks in three ways. They:
 1. Work together on bug handling.
 1. Shar
e a common code base.
 1. Encourage Customizations.
Line 26: Line 37:
== Common Code base == == Bug Handling ==
Line 28: Line 39:
Currently, the single biggest source of friction in maintaining a derivative is merging changes with the base distribution. This friction can be reduced by sharing an easily extendable base of common code. Collaborative bug handling will increase the number of knowledgeable developers available to fix reported Issues. Initial triaging should be done by the derivative and escalated to where they can be most effectively handled.
Line 30: Line 41:
Additionally, establishing a common code base will allow hardware and outside software vendors to develop products knowing that they work across all distributions. == Common Code Base ==
Line 32: Line 43:
== Patch Management == Establishing a common code base will allow hardware and outside software vendors to develop products with the knowledge that they work across all distributions.
Line 34: Line 45:
Collaborative patch management will help maintain the common code base. Collaborative patch management will help maintain the common code base. Currently, the single biggest source of friction between Ubuntu and Ubuntu derivative's is sharing changes. It is often necessary for Ubuntu derivatives to maintain large patch sets. In many cases it is more efficient to merge these patches into the Ubuntu code and push them upstream. It makes no sense for all of us to drag around huge patch sets.
Line 38: Line 49:
== Issue Trackers == == Customizations ==
Line 40: Line 51:
Collaborative issue tracking will increase the number of knowledgeable developers available to fix reported Issues. Initial triaging should be done by the derivative and escalated to where they can be most effectively handled. '''Write'''
Line 42: Line 53:
= Team Mission = target audiences:
 1. loco localizations
 1. package super sets
 1. lightly modified (fluxbuntu)
 1. heavily modified (linspire)
Line 44: Line 59:
There three areas that Ubuntu can start collaboration with it's derivative distributions: Bug handling, patch pushing, and developing a code base that is easily customizable. we should take steps to insure that a derivatives value added bits integrate closely with Ubuntu's base.
Line 46: Line 61:
1 Bug handling. Make our bug process as compatible as possible to ease the flow of information back and forth. This includes both triaging and automatic crash reports systems.

2 Patch Pushing. Clean up our patch system so that the Ubuntu specific bits can be identified and replaced with Derivative bits. Combine our resources on the common bits so that we can develop good patches to push upstream.

3 Customizing. Insure that for the most part we are using the same code base. There is no sense in all of us dragging around huge patch sets. Instead we should take steps to insure that a derivatives value added bits integrate closely with Ubuntu's base.

= Latest News =

 * Team Formation

= Latest Events =

 * Team Formation
This friction can be reduced by sharing an easily extendable base of common code.
Line 61: Line 64:
[:CategoryDerivativeTeam] [[CategoryDerivativeTeam]]

Mission

Make it easy and efficient to create and maintain a Linux distribution that is based on Ubuntu

Goals

There three areas where Ubuntu and Ubuntu derivative distributions can collaborate: bug handling, code sharing, and code customizations.

  1. Bug handling. Make Ubuntu's bug process compatible with derivative distribution's bug processes to ease the flow of information back and forth. This includes issue triage and automatic crash reporting systems.
  2. Code sharing. Insure that Ubuntu and Ubuntu derivative distributions are able to easily share the same code base. Combine resources so that the Ubuntu and it's derivative communities' can develop and push good patches upstream.
  3. Code Customizing. Insure that it is easy and efficient for Ubuntu derivative distributions to customize Ubuntu code to meet their user's and customers needs.

Philosophy

One great strength of open source is the ability for everyone to improve and modify their software as they see fit. Everyone can benefit from this by developing a healthy ecosystem of Ubuntu derivative distributions that contribute back to the Ubuntu project.

According to Metcalfe's law, the value of a network is equal to square of the number of nodes. The value of a software distribution also grows at a rate that equal to the square of the number of installations.

Three factors contribute to this nonlinear growth.

  1. As the number of knowledgeable users of grows, so does the developer base.
  2. As the number of computers running the distribution growths, so does the hardware support.
  3. As the number of installed systems grow, so does the third party software support.

The freedom to take a piece of software and modify it is both an asset and a liability. Forks encourage experimentation and creativity. They can also result in fragmentation. One way to counter fragmentation, is to foster the growth of derivative distributions.

Derivatives distributions are different from forks in three ways. They:

  1. Work together on bug handling.
  2. Share a common code base.
  3. Encourage Customizations.

Bug Handling

Collaborative bug handling will increase the number of knowledgeable developers available to fix reported Issues. Initial triaging should be done by the derivative and escalated to where they can be most effectively handled.

Common Code Base

Establishing a common code base will allow hardware and outside software vendors to develop products with the knowledge that they work across all distributions.

Collaborative patch management will help maintain the common code base. Currently, the single biggest source of friction between Ubuntu and Ubuntu derivative's is sharing changes. It is often necessary for Ubuntu derivatives to maintain large patch sets. In many cases it is more efficient to merge these patches into the Ubuntu code and push them upstream. It makes no sense for all of us to drag around huge patch sets.

The kernel development process has shown how well distributive version control systems such as git and brz can work.

Customizations

Write

target audiences:

  1. loco localizations
  2. package super sets
  3. lightly modified (fluxbuntu)
  4. heavily modified (linspire)

we should take steps to insure that a derivatives value added bits integrate closely with Ubuntu's base.

This friction can be reduced by sharing an easily extendable base of common code.


CategoryDerivativeTeam

DerivativeTeam (last edited 2008-08-06 17:01:22 by localhost)