5

BSD license says (emphasis mine):

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met...

It sounds "binary form" refers to the form of software in which the content is just an array of 1's and 0's, which are, after all, "binary".

But what about the output form that is not exactly 1's and 0's? For instance, JavaScript files get minified/uglified in a "bundling process" (a usual step in website and JS library building), the output isn't exactly 1's and 0's, but very-difficult-to-read files, for example:

!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z]

Are these output files covered by the definition of "binary form" of the BSD license?

Another example is raw HTML, CSS, and textual files - after "bundling", they usually stay more or less the same as the source. Are they covered by the definition of "binary form" in the BSD license?

This is a hypothetical question to test the robustness of the license's wording.

8
  • 2
    Does it matter? It's either binary or source, and the BSD license treats them both the same. Commented May 10, 2022 at 15:59
  • 3
    "Array of 1s and 0s" is probably too reductive. The source is also encoded as an array of 1s and 0s. Commented May 10, 2022 at 16:00
  • 1
    You could say the minified/obfuscated JS is still in "source form": it passes through the same interpreter. Now, IIRC the GNU license also mentions "form preferred for modification", which that probably wouldn't be...
    – ilkkachu
    Commented May 11, 2022 at 8:00
  • 1
    Binary form is a technical term for what you get when you compile the human readable source code into an executable file your computer can run. softwareengineering.stackexchange.com/questions/93897/… Commented May 11, 2022 at 17:33
  • 1
    Here's a more Legal/Technical Reference source with a reference to an original court case on the matter itlaw.fandom.com/wiki/Binary_code Commented May 11, 2022 at 17:34

1 Answer 1

16

Ultimately, these terms would have to be interpreted by a court in order to get clarity. But the phrasing “source or binary form” should likely be understood as “not just source form, but any form of the software”. The BSD license family does not have different conditions for different forms of the software, so it is not necessary to understand what precisely a binary form is – just whether a software is in “source or binary form”.

As far as I can see, minified or bundled software are a “source or binary form”. The BSD licenses' attribution requirements will apply.

There are licenses that do make a distinction. For example, the Boost license is BSD-like with respect to the source code, but exempts binary forms from its attribution requirements. But Boost provides a clearer definition: “machine-executable object code generated by a source language processor”. The GPL family also makes a distinction, because it always requires the source code to be made available. The GPLv3 defines the source code as the “preferred form for making modifications”, and object code (binary form) as any non-source form.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .