This is my first open source project, apart from tiny bits of code that no one ever paid any attention to. Maybe I don’t know how to do open source properly, maybe I made a mistake here. Let’s find out.
A few months ago, someone made a new fork of PieFed, which they called ‘Pylova‘. In the first few days of it’s existence the developers of the fork were very enthusiastic about it and did a lot of interesting and useful work.
I had a browse of what they’d done and saw something cool that I wanted PieFed to have too – some improvements to cross-posting functionality and two new themes. Thinking “we’re both open source projects here, it’s fine to copy code between AGPL open source projects, right?” I went ahead and did exactly that. I genuinely believed I was exercising the rights that the AGPL grants us.
Here is the cross-posting code I copied, by generating a .patch file from the pylova repo:
https://codeberg.org/rimu/pyfedi/commit/4020ca1688069adf74c682fc9ca89adfee09e4c9
See how it has quokkau in the top left? That’s the original author there. I guess that was embedded in the .patch somehow. I didn’t give it too much thought as it didn’t seem important at the time.

Then I copied the themes:
https://codeberg.org/rimu/pyfedi/commit/785b15fde4a439c8a92f16eea5c2ff166fe3b7a5

This time I copied the code using copy and paste, by selecting the text in the browser and pasting it into my IDE. Unlike the complicated code in the first batch, I really just wanted the entire contents of the two styles.css files and it seemed simpler to do it that way. Unlike the first batch, this didn’t put quokka as the author in the git repo. Thinking nothing of it, I deployed the code and got on with other things.
Time passes…
A week later a third party told me that the Pylova developer(s) were very unhappy that I had copied some code. Something about not giving proper attribution and that I stole code. I was very surprised and a bit confused. The header of the theme files I copied didn’t have any attribution/copyright/author statement (and still don’t) so there was no attribution statement to preserve.
Seeking to avoid any problems and angst I immediately removed that code from PieFed. Here are the commits where I did that:
Removed ‘allow cross-posting of images’: https://codeberg.org/rimu/pyfedi/commit/fcac0f20b65a782c3fe73dd2b6fa985b8a2f152a
Removed quack and groovebox themes: https://codeberg.org/rimu/pyfedi/commit/616375673795e0fa86fb79bd8ecfb2ff982e4b59
I copied code from an AGPL repository, into my AGPL repository, believing I was permitted to do so. The original files contained no attribution notices. When I learned that the author objected, I removed the code. I still believe that calling that “stealing” gives a very misleading impression of what happened.
Verdict?
Perhaps I was clumsy and ham-handed with my work in this situation? Perhaps I didn’t follow social conventions about how FOSS projects are supposed to work together? I hope my corrective action was enough. What do you think?
Regardless, I am sorry for any problems I caused for the Pylova project and will not be doing that again. I wish them well with their fork.
