diff --git a/CREDITS.in b/CREDITS.in
new file mode 100644
index 0000000..a614b20
--- /dev/null
+++ b/CREDITS.in
@@ -0,0 +1,90 @@
+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.sourceforge.net mailing list.
+
+##<
+## There is no need to list here any name that appears as an Author in
+## "git log" output.  Those are automatically added when this template
+## is used to generate the CREDITS file.
+##>
+Aaron Ucko                      ucko@vax1.rockhurst.edu
+Adrien Kunysz                   adrien@kunysz.be
+Anton Blanchard                 anton@samba.org
+Arkadiusz Miskiewicz            misiek@pld.org.pl
+Bai Weidong                     baiwd@cn.fujitsu.com
+Bo Kullmar                      bk@kullmar.se
+Cai Fei                         caifei@cn.fujitsu.com
+D.J. Barrow                     djbarrow@de.ibm.com
+David Mosberger-Tang            davidm@hpl.hp.com
+David S. Miller                 davem@caip.rutgers.edu
+David Wilder                    wilder@us.ibm.com
+David Woodhouse                 dwmw2@redhat.com
+Douglas Mencken                 dougmencken@gmail.com
+Fernando Luis Vazquez Cao       fernando@oss.ntt.co.jp
+Florian Lohoff                  flo@rfc822.org
+Gabor Gombas                    gombasg@sztaki.hu
+Ganesan Rajagopal               rganesan@myrealbox.com
+Gaël Roualland                  gael.roualland@iname.com
+Greg Banks                      gbanks@pocketpenguins.com
+Henrik Storner                  storner@osiris.ping.dk
+Jakub Jelinek                   jj@ultra.linux.cz
+Jeff Mahoney                    jeffm@suse.com
+Joe Ilacqua                     spike@world.std.com
+Johannes Stezenbach             js@sig21.net
+Ju"rgen Fluk                    louis@marco.de
+Juergen Weigert                 jnweiger@immd4.informatik.uni-erlangen.de
+Keith Thompson                  kst@alsys.com
+Kyle McMartin                   kyle@mcmartin.ca
+Lai JiangShan                   laijs@cn.fujitsu.com
+Leonard N. Zubkoff              lnz@dandelion.com
+Linus Torvalds                  Linus.Torvalds@cs.helsinki.fi
+Lupe Christoph                  lupe@alanya.isar.muc.de
+Marty Leisner                   leisner@sdsp.mc.xerox.com
+Matt Day                        mday@artisoft.com
+Matthias Pfaller                leo@dachau.marco.de
+Maxim Shchetynin                maxim@de.ibm.com
+Michael E Chastain              mec@duracef.shout.net
+Michael Holzheu                 holzheu@de.ibm.com
+Michail Litvak                  mci@owl.openwall.com
+Mike Stroyan                    mike.stroyan@hp.com
+Muttley Meen                    muttley.meen@gmail.com
+Nate Eldredge                   nate@cartsys.com
+Paul Mundt                      lethal@linux-sh.org
+Peter Jones                     pjones@redhat.com
+Pádraig Brady                   P@draigBrady.com
+Rajeev V. Pillai                rajeevvp@gmail.com
+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
+Roland Borde                    bo@uebemc.siemens.de
+Sami Farin                      safari@u.safari.iki.fi
+Scott Tsai                      scottt958@yahoo.com.tw
+Simon Murray                    simon@transitive.com
+Solar Designer                  solar@openwall.com
+Srinivasa Ds                    srinivasa@in.ibm.com
+Steve Bennett                   steveb@workware.net.au
+Thanh Ma                        tma@encore.com
+Thiemo Seufer                   ths@networkno.de
+Thomas Bogendoerfer             tsbogend@bigbug.franken.de
+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
+Xiaoning Ding                   dingxn@gmail.com
+Yang Zhiguo                     yzgcsu@cn.fujitsu.com
+Zach Brown                      zach.brown@oracle.com
+Zhang Le                        zhilg@users.sourceforge.net
+Марк Коренберг                  socketpair@gmail.com
