[PATCH 0/8] DRM Rust abstractions

Asahi Lina lina at asahilina.net
Fri Apr 11 06:53:59 UTC 2025


On 4/11/25 9:43 AM, Dave Airlie wrote:
>>
>>> However, I understand that you prefer to have primary authorship, even if the
>>> code has been re-organized in new commits, moved, modified or rewritten.
>>
>> Correct.
> 
> For anyone working in this area that is intending to upstream anything
> from asahi, I think if code is rewritten completely it's probably not
> consistent to keep the primary author. Copyright doesn't cover ideas,
> it covers the code.

I think you're conflating two unrelated things here. Copyright has
nothing to do with who is the primary Git author. As far as copyright is
concerned, Danilo could submit everything as-is. Since I'm still
mentioned as co-developer, there is no copyright issue. The primary
author story is about FOSS etiquette, not a legal argument.

If you "rewrite" (as in not directly copying and pasting the original)
code while closely referencing the original and retaining some/much of
the substance, that is still covered by copyright. This is why the
clean-room process exists for reverse engineering, and why the Asahi
project has rules that it does not accept code from people who have
exposed themselves to Apple code or disassembly in most cases, and why
both Asahi and Nouveau rely on black-box register and memory tracing for
reverse engineering GPUs.

If you rewrite code from scratch without referencing the original at all
and without retaining any of the substance of the original, then of
course, that is not a derivative work, and the author of the original
would not have to be mentioned as author at all. This is how projects
like Wine reimplement the Windows API.

In this case, Danilo "rewrote" (I would say refactored) the Device
abstraction. We can decide who gets to be primary author, but I don't
think any lawyer would advise him to completely remove my attribution
entirely, implying there is nothing left copyright by me.

~~ Lina



More information about the dri-devel mailing list