Since 2015-10-08, GPLv3 is listed as one-way compatible license for CC BY-SA 4.0:
[…] you may license your contributions to adaptations of BY-SA 4.0 materials under GPLv3, but you may not license your contributions to adaptations of GPLv3 projects under BY-SA 4.0
That means I may
- take source code licensed under CC BY-SA 4.0,
- adapt it, and
- publish it under GPLv3.
But I may not take source code licensed under CC BY-SA 4.0 and publish it as it is (without adaptation) under GPLv3, correct?
But what exactly counts as adaptation of source code?
The legalcode of CC BY-SA 4.0 says in section 1(a):
Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
It says "based upon" and "arranged". Does this mean that I may take the source code and include it ("arrange"?) in my software/code (licensed under GPLv3) without modifying it? For example, the source code could be a self-contained function/class, a complex regular expression, or something similar which doesn’t necessarily need modification. After including it, my software would require this code to work properly, so could it be considered "based upon" it?