This was written 2015-05-13 and got stuck in my drafts bin. I'm pushing it out unedited.
(See My standard writing note)
Many Linux distributions don't want to modify upstream sources unless they have to.
That simplicity is both understandable and Bad.
It is duplication of effort for a distribution to alter sources (docs, code, etc). Instead, they should either encourage change or contribute upstream.
This probably seems intimidating to many, which would explain why distributions - especially technical ones - eschew that. It's even cooked into some distribution philosophies.
If every distribution contributed upstream even if only giving appreciation ("moral support"), and if each distribution spreads this among each of their package maintainers it's not a lot of work.
I maintain program x, and it's a labour of love. I would rather help upstream with every other maintainer for every other distribution than work alone. Instant community.
A distribution may find that a stream does not have good enough documentation/install scripts/etc. They end up making their own instead of joining forces with each stream.
A lot of the "friendly" distributions do this. They spend so much time on their customization that working upstream is intimidating.
This is understandable when some of their effort is with the look and feel of a distribution. Configuration and art aren't important upstream. Upstream cares more about providing the configurability than cooperating for good defaults.
Sometimes a distribution cannot find what they want and must modify whatever they can get their hands on. A distribution is the real-world test for all of those components they bring together. They find the problems and gaps that no individual part could predict.
One of the things I agreed with for the mostly-defunct Unity Linux was for us to not duplicate the efforts which upstream should do, most especially for documentation since that was my area. I'd rather make my notes, post them online, notify upstream and have them make a correction which then makes it back down to us. While waiting for upstream to figure their shit out, the corrections/etc would get posted online somewhere. However, no duplication of man pages, etc like some distributions do.
Take Arch[doesn't exist] as an example. They have a lot of documentation. How much of the documentation for each program could be sent upstream? Then their documentation could just quote (or somehow transclude) the upstream documentation and no maintenance would be required.
A distribution's documentation need only be:
- Identifying it. What it is, who it's for, philosophies etc.
- Getting it. Downloading or torrenting instructions.
- Trying it. Putting it onto bootable media, etc.
- Using it. A list of what's included.
Configuring it. Installing new packages, etc.
A good example of how I imagine an ideal upstream relationship is donations. The Right Way is
users > their distribution > its dependencies
I found it quite inspiring to learn the Slax dev donated $1,000 to a key contributor:
The Right Way would be for them to identify problems, make fixes or at least suggestions and push them upstream. The "magic" which distributions like Ubuntu work on gets trapped
I probably had more things to say, but as this was written 2015-05-13 whatever might have been in my head is definitely gone.