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