In all cases, the README.md
should contain a a SPDX license identifier:
SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
You can do it like that:
## License
This work is dual-licensed under BSD and GPL 2.0 (or any later version).
You can choose between one of them if you use this work.
`SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later`
Note that BSD-3-Clause OR GPL-2.0-or-later
and BSD-3-Clause AND GPL-2.0-or-later
makes a big difference. The former means that the user can choose between both (which is the regular case!) and the second one denotes that the user has to comply to both licenses. See also multi licensing on Wikipedia.
SPDX Way
In a presentation of the SPDX creators, they propose to create a LICENSE
file containing a SPDX expression (slide 12).
Contents of LICENSE
:
BSD-3-Clause OR GPL-2.0-or-later
You could add two additional LICENSE files then: LICENSE.BSD-3-Clause
and LICENSE.GPL-2.0
.
Note that I am using the new (as of 2017-12-28) SPDX License List 3.0 here. The versions of 2017 had GPL-2.0
is identifier for GPL 2.0, but it was not clear whether that meant "GPL 2.0 only" or "GPL 2.0 or any later version".
Eclipse Foundation Way
See https://www.eclipse.org/projects/handbook/#legaldoc-license:
If the project code is distributed under multiple licenses then the text of those licenses must be included. The file should start with a short paragraph that describes how the licenses are combined. This statement should in most cases, be exactly the same as the license statement in the file copyright and license headers (see the example below).
Example License File (dual-licensed EPL-2.0 or Apache-2.0).
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0, or the Apache Software License
2.0 which is available at https://www.apache.org/licenses/LICENSE-2.0.
... Text of the Eclipse Public License 2.0 ...
... Text of the Apache Software License 2.0 ...