RFC: MK_BLOBS build option
Robert Watson
rwatson at FreeBSD.org
Tue Jan 24 09:44:59 UTC 2012
On Mon, 23 Jan 2012, Robert Millan wrote:
> I looked in detail at the documentation you pointed. My impression is that
> this infrastructure is designed to address a very different problem. Some
> notable differences:
>
> - It concerns about things like license compatibility between ports. If
> there's a license incompatibility in kernel, it affects the whole tree, it's
> a lot more manual verification work which is already in place.
>
> - In src MK_* build options are already stablished practice. Adding new
> options and using them in Makefiles fits well with the desired goal.
>
> - src already has a license split (/gnu, /cddl...) and the diversity of
> license groups is much smaller. There are already build options concerned
> with GPL, for example MK_BSD_GREP. When some users have had this need,
> existing MK_* framework seems to have satisfied them.
There's a related concern to do with "license leakage" into the GENERIC
kernel. The policy of the project is that the GENERIC kernel should
essentially be BSD-licensed -- GPL, CDDL, etc, code needs to be compiled out
by default, although compiled into modules is considered fine. One reason
that KDTRACE_HOOKS is not in GENERIC is that no one has done a careful review
to ensure that it doesn't lead to CDDL in GENERIC. It would be nice if we had
tools to not only perform those checks, but also allow us to induce compile
failures as part of tinderboxing if something goes wrong. It's an interesting
question as to how "hard line" you get about this: how do we want to treat
uuencoded firmware bits in device drivers that allow unlimited distribution
but not reverse engineering, for example?
I don't want to get into the politics of this, nor the specific spellings,
except to say that we (a) can't provide guarantees (and especially not
indemnification) to our users but (b) we do want to help them do their jobs
more easily, in which case tools to help them analyse their license
obligations when using FreeBSD would have benefit.
Count me on in Warner's comment regarding "blob" -- binary-only (or, for that
matter, obfuscated) content is a contentious issue. In as much as we can
provide accurate while less potentially inflamatory descriptions, I think
that's a useful thing to do. Possibly we should keep vaguely in mind the IETF
mantra of being liberal about what we accept (i.e., support components under a
variety of licenses) and conservative about what we generate (create as much
code as possible under the BSD license).
However, there is an immediate practical benefit to resolving the DTrace hooks
situation, and some of the tools used to do that would be more broadly
relevant. I'd like it very much if we had KDTRACE_HOOKS compiled into GENERIC
-- it's one of the reasons why I find myself still using custom kernels in
many configurations.
Robert
More information about the freebsd-arch
mailing list