Yasm is Copyright (c) 2001-2007 Peter Johnson and other Yasm developers.

Yasm developers and/or contributors include:
  Peter Johnson
  Michael Urman
  Brian Gladman (VC8 build files, other fixes)
  Stanislav Karchebny (options parser)
  Mathieu Monnier (SSE4 instruction patches)
  Anonymous "NASM64" developer (NASM preprocessor fixes)
  Stephen Polkowski (x86 instruction patches)
  Henryk Richter (Mach-O object format)
  Ben Skeggs (patches, bug reports)

-----------------------------------
Yasm licensing overview and summary
-----------------------------------

Note: This document does not provide legal advice nor is it the actual
license of any part of Yasm.  See the individual licenses for complete
details.  Consult a lawyer for legal advice.

The primary license of Yasm is the 2-clause BSD license.  Please use this
license if you plan on submitting code to the project.

Yasm has absolutely no warranty; not even for merchantibility or fitness
for a particular purpose.

-------
Libyasm
-------
Libyasm is 2-clause or 3-clause BSD licensed, with the exception of
bitvect, which is triple-licensed under the Artistic license, GPL, and
LGPL.  Libyasm is thus GPL and LGPL compatible.  In addition, this also
means that libyasm is free for binary-only distribution as long as the
terms of the 3-clause BSD license and Artistic license (as it applies to
bitvect) are fulfilled.

-------
Modules
-------
The modules are 2-clause or 3-clause BSD licensed, with the exception of:
 preprocs/nasm - LGPL licensed

---------
Frontends
---------
The frontends are 2-clause BSD licensed.

-------------
License Texts
-------------
The full text of all licenses are provided in separate files in the source
distribution.  Each source file may include the entire license (in the case
of the BSD and Artistic licenses), or may reference the GPL or LGPL license
file.

BSD.txt - 2-clause and 3-clause BSD licenses
Artistic.txt - Artistic license
GNU_GPL-2.0 - GNU General Public License
GNU_LGPL-2.0 - GNU Library General Public License
