@humanetech@mastodon.social
Years ago I had a similar issue after I forked #HarveyOS after they violated #GPLv2 (details here, bad story involving #Google and @conservancy@mastodon.technology: http://www.tesio.it/2018/02/14/what-i-wish-i-knew-before-contributing-to-open-source.html ) I asked #FSF how to better attribute previous work.
The context there was a bit more complex (GPLv2 code without file level notice), but here what I've learnt:
1. Preserving commit history is not a #copyleft requirement BUT things will be way easier if you preserve it when shit happens¹
2. Retaining existing copyright statements of each file is a copyleft requirement
3. if you fork copylefted code that lacks file level licensing headers it is a good idea to add them first and foremost, or at least as soon as possible.
It makes it easier to understand who are the copyright holders of each file when shit happens even if the #git history get stripped.
4. If you import code from other copylefted project the easiest and safest approach is to import in dedicated files with proper attribution, whenever it's technically feasable.
If it's not, #FSF legal team suggested me to add to the copyright header of the modified file something along the line
```
Portions of this file are Copyright (C) 2015-2018 Giacomo Tesio <giacomo@tesio.it>
See /doc/license/gpl-2.0.txt for details about the licensing.
```
See https://gitea.it/JehanneOS/jehanne/src/branch/master/sys/src/kern/port/dev.c#L1-L6 for an example.
Hope this helps!
____
¹ that's why, after their GPL violation and their refusal to restore my #copyright statements, I asked Harvey to `git revert` up to my first contribution and remove them. And it's also why they `git rebased` instead, squashing some of my contributions in huge commits while removing my name from the repository history.
@kgerloff @rysiek@mastodon.technology
@Shamar @humanetech @conservancy @kgerloff @rysiek Thank you for sharing! I remember a while ago someone had made a visual map of licence interoperability and how hard it is with multiple libraries with different licences.