annotate DOCS/tech/new_policy.txt @ 22380:e47d88c5cbc0

weaken veto right
author michael
date Thu, 01 Mar 2007 17:34:24 +0000
parents 592e6aa9585b
children 0cdde40210bd
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
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
30 * MPlayer admin, generally referred to simply as admin in this document, every
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
31 admin is also a developer
22374
592e6aa9585b clarify root vs admin
michael
parents: 22373
diff changeset
32 Note the set of admins is independant of the set of people who are root at
592e6aa9585b clarify root vs admin
michael
parents: 22373
diff changeset
33 mphq
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
34 * CAN/MUST/SHOULD descriptions ...
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
35 * public developer mailing list (mplayer-dev-eng at mplayerhq in hungary)
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
36
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
37
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
38 C. Code and SVN Rules
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
39 -----------------------------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
40 Renaming/moving/copying files or contents of files
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
41 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
42 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
43
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
44 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
45 '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
46 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
47
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
48 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
49
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
50 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
51 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
52 those changes hard to trace.
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
53
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
54 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
55 so try to avoid them.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
56
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
57 Reverting broken commits
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
58 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
59 do to the svn repository
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
60 The recommit old method:
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
61 svn merge
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
62 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
63 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
64 the change is commited as if it is a new change
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
65 The svn copy method
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
66 svn rm <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 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
69 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
70 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
71 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
72 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
73 Neither method will change the history, checking out an old version will
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
74 always return exactly that revision with all its bugs and features. The
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
75 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
76 part of the directly visible history of the revisions after the reversal
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
77 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
78 maintainers decision, or a change which mixed functional and cosmetic
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
79 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
80 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
81 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
82 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
83 change with the functional stuff and one with the cosmetics
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
84 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
85 totally broken then it should be reversed with svn merge as otherwise
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
86 the fact that the change was bad would be hidden
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
87 One method to decide which reversal method is best is to ask yourself
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
88 if there is any value in seeing the whole bad change and its removal
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
89 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
90 the actual change does not clutter the immediately visible history and
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
91 svn annotate.
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
92 If you are even just slightly uncertain how to revert something then ask on
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
93 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
94
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
95 Broken code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
96 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
97 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
98 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
99 (#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
100 work.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
101
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
102 Testing code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
103 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
104 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
105 (portability, exploits compiler bugs, unusual environment etc) they will be
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
106 reported and eventually fixed.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
107
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
108 Splitting changes
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
109 Do not commit unrelated changes together, split them into self-contained
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
110 pieces.
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
111 if you have any doubt discuss it on the developer mailing list before
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
112 committing, also when in doubt more splitting is better then less, changes
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
113 which are larger then 10kbyte generally should be split into several
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
114 incremental changes if possible even if you think they are all related
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
115 keeping changes well split makes reviewing and understanding them on
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
116 svn log at the time of commit and later when debugging a bug much easier
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
117
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
118 Compiler Warning fixes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
119 Do not change code to hide warnings without ensuring that the underlaying
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
120 logic is correct and thus the warning was inappropriate
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
121
17578
22632c215d59 Clarify policy on feature removal.
rathann
parents: 17054
diff changeset
122 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
123 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
124 the mplayer-dev-eng mailing list.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
125
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
126
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
127 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
128 which change behaviour, defaults etc, without asking first. The same
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
129 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
130 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
131 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
132 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
133 apply to files you wrote and/or maintain.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
134
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
135
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
136 Cosmetics
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
137 We refuse source indentation and other cosmetic changes if they are mixed
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
138 with functional changes, such commits will be reverted. Every
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
139 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
140 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
141 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
142 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
143 changes.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
144
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
145 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
146 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
147
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
148
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
149 Commit log message
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
150 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
151 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
152 particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
153
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
154
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
155 Applying patches
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
156 If you apply a patch by someone else, include the name and email address in
18660
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
157 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
158 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
159 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
160 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
161 that as well; do not leave it to the documentation maintainers.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
162
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
163
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
164 messing with other developers code
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
165 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
166 a patch to mplayer-dev-eng instead.
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
167
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
168
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
169 Subscribe to svnlog
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
170 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
171 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
172 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
173 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
174
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
175
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
176 Documentation
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
177 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
178 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
179 maintainers will review and commit your stuff.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
180
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
181
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
182 Controversial changes
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
183 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
184 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
185 experience, these changes are likely to be controversial:
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
186 - feature removal, even if obsolete
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
187 - changes to "special" output messages (like the "Core dumped ;)" message)
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
188 - verbosity changes from default (info) level
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
189 - changes to "historical" parts of docs and webpages
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
190 - use of internal or external libraries
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
191 - changes to the internal architecture
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
192 - non trivial changes to very fundamental parts of mplayer
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
193
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
194
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
195 Public discussions
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
196 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
197 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
198 IRC is good for quick discussions, but nobody is there 24/7.
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
199 also subscribe to the public developer mailing list
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
200
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
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
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
214 People disagreeing with the developers or admins may fork the project,
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
215 the admins MUST in that case provide a svn dump with all history if
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
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
222 with their gpg key
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
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
232 The result of a vote is binding for all developers and admins, though of
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
233 course they can leave the project and thus cease to be a developer or admin
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
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
257 Any admin 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]
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
261 Developers and admins 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
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
267 Vcv. Counting vetoes, an option shall be removed if the majority of admins
22380
e47d88c5cbc0 weaken veto right
michael
parents: 22374
diff changeset
268 that is yes >= no && yes>0 cast a veto against it and the option has less
e47d88c5cbc0 weaken veto right
michael
parents: 22374
diff changeset
269 than 2/3 majority in the vote, that is number of developer rating it higher
e47d88c5cbc0 weaken veto right
michael
parents: 22374
diff changeset
270 than the default <= 2*number of developers rating it lower then the default
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
271 Vcc. the votes shall be counted by using the Condorcet/Clone Proof SSD
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
272 Voting Method
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
273
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
274 S. Changes to developer and Admin status
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
275 ----------------------------------------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
276 The majority of admins, that is yes>no can give and take away
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
277 developer and admin status to people
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
278 furthermore any developer or admin can step back and thus loose
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
279 his admin and or developer status
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
280 People disagreeing with the admins are free to fork the project
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
281 new developers should be asked for real name, public gpg key, phone
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
282 number and email addresses, none of this is mandatory though, it is asked
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
283 so as to be able to contact the developer if the need arises and one
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
284 contact method fails
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
285
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
286
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
287 O. Violations
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
288 -------------
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
289 Any admin can after at least one admin has warned another developer
22373
525091b9b972 spelling fixes by ivan
michael
parents: 22368
diff changeset
290 due to breaking policy, suspend his account if he repeats the violation
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
291 Ow. A policy violation warning MUST be CCed to the developer who violated
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
292 the policy
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
293
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
294
22368
8e9f3809b4be new policy draft
michael
parents: 22345
diff changeset
295 We think our rules are not too hard. If you have comments, contact us.