annotate DOCS/tech/new_policy_proposal.txt @ 28363:7baa7292f575

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