I have been subbed to this bug since the beginning, and when I saw it come up, I was hoping that it _wouldn't_ hit the HN front page, because right now the bug does not have very much information in it. I'm not saying that details and discussion don't exist, just that they're not in the bug.

Because there's not much info in the bug, there isn't much to have a discussion about, unless someone is able to provide information that isn't already in the bug. And, given the audience of HN, saying "License terms are getting in the way" isn't really detailed enough.

I encourage you to go to the microcode download at https://downloadmirror.intel.com/28039/eng/microcode-2018080... and actually read the license file. You'll laugh or groan at the first part of the first paragraph:

> DO NOT DOWNLOAD, …

What I think is interesting about the license is, it's actually two licenses. Or, a license and a license framework. You'll see what I mean in a moment.

Reading through the license, it seems to me (although I am not a lawyer) that Intel tried to carve out distribution permission. Specifically in Section 2:

> 2. LIMITED LICENSE. … Intel grants to You a … license …, under Intel's copyrights (subject to any third party licensing requirements), to…

(So much preamble…)

> … (i) reproduce the Software only for Your own internal evaluation, testing, validation, and development of Intel-based products and any associated maintenance thereof; …

Sounds good to me. It seems like this (particularly the "associated maintenance" part) covers the necessary testing/packaging work.

> … (ii) reproduce, display, and publicly perform an object code representation of the Software, only when integrated with and executed by an Intel-based product, subject to any third party licensing requirements; …

Reading this, I started to think "Wait, does this mean that the microcode could only be packaged up, distributed to, and mirrored by systems running Intel chips? But no, that's not true, because of the next point.

> … (iii) distribute an object code representation of the Software, provided by Intel, through multiple levels of distribution, …

OK, the files in the tarball are either text, or object code, so that's good.

> … solely as embedded in or for execution on an
Intel-based product and subject to these license terms, …

Hmmmmm, well, the "or for execution on an Intel-based product" would seem to give us permission to distribute, regardless of the hardware used to do the distribution, since the microcode will only be executing on Intel CPUs.

"Subject to these license terms" could be a problem, but the `intel-microcode` package is already in the non-free part of the Debian repo.

> … and if to an end user, pursuant to a license agreement with terms and conditions at least as restrictive as those contained in the Intel End User Software License Agreement in Appendix A hereto.

Hmmmmmmmmmmmm. Does this mean that the `intel-microcode` installer would have to pop-up a license acceptance during package installation?

A quick note here: Section 3 ("LICENSE RESTRICTIONS") does have a distribution restriction, but that restriction is loosened by the caveat "Unless expressly permitted under the Agreement…".

There is one more restriction, which @walterbell mentioned:

> … (v) publish or provide
any Software benchmark or comparison test results;

This is interesting, though. This restriction does not appear in Appendix A, the terms that end users should agree to. So, does that mean that this restriction only applies to the Debian project, as they are the ones who downloaded the software from Intel's site for repackaging? Or, does the phrase "and subject to these license terms" mean this license applies to the end user, who is installing the Debian package?

So, that is why this license is so interesting to me! There seems to be an attempt to allow distribution, but there are so many niggles that I imagine the Debian Project's legal representation will need a fair amount of time to clear the license, or to build a list of issues to be worked through.

My hope is that this is already happening in the background!