iPXE
Macros
Licence declarations

For reasons that are partly historical, various different files within the iPXE codebase have differing licences. More...

Macros

#define FILE_LICENCE_PUBLIC_DOMAIN   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__public_domain__ ) )
 Declare a file as being in the public domain. More...
 
#define FILE_LICENCE_GPL2_OR_LATER   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_or_later__ ) )
 Declare a file as being under version 2 (or later) of the GNU GPL. More...
 
#define FILE_LICENCE_GPL2_ONLY   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_only__ ) )
 Declare a file as being under version 2 of the GNU GPL. More...
 
#define FILE_LICENCE_GPL_ANY   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl_any__ ) )
 Declare a file as being under any version of the GNU GPL. More...
 
#define FILE_LICENCE_BSD3   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__bsd3__ ) )
 Declare a file as being under the three-clause BSD licence. More...
 
#define FILE_LICENCE_BSD2   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__bsd2__ ) )
 Declare a file as being under the two-clause BSD licence. More...
 
#define FILE_LICENCE_BSD2_PATENT   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__bsd2_patent__ ) )
 Declare a file as being under the two-clause BSD plus patent licence. More...
 
#define FILE_LICENCE_MIT   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__mit__ ) )
 Declare a file as being under the one-clause MIT-style licence. More...
 
#define FILE_LICENCE_GPL2_OR_LATER_OR_UBDL   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_or_later_or_ubdl__ ) )
 Declare a file as being under GPLv2+ or UBDL. More...
 
#define FILE_LICENCE(_licence)   FILE_LICENCE_ ## _licence
 Declare a particular licence as applying to a file. More...
 

Detailed Description

For reasons that are partly historical, various different files within the iPXE codebase have differing licences.

Macro Definition Documentation

◆ FILE_LICENCE_PUBLIC_DOMAIN

#define FILE_LICENCE_PUBLIC_DOMAIN   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__public_domain__ ) )

Declare a file as being in the public domain.

This licence declaration is applicable when a file states itself to be in the public domain.

Definition at line 679 of file compiler.h.

◆ FILE_LICENCE_GPL2_OR_LATER

#define FILE_LICENCE_GPL2_OR_LATER   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_or_later__ ) )

Declare a file as being under version 2 (or later) of the GNU GPL.

This licence declaration is applicable when a file states itself to be licensed under the GNU GPL; "either version 2 of the License, or (at your option) any later version".

Definition at line 688 of file compiler.h.

◆ FILE_LICENCE_GPL2_ONLY

#define FILE_LICENCE_GPL2_ONLY   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_only__ ) )

Declare a file as being under version 2 of the GNU GPL.

This licence declaration is applicable when a file states itself to be licensed under version 2 of the GPL, and does not include the "or, at your option, any later version" clause.

Definition at line 697 of file compiler.h.

◆ FILE_LICENCE_GPL_ANY

#define FILE_LICENCE_GPL_ANY   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl_any__ ) )

Declare a file as being under any version of the GNU GPL.

This licence declaration is applicable when a file states itself to be licensed under the GPL, but does not specify a version.

According to section 9 of the GPLv2, "If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation".

Definition at line 709 of file compiler.h.

◆ FILE_LICENCE_BSD3

#define FILE_LICENCE_BSD3   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__bsd3__ ) )

Declare a file as being under the three-clause BSD licence.

This licence declaration is applicable when a file states itself to be licensed under terms allowing redistribution in source and binary forms (with or without modification) provided that:

redistributions of source code retain the copyright notice,
list of conditions and any attached disclaimers

redistributions in binary form reproduce the copyright notice,
list of conditions and any attached disclaimers in the
documentation and/or other materials provided with the
distribution

the name of the author is not used to endorse or promote
products derived from the software without specific prior
written permission

It is not necessary for the file to explicitly state that it is under a "BSD" licence; only that the licensing terms be functionally equivalent to the standard three-clause BSD licence.

Definition at line 734 of file compiler.h.

◆ FILE_LICENCE_BSD2

#define FILE_LICENCE_BSD2   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__bsd2__ ) )

Declare a file as being under the two-clause BSD licence.

This licence declaration is applicable when a file states itself to be licensed under terms allowing redistribution in source and binary forms (with or without modification) provided that:

redistributions of source code retain the copyright notice,
list of conditions and any attached disclaimers

redistributions in binary form reproduce the copyright notice,
list of conditions and any attached disclaimers in the
documentation and/or other materials provided with the
distribution

It is not necessary for the file to explicitly state that it is under a "BSD" licence; only that the licensing terms be functionally equivalent to the standard two-clause BSD licence.

Definition at line 755 of file compiler.h.

◆ FILE_LICENCE_BSD2_PATENT

#define FILE_LICENCE_BSD2_PATENT   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__bsd2_patent__ ) )

Declare a file as being under the two-clause BSD plus patent licence.

This licence declaration is applicable when a file states itself to be licensed under terms allowing redistribution in source and binary forms (with or without modification) provided that:

redistributions of source code retain the copyright notice,
list of conditions and any attached disclaimers

redistributions in binary form reproduce the copyright notice,
list of conditions and any attached disclaimers in the
documentation and/or other materials provided with the
distribution

and in addition states that

Subject to the terms and conditions of this license, each
copyright holder and contributor hereby grants to those
receiving rights under this license a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except for
failure to satisfy the conditions of this license) patent
license to make, have made, use, offer to sell, sell, import,
and otherwise transfer this software, where such license
applies only to those patent claims, already acquired or
hereafter acquired, licensable by such copyright holder or
contributor that are necessarily infringed by:

  their Contribution(s) (the licensed copyrights of copyright
  holders and non-copyrightable additions of contributors, in
  source or binary form) alone; or

  combination of their Contribution(s) with the work of
  authorship to which such Contribution(s) was added by such
  copyright holder or contributor, if, at the time the
  Contribution is added, such addition causes such combination
  to be necessarily infringed. The patent license shall not
  apply to any other combinations which include the
  Contribution.

It is not necessary for the file to explicitly state that it is under a "BSD" licence; only that the licensing terms be functionally equivalent to the standard two-clause BSD licence with patent grant.

Definition at line 802 of file compiler.h.

◆ FILE_LICENCE_MIT

#define FILE_LICENCE_MIT   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__mit__ ) )

Declare a file as being under the one-clause MIT-style licence.

This licence declaration is applicable when a file states itself to be licensed under terms allowing redistribution for any purpose with or without fee, provided that the copyright notice and permission notice appear in all copies.

Definition at line 812 of file compiler.h.

◆ FILE_LICENCE_GPL2_OR_LATER_OR_UBDL

#define FILE_LICENCE_GPL2_OR_LATER_OR_UBDL   PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_or_later_or_ubdl__ ) )

Declare a file as being under GPLv2+ or UBDL.

This licence declaration is applicable when a file states itself to be licensed under the GNU GPL; "either version 2 of the License, or (at your option) any later version" and also states that it may be distributed under the terms of the Unmodified Binary Distribution Licence (as given in the file COPYING.UBDL).

Definition at line 823 of file compiler.h.

◆ FILE_LICENCE

#define FILE_LICENCE (   _licence)    FILE_LICENCE_ ## _licence

Declare a particular licence as applying to a file.

Definition at line 827 of file compiler.h.