Subject: Embedding licensing requirements into binary objects
To: None <tech-misc@NetBSD.org>
From: Luke Mewburn <lukem@NetBSD.org>
List: tech-misc
Date: 10/18/2003 11:53:39
It would be extremely useful to encode a file's binary license
requirements in the generated binary object. Among other things,
it makes it easy to gather license compliance text for a given
group of binary objects using a tool.
I propose some new macros:
__LICENSE(type,description)
Generates an ELF "linkonce" section header, so that
there's only one copy of each license type in the
generated binary.
The generated section header name would be
".gnu.linkonce.netbsd.license." + #type
type Type of license as a string.
Used as part of the section header name.
Suggested types:
GPL GNU Public License, v2 or greater
UCB3 UCB 3 clause
TNF4 TNF 4 clause
description Text string describing license.
Suggest a URL to www.NetBSD.org for the license.
This could also contain the advertising text
for licenses that require that, especially
for "non standard" texts.
__LICENSE_GPL __LICENSE(GPL, "http://www.NetBSD.org/license/GPL.html")
__LICENSE_TNF4 __LICENSE(TNF4, "http://www.NetBSD.org/license/TNF4.html")
__LICENSE_UCB3 __LICENSE(UCB3, "http://www.NetBSD.org/license/UCB3.html")
Thoughts?
Cheers,
Luke.