annotate DOCS/tech/new_policy_proposal.txt @ 22387:b42d79ee1af8

rename to *_proposal.txt
author michael
date Thu, 01 Mar 2007 23:09:58 +0000
parents DOCS/tech/new_policy.txt@6c9a391ca7cb
children fefb92f3c59a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
1 New Policy Draft
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
2 Version 20070301
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
3
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
4 Intro:
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
5 ------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
6 This document is an attempt to write a new policy as the old is fairly
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
7 confusing and easy to misunderstand, its intention is not really to
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
8 change the rules but rather to write them down clearer ...
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
9 also for simplicity and to prevent flamewars, i would suggest that you
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
10 fork this document and propose that fork as alternative if you have a
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
11 significant disagreement with me on some part
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
12
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
13 Author:
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
14 -------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
15 Michael Niedermayer
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
16 the authors of the old policy as i liberally copy and pasted from it
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
17
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
18 TODO:
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
19 add more explanations, justifications and examples
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
20 how to become/loose maintainer status
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
21 review patches.txt
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
22 security/exploit rules
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
23 ------------------------
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
24
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
25
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
26 1. Definitions
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
27 --------------
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
28 * MPlayer developer, generally referred to simply as developer in this document
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
29 is any person who has a open (not cracked, not suspended) svn write account
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
30 * MPlayer leader, generally referred to simply as leader in this document, every
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
31 leader is also a developer
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
32 * CAN/MUST/SHOULD descriptions ...
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
33 * public developer mailing list (mplayer-dev-eng at mplayerhq in hungary)
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
34
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
35
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
36 C. Code and SVN Rules
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
37 -----------------------------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
38 Renaming/moving/copying files or contents of files
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
39 Do not move, rename or copy files of which you are not the maintainer without
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
40 discussing it on the public developer mailinglist first!
19357
59af53f4f436 update the moving & copying rules as disscussed on mplayer-dev + some (but not all as iam lazy) fixes by the wanderer
michael
parents: 19248
diff changeset
41
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
42 Never copy or move a file by using 'svn delete' and 'svn add'. Always use
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
43 'svn move' or 'svn copy' instead in order to preserve history and minimize
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
44 the size of diffs.
19357
59af53f4f436 update the moving & copying rules as disscussed on mplayer-dev + some (but not all as iam lazy) fixes by the wanderer
michael
parents: 19248
diff changeset
45
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
46 To split a file, use 'svn copy' and remove the unneeded lines from each file.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
47
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
48 Don't do a lot of cut'n'paste from one file to another without a very good
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
49 reason and discuss it on the mplayer-dev-eng mailing list first. It will make
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
50 those changes hard to trace.
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
51
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
52 Such actions are useless and treated as cosmetics in 99% of cases,
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
53 so try to avoid them.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
54
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
55 Reverting broken commits
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
56 There are 2 ways to reverse a change, they differ significantly in what they
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
57 do to the svn repository
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
58 The recommit old method:
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
59 svn merge
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
60 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
61 This simply changes the file(s) back to their old version localy and then
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
62 the change is commited as if it is a new change
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
63 The svn copy method
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
64 svn rm <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
65 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
66 svn cp -r<good revision> svn://svn.mplayerhq.hu/mplayer/trunk/[<path>/]<file> <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
67 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
68 This simply removes the file and then copies the last good version with
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
69 its history over it, this method can only be used to revert the n last
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
70 commits but not to revert a bad commit in the middle of its history
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
71 Neither method will change the history, checking out an old version will
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
72 always return exactly that revision with all its bugs and features. The
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
73 difference is that with the svn copy method the broken commit will not be
22238
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
74 part of the directly visible history of the revisions after the reversal
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
75 So if the change was completely broken like reindenting a file against the
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
76 maintainers decision, or a change which mixed functional and cosmetic
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
77 changes then it is better if it is not part of the visible history as it
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
78 would make it hard to read, review and would also break svn annotate
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
79 For the example of a change which mixed functional and cosmetic parts they
22238
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
80 should of course be committed again after the reversal but separately, so one
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
81 change with the functional stuff and one with the cosmetics
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
82 OTOH if the change which you want to reverse was simply buggy but not
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
83 totally broken then it should be reversed with svn merge as otherwise
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
84 the fact that the change was bad would be hidden
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
85 One method to decide which reversal method is best is to ask yourself
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
86 if there is any value in seeing the whole bad change and its removal
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
87 in SVN vs just seeing a comment that says what has been reversed while
22238
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
88 the actual change does not clutter the immediately visible history and
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
89 svn annotate.
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
90 If you are even just slightly uncertain how to revert something then ask on
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
91 the mplayer-dev-eng mailing list.
15227
167085fd11af 'cvs admin -o' is dangerous and should be handled with extra care.
diego
parents: 14856
diff changeset
92
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
93 Broken code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
94 You must not commit code which breaks MPlayer! (Meaning unfinished but
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
95 enabled code which breaks compilation or compiles but does not work.)
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
96 You can commit unfinished stuff (for testing etc), but it must be disabled
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
97 (#ifdef etc) by default so it does not interfere with other developers'
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
98 work.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
99
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
100 Testing code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
101 You don't have to over-test things. If it works for you, and you think it
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
102 should work for others, too, then commit. If your code has problems
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
103 (portability, exploits compiler bugs, unusual environment etc) they will be
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
104 reported and eventually fixed.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
105
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
106 Splitting changes
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
107 Do not commit unrelated changes together, split them into self-contained
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
108 pieces.
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
109 if you have any doubt discuss it on the developer mailing list before
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
110 committing, also when in doubt more splitting is better then less, changes
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
111 which are larger then 10kbyte generally should be split into several
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
112 incremental changes if possible even if you think they are all related
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
113 keeping changes well split makes reviewing and understanding them on
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
114 svn log at the time of commit and later when debugging a bug much easier
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
115
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
116 Compiler Warning fixes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
117 Do not change code to hide warnings without ensuring that the underlaying
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
118 logic is correct and thus the warning was inappropriate
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
119
17578
22632c215d59 Clarify policy on feature removal.
rathann
parents: 17054
diff changeset
120 4. Do not change behavior of the program (renaming options etc) or
17579
f1ce086b5eed Clarify feature removal policy: it must be approved on the mailing list.
rathann
parents: 17578
diff changeset
121 remove functionality from the code without approval in a discussion on
f1ce086b5eed Clarify feature removal policy: it must be approved on the mailing list.
rathann
parents: 17578
diff changeset
122 the mplayer-dev-eng mailing list.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
123
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
124
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
125 5. Do not commit changes to the build system (Makefiles, configure script)
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
126 which change behaviour, defaults etc, without asking first. The same
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
127 applies to compiler warning fixes, trivial looking fixes and to code
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
128 maintained by other developers. We usually have a reason for doing things
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
129 the way we do. Send your changes as patches to the mplayer-dev-eng mailing
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
130 list, and if the code maintainers say OK, you may commit. This does not
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
131 apply to files you wrote and/or maintain.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
132
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
133
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
134 Cosmetics
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
135 We refuse source indentation and other cosmetic changes if they are mixed
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
136 with functional changes, such commits will be reverted. Every
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
137 developer has his own indentation style, you should not change it. Of course
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
138 if you (re)write something, you can use your own style... (Many projects
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
139 force a given indentation style - we don't.) If you really need to make
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
140 indentation changes (try to avoid this), separate them strictly from real
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
141 changes.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
142
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
143 NOTE: If you had to put if(){ .. } over a large (> 5 lines) chunk of code,
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
144 do NOT change the indentation of the inner part (don't move it to the right)!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
145
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
146
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
147 Commit log message
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
148 Always fill out the commit log message. Describe in a few lines what you
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
149 changed and why. You can refer to mailing list postings if you fix a
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
150 particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
151
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
152
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
153 Applying patches
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
154 If you apply a patch by someone else, include the name and email address in
18660
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
155 the log message. Since the mplayer-cvslog mailing list is publicly
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
156 archived you should add some spam protection to the email address. Send an
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
157 answer to mplayer-dev-eng (or wherever you got the patch from) saying that
17054
6ae6b30282da grammar fix on the documentation-updates note
wanderer
parents: 17051
diff changeset
158 you applied the patch. If the patch contains a documentation change, commit
6ae6b30282da grammar fix on the documentation-updates note
wanderer
parents: 17051
diff changeset
159 that as well; do not leave it to the documentation maintainers.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
160
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
161
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
162 messing with other developers code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
163 Do NOT commit to code actively maintained by others without permission. Send
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
164 a patch to mplayer-dev-eng instead.
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
165
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
166
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
167 Subscribe to svnlog
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
168 Subscribe to the mplayer-cvslog mailing list. The diffs of all commits
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
169 are sent there and reviewed by all the other developers. Bugs and possible
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
170 improvements or general questions regarding commits are discussed there. We
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
171 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
172
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
173
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
174 Documentation
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
175 Update the documentation if you change behavior or add features. If you are
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
176 unsure how best to do this, send a patch to mplayer-docs, the documentation
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
177 maintainers will review and commit your stuff.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
178
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
179
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
180 Controversial changes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
181 Always send a patch to the mplayer-dev-eng mailing list before committing
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
182 if you suspect that the change is going to be controversial. Based on past
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
183 experience, these changes are likely to be controversial:
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
184 - feature removal, even if obsolete
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
185 - changes to "special" output messages (like the "Core dumped ;)" message)
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
186 - verbosity changes from default (info) level
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
187 - changes to "historical" parts of docs and webpages
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
188 - use of internal or external libraries
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
189 - changes to the internal architecture
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
190 - non trivial changes to very fundamental parts of mplayer
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
191
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
192
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
193 Public discussions
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
194 Try to keep important discussions and requests (also) on the
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
195 mplayer-dev-eng mailing list, so that all developers can benefit from them.
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
196 IRC is good for quick discussions, but nobody is there 24/7.
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
197 also subscribe to the public developer mailing list
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
198
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
199
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
200 Patches
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
201 read and follow patches.txt when sending patches for mplayer
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
202
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
203
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
204 Insults
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
205 Do not insult other people in relation to mplayer on any public mailing
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
206 list, that is calling code from someone else a pile of broken shit is
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
207 perfectly fine but calling the developer herself a retarded f*cking moron
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
208 is not acceptable
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
209
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
210
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
211 Forking
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
212 People disagreeing with the developers or leaders may fork the project,
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
213 the leaders MUST in that case provide a svn dump with all history if
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
214 the person forking wants one
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
215
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
216
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
217 Communicating passwords
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
218 Developers who have provided a public gpg key shall only receive
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
219 passwords or other sensitive information related to mplayer encrypted
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
220 with their gpg key
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
221
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
222
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
223 V. Votes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
224 --------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
225 Its inevitable that some things will be decided by voting, votes in the past
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
226 have due to total lack of rules been problematic for example as many people
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
227 rather wrote long texts and voted based on some condition instead of saying
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
228 a clear yes or no, still its important that people can vote based on a
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
229 condition
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
230 The result of a vote is binding for all developers and leaders, though of
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
231 course they can leave the project and thus cease to be a developer or leader
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
232 any time
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
233
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
234 Vs. Starting a vote
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
235 Any single developer can start a vote, to do so she has to send a mail to the
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
236 public developer mailing list of the project with a subject containing [VOTE]
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
237 and a clear and concise description, a longer descrition can be in the body
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
238 of the mail
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
239
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
240 Vp. Proposing an option (point on the ballot, better term?)
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
241 Any single developer can propose an option up to 7 days after a vote has
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
242 been started, to do so she has to reply to the original vote mail on the
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
243 public developer mailing list and clearly, concise and unmistakably describe
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
244 the option and place [VOTE-OPTION] instead of [VOTE] in the subject
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
245 in addition to proposed options, there always exists the default option
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
246 of doing nothing
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
247 options can be conditional on anything which at the end of the vote can
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
248 be clearly and unmistakably be answered with true or false
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
249
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
250 Vv. Voting
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
251 Any developer can cast a vote up to 10 days days after a vote has been
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
252 started, to do so she has to reply to the original vote mail on the
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
253 public developer mailing list and rate options each with an integer
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
254 unrated options shall be counted equal to the default option
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
255 Any leader can cast a veto against any option except the default up to 10 days
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
256 days after a vote has been started, to do so she has to reply to the original
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
257 vote mail on the public developer mailing list and replace
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
258 [VOTE] by [VOTE-VETO]
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
259 Developers and leaders who use gpg/pgp MUST sign their votes and vetoes
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
260
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
261 Vc. Counting votes
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
262 The person starting the vote has to count the votes and vetoes and publish
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
263 the result on the public developer mailing list as reply to the original vote
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
264 with [VOTE-RESULTS] instead of [VOTE] in the subject
22386
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
265 Vcv. Counting vetoes
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
266 if the majority of leaders that is yes >= no && yes>0 cast a veto against an
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
267 option then it has a required supermajority of 2:1 otherwise it has a
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
268 required supermajority of 0:1 and in either case no quorum requirement
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
269 Vcc. the votes shall be counted by using the Condorcet/Clone Proof SSD
22385
867f18d80b31 url with a good description of how to determine the winner from the votes
michael
parents: 22382
diff changeset
270 Voting Method described in http://www.debian.org/devel/constitution A.6
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
271
22386
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
272 Reasoning behind avoiding of a quorum and majority requirement except in
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
273 the case of vetoes
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
274 short awnser its stupid and has catastrophical failure modes
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
275 example of one such failure mode, lets assume a 1:1 majority requirement
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
276 as debian uses by default, there are 101 developers who vote, there are
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
277 3 options A,B and D the default (doing nothing / further discussions)
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
278 50 developers prefer A over B and B over discussions (A>B>D)
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
279 50 developers prefer discussions over A and A over B (D>A>B)
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
280 1 developer prefers B over discussions and discussions over A (B>D>A)
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
281 in this case A is approved by 50 of 101 developers and is droped due to
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
282 the lack of majority, B is approved by 51 of 101 developers and is not
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
283 furthermore B wins even though 100 of 101 developers prefer A over B
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
284
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
285
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
286 S. Changes to developer and Leader status
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
287 ----------------------------------------
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
288 The majority of leaders, that is yes>no can give and take away
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
289 developer and leader status to people
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
290 furthermore any developer or leader can step back and thus loose
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
291 his leader and or developer status
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
292 People disagreeing with the leaders are free to fork the project
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
293 new developers should be asked for real name, public gpg key, phone
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
294 number and email addresses, none of this is mandatory though, it is asked
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
295 so as to be able to contact the developer if the need arises and one
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
296 contact method fails
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
297
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
298
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
299 O. Violations
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
300 -------------
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
301 Any leader can after at least one leader has warned another developer
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
302 due to breaking policy, suspend his account if he repeats the violation
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
303 Ow. A policy violation warning MUST be CCed to the developer who violated
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
304 the policy
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
305
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
306
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
307 We think our rules are not too hard. If you have comments, contact us.