1 |
It has become abundantly clear that distribution maintainers should have |
2 |
as few patches as possible. Patches waste time due to duplicate work, |
3 |
resources (portage disk space and bandwidth), and as the Debian project |
4 |
recently found out after a major vulnerability was discovered in the |
5 |
OpenSSH packages (see http://www.milw0rm.com/exploits/6094, and |
6 |
http://www.securityfocus.com/bid/30276 among others), they can become a |
7 |
source of great embarrassment, and liability since they are not nearly |
8 |
so well audited as code in heavily used mainstream projects (an |
9 |
unintentional Cathedral if you will). I therefore propose the following |
10 |
changes: |
11 |
|
12 |
Patches in the metadata.xml should have some sort of status tracking for |
13 |
each patch, repoman should flag any that don't, and warn on any that |
14 |
have not been submitted upstream unless the status is signed off on by a |
15 |
herd leader (such as Gentoo specific patches). This would provide visual |
16 |
feedback for users and developers with regard to a pretty important |
17 |
metric on how successful Gentoo is at getting patches pushed back to |
18 |
developers. |
19 |
|
20 |
Developers who consistantly clear a large quantity of patches upstream |
21 |
should also be recognized in the Gentoo Monthly Newsletter, and |
22 |
otherwise as appropriate. |
23 |
Obviously the software needs to work, and therefore we need patches, but |
24 |
Gentoo has not done enough to date to get them pushed upstream. Lets |
25 |
look at some cringeworthy statistics on outstanding patches. (NB these |
26 |
are only patches in portage, and not patches which don't meet portage's |
27 |
maximum size) |
28 |
|
29 |
app-accessibility 48 app-admin 178 |
30 |
app-antivirus 10 app-arch 101 |
31 |
app-backup 55 app-benchmarks 20 |
32 |
app-cdr 58 app-crypt 90 |
33 |
app-dicts 28 app-doc 26 |
34 |
app-editors 90 app-emacs 51 |
35 |
app-emulation 186 app-forensics 21 |
36 |
app-i18n 77 app-laptop 23 |
37 |
app-misc 181 app-mobilephone 34 |
38 |
app-office 64 app-pda 50 |
39 |
app-portage 36 app-shells 91 |
40 |
app-text 334 app-vim 13 |
41 |
app-xemacs 4 dev-ada 1 |
42 |
dev-cpp 30 dev-db 141 |
43 |
dev-dotnet 27 dev-embedded 17 |
44 |
dev-games 27 dev-haskell 12 |
45 |
dev-java 264 dev-lang 313 |
46 |
dev-libs 391 dev-lisp 112 |
47 |
dev-ml 15 dev-perl 78 |
48 |
dev-php 6 dev-php5 11 |
49 |
dev-python 202 dev-ruby 63 |
50 |
dev-scheme 37 dev-tcltk 33 |
51 |
dev-tex 24 dev-tinyos 3 |
52 |
dev-util 328 distfiles 26 |
53 |
eclass 21 games-action 58 |
54 |
games-arcade 76 games-board 58 |
55 |
games-emulation 88 games-engines 8 |
56 |
games-fps 58 games-kids 9 |
57 |
games-misc 15 games-mud 19 |
58 |
games-puzzle 65 games-roguelike 26 |
59 |
games-rpg 15 games-server 7 |
60 |
games-simulation 14 games-sports 17 |
61 |
games-strategy 54 games-util 31 |
62 |
gnome-base 45 gnome-extra 60 |
63 |
gnustep-apps 22 gnustep-base 3 |
64 |
gnustep-libs 9 kde-base 146 |
65 |
kde-misc 52 mail-client 71 |
66 |
mail-filter 49 mail-mta 21 |
67 |
media-fonts 5 media-gfx 188 |
68 |
media-libs 494 media-plugins 273 |
69 |
media-radio 2 media-sound 411 |
70 |
media-tv 44 media-video 253 |
71 |
metadata 72 net-analyzer 213 |
72 |
net-dialup 121 net-dns 45 |
73 |
net-firewall 33 net-fs 47 |
74 |
net-ftp 76 net-im 91 |
75 |
net-irc 68 net-libs 111 |
76 |
net-mail 113 net-misc 428 |
77 |
net-nds 11 net-news 16 |
78 |
net-nntp 21 net-p2p 67 |
79 |
net-print 49 net-proxy 53 |
80 |
net-voip 9 net-wireless 89 |
81 |
net-www 14 net-zope 6 |
82 |
perl-core 2 rox-base 11 |
83 |
rox-extra 6 sci-astronomy 32 |
84 |
sci-biology 32 sci-calculators 31 |
85 |
sci-chemistry 104 sci-electronics 21 |