What is a binary form in software BSD license (and other licenses that didn&#39;t define it)? 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 &quot;binary form&quot; refers to the form of software in which the content is just an array of 1's and 0's, which are, after all, &quot;binary&quot;. But what about the output form that is not exactly 1's and 0's? For instance, JavaScript files get minified/uglified in a &quot;bundling process&quot; (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){&quot;object&quot;==typeof module&amp;&amp;&quot;object&quot;==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(&quot;jQuery requires a window with a document&quot;);return b(a)}:b(a)}(&quot;undefined&quot;!=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=&quot;1.12.4&quot;,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 &quot;binary form&quot; of the BSD license? Another example is raw HTML, CSS, and textual files - after &quot;bundling&quot;, they usually stay more or less the same as the source. Are they covered by the definition of &quot;binary form&quot; in the BSD license? This is a hypothetical question to test the robustness of the license's wording.
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.
First off: Legally, everything is copyrighted anyway. Licensing is not at all necessary. Hence, even if a court would disagree with # SPDX-License-Identifier: Apache-2.0, that would just make it closed source. Having said that, the law generally doesn't bother with trivialities such as &quot;file headers&quot;. Any commonly accepted way to state the copyright and license terms is OK. Your LICENSE is such a common convention. If you want to avoid all doubt what is covered under that license, put a reference to that LICENSE in each header. If you have just five files in one directory that are all licensed the same, I wouldn't even bother with that. Again, the default position is that everything is closed source.
The GPL does require you to keep any existing copyright notices: You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you [...] keep intact all the notices that refer to this License and to the absence of any warranty [...] The GPL also recommends adding a notice to each file: Copyright (C) yyyy name of author - This program is free software[...] From my reading of the GPL, if the software you modify contains such notices, which is likely, you must preserve them. This effectively attributes the original author. However, as far as I can see, there is no requirement to have a list of acknowledgements (as is customary in scientific papers), which lists all the software you used. How to attribute parts that are integrated in source form? (Where licence information is given in the file header) If you keep the original file header (and possibly add to it), that should be enough. How to attribute parts that are integrated in binary form? As far as I can see, there is no additional attribution required for distribution in binary form. The GPL requires you to supply the source code along with the binary form, so the attribution in the source code will be available.
As you've presented them, I doubt the functions are protected by copyright in the first place. Originality is one of the threshold requirements for copyright protection, and it demands that the work in question be independently created by the author, and that it possess some minimal degree of creativity. If you're talking about programming at a level so basic that the function truly must be created in a particular way, there is no originality in simply following the instructions. And even if there's some wiggle room, but the language you used has likely been independently replicated by many programmers, that's still not original enough to be copyrightable. What you want to watch out for, though, is the possibility that they've been combined into an original arrangement that is protected. I don't know enough about how copyright law is applied to code to say where or how that line is drawn, but my instinct would be that it could be a fairly low threshold.
Yep, you are. You still need to keep the LICENSE and NOTICE files in the repository, if there were any in your copy of the project. These files contain the terms and conditions for the project, and provide attribution to the original developers. If you're trying to attribute in the UI of your application, you probably should. It's considered courteous and in the spirit of open source as well. This is also related: Do I need to include the full text of the MIT license in the UI of my app?
The Organization Does Not Own the Copyright As you were clearly not an employee of the organization, and did not have a specific contract with them, this was not a &quot;work-made-for-hire&quot; (WFH). Therefore, the copyright initially belonged to the author, in this case the programmer, that is you. That being so, it would require a written document to transfer the copyright to another during your lifetime. In future there should be a written agreement in such a case, spelling out just what rights are to be retained by whom. It can save lots of trouble. The organization would have an implied license to use the software. The terms of this would be defined by the conduct of the parties, and might be a matter of dispute. Probably there would be a non-exclusive license without any fee or ending date. Probably there would be no license to distribute to others unless you explicitly grant one. Specific US Laws 17 USC 101 defines a WFH: A “work made for hire” is— (1) a work prepared by an employee within the scope of his or her employment; or (2) a work specially ordered or commissioned for use as a contribution to a collective work, as a part of a motion picture or other audiovisual work, as a translation, as a supplementary work, as a compilation, as an instructional text, as a test, as answer material for a test, or as an atlas, if the parties expressly agree in a written instrument signed by them that the work shall be considered a work made for hire. For the purpose of the foregoing sentence, a “supplementary work” is a work prepared for publication as a secondary adjunct to a work by another author for the purpose of introducing, concluding, illustrating, explaining, revising, commenting upon, or assisting in the use of the other work, such as forewords, afterwords, pictorial illustrations, maps, charts, tables, editorial notes, musical arrangements, answer material for tests, bibliographies, appendixes, and indexes, and an “instructional text” is a literary, pictorial, or graphic work prepared for publication and with the purpose of use in systematic instructional activities. (emphasis added) 17 USC 201 provides that: (a) Initial Ownership. — Copyright in a work protected under this title vests initially in the author or authors of the work. The authors of a joint work are coowners of copyright in the work. (b) Works Made for Hire. — In the case of a work made for hire, the employer or other person for whom the work was prepared is considered the author for purposes of this title, and, unless the parties have expressly agreed otherwise in a written instrument signed by them, owns all of the rights comprised in the copyright. ... (d) Transfer of Ownership.— (d) (1) The ownership of a copyright may be transferred in whole or in part by any means of conveyance or by operation of law, and may be bequeathed by will or pass as personal property by the applicable laws of intestate succession. (d) (2) Any of the exclusive rights comprised in a copyright, including any subdivision of any of the rights specified by section 106, may be transferred as provided by clause (1) and owned separately. The owner of any particular exclusive right is entitled, to the extent of that right, to all of the protection and remedies accorded to the copyright owner by this title. 17 USC 204 provides that: (a) A transfer of copyright ownership, other than by operation of law, is not valid unless an instrument of conveyance, or a note or memorandum of the transfer, is in writing and signed by the owner of the rights conveyed or such owner’s duly authorized agent.
I'm assuming that you are not seeking to change the license, and so it will remain GPLv3. As long as you've built on the original software, that license still applies. You also need to keep the previous copyright notices, including the names of the original people. Assuming that, everything you're doing is legal, which is what's on topic here. There is some etiquette around forks (which is what you're doing), which would be on topic at the Open Source Stack Exchange. I'm puzzled by your desire to have a different license text. You can't change the license from GPLv3, so that has to stay the same. (If the original has GPLv3 "or, at your option, any later version", you can drop the any other version text if you like.)
It's possible that CAD has a separate licence from the authors of ABC that allows them to produce a closed source copy. If not, they have no right to distribute CAD. However two wrongs don't make a right, and so you don't get to violate the copyright of CAD.* Unfortunately, unless you are one of the authors of ABC, you have no standing to sue the authors of CAD. You can only notify the authors of ABC and hope they do. If the authors of ABC don't have the resources to pursue the matter, you may be out of luck. That's one of the reasons the FSF gets copyright assignments for their projects. * It turns out that this is a much more debateable issue than I first thought. Some courts have held that an unauthorized derivative work is not copyrightable.