Draft v1: DavidFarning
[rephrase - not from Ubuntu's perspective]
Make it easy and efficient to create and maintain a Linux distribution that is based on Ubuntu
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 community's can develop and push good patches upstream.
3 Code Customizing. Insure that it is easy and efficient for Ubutu derivative distributions to customize Ubuntu code to meet their user's and customers needs.
and 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.
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.
- As the number of knowledgeable users of grows, so does the developer base.
- As the number of computers running the distribution growths, so does the hardware support.
- 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:
- Work together on bug handling.
- Share a common code base.
- Encourage Customizations.
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
Currently, the single biggest source of friction in maintaining a derivative is merging changes with the base distribution.
Establishing a common code base will allow hardware and outside software vendors to develop products knowing that they work across all distributions.
- This friction can be reduced by sharing an easily extendable base of common code.
Collaborative patch management will help maintain the common code base.
The kernel development process has shown how well distributive version control systems such as git and brz can work.
- Team Formation
- Team Formation