comparison CONTRIBUTE @ 71619:fc0f241e3ff8

Much rewrite.
author Richard M. Stallman <rms@gnu.org>
date Wed, 05 Jul 2006 00:43:21 +0000
parents e4b43205e213
children 2abae690629b
comparison
equal deleted inserted replaced
71618:e67545d6fa09 71619:fc0f241e3ff8
1 1
2 Contributing to Emacs 2 Contributing to Emacs
3 3
4 Emacs is a collaborative project and one which wants to encourage new 4 Emacs is a collaborative project and we encourage contributions from
5 development. You may wish to fix Emacs bugs, improve testing, port 5 anyone and everyone. If you want to contribute in the way that will
6 Emacs to a new platform, update documentation, add new Emacs features, 6 help us most, we recommend (1) fixing reported bugs and (2)
7 and the like. To help with this, there is a lot of documentation 7 implementing the feature ideas in etc/TODO. However, if you think of
8 available. In addition to the user guide and Lisp Reference Manual in 8 new features to add, please suggest them too -- we might like your
9 the Emacs distribution, the Emacs web pages also contain much 9 idea. Porting to new platforms is also useful, when there is a new
10 information. 10 platform, but that is not common nowadays.
11
12 For documentation on how to develop Emacs changes, refer to the Emacs
13 Manual and the Emacs Lisp Reference Manual (both included in the Emacs
14 distribution). The web pages in http://www.gnu.org/software/emacs
15 contain additional information.
11 16
12 You may also want to submit your change so that can be considered for 17 You may also want to submit your change so that can be considered for
13 inclusion in a future version of Emacs (see below). 18 inclusion in a future version of Emacs (see below).
14 19
15 If you don't feel up to hacking Emacs, there are still plenty of ways to 20 If you don't feel up to hacking Emacs, there are many other ways to
16 help! You can answer questions on the mailing lists, write 21 help. You can answer questions on the mailing lists, write
17 documentation, find bugs, create a Emacs related website (contribute to 22 documentation, find and report bugs, contribute to the Emacs web
18 the official Emacs web site), or create a Emacs related software 23 pages, or develop a package that works with Emacs.
19 package. We welcome all of the above and feel free to ask on the Emacs
20 mailing lists if you are looking for feedback or for people to review a
21 work in progress.
22 24
23 Ref: http://www.gnu.org/software/emacs/ 25 Here are some style and legal conventions for contributors to Emacs:
24
25 Finally, there are certain legal requirements and style issues which
26 all contributors need to be aware of:
27 26
28 27
29 o Coding Standards 28 o Coding Standards
30 29
31 All contributions must conform to the GNU Coding Standard. 30 Contributed code should follow the GNU Coding Standard.
32 Submissions which do not conform to the standards will be 31 If it doesn't, we'll need to find someone to fix the code
33 returned with a request to reformat the changes. 32 before we can use it.
34 33
35 Emacs has certain additional coding requirements. 34 Emacs has certain additional style and coding conventions.
36 35
37 Ref: http://www.gnu.org/prep/standards_toc.html 36 Ref: http://www.gnu.org/prep/standards_toc.html
38 Ref: Standards Info Manual 37 Ref: Standards Info Manual
39 38
40 39
41 o Copyright Assignment 40 o Copyright Assignment
42 41
43 Before we can accept code contributions from you, we need a 42 We can accept small changes without legal papers, and for
44 copyright assignment form filled out and filed with the FSF. 43 medium-size changes a copyright disclaimer is ok too. Toa
44 accept substantial contributions from you, we need a copyright
45 assignment form filled out and filed with the FSF.
45 46
46 Contact us via the Emacs mailing list to obtain the relevant 47 Contact us at emacs-devel@gnu.org to obtain the relevant
47 forms. 48 forms.
48
49 Small changes can be accepted without a copyright assignment
50 form on file.
51 49
52 50
53 o Getting the Source Code 51 o Getting the Source Code
54 52
55 The latest version of Emacs can be downloaded using CVS or Arch 53 The latest version of Emacs can be downloaded using CVS or
56 from the Savannah web site. It is important that you submit 54 Arch from the Savannah web site. It is important to write
57 your patch using this version, as any bug in a released version 55 your patch based this version; if you start from an older
58 of Emacs may already be fixed. It also makes it easier for 56 version, your patch may be outdated when you write it.
59 others to test your patch.
60 57
61 Ref: http://savannah.gnu.org/projects/emacs 58 Ref: http://savannah.gnu.org/projects/emacs
62 59
63 60
64 o Submitting Patches 61 o Submitting Patches
92 and send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org. 89 and send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org.
93 All subsequent discussion should also be sent to the mailing 90 All subsequent discussion should also be sent to the mailing
94 list. 91 list.
95 92
96 93
97 o Please read your patch before submitting it. 94 o Please reread your patch before submitting it.
98 95
99 A patch containing several unrelated changes reformats will be 96
100 returned with a request to send them separately. 97 o If you send several unrelated changes together, we will
98 ask you to separate them so we can consider each of the changes
99 by itself.
101 100
102 101
103 o Supplemental information for Emacs Developers: 102 o Supplemental information for Emacs Developers:
104 103
105 If you wish to contribute to Emacs on a regular basis then you 104 Once you become a frequent contributor to Emacs, we can
106 may be given write access to the CVS repository. 105 consider giving you write access to the CVS repository.
107 106
108 Discussion about Emacs development takes place on 107 Discussion about Emacs development takes place on
109 emacs-devel@gnu.org. 108 emacs-devel@gnu.org.
110 109
111 Think carefully about whether your change requires updating the 110 Think carefully about whether your change requires updating the
114 113
115 The best way to understand Emacs Internals is to read the code 114 The best way to understand Emacs Internals is to read the code
116 but the nodes "Tips" and "GNU Emacs Internals" in the Appendix 115 but the nodes "Tips" and "GNU Emacs Internals" in the Appendix
117 of the Emacs Lisp Reference Manual may also help. 116 of the Emacs Lisp Reference Manual may also help.
118 117
119 The file DEBUG describes how to debug Emacs. 118 The file DEBUG describes how to debug Emacs bugs.
120 119
121 Avoid using `defadvice' or `eval-after-load' for lisp 120 Avoid using `defadvice' or `eval-after-load' for Lisp
122 code to be included in Emacs. 121 code to be included in Emacs.