The primary authors of strace were:

	Paul Kranenburg <pk@cs.few.eur.nl>
	Branko Lankester <branko@hacktic.nl>
	Rick Sladkey <jrs@world.std.com>

These people have contributed to strace.  Some have reported problems, others
have contributed improvements to the documentation, actual code, provided
information, provided resources, or helped to port strace to new systems.
Those contributions are described in the version control logs and ChangeLog-CVS
file.  If your name has been left out, if you'd rather not be listed, or
if you'd prefer a different address be used, please send a note to the
strace-devel@lists.strace.io mailing list.

	Aaron Ucko <ucko@vax1.rockhurst.edu>
	Abhishek Tiwari <erabhishektiwarics@gmail.com>
	Adrien Kunysz <adrien@kunysz.be>
	Alexey Brodkin <Alexey.Brodkin@synopsys.com>
	Alexey Neyman <stilor@att.net>
	Ali Polatel <alip@exherbo.org>
	Anatoly Pugachev <matorola@gmail.com>
	Anchit Jain <anchitjain1234@gmail.com>
	Andi Kleen <ak@linux.intel.com>
	Andre McCurdy <armccurdy@gmail.com>
	Andreas Schwab <schwab@linux-m68k.org>
	Andrew Guertin <lists@dolphinling.net>
	Angelo Castello <angelo.castello@st.com>
	Anton Blanchard <anton@samba.org>
	Arkadiusz Miskiewicz <misiek@pld.org.pl>
	Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
	Aurelien Jacobs <aurel@gnuage.org>
	Bai Weidong <baiwd@cn.fujitsu.com>
	Bart Van Assche <bart.vanassche@sandisk.com>
	Baruch Siach <baruch@tkos.co.il>
	Ben Noordhuis <info@bnoordhuis.nl>
	Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
	Bo Kullmar <bk@kullmar.se>
	Bryan Matsuo <bryan.matsuo@gmail.com>
	Bryce Gibson <bryce@gibson-consulting.com.au>
	Cai Fei <caifei@cn.fujitsu.com>
	Carlos O'Donell <carlos@systemhalted.org>
	Carmelo Amoroso <carmelo.amoroso@st.com>
	Chen Jingpiao <chenjingpiao@gmail.com>
	Cheolung Lee <chpie@grayhash.com>
	Chris Dearman <chris.dearman@imgtec.com>
	Chris Lamb <lamby@debian.org>
	Chris Metcalf <cmetcalf@tilera.com>
	Chris Zankel <chris@zankel.net>
	Christian Neukirchen <chneukirchen@gmail.com>
	Christian Svensson <blue@cmd.nu>
	Christopher Covington <cov@codeaurora.org>
	D.J. Barrow <djbarrow@de.ibm.com>
	DJ Delorie <dj@redhat.com>
	Damien Profeta <damien.profeta@amadeus.com>
	Damir Shayhutdinov <damir@altlinux.org>
	Daniel P. Berrange <berrange@redhat.com>
	David Daney <ddaney@caviumnetworks.com>
	David Mosberger-Tang <davidm@hpl.hp.com>
	David Robins <dbrobins@i4031.net>
	David S. Miller <davem@caip.rutgers.edu>
	David Wilder <wilder@us.ibm.com>
	David Woodhouse <dwmw2@redhat.com>
	Denys Vlasenko <vda.linux@googlemail.com>
	Dima Kogan <dima@secretsauce.net>
	Dima Krasner <dima@dimakrasner.com>
	Dmitry V. Levin <ldv@altlinux.org>
	Douglas Mencken <dougmencken@gmail.com>
	Dr. David Alan Gilbert <dgilbert@redhat.com>
	Edgar E. Iglesias <edgar.iglesias@gmail.com>
	Edgar Kaziakhmedov <edgar.kaziakhmedov@virtuozzo.com>
	Elliott Hughes <enh@google.com>
	Elvira Khabirova <lineprinter@altlinux.org>
	Erik Johansson <erik@ejohansson.se>
	Etienne Gemsa <etienne.gemsa@lse.epita.fr>
	Eugene Syromyatnikov <evgsyr@gmail.com>
	Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
	Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
	Fabien Siron <fabien.siron@epita.fr>
	Fei Jie <feij.fnst@cn.fujitsu.com>
	Felix Janda <felix.janda@posteo.de>
	Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
	Florian Lohoff <flo@rfc822.org>
	Fr. Br. George <george@altlinux.org>
	Frederik Schüler <fs@debian.org>
	Gabor Gombas <gombasg@sztaki.hu>
	Gabriel Laskar <gabriel@lse.epita.fr>
	Ganesan Rajagopal <rganesan@myrealbox.com>
	Gaël Roualland <gael.roualland@iname.com>
	Giedrius Statkevičius <giedrius.statkevicius@gmail.com>
	Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
	Grant Edwards <grant.b.edwards@gmail.com>
	Greg Banks <gbanks@pocketpenguins.com>
	H.J. Lu <hongjiu.lu@intel.com>
	Harald van Dijk <truedfx@gentoo.org>
	Harsha Sharma <harshasharmaiitr@gmail.com>
	Heiko Carstens <heiko.carstens@de.ibm.com>
	Helge Deller <deller@gmx.de>
	Henrik Storner <storner@osiris.ping.dk>
	Holger Hans Peter Freyther <holger@freyther.de>
	J. Bruce Fields <bfields@fieldses.org>
	Jacob Goense <dugo@xs4all.nl>
	Jakub Bogusz <qboosh@pld-linux.org>
	Jakub Jelinek <jj@ultra.linux.cz>
	James Clarke <jrtc27@jrtc27.com>
	James Cowgill <james410@cowgill.org.uk>
	James Hogan <james.hogan@imgtec.com>
	James Yang <james.yang@freescale.com>
	Jan Kratochvil <jan.kratochvil@redhat.com>
	JayRJoshi <jay.r.joshi100@gmail.com>
	Jeff Mahoney <jeffm@suse.com>
	Jian Zhen <zhenjl@gmail.com>
	Jiri Slaby <jirislaby@gmail.com>
	Joakim Bech <joakim.bech@linaro.org>
	Joe Ilacqua <spike@world.std.com>
	Joe Korty <joe.korty@ccur.com>
	Johannes Stezenbach <js@sig21.net>
	John Hughes <john@Calva.COM>
	John Spencer <maillist-strace@barfooze.de>
	Josef T. Burger <bolo@cs.wisc.edu>
	Josh Triplett <josh@freedesktop.org>
	Joshua Neal <tinara@netpipeline.net>
	Jürgen Fluk <louis@marco.de>
	Jürgen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
	Katerina Koukiou <k.koukiou@googlemail.com>
	Keith Owens <kaos.ocs@gmail.com>
	Keith Thompson <kst@alsys.com>
	Khem Raj <raj.khem@gmail.com>
	Kirill A. Shutemov <kirill@shutemov.name>
	Kyle McMartin <kyle@mcmartin.ca>
	Lai JiangShan <laijs@cn.fujitsu.com>
	Lazar Trsic <Lazar.Trsic@imgtec.com>
	Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
	Leonard N. Zubkoff <lnz@dandelion.com>
	Li Er <phoooyb@gmail.com>
	Linus Torvalds <Linus.Torvalds@cs.helsinki.fi>
	Lubomir Rintel <lkundrak@v3.sk>
	Luca Clementi <luca.clementi@gmail.com>
	Lupe Christoph <lupe@alanya.isar.muc.de>
	Maarten ter Huurne <maarten@treewalker.org>
	Mark Hills <mark.hills@framestore.com>
	Mark Wielaard <mjw@redhat.com>
	Marty Leisner <leisner@sdsp.mc.xerox.com>
	Masatake YAMATO <yamato@redhat.com>
	Matt Day <mday@artisoft.com>
	Matthias Pfaller <leo@dachau.marco.de>
	Max Filippov <jcmvbkbc@gmail.com>
	Maxim Shchetynin <maxim@de.ibm.com>
	Maxin B. John <maxin.john@enea.com>
	Md Haris Iqbal <haris.phnx@gmail.com>
	Michael A Fetterman <mafetter@nvidia.com>
	Michael E Chastain <mec@duracef.shout.net>
	Michael Holzheu <holzheu@de.ibm.com>
	Michael Shigorin <mike@altlinux.org>
	Michail Litvak <mci@owl.openwall.com>
	Michal Ludvig <mludvig@suse.cz>
	Michal Simek <monstr@monstr.eu>
	Mike Frysinger <vapier@gentoo.org>
	Mike Stroyan <mike.stroyan@hp.com>
	Mikulas Patocka <mpatocka@redhat.com>
	Miroslav Lichvar <mlichvar@redhat.com>
	Muttley Meen <muttley.meen@gmail.com>
	Nahim El Atmani <nahim+dev@naam.me>
	Namhyung Kim <namhyung.kim@lge.com>
	Nate Eldredge <nate@cartsys.com>
	Nate Sammons <nate@users.sourceforge.net>
	Neil Campbell <lists@thebatcave.org.uk>
	Nikolay Marchuk <marchuk.nikolay.a@gmail.com>
	Orion Poplawski <orion@cora.nwra.com>
	Paolo Bonzini <pbonzini@redhat.com>
	Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
	Paul Mundt <lethal@linux-sh.org>
	Pavel Machek <pavel@ucw.cz>
	Peter Jones <pjones@redhat.com>
	Peter Zotov <whitequark@whitequark.org>
	Philipp Marek <philipp.marek@emerion.com>
	Philippe De Muyter <phdm@macqel.be>
	Philippe Ombredanne <pombredanne@nexb.com>
	Pierre Marsais <pierre.marsais@lse.epita.fr>
	Pádraig Brady <P@draigBrady.com>
	Quentin Monnet <quentin.monnet@6wind.com>
	Rajeev V. Pillai <rajeevvp@gmail.com>
	Ralf Baechle <ralf@linux-mips.org>
	Randolph Chung <tausq@debian.org>
	Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>
	Richard Braakman <dark@xs4all.nl>
	Richard Henderson <richard@twiddle.tamu.edu>
	Richard Hirst <rhirst@linuxcare.com>
	Richard W.M. Jones <rjones@redhat.com>
	Rick Jones <rick.jones2@hp.com>
	Rishi Bhatt <bhatt.rishi062@gmail.com>
	Robin Hack <hack.robin@gmail.com>
	Roland Borde <bo@uebemc.siemens.de>
	Roland McGrath <roland@redhat.com>
	Rolf Eike Beer <eb@emlix.com>
	Romain Naour <romain.naour@smile.fr>
	Sami Farin <safari@u.safari.iki.fi>
	Sandhya Bankar <bankarsandhya512@gmail.com>
	Scott Tsai <scottt958@yahoo.com.tw>
	Sean Stangl <sstangl@mozilla.com>
	Sebastian Pipping <sebastian@pipping.org>
	Seraphime Kirkovski <kirkseraph@gmail.com>
	Sergei Trofimovich <slyfox@gentoo.org>
	Sergey Bolshakov <sbolshakov@altlinux.org>
	Simon Murray <simon@transitive.com>
	Solar Designer <solar@openwall.com>
	Srinivasa Ds <srinivasa@in.ibm.com>
	Stanislav Brabec <sbrabec@suse.cz>
	Stefan Sørensen <stefan.sorensen@spectralink.com>
	Steve Bennett <steveb@workware.net.au>
	Steve McIntyre <steve@einval.com>
	Steven Honeyman <stevenhoneyman@gmail.com>
	Szabolcs Nagy <nsz@port70.net>
	Thanh Ma <tma@encore.com>
	Thiemo Seufer <ths@networkno.de>
	Thomas Bogendoerfer <tsbogend@bigbug.franken.de>
	Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
	Tim Yamin <plasmaroo@gentoo.org>
	Timo Lindfors <timo.lindfors@iki.fi>
	Tom Dyas <tdyas@eden.rutgers.edu>
	Tommi Rantala <ext-tommi.1.rantala@nokia.com>
	Topi Miettinen <Topi.Miettinen@nic.fi>
	Ulrich Drepper <drepper@redhat.com>
	Vicente Olivert Riera <vincent@gentoo.org>
	Victor Krapivensky <krapivenskiy.va@phystech.edu>
	Vineet Gupta <Vineet.Gupta1@synopsys.com>
	Vitaly Chaykovsky <mgspeker@gmail.com>
	Wang Chao <wang.chao@cn.fujitsu.com>
	Weichuan Yan <wchyan@marvell.com>
	Wichert Akkerman <wichert@deephackmode.org>
	William Manley <will@williammanley.net>
	Xiaoning Ding <dingxn@gmail.com>
	Yang Zhiguo <yzgcsu@cn.fujitsu.com>
	Yun-Chih Chen <b03902074@ntu.edu.tw>
	Zach Brown <zach.brown@oracle.com>
	Zev Weiss <zev@bewilderbeest.net>
	Zhang Le <robert.zhangle@gmail.com>
	Zhibin Li <08826794brmt@gmail.com>
	Zubin Mithra <zubin.mithra@gmail.com>
	Марк Коренберг <socketpair@gmail.com>
