Let me clarify the whole story:
In 2006 I had just gotten into college and was learning Python by myself, my English skills (also self-taught) were pretty low and I had to rely a lot on whatever material was available in Portuguese (I'm from Brazil).
In 2007 I had an amazing college teacher, the "drop of water in the desert" kind of teacher. He was trying to convince everyone that they could move from MS Windows to GNU/Linux and that the available desktop software was pretty decent.
The only catch is that he used KDE2 and all the "cool" desktop apps he was showing were built on QT, like a good pupil I always tried to pair up an equivalent GTK option to every QT app my teacher showed to the class.
That worked well for everything: Music Players, Photo Viewers, etc.
One day he showed Yakuake (https://kde.org/applications/system/org.kde.yakuake) to the class and everyone went bananas, this was such an amazing tool.
But then I did not have a good alternative for GTK if I wanted to press F12 to get a drop-down terminal I'd have to install libqt on my Debian? No way!
I set out to write an equivalent of Yakuake for GTK+ (hence the name Guake, with "G" for GTK), at the time I did not know exactly how D-Bus worked and had no idea of how to write Python extensions in C.
The very first working version of Guake was a Gnome Applet that used GTK bindings to libvte to make a terminal always available. Was still not good enough for me.
The next step was to write a regular GTK Window application and try to make it disappear, but I was having a lot of trouble binding F12 globally, it only worked well on Metacity which was the default window manager for GNOME2 at the time.
Guake's user experience was not great, it only worked well on Metacity but was good enough for me to show to my teacher, I was so excited I was able to create my very first GPL software and publish on source forge. I was ahead of everyone in my class at the time, I was learning on my own the things that would be taught only in the next semester and many things that we would never learn in class (such as Python programming).
Some months go by and Guake-Gnome-VTE (the original name) gets some visibility, and this guy Lincoln de Sousa reaches out to me, he told me he had fixed the global keybinding problem by writing a Python extension in C, also he refactored the whole code and even applied GNOME Human Interface Guidelines to it.
It sounded great to me, I was so excited that someone else was interested in Guake, and made improvements to it, I was in awe with open source.
Except for one thing: Lincoln rewrote a lot of things that were working, just for the sake of cleaning up the Python code the aesthetics of it (actually he was applying PEP8 which I had no idea what was before this)
I had these mixed feelings: in one Guake had become what I wanted it to be, the global keybinding worked anywhere, the UI looked even better and the code was a lot easier to understand.
On the other a lot of the code I had written was deleted, I was not a skilled python developer when I wrote the first version of Guake, so I had spent several hours reading, coding and trying things out.
Anyways, the whole thing was a win-win, yay open source, now Guake had 2 maintainers putting a lot of time and love into it.
After some time Lincoln proposed that we moved the code off of Sourceforge to a git repository, self-hosted (we had a very "purist" mentality regarding FOSS and were terrified of having our code hosted by a proprietary software such as Github), he had way more experience than me on pretty much everything and he took reins: the code was hosted in one of his servers and all I did was pay for the domain.
In retrospect, I wish I had just pushed the code to Github at the time, so no the commit history would be lost. The irony in having a purist FOSS mentality: the code was hosted on a server that I eventually lost access to.
Also, instead of importing all the commit history from Sourceforge we just pushed the code to git.
You can look at the first commits on github:
commit 4f4ab35d5cb2363dd464e6b252d1c798bd01c2fb Author: Lincoln de Sousa <lincoln@minaslivre.org> Date: Sat Oct 6 13:56:50 2007 -0300
patch came from svn
commit 8973af85108c889f7dc16af2d8443d0f8ff3ec05
Author: guake_root <guake_root>
Date: Wed Aug 1 02:35:20 2007 +0000The "guake_root" commit swallowed all the history of the original code I had done.
In 2008 I moved out of my city to work for a big corporation in Rio de Janeiro, there my FOSS purism slowly evolved into tolerance for proprietary software, eventually, I even got an iPhone and a MacBook.
That's when I stopped contributing to Guake: I had moved to MacOSX and the project had been taken over by other maintainers. But even the icon is still the one I design on Inkscape, Guake was my first open-source software, I put a lot of time and love into it.
Today 14 years later I seldom use Guake because I seldom use a Linux Desktop, but I must confess that seeing my original authorship vanish from the project is very sad.
This history would have indeed a very place in the HISTORY page in the documentation, do not hesitate to write it, or with your permission, I copy/paste most of your comment.
Do not hesite to reach me in order to find a good way to put satisfying credits in the history.
I'll submit a pull-request with the story soon.
Thank you!
Unless of course you just meant as an interesting way of being able to see the full history rather than suggesting the project adopt it.
I'm Max @ulidtko, I took over Guake maintenance from Lincoln, did a dozen patches, l10n merges and maybe one release... Together with Pierre we welcomed Gaetan years later.
I'm still using Guake pretty much every day.
It was amazing to contribute, and having burned out from it -- to see the project live on with people continuing contributions & maintenance; and even reaping BountySource rewards for new features! https://github.com/Guake/guake/pull/1415
Really sorry for this situation. It somehow slipped through, I honestly didn't notice it happening. I don't think anyone wished you anything bad, it's just generic inexperience (per the Hanlon's razor).
I, too, remember myself fiddling with copyright lines in translation files. I just had the single goal, to iron out inconsistencies and make adding new l10n's as smooth as possible. Never had intentions to take away credit from noone.
Glad to see you living full life. Sorry again; I'd be among those whose should've noticed and reverted that change. Hope you got a good enough resolution of this issue!
Cheers
People shouldn't do this. At least not without prior agreement from the original author.
Why are you so firmly opposed to libqt?
I am also a tad displeased today at how many optional dependencies I don't use get pulled in by package managers on my systems.
To give you an idea, my computer at the time was a used machine that was duct taped together and any fancy desktop would cut my battery life to about an hour. So out of necessity I was driven towards lighter weight software
No reason not to. Anyone arguing otherwise is being petty and mean in my opinion. Sure, a bunch of new people have written some/most/all of the current codebase. But they built on top of the project founder's code. Why _wouldn't_ you give them the credit for that?
https://en.wikipedia.org/wiki/Ship_of_Theseus
In this specific case there seems to be no argument that the original author is who he says he is and he has given specific reasons why it would be in his advantage to be credited as the original author I can't imagine many people denying him that.
(Not that this is the case in software, but merely saying that that parable would lend itself to an easy answer as to whether to credit the original or not.)
The issue seems to be getting a bit of attention now (when I posted there was 9 thumbs up, now there is 173 and a PR on the readme), so hopefully the current maintainers (re)visit the issue and give him his slice of credit.
(Disclaimer: I was an early, minor, contributor. It looks like the second commit mentioning me was to fix a bug introduced by my first one, whoops.)
[1] https://github.com/memcached/memcached/tree/32f382b605b4565b...
I mean the OP (Gabriel) hints at wanting to use it in his CV (proverbially); wouldn't anyone that made a significant contribution? Then of course, how would you define significant?
It's a can of worms and one of the ways around it is to reduce all contributors to "you are not special" status.
I think reducing everyone to "you are not special" status is a pretty weak solution that probably wrongs more people than it rights. And I think egos are a pretty weak reason to do it.
They seem to have had an AUTHORS file in there that according to git blame was deleted in this commit 2 years ago, possibly by erroneously including AUTHORS in .gitinclude:
https://github.com/Guake/guake/commit/089d72aab3c1708ed3476e...
Before that he was included in the AUTHORS file as "- Gabriel Falcão <gabriel@guake-terminal.org>, 2007", his name still appears in a bunch of places in the code https://github.com/Guake/guake/search?q=Gabriel+Falc%C3%A3o&...
I'm not really sure how to find the diff that switched from explicit copyright headers in source files to "Guake authors", maybe that was just done as the default while the code was growing.
Couldn't really hurt to just include some attribution imho, not only for him but other contributors as well. It's kind of odd looking to me that one of the two original authors raised an issue on an active looking project and seemingly nobody even bothered to respond there.
I found it using git blame on an old file with that notice. The commit: https://github.com/Guake/guake/commit/86b1fa8a42b99cbbb75eee...
I usually have it bound to Ctrl-` and find it very convenient (also someone satisfying to just show and hide for no reason other than I like the animation).
In his own branch, the first commit is October 2007 and the vast majority of commits after that are from Lincoln de Sousa. So I don't think anyone was doing anything untoward here. I'm not really familiar with the project, but it doesn't appear to me that he was ever the original author. If anything, it appears as though Lincoln de Sousa did most of the heavy lifting and he was a regular contributor. I could easily be wrong, but that's my impression.
Still, acknowledgement as being an original contributor in the README seems completely reasonable and the issue has 14 thumbs up.
The original project lived here: https://sourceforge.net/p/guake-gnome-vte/code/commit_browse...
He explained that and linked to that in his his issue though.
Edit: Linking to the full commit history instead.
PS: actually original author is in AUTHORS file
I think we usually expect these to be someone's cry for help but here it's just an interesting tale. I liked it.
EDIT: Responding here due to rate-limit, I think you're right (on reflection) and I don't like what that means.
We may argue that with licenses that allow this (CC0, Unlicense) it would be okay, but even there I'd say credit where credit is due.
> Copyright (C) $years $author
> Permission is hereby granted, free of charge, to any person [...] subject to the following conditions:
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
And usually, the copyright notices appear in the beginning of all files for clarity.
Although some projects with too many developers may agree to use alternative attribution and copyright identification methods, such as git "Sign-Off", an author file, or SPDX machine-readable license notice. In these cases, it's considered a common practice to use a collective name in the copyright notice, such as
> // Copyright 2019 The Chromium Authors. All rights reserved.
But in most cases, it's a bad idea to remove any name from the header.
---
In the Guake's case, the copyright notice is changed to,
> Copyright (C) 2007-2013 Guake authors
with the original name removed. On one hand, the use of a collective name is common, it's not too different from Chromium, or other major projects. In a sense, it's acceptable, as long as the method of author identification is clearly defined (e.g. git sign-off). Anyone contributes the project is assumed to have accepted how attribution is done implicitly.
However, the problem is that the original name is removed - changing the notice retroactively should be done with the permission of the author, which is clearly not obtained here. A common practice in such circumstance is leaving the original copyright year and author in place, and appending new copyright information below (or above) the original notice, so it should be something like this,
> Copyright (C) 2007 Gabriel Falcão
> Copyright (C) 2008-2013 Guake authors
This example is generally considered "good" since (1) credit is given where credit is due, (2) it also shows the copyright holders responsible for the project in different period of time.
For example, the copyright notice of Python is,
> Copyright (c) 2001-2019 Python Software Foundation.
> All Rights Reserved.
> Copyright (c) 2000 BeOpen.com.
> All Rights Reserved.
> Copyright (c) 1995-2001 Corporation for National Research Initiatives.
> All Rights Reserved.
> Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
> All Rights Reserved.
I think legally, (also ethically)
Copyright (C) 2007-2013 Guake authors
Should be fine as long as they keep his name in authors file.
Edit: Actually they switched to pbr [1] , so AUTHORS file is generated on build. Not tracked on git. Original author is in AUTHORS file
[1] https://github.com/Guake/guake/issues/1703#issuecomment-5965...
On the other hand he's an author...
mixed feelings, I'd say
Autor: {name} Contributed in years: 2007-2009.
His request is not unreasonable at all.