mirror of
https://git.tukaani.org/xz.git
synced 2025-12-11 16:08:45 +00:00
In short, sort the names with this command (-k1,1 isn't needed because
the lines with names start with " -"):
LC_ALL=en_US.UTF-8 sort -k2,2 -k3,3 -k4,4 -k5,5
When THANKS was created, I wrote the names as "First Last" and attempted
to keep them sorted by last name / surname / family name. This works
with many names in THANKS, but it becomes complicated with names that
don't fit that pattern. For example, names that are written as
"Last First" can be manually sorted by family name, but only if one
knows which part of the name is the family name.[*] And of course,
the concept of first/last name doesn't apply to all names.
[*] xz had a co-maintainer who could help me with such names,
but fortunately he isn't working on the project anymore.
Adding the names in chronological order could have worked too, although
if something is contributed by multiple people, one would still have to
decide how to sort the names within the batch. Another downside would
be that if THANKS is updated in more than one work-in-progress branch,
merge conflicts would occur more often.
Don't attempt to sort by last name. Let's be happy that people tend to
provide names that can be expressed in a reasonable number of printable
Unicode characters. In practice, people have been even nicer: if the
native language doesn't use a Latin script alphabet, people often provide
a transliterated name (only or in addition to the original spelling),
which is very much appreciated by those who don't know the native script.
Treat the names as opaque strings or space-separated strings for sorting
purposes. This means that most names will now be sorted by first name.
There still are many choices how to sort:
(1) LC_ALL=en_US.UTF-8 sort
The project is in English, so this may sound like a logical choice.
However, spaces have a lower weight than letters, which results in
this order:
- A Ba
- Ab C
- A Bc
- A Bd
(2) LC_ALL=en_US.UTF-8 sort -k2,2
This first sorts by the first word and then by the rest of the
string. It's -k2,2 instead of -k1,1 to skip the leading dash.
- A Ba
- A Bc
- A Bd
- Ab C
I like this more than (1). One could add -k3,3 -k4,4 -k5,5 ... too.
With current THANKS it makes no difference but it might some day.
NOTE: The ordering in en_US.UTF-8 can differ between libc versions
and operating systems. Luckily it's not a big deal in THANKS.
(3) LC_ALL=en_US.UTF-8 sort -f -k2,2
Passing -f (--ignore-case) to sort affects sorting of single-byte
characters but not multibyte characters (GNU coreutils 9.9):
No -f With -f LC_ALL=C
Aa A.A A.A
A.A Aa Aa
Ää Ää Ä.Ä
Ä.Ä Ä.Ä Ää
In GNU coreutils, the THANKS file is sorted using "sort -f -k1,1".
There is also a basic check that the en_US.UTF-8 locale is
behaving as expected.
(4) LC_ALL=C sort
This sorts by byte order which in UTF-8 is the same as Unicode
code point order. With the strings in (1) and (2), this produces
the same result as in (2). The difference in (3) can be seen above.
The results differ from en_US.UTF-8 when a name component starts
with a lower case ASCII letter (like "von" or "de"). Worse, any
non-ASCII characters sort after ASCII chars. These properties might
look weird in English language text, although it's good to remember
that en_US.UTF-8 sorting can appear weird too if one's native
language isn't English.
The choice between (2) and (4) was difficult but I went with (2).
;-)
256 lines
4.9 KiB
Plaintext
256 lines
4.9 KiB
Plaintext
|
|
Thanks
|
|
======
|
|
|
|
Some people have helped more, some less, but nevertheless everyone's help
|
|
has been important. :-)
|
|
- Adam Borowski
|
|
- Adam Walling
|
|
- Adrien Nader
|
|
- Agostino Sarubbo
|
|
- Alexander Bluhm
|
|
- Alexander M. Greenham
|
|
- Alexander Neumann
|
|
- Alexandre Sauvé
|
|
- Alexey Tourbin
|
|
- Anders F. Björklund
|
|
- Andraž 'ruskie' Levstik
|
|
- Andre Noll
|
|
- Andreas K. Hüttel
|
|
- Andreas Schwab
|
|
- Andreas Zieringer
|
|
- Andrej Skenderija
|
|
- Andres Freund
|
|
- Andrew Dudman
|
|
- Andrew Murray
|
|
- Antoine Cœur
|
|
- Anton Kochkov
|
|
- Antonio Diaz Diaz
|
|
- Arkadiusz Miskiewicz
|
|
- Asgeir Storesund Nilsen
|
|
- Aziz Chaudhry
|
|
- Bela Lubkin
|
|
- Ben Boeckel
|
|
- Benjamin Buch
|
|
- Benno Schulenberg
|
|
- Bernhard Reutner-Fischer
|
|
- Bert Wesarg
|
|
- Bhargava Shastry
|
|
- Bill Glessner
|
|
- Bjarni Ingi Gislason
|
|
- Boud Roukema
|
|
- Brad Smith
|
|
- Bruce Stark
|
|
- Cary Lewis
|
|
- Charles Wilson
|
|
- Chenxi Mao
|
|
- Chien Wong
|
|
- Chris Donawa
|
|
- Chris McCrohan
|
|
- Christian Hesse
|
|
- Christian Kujau
|
|
- Christian von Roques
|
|
- Christian Weisgerber
|
|
- Christoph Junghans
|
|
- Collin Funk
|
|
- Conley Moorhous
|
|
- Cristian Rodríguez
|
|
- Cristiano Ceglia
|
|
- Dan Shechter
|
|
- Dan Stromberg
|
|
- Dan Weiss
|
|
- Daniel Leonard
|
|
- Daniel Mealha Cabrita
|
|
- Daniel Packard
|
|
- Daniel Richard G.
|
|
- David Burklund
|
|
- Denis Excoffier
|
|
- Derwin McGeary
|
|
- Dexter Castor Döpping
|
|
- Diederik de Haas
|
|
- Diego Elio Pettenò
|
|
- Dimitri Papadopoulos Orfanos
|
|
- Dirk Müller
|
|
- Douglas Thor
|
|
- Ed Maste
|
|
- Elbert Pol
|
|
- Eli Schwartz
|
|
- Elijah Almeida Coimbra
|
|
- Émilie Labbé
|
|
- Emmanuel Blot
|
|
- Eric Lindblad
|
|
- Eric S. Raymond
|
|
- Étienne Mollier
|
|
- Evan Nemerson
|
|
- Fangrui Song
|
|
- Felix Collin
|
|
- Filip Palian
|
|
- Firas Khalil Khana
|
|
- François Etcheverry
|
|
- Frank Busse
|
|
- Frank Prochnow
|
|
- Fredrik Wikstrom
|
|
- Gabi Davar
|
|
- Gabriela Gutierrez
|
|
- Gilles Espinasse
|
|
- Gregory Margo
|
|
- Guillaume Outters
|
|
- Guiorgy Potskhishvili
|
|
- H. Peter Anvin
|
|
- Hajin Jang
|
|
- Hans Jansen
|
|
- Harri K. Koskinen
|
|
- Hin-Tak Leung
|
|
- H.J. Lu
|
|
- Hongbo Ni
|
|
- Igor Pavlov
|
|
- İhsan Doğan
|
|
- Ilya Kurdyukov
|
|
- Iouri Kharon
|
|
- İsmail Dönmez
|
|
- Ivan A. Melnikov
|
|
- Jakub Bogusz
|
|
- James Buren
|
|
- James M Leddy
|
|
- Jan Kratochvil
|
|
- Jan Terje Hansen
|
|
- Jason Gorski
|
|
- Jeff Bastian
|
|
- Jeffrey Walton
|
|
- Jeroen Roovers
|
|
- Jim Meyering
|
|
- Jim Wilcoxson
|
|
- Joachim Henke
|
|
- John Paul Adrian Glaubitz
|
|
- Jonathan Nieder
|
|
- Jonathan Stott
|
|
- Joona Kannisto
|
|
- Jouk Jansen
|
|
- Juan Manuel Guerrero
|
|
- Jukka Salmi
|
|
- Julien Marrec
|
|
- Jun I Jin
|
|
- Kai Pastor
|
|
- Karl Beldan
|
|
- Karl Berry
|
|
- Keith Patton
|
|
- Kelvin Lee
|
|
- Kevin R. Bulgrien
|
|
- Kian-Meng Ang
|
|
- Kim Jinyeong
|
|
- Kirill A. Korinsky
|
|
- Kiyoshi Kanazawa
|
|
- Lars Wirzenius
|
|
- Lizandro Heredia
|
|
- Loganaden Velvindron
|
|
- Lorenzo De Liso
|
|
- Lukas Braune
|
|
- Maarten Bosmans
|
|
- Maksym Vatsyk
|
|
- Marcin Kowalczyk
|
|
- Marcus Comstedt
|
|
- Marcus Tillmanns
|
|
- Marek Černocký
|
|
- Mark Adler
|
|
- Mark Wielaard
|
|
- Markus Duft
|
|
- Markus Rickert
|
|
- Martin Blumenstingl
|
|
- Martin Matuška
|
|
- Martin Storsjö
|
|
- Martin Väth
|
|
- Mathieu Vachon
|
|
- Matthew Good
|
|
- Matthieu Rakotojaona
|
|
- Melanie Blower
|
|
- Michael Felt
|
|
- Michael Fox
|
|
- Michał Górny
|
|
- Mike Frysinger
|
|
- Mikko Pouru
|
|
- Milo Casagrande
|
|
- Mohammed Adnène Trojette
|
|
- Nathan Moinvaziri
|
|
- Nelson H. F. Beebe
|
|
- Nicholas Jackson
|
|
- Ole André Vadla Ravnås
|
|
- Orange Tsai
|
|
- Orgad Shaneh
|
|
- Patrick J. Volkerding
|
|
- Paul Eggert
|
|
- Paul Townsend
|
|
- Pavel Raiskup
|
|
- Per Øyvind Karlsen
|
|
- Peter Ivanov
|
|
- Peter Lawler
|
|
- Peter O'Gorman
|
|
- Peter Pallinger
|
|
- Peter Seiderer
|
|
- Pierre-Yves Martin
|
|
- Pilorz Wojciech
|
|
- Pippijn van Steenhoven
|
|
- Rafał Mużyło
|
|
- Rainer Müller
|
|
- Ralf Wildenhues
|
|
- Rich Prohaska
|
|
- Richard Koch
|
|
- Richard W.M. Jones
|
|
- Robert Elz
|
|
- Robert Readman
|
|
- Roel Bouckaert
|
|
- Ron Desmond
|
|
- Ruarí Ødegaard
|
|
- Rui Paulo
|
|
- Ryan Colyer
|
|
- Ryan Young
|
|
- Sam James
|
|
- Scott McAllister
|
|
- Sean Fenian
|
|
- Sebastian Andrzej Siewior
|
|
- Sergey Kosukhin
|
|
- Simon Josefsson
|
|
- Siteshwar Vashisht
|
|
- Steffen Nurpmeso
|
|
- Stephan Kulow
|
|
- Stephen Sachs
|
|
- Stuart Shelton
|
|
- Taiki Tsunekawa
|
|
- Thomas Klausner
|
|
- Tobias Lahrmann Hansen
|
|
- Tobias Stoeckmann
|
|
- Tomasz Gajc
|
|
- Tomer Chachamu
|
|
- Torsten Rupp
|
|
- Trần Ngọc Quân
|
|
- Trent W. Buck
|
|
- Victoria Alexia
|
|
- Vijay Sarvepalli
|
|
- Ville Koskinen
|
|
- Ville Skyttä
|
|
- Vincent Cruz
|
|
- Vincent Fazio
|
|
- Vincent Lefevre
|
|
- Vincent Torri
|
|
- Vincent Wixsom
|
|
- Vincenzo Innocente
|
|
- Vitaly Chikunov
|
|
- Wim Lewis
|
|
- Xi Ruoyao
|
|
- Xin Li
|
|
- Yifeng Li
|
|
- 榆柳松 (ZhengSen Wang)
|
|
|
|
Companies:
|
|
- Google
|
|
- Sandfly Security
|
|
|
|
Other credits:
|
|
- cleemy desu wayo working with Trend Micro Zero Day Initiative
|
|
- Orange Tsai and splitline from DEVCORE Research Team
|
|
|
|
Also thanks to all the people who have participated in the Tukaani project.
|
|
|
|
I have probably forgot to add some names to the above list. Sorry about
|
|
that and thanks for your help.
|
|
|