For one of my products I plan to move from a commercial-only to a dual licensed license model: GNU Affero General Public License (AGPL) or a "non-free" license.
I can imagine two options for the license headers in the source files:
two sets of source code files with different headers: the AGPL header for the open source version and a different header for the non-free version
only one set of source code files, with both license blocks in the header
Advantage of option #1: the actual license type is clearly and immediately visible in the source file. With the second option, end users (developers) and their managers or clients could be confused, because they are not able to see what license type they are actually using in their project.
Advantage of option #2: having only one version of the source with a dual-license header block might have advantages (for example if a patch is released, it can be applied to both versions as the code is 100% identical). If I choose this method, the actual licensing type could also be made clear to the end user by including a license.txt
file in the non-free release which contains license type and license holder data.
Should I go for the first or the second option? Or is there even a de-facto standard way for source code headers in case of dual licensing models?
Update: this is an example license header which I found in a source code file of the dual-licensed iText library. It contains the AGPL notice, followed the information about the commercial license.
/*
* This file is part of the iText (R) project.
* Copyright (c) 1998-2014 iText Group NV
* Authors: Bruno Lowagie, et al.
*
* This program is free software (...)
* You should have received a copy of the GNU Affero General Public License
* along with this program (...)
*
* You can be released from the requirements of the license by purchasing
* a commercial license. Buying such a license is mandatory as soon as you
* develop commercial activities involving the iText software without
* disclosing the source code of your own applications (...)
*
*/