org-contribute.org: Small rewording
[worg.git] / org-contribute.org
blob8b30a69bc46a25eb9ed9f24d602d9b3540c3c86a
1 #+TITLE:      How to contribute to Org?
2 #+AUTHOR:     Worg people
3 #+EMAIL:      mdl AT imapmail DOT org
4 #+OPTIONS:    H:3 num:nil toc:t \n:nil ::t |:t ^:nil -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
5 #+STARTUP:    align fold nodlcheck hidestars oddeven lognotestate
6 #+SEQ_TODO:   TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
7 #+TAGS:       Write(w) Update(u) Fix(f) Check(c)
8 #+LANGUAGE:   en
9 #+PRIORITIES: A C B
10 #+CATEGORY:   worg
12 # This file is the default header for new Org files in Worg.  Feel free
13 # to tailor it to your needs.
15 [[file:index.org][{Back to Worg's index}]]
17 * How to contribute
18 :PROPERTIES:
19 :CUSTOM_ID: types-of-contributions
20 :END:
22 Every contribution to Org is very welcome.  
24 - You can [[file:donate.org][make a donation]].
26 - You can check the community's *requests for help* on
27   [[https://updates.orgmode.org/][updates.orgmode.org]] and subscribe to [[https://updates.orgmode.org/feed/help][this RSS feed]] to track them.
29 - You can *fix bugs* referenced on [[https://updates.orgmode.org/][updates.orgmode.org]] and subscribe to
30   [[https://updates.orgmode.org/feed/bugs][this RSS feed]].
32 - You can try to *reproduce bugs*: subscribe to [[https://lists.gnu.org/mailman/listinfo/emacs-orgmode][Org's mailing list]] and
33   monitor new unreferenced bugs.  Try to reproduce them.  If you can
34   reproduce a bug, reply to the OP and add =X-Woof-Bug: confirmed= to
35   your mail headers, the bug will then pop up on [[https://updates.orgmode.org/][updates.orgmode.org]].
37 - You can *help other users by replying to their questions* [[file:org-mailing-list.org][on the
38   mailing list]] or on [[file:org-web-social.org][other web places]].
40 - You can *send bug reports*.  Before sending a bug report, make sure
41   you have read the [[https://orgmode.org/org.html#Feedback][Feedback]] section of Org's manual or this other
42   great text: [[http://www.chiark.greenend.org.uk/~sgtatham/bugs.html][How to Send Bug Reports Effectively]]
44 - You can *submit patches* to the mailing list.  See the [[For Org
45   contributors: preferred way of submitting patches][Preferred way of submitting patches]] section for details.  You can run
46   =make test= to check that your patch does not introduce new bugs.
48   If your patch is against an Org file that is part of Emacs, then
49   your total contribution (all patches you submit) should change /less
50   than 15 lines/ (See the [[http://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE][CONTRIBUTE file in GNU Emacs]].)  If you
51   contribute more, you have to assign the copyright of your
52   contribution to the Free Software Foundation (see below).
54 - You can *contribute to Worg*.  Learn what Worg is [[file:worg-about.org][about]] and how to
55   contribute to it [[file:worg-git.org][through git]].
57 - You can *write add-ons*. The best way is to submit your code to [[file:org-mailing-list.org][the
58   mailing list]] to discuss it with people.  If you decide to sign the [[*Copyright issues when contributing to Emacs Org
59    mode][assignment contract with the FSF]], we might include your contribution
60   in the distribution, and then in GNU Emacs.
62 - You can *share ideas and feature requests*.  Org is already mature,
63   but new ideas keep popping up.  If you want to request a feature,
64   first dig into [[file:org-mailing-list.org][the mailing list]] to find similar proposals.  If you
65   cannot find any, subscribe to [[file:org-mailing-list.org][the mailing list]], read it for a while,
66   then make your proposal.  Formulate it as detailed as possible, if
67   possible with examples.
69 * For Org developers
70   :PROPERTIES:
71   :CUSTOM_ID: devs
72   :END:
74 Org developers are those who have write access to the repository.
76 ** Git branches
78 Please read Worg's page on [[https://orgmode.org/worg/org-maintainance.html][Org maintainance]].
80 ** Pushing your first commit
82 1. Send [[mailto:bzgATgnuDOTorg][Bastien]] the username you want for https://code.orgmode.org
83 2. Add your public key to your account, once its creation is confirmed
84 3. Clone =org-mode.git=: =~$ git clone git@code.orgmode.org:bzg/org-mode.git=
85 4. Commit your changes against the code and the documentation
86 5. Run =make test=
87 6. If the tests pass, push your changes
89 If you are undertaking big changes, please create a dedicated branch
90 locally and make sure you have a clean commit history before merging
91 it into the maint or master branch.
93 * Preferred way of submitting patches
94 :PROPERTIES:
95 :CUSTOM_ID: patches
96 :END:
98 ** Coding conventions
100 Org is part of Emacs, so any contribution should follow the [[http://www.gnu.org/software/emacs/manual/html_node/elisp/Coding-Conventions.html][GNU Emacs
101 Lisp coding conventions]] described in Emacs manual.
103 ** Sending patch with git
105 Please use Git to make patches and send them via email -- this is
106 perfectly fine for major and minor changes.
108 When sending a patch (either using =git diff= or =git format-patch=)
109 please *always add a properly formatted Emacs ChangeLog entry*.  See
110 [[#commit-messages][this section]] for details on how to create such a ChangeLog.
112 ** Sending commits
114 For every patch you send, we suggest to use =git format-patch=.
116 This is easy for small patches and more consequent ones.  Sometimes,
117 you might even want to work in several steps and send each commit
118 separately.  Here is the suggested workflow:
120 #+begin_quote
121 :   ~$ git pull                 # make sure your repo is up to date
122 :   ~$ git branch my-changes    # create a new branch from master
123 :   ~$ git checkout my-changes  # switch to this new branch
125   ... make some changes (1) ...
127 :   ~$ git commit -a -m "This is change (1)"  # Commit your change
129   ... make another change (2) ...
131 :   ~$ git commit -a -m "This is change (2)"  # Commit your change
132 :   ~$ git format-patch master                # Creates two patches
134   ... Then two patches for your two commits are ready to be sent to
135   the list.
136 #+end_quote
138 To finally send the patches, you can either add them as attachments to
139 your email, or use [[https://git-scm.com/docs/git-send-email][git send-email]], if it's properly configured.
141 Write useful commit messages: please provide 1) a reason for it in
142 your email and 2) a ChangeLog entry in the commit message (see [[#commit-messages][this
143 section]] on how to format a ChangeLog entry.)
145 ** Sending quick fixes for testing purpose
147 If you want to send a quick fix that needs to be further tested by
148 other people (before you submit a real patch), here is how you can do:
150 #+begin_quote
151   This command will make a patch between the staging area (in your
152   computer), and the file you modified:
154   : git diff -p org-whatever.el > org-whatever.el.diff
156   If you already committed your changes to your index (staging area), then
157   you should compare against a particular branch (in this example,
158   origin/master):
160   : git diff -p origin/master org-whatever.el > org-whatever.el.diff
162   You email the output to the mailing list, adding =[PATCH]= to the
163   subject, and description of what you fixed or changed.
164 #+end_quote
166 Note that small patches sent like this still need to have a ChangeLog
167 entry to be applied.  If your patch looks good to you, it's always
168 better to send a patch through =git format-patch=.
170 ** Sharing changes from a public branch
172 When discussing important changes, it is sometimes not so useful to
173 send long and/or numerous patches.
175 In this case, you can maintain your changes on a public branch of a
176 public clone of Org and send a link to the diff between your changes
177 and the latest Org commit that sits in your clone.
179 If the discussion settles and your change is accepted, you can now
180 send it as (a list of) patch(es) to the latest Org version.
182 * Commit messages and ChangeLog entries
183 :PROPERTIES:
184 :CUSTOM_ID: commit-messages
185 :END:
187 We have decided to no longer keep a ChangeLog file to record changes
188 to individual functions.
190 A commit message should be constructed in the following way:
192 - Line 1 of the commit message should always be a short description of
193   the overall change.  Line 1 does /not/ get a dot at the end and does
194   not start with a star.  Generally, it starts with the filename that
195   has been changed, followed by a colon.
197 - Line 2 is an empty line.
199 - In line 3, the ChangeLog entry should start.  A ChangeLog entry
200   looks like [[https://orgmode.org/cgit.cgi/org-mode.git/commit/?id%3Dd49957ef021e256f19092c907d127390d39ec1ed][this]]:
202   : * org-timer.el (org-timer-cancel-timer, org-timer-stop): Enhance
203   : message.
204   : (org-timer-set-timer): Use the number of minutes in the Effort
205   : property as the default timer value. Three prefix arguments will
206   : ignore the Effort value property.
208 - After the changelog, another empty line should come before any
209   additional information that the committer wishes to provide in order
210   to explain the patch.
212 - If the change is a minor change made by a committer without
213   copyright assignment to the FSF, the commit message should also
214   contain the cookie =TINYCHANGE= (anywhere in the message).  When we
215   later produce the ChangeLog file for Emacs, the change will be
216   marked appropriately.
218 - Variables and functions names are quoted like `this' (backquote and
219   single quote).
221 - Sentences should be separated by two spaces.
223 - Sentences should start with an uppercase letter.
225 - Avoid the passive form: i.e., use "change" instead of "changed".
227 Here is an example for such a message:
229 #+begin_example
230   org-capture.el: Fix the case of using a template file
232   ,* lisp/org-capture.el (org-capture-set-plist): Make sure txt is a
233   string before calling `string-match'.
234   (org-capture-templates): Fix customization type.
236   ,* doc/org.texi (Capture): Document using a file for a template.
238   The problem here was that a wrong keyword was given in the
239   customization type.  This let to a string-match against a list value.
241   Modified from a patch proposal by Johan Friis.
243   TINYCHANGE
244 #+end_example
246 If you are using /magit.el/ in Emacs, the ChangeLog for such entries are
247 easily produced by pressing =C= in the diff listing.
249 Another option to produce the entries is to use `C-x 4 a' in the
250 changed function or in the diff listing.  This will create entries in
251 the ChangeLog file, and you can then cut and paste these to the commit
252 message and remove the indentation.
254 - Further reference: [[http://git.savannah.gnu.org/cgit/emacs.git/plain/CONTRIBUTE][Contribution guide from Emacs repo]]
256 * Copyright issues when contributing to Emacs Org mode
257 :PROPERTIES:
258 :CUSTOM_ID: copyright-issues
259 :END:
261 Org is made of many files.  Most of them are also distributed as part
262 of GNU Emacs.  These files are called the /Org core/, and they are all
263 copyrighted by the [[http://www.fsf.org][Free Software Foundation, Inc]].
265 If you consider contributing to these files, your first need to grant
266 the right to include your works in GNU Emacs to the FSF.  For this you
267 need to complete [[https://orgmode.org/request-assign-future.txt][this form]], and send it to [[mailto:assign@gnu.org][assign@gnu.org]].
269 The FSF will send you the assignment contract that both you and the
270 FSF will sign.  Please let the Org mode maintainer know when this
271 process is complete.
273 If you want to learn more about /why/ copyright assignments are
274 collected, read this: [[http://www.gnu.org/licenses/why-assign.html][Why the FSF gets copyright assignments from
275 contributors?]]
277 By submitting patches to =emacs-orgmode@gnu.org= or by pushing changes
278 to Org's core files, you are placing these changes under the same
279 licensing terms as those under which GNU Emacs is published.
281 #+begin_example
282 ;; GNU Emacs is free software: you can redistribute it and/or modify
283 ;; it under the terms of the GNU General Public License as published by
284 ;; the Free Software Foundation, either version 3 of the License, or
285 ;; (at your option) any later version.
286 #+end_example
288 If at the time you submit or push these changes you do have active
289 copyright assignment papers with the FSF, for future changes to either
290 Org mode or to Emacs, this means that copyright to these changes is
291 automatically transferred to the FSF.
293 The Org mode repository is seen as upstream repository for Emacs,
294 anything contained in it can potentially end up in Emacs.  If you do
295 not have signed papers with the FSF, only changes to files in the
296 =contrib/= part of the repository will be accepted, as well as very
297 minor changes (so-called /tiny changes/) to core files.  We will ask you
298 to sign FSF papers at the moment we attempt to move a =contrib/= file
299 into the Org core, or into Emacs.
301 * Copyrighted contributors to Org mode
302 :PROPERTIES:
303 :CUSTOM_ID: copyrighted-contributors
304 :END:
306 Here is the list of people who have contributed actual code to the Org
307 mode core.  Note that the manual contains a more extensive list with
308 acknowledgments, including contributed ideas!  The lists below are
309 mostly for house keeping, to help the maintainers keep track of
310 copyright issues.
312 ** Current contributors
313   :PROPERTIES:
314   :CUSTOM_ID: contributors_with_fsf_papers
315   :END:
317 Here is the list of people who signed the papers with the Free Software
318 Foundation and can now freely submit code to Org files that are included
319 within GNU Emacs:
321 - Aaron Ecay
322 - Aaron Jensen
323 - Abdó Roig-Maranges
324 - Achim Gratz
325 - Adam Elliott
326 - Adam Porter
327 - Adam Spiers
328 - Alan Schmitt
329 - Alex Branham
330 - Alexey Lebedeff
331 - Allen Li
332 - Andreas Burtzlaff
333 - Andreas Leha
334 - Andrew Hyatt
335 - Andrzej Lichnerowicz
336 - Andy Steward
337 - Anthony John Day
338 - Anthony Lander
339 - Arni Magnusson
340 - Arun Isaac
341 - Baoqiu Cui
342 - Barry Leonard Gidden
343 - Bastien Guerry
344 - Benjamin Andresen
345 - Bernd Grobauer
346 - Bernt Hansen
347 - Bjarte Johansen
348 - Brian James Gough
349 - Brice Waegenire
350 - Carlos Pita
351 - Carsten Dominik
352 - Charles Berry
353 - Charles Sebold
354 - Christian Egli
355 - Christian Garbs
356 - Christian Moe
357 - Christopher League
358 - Christopher Miles Gray
359 - Christopher Schmidt
360 - Christopher Suckling
361 - Clément Pit--Claudel
362 - Dan Davison
363 - Daniel M German
364 - Daniel M.\nbsp{}Hackney
365 - David Arroyo Menéndez
366 - David Maus
367 - David O'Toole
368 - Dieter Schoen
369 - Dima Kogan
370 - Dmitry Antipov
371 - Don March
372 - Emmanuel Charpentier
373 - Eric Abrahamsen
374 - Eric Schulte
375 - Eric S.\nbsp{}Fraga
376 - Erik Hetzner
377 - Erik Iverson
378 - Ethan Ligon
379 - Feng Shu
380 - Florian Lindner
381 - Francesco Pizzolante
382 - Frederick Giasson
383 - Gary Oberbrunner
384 - George Kettleborough
385 - Georg Lehner
386 - Giovanni Ridolfi
387 - Greg Minshall
388 - Grégoire Jadi (aka Daimrod)
389 - Gustav Wikström
390 - Henning Dietmar Weiss
391 - Henry Blevins
392 - Ian Barton
393 - Ian Dunn
394 - Ian Kelling
395 - Ilya Shlyakhter
396 - Ingo Lohmar
397 - Ippei Furuhashi
398 - Jack Kamm
399 - Jake Romer
400 - James TD Smith
401 - Jan Böcker
402 - Jan Malakhovski
403 - Jarmo Hurri
404 - Jason Riedy
405 - Jay Kamat
406 - Jay Kerns
407 - Jeffrey Ryan Horn
408 - Jens Lechtenboerg
409 - Joe Corneli
410 - Joel Boehland
411 - John Kitchin
412 - John Wiegley
413 - Jonas Bernoulli
414 - Jonathan Leech-Pepin
415 - Jon Snader
416 - José L.\nbsp{}Doménech
417 - Juan Pechiar
418 - Julian Gehring
419 - Julien Barnier
420 - Julien Danjou
421 - Justin Gordon
422 - Justus Piater
423 - Karl Fogel
424 - Kaushal Modi
425 - Ken Mankoff
426 - Kevin Brubeck Unhammer
427 - Kevin Foley
428 - Kévin Le Gouguec
429 - Konstantin Antipin
430 - Kyle Meyer
431 - Lambda Coder
432 - Lawrence Mitchell
433 - Lele Gaifax
434 - Lennart Borgman
435 - Leonard Avery Randall
436 - Leo Vivier
437 - Le Wang
438 - Luis Anaya
439 - Lukasz Stelmach
440 - Madan Ramakrishnan
441 - Magnus Henoch
442 - Manuel Giraud
443 - Marcin Borkowski
444 - Marco Wahl
445 - Mario Frasca
446 - Mark A.\nbsp{}Hershberger
447 - Martin Pohlack
448 - Martyn Jago
449 - Matt Lundin
450 - Max Mikhanosha
451 - Michael Albinus
452 - Michael Brand
453 - Michael Gauland
454 - Michael Sperber
455 - Miguel A.\nbsp{}Figueroa-Villanueva
456 - Mikael Fornius
457 - Moritz Ulrich
458 - Nathaniel Flath
459 - Nathan Neff
460 - Neil Jerram
461 - Nicholas Dokos
462 - Nicolas Berthier
463 - Nicolas Dudebout
464 - Nicolas Goaziou
465 - Nicolas Richard
466 - Niels Giessen
467 - Nikolai Weibull
468 - Noorul Islam K M
469 - No Wayman (Nicholas Vollmer)
470 - Oleh Krehel
471 - Paul Sexton
472 - Pedro Alexandre Marcelino Costa da Silva
473 - Peter Jones
474 - Phil Hudson
475 - Philip Rooke
476 - Phil Jackson
477 - Pierre Téchoueyres
478 - Pieter Praet
479 - Piotr Zielinski
480 - Puneeth Chaganti
481 - Rafael Laboissière
482 - Rainer M Krug
483 - Rasmus Pank Roulund
484 - Richard Kim
485 - Richard Klinda
486 - Richard Riley
487 - Rick Frankel
488 - Robert Michael Irelan
489 - Roland Coeurjoly
490 - Rüdiger Sonderfeld
491 - Russell Adams
492 - Ryo Takaishi
493 - Sacha Chua
494 - Samuel Loury
495 - Sebastian Miele
496 - Sebastian Reuße
497 - Sebastian Rose
498 - Sebastien Vauban
499 - Sergey Litvinov
500 - Seweryn Kokot
501 - Simon Michael
502 - Siraphob Phipathananunth
503 - stardiviner
504 - Stefan Kangas
505 - Stephen Eglen
506 - Steven Rémot
507 - Suvayu Ali
508 - Takaaki Ishikawa
509 - Tassilo Horn
510 - Terje Larsen
511 - T.F. Torrey
512 - Thibault Marin
513 - Thierry Banel
514 - Thomas Baumann
515 - Thomas Fitzsimmons
516 - Thomas Holst
517 - Thomas S.\nbsp{}Dye
518 - Thorsten Jolitz
519 - Tim Burt
520 - Tim Landscheidt
521 - Timothy E Chapman (TEC)
522 - Titus von der Malsburg
523 - Toby Cubitt
524 - Tokuya Kameshima
525 - Tomas Hlavaty
526 - Tom Breton
527 - Tom Gillespie
528 - Tony Day
529 - Toon Claes
530 - Trevor Murphy
531 - Ulf Stegemann
532 - Vitalie Spinu
533 - Vladimir Panteleev
534 - Yann Hodique
535 - Yasushi Shoji
536 - Yoshinari Nomura
537 - Yuri D.\nbsp{}Lensky
538 - Zhang Weize
539 - Zhuo Qingliang (Killy Draw)
541 ** Processing
543 These people have been asked to sign the papers, and they are
544 currently considering it or a request is being processed by the FSF.
546 - Felipe Lema [2020-02-25 mar.]
547 - Brian Carlson [2016-05-24 Tue]
548 - Mats Kindahl (as of 2013-04-06) for [[http://mid.gmane.org/513BAB7D.1000603@oracle.com][this patch]]
549 - Bill Wishon [?]
551 ** Tiny Changes
553 These people have submitted tiny change patches that made it into Org
554 without FSF papers.  When they submit more, we need to get papers
555 eventually.  The limit is a cumulative change of 20 non-repetitive
556 change lines.  Details are given in [[http://www.gnu.org/prep/maintain/maintain.html#Legally-Significant ][this document]].
558 - Aaron L.\nbsp{}Zeng
559 - Abhishek Chandratre
560 - Adam Aviv
561 - akater
562 - Albert Krewinkel
563 - Alexandru-Sergiu Marton
564 - Aliaksey Artamonau
565 - Aman Yang
566 - Anders Johansson
567 - Andrew Burgess
568 - Andrew Eggenberger
569 - Andrii Kolomoiets
570 - Andy Lutomirski
571 - Anthony Cowley
572 - Anton Latukha
573 - Arne Babenhauserheide
574 - Arun Persaud
575 - Augustin Fabre
576 - Aurélien Aptel
577 - Austin Walker
578 - Axel Kielhorn
579 - Benson Chu
580 - Brad Knotwell
581 - Brian Powell
582 - Cheong Yiu Fung
583 - Christian Hopps
584 - Christian Schwarzgruber
585 - Chunyang Xu
586 - Claudiu Tănăselia
587 - Craig Tanis
588 - Dan Drake
589 - Daniel Peres Gomez
590 - Derek Feichtinger
591 - Dima Gerasimov
592 - Dominik Schrempf
593 - Doro Rose
594 - Eduardo Bellani
595 - Eric Danan
596 - Eric Timmons
597 - Federico Beffa
598 - Feng Zhou
599 - Fernando Varesi
600 - Florian Beck
601 - Francesco Montanari
602 - Galen Menzel
603 - Georgiy Tugai
604 - Gong Qijian
605 - Gregor Zattler
606 - Greg Tucker-Kellogg
607 - Hiroshi Saito
608 - Ihor Radchenko
609 - Ivan Vilata i Balaguer
610 - Jack Henahan
611 - Jacob Gerlach
612 - Jacob Matthews
613 - Jakob Lombacher
614 - Jamie Forth
615 - Jan Seeger
616 - Jason Dunsmore
617 - Jason Furtney
618 - Jeff Larson
619 - Joaquín Aguirrezabalaga
620 - Joe Hirn
621 - John Foerch
622 - John Lee
623 - Jonas Hörsch
624 - Jon Miller
625 - Joost Diepenmaat
626 - Jose Robins
627 - Kodi Arfer
628 - Konstantin Kliakhandler
629 - Kovacsics Robert
630 - Leslie Harlley Watter
631 - Leslie Watter
632 - Lixin Chin
633 - Luke Amdor
634 - Mak Kolybabi
635 - Marc Ihm
636 - Mario Martelli
637 - Marshall Flax
638 - Martin Šlouf
639 - Martin Vuk
640 - Matthew Gidden
641 - Matthew MacLean
642 - Matt Huszagh
643 - Matt Price
644 - Max Mouratov
645 - Michaël Cadilhac
646 - Michael O'Connor
647 - Michael Strey
648 - Michael Welle
649 - Michael Weylandt
650 - Mike Ivanov
651 - Mike McLean
652 - Miro Bezjak
653 - Moritz Kiefer
654 - Muchenxuan Tong
655 - Myles English
656 - Myq Larson
657 - Nathaniel Nicandro
658 - Nick Gunn
659 - Nicolò Balzarotti
660 - Peter Feigl
661 - Peter Moresi
662 - Philip (Pip Cet)
663 - Piet van Oostrum
664 - Renato Ferreira
665 - Richard Hansen
666 - Richard Lawrence
667 - Richard Y.\nbsp{}Kim (Kim)
668 - Robert Hambrock
669 - Roberto Huelga
670 - Robert P.\nbsp{}Goldman
671 - Roger Welsh
672 - Ruben Maher
673 - Sami Airaksinen
674 - Saulius Menkevičius
675 - Sebastien Le Maguer
676 - Sergey Gordienko
677 - Seth Robertson
678 - Sigmund Tzeng
679 - Stacey Marshall
680 - Stanley Jaddoe
681 - Stefano Rodighiero
682 - Stefan-W.\nbsp{}Hahn
683 - Stig Brautaset
684 - Sylvain Chouleur
685 - Tadashi Hirata
686 - Teika Kazura
687 - Terje Larsen
688 - Thierry Pellé
689 - Thomas Alexander Gerds
690 - Thomas Plass
691 - Thomas Rikl
692 - Tim Visher
693 - Tobias Schlemmer
694 - Tom Hinton
695 - Vicente Vera Parra
696 - Viktor Rosenfeld
697 - Vladimir Lomov
698 - Wojciech Gac
699 - Xavier Martinez-Hidalgo
700 - Xi Shen
701 - Yann Esposito
702 - York Zhao
703 - Yue Zhu
704 - Zane D.\nbsp{}Purvis
705 - Иван Трусков
707 (This list may be incomplete - please help completing it.)
709 ** No FSF assignment
711 These people cannot or prefer to not sign the FSF copyright papers,
712 and we can only accept patches that do not change the core files (the
713 ones that are also in Emacs).
715 Luckily, this list is still empty.
717 #+BEGIN: timestamp :string "Last update: " :format "%Y-%m-%d @ %H:%M"
719 #+END: