Here is a list of people, who helped the Libtasn1 project.

Nikos Mavroyanopoulos   <nmav@hellug.gr>
Simon Josefsson         <simon@josefsson.org>
Martijn Koster          <mak@greenhills.co.uk>
Albert Chin             <gnutls-dev@mlists.thewrittenword.com>
Bernard Leak            <bernard@brenda-arkle.demon.co.uk>
Frediano ZIGLIO         <Frediano.Ziglio@vodafone.com>
Evgeny Legerov          <admin@gleg.net>
Cyril Holweck           <cyril.holweck@q-free.com>
Stephen Wrobleski       <steve@localtoast.org>
Diego Pettenò           <flameeyes@gentoo.org>
Michele Baldessari      <michele@pupazzo.org>
Christian Grothoff      <christian@grothoff.org>
Dagobert Michelsen      <dam@opencsw.org>
David Reiser            <dbreiser@gmail.com>
Didier Godefroy         <dg@ulysium.net>
Andreas Metzler         <ametzler@downhill.at.eu.org>
Ludovic Courtès         <ludo@gnu.org>
Jeffrey Walton          <noloader@gmail.com>
Matthew Hall            <mhall@mhcomputing.net>

----------------------------------------------------------------------
Copyright (C) 2002-2021 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
