Embedding licensing requirements into binary objects

Luke Mewburn <[email protected]>
Newsgroups gmane.os.netbsd.devel.general
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.