annotate DOCS/tech/new_policy_proposal.txt @ 22590:e03a45f3a360

cosmetic (move warning point after the existing policy points instead of the middle)
author michael
date Thu, 15 Mar 2007 12:42:59 +0000
parents 44bfacc79aee
children e27b971ccae5
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
22532
44bfacc79aee fix wrong typo fix, as noted by Diego
gpoirier
parents: 22530
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
22530
fefb92f3c59a fix some trivial typos
gpoirier
parents: 22387
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
17578
22632c215d59 Clarify policy on feature removal.
rathann
parents: 17054
diff changeset
116 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
117 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
118 the mplayer-dev-eng mailing list.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
119
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
120
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
121 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
122 which change behaviour, defaults etc, without asking first. The same
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
123 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
124 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
125 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
126 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
127 apply to files you wrote and/or maintain.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
128
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
129
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
130 Cosmetics
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
131 We refuse source indentation and other cosmetic changes if they are mixed
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
132 with functional changes, such commits will be reverted. Every
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
133 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
134 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
135 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
136 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
137 changes.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
138
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
139 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
140 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
141
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
142
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
143 Commit log message
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
144 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
145 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
146 particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
147
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
148
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
149 Applying patches
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
150 If you apply a patch by someone else, include the name and email address in
18660
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
151 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
152 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
153 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
154 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
155 that as well; do not leave it to the documentation maintainers.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
156
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
157
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
158 messing with other developers code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
159 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
160 a patch to mplayer-dev-eng instead.
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
161
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
162
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
163 Subscribe to svnlog
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
164 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
165 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
166 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
167 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
168
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
169
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
170 Documentation
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
171 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
172 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
173 maintainers will review and commit your stuff.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
174
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
175
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
176 Controversial changes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
177 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
178 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
179 experience, these changes are likely to be controversial:
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
180 - feature removal, even if obsolete
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
181 - changes to "special" output messages (like the "Core dumped ;)" message)
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
182 - verbosity changes from default (info) level
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
183 - changes to "historical" parts of docs and webpages
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
184 - use of internal or external libraries
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
185 - changes to the internal architecture
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
186 - non trivial changes to very fundamental parts of mplayer
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
187
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
188
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
189 Public discussions
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
190 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
191 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
192 IRC is good for quick discussions, but nobody is there 24/7.
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
193 also subscribe to the public developer mailing list
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
194
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
195
22590
e03a45f3a360 cosmetic (move warning point after the existing policy points instead of the middle)
michael
parents: 22532
diff changeset
196 Compiler Warning fixes
e03a45f3a360 cosmetic (move warning point after the existing policy points instead of the middle)
michael
parents: 22532
diff changeset
197 Do not change code to hide warnings without ensuring that the underlaying
e03a45f3a360 cosmetic (move warning point after the existing policy points instead of the middle)
michael
parents: 22532
diff changeset
198 logic is correct and thus the warning was inappropriate
e03a45f3a360 cosmetic (move warning point after the existing policy points instead of the middle)
michael
parents: 22532
diff changeset
199
e03a45f3a360 cosmetic (move warning point after the existing policy points instead of the middle)
michael
parents: 22532
diff changeset
200
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
201 Patches
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
202 read and follow patches.txt when sending patches for mplayer
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
203
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
204
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
205 Insults
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
206 Do not insult other people in relation to mplayer on any public mailing
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
207 list, that is calling code from someone else a pile of broken shit is
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
208 perfectly fine but calling the developer herself a retarded f*cking moron
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
209 is not acceptable
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
210
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
211
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
212 Forking
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
213 People disagreeing with the developers or leaders may fork the project,
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
214 the leaders MUST in that case provide a svn dump with all history if
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
215 the person forking wants one
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
216
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
217
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
218 Communicating passwords
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
219 Developers who have provided a public gpg key shall only receive
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
220 passwords or other sensitive information related to mplayer encrypted
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
221 with their gpg key
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
222
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
223
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
224 V. Votes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
225 --------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
226 Its inevitable that some things will be decided by voting, votes in the past
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
227 have due to total lack of rules been problematic for example as many people
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
228 rather wrote long texts and voted based on some condition instead of saying
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
229 a clear yes or no, still its important that people can vote based on a
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
230 condition
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
231 The result of a vote is binding for all developers and leaders, though of
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
232 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
233 any time
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
234
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
235 Vs. Starting a vote
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
236 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
237 public developer mailing list of the project with a subject containing [VOTE]
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
238 and a clear and concise description, a longer descrition can be in the body
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
239 of the mail
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
240
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
241 Vp. Proposing an option (point on the ballot, better term?)
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
242 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
243 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
244 public developer mailing list and clearly, concise and unmistakably describe
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
245 the option and place [VOTE-OPTION] instead of [VOTE] in the subject
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
246 in addition to proposed options, there always exists the default option
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
247 of doing nothing
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
248 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
249 be clearly and unmistakably be answered with true or false
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
250
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
251 Vv. Voting
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
252 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
253 started, to do so she has to reply to the original vote mail on the
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
254 public developer mailing list and rate options each with an integer
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
255 unrated options shall be counted equal to the default option
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
256 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
257 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
258 vote mail on the public developer mailing list and replace
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
259 [VOTE] by [VOTE-VETO]
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
260 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
261
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
262 Vc. Counting votes
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
263 The person starting the vote has to count the votes and vetoes and publish
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
264 the result on the public developer mailing list as reply to the original vote
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
265 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
266 Vcv. Counting vetoes
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
267 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
268 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
269 required supermajority of 0:1 and in either case no quorum requirement
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
270 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
271 Voting Method described in http://www.debian.org/devel/constitution A.6
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
272
22386
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
273 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
274 the case of vetoes
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
275 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
276 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
277 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
278 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
279 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
280 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
281 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
282 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
283 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
284 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
285
6c9a391ca7cb clarify quorum and majority requirements in respect to debians voting system
michael
parents: 22385
diff changeset
286
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
287 S. Changes to developer and Leader status
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
288 ----------------------------------------
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
289 The majority of leaders, that is yes>no can give and take away
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
290 developer and leader status to people
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
291 furthermore any developer or leader can step back and thus loose
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
292 his leader and or developer status
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
293 People disagreeing with the leaders are free to fork the project
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
294 new developers should be asked for real name, public gpg key, phone
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
295 number and email addresses, none of this is mandatory though, it is asked
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
296 so as to be able to contact the developer if the need arises and one
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
297 contact method fails
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
298
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
299
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
300 O. Violations
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
301 -------------
22382
0cdde40210bd s/admin/leader/
michael
parents: 22380
diff changeset
302 Any leader can after at least one leader has warned another developer
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
303 due to breaking policy, suspend his account if he repeats the violation
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
304 Ow. A policy violation warning MUST be CCed to the developer who violated
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
305 the policy
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
306
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
307
22530
fefb92f3c59a fix some trivial typos
gpoirier
parents: 22387
diff changeset
308 We think our rules are not too hard. If you have comments, contact us.