I am asking in the context of the licenses on code that one sees all over the place. Typically, they say something along the lines of "if you release a product containing this in binary form, it must contain X, Y, and Z."

Does that mean that if I use the code in an app, the app has to have a screen somewhere that contains X, Y, and Z in human-readable form?

4 Answers
4

The text is indicating that you must include X, Y, and Z if you distribute the compiled form of the code (as opposed to the source code). Assuming that X, Y, and Z are, for example, copyright notices, they would generally need to be included in documentation and other human-readable materials distributed along with the binaries.

Binary form refers to compiled executable code which is understandable by the computer, as opposed to source code (such as C++, C, Python etc) which is human-readable. In this case, it is imposing restrictions or obligations that apply when you distribute the code as part of a compiled application that may not apply (or by different from) licence terms that apply to the source code only.

This derives from a more general use of the word "binary" to refer to any data format which is not readable by humans, including compiled applications, images, videos or audio files. It is a bit of misnomer because all data is technically stored using the binary system, however the usage is widespread and well-understood.