Hi list,Just a quick demo showing abuse of git's globals:https://puredata.osuosl.org/jwilkes/purr-data/commit/186d1f3064aa65869c850fb... All I'm doing here is accepting a patch I made on a Windows machine that forced me to enter a user name and email addy in order to do a commit. git has the good sense to punt on the question of secure identity management-- it lets you use pretty much any garbage you want and assumes the humans behind the screen will separate wheat from chaff. However, the user-friendly tools that wrap around git (github, gitlab, etc.) don't make this clear as you can hopefully see. :) -Jonathan
Excellent.
cheers M
On Wed, May 04, 2016 at 09:54:11PM +0000, Jonathan Wilkes via Pd-dev wrote:
Hi list,Just a quick demo showing abuse of git's globals:https://puredata.osuosl.org/jwilkes/purr-data/commit/186d1f3064aa65869c850fb... All I'm doing here is accepting a patch I made on a Windows machine that forced me to enter a user name and email addy in order to do a commit. git has the good sense to punt on the question of secure identity management-- it lets you use pretty much any garbage you want and assumes the humans behind the screen will separate wheat from chaff. However, the user-friendly tools that wrap around git (github, gitlab, etc.) don't make this clear as you can hopefully see. :) -Jonathan
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Hi Jonathan,
On 05/05/16 05:54, Jonathan Wilkes via Pd-dev wrote:
https://puredata.osuosl.org/jwilkes/purr-data/commit/186d1f3064aa65869c850fb...
This may be relevant to your interests:
https://github.com/chr15m/gitnonymous
Cheers,
Chris.
On Thursday, May 5, 2016 12:14 AM, Chris McCormick chris@mccormick.cx wrote:
Hi Jonathan,
[...] This may be relevant to your interests:
Cheers,
Chris.
I thought about this a bit, and I've come to the conclusion that-- currently-- there is never a situation where I'd accept code submitted anonymously. But even more important, there is never a situation where I'd personally vouch for code publicly attributed to some unknown person or entity's pseudonym. That's the only sane way forward IMO-- if you ask me who "user@user-ThinkPad-X60.(none)", the answer is, "that's garbage I mistakenly leaked from my laptop." And if that weren't the answer, the only other possible answers are, "that looks like garbage from [insert a person's real name here]," or "I don't know who submitted that". In fact it's way safer from the perspective of the pseudon or anon to feed an idea for a bugfix or feature out-of-band to an extant developer. Then it's in the "handwriting" of the public developer. Moreover, even if you ratchet up the surveillance (say, having developers record themselves coding up, testing, and submitting patches, which isn't a bad idea btw) it doesn't reveal anything more about the identity of the anon. It's also important from the public developer's perspective, as they have to explicitly take responsibility for the bugfix/feature, and the risks associated with that. -Jonathan
On 14/05/16 02:57, Jonathan Wilkes via Pd-dev wrote:
On Thursday, May 5, 2016 12:14 AM, Chris McCormick https://github.com/chr15m/gitnonymous
I thought about this a bit, and I've come to the conclusion that-- currently-- there is never a situation where I'd accept code submitted anonymously.
So like myself you enjoy the privilege of writing and releasing whatever software you like without that activity putting you or your loved ones in a dangerous personal situation.
Presumably you're aware that there are people who don't enjoy our privilege.
In fact it's way safer from the perspective of the pseudon or anon to feed an idea for a bugfix or feature out-of-band to an extant developer.
I don't think I'd presume to dictate to a software developer in a difficult and dangerous personal situation what kinds of safety measures they should take based on my personal ideology. Generally people in such situations are keenly aware of what is a dangerous and safe course of action and I'd probably defer to their judgement.
Your requirement above sounds onerous to the point it would become prohibitive to contribute.
It's also important from the public developer's perspective, as they have to explicitly take responsibility for the bugfix/feature, and the risks associated with that.
Fair enough, that's your prerogative on your projects.
For me personally the quality and truth of a work is more important than the identity of the person who created it.
https://en.wikipedia.org/wiki/Argument_from_authority
Cheers,
Chris.
On Tuesday, June 7, 2016 12:24 AM, Chris McCormick chris@mccormick.cx wrote:
On 14/05/16 02:57, Jonathan Wilkes via Pd-dev wrote:
> On Thursday, May 5, 2016 12:14 AM, Chris McCormick > https://github.com/chr15m/gitnonymous
I thought about this a bit, and I've come to the conclusion that-- currently-- there is never a situation where I'd accept code submitted anonymously.
So like myself you enjoy the privilege of writing and releasing whatever software you like without that activity putting you or your loved ones in a dangerous personal situation.
Presumably you're aware that there are people who don't enjoy our privilege.
Right.
In fact it's way safer from the perspective of the pseudon or anon to feed an idea for a bugfix or feature out-of-band to an extant developer.
I don't think I'd presume to dictate to a software developer in a difficult and dangerous personal situation what kinds of safety measures they should take based on my personal ideology. Generally people in such situations are keenly aware of what is a dangerous and safe course of action and I'd probably defer to their judgement.
On a lower level that that, we can't presume anything about where the code came from. It's code attached to an id, that's it.
Your requirement above sounds onerous to the point it would become prohibitive to contribute.
Well, I'm thinking in terms of the project I'm working on. I'm not aware of any anon code in the Pd repo.
It's also important from the public developer's perspective, as they have to explicitly take responsibility for the bugfix/feature, and the risks associated with that.
Fair enough, that's your prerogative on your projects.
For me personally the quality and truth of a work is more important than the identity of the person who created it.
https://en.wikipedia.org/wiki/Argument_from_authority I think of it more like "the right to blame someone else when shit breaks". Long term stable identities make it likely "that someone" will fix what's broken. While it's not impossible to delegate responsibility among pseudons, it's a big, brittle pain in the ass. One that inescapably requires more communication and community building, which inescapably brings more risk to the pseudons. -Jonathan
Cheers,
Chris.
Hi Jonathan,
On 05/05/16 05:54, Jonathan Wilkes via Pd-dev wrote:
However, the user-friendly tools that wrap around git (github, gitlab, etc.) don't make this clear as you can hopefully see. :)
Also, without signed commits (which are the exception rather than the rule) I am curious as to how you think user-friendly tools could make this clear, or even know it was happening?
Cheers,
Chris.
By substituting the author string with obvious garbage-- like only allowing the word "dingus" to be shown there. :)
I used git format-patch to make the patch, then git apply with --stat and --check to look at some meta-data and see if it would apply correctly. Finally, I used git-am to apply the patch. I don't believe any of those steps actually show you the author name and email addy used in the patch. Even visually perusing the diff it's not something I tend to look closely at. I guess I'd be a bit happier if git required the committer to explicitly transfer authorship in this case (either with a flag or a separate command). "Foo typed 'Linus' here" is better than "someone typed 'Linus' and maybe Foo is validating that it was Linus, or maybe Foo did not notice, or maybe Foo does not care...".
-Jonathan
On Thursday, May 5, 2016 12:16 AM, Chris McCormick chris@mccormick.cx wrote:
Hi Jonathan,
On 05/05/16 05:54, Jonathan Wilkes via Pd-dev wrote:
However, the user-friendly tools that wrap around git (github, gitlab, etc.) don't make this clear as you can hopefully see. :)
Also, without signed commits (which are the exception rather than the rule) I am curious as to how you think user-friendly tools could make this clear, or even know it was happening?
Cheers,
Chris.
On 05/05/16 14:08, Jonathan Wilkes wrote:
By substituting the author string with obvious garbage-- like only allowing the word "dingus" to be shown there. :)
...
I guess I'd be a bit happier if git required the committer to explicitly transfer authorship in this case (either with a flag or a separate command). "Foo typed 'Linus' here" is better than "someone typed 'Linus' and maybe Foo is validating that it was Linus, or maybe Foo did not notice, or maybe Foo does not care...".
Sure but how is git (or other tools) supposed to know this "explicit ownership transfer" is even happening? How is it supposed to validate the "correct" author? How is git supposed to know that "Foo typed 'Linus'" and not Linus or that Linus isn't correcting a commit erroneously attributed to Foo?
Git authorship and committer fields are completely malleable by anybody on their local machine and anybody with push access to a repo can push [-f] whatever authorship changes they like.
You probably realise this and I'm missing some deeper point you are making, but you can easily change those fields with environment variables, command line flags, the git-filter-branch and git-rebase commands, and even during a single commit trivially (as I think you are demonstrating here).
If your aim is to bring greater awareness to the fact that git makes no pretense at identity management or authentication then I'm 100% on board and in agreement! \o/
If not, I'm sorry, I'm deeply confused! (Not that unusual a state of affairs heh.)
Cheers,
Chris.
On 05/04/2016 11:54 PM, Jonathan Wilkes via Pd-dev wrote:
Hi list,Just a quick demo showing abuse of git's globals:https://puredata.osuosl.org/jwilkes/purr-data/commit/186d1f3064aa65869c850fb...
i'm afraid you are late for the party - http://www.jayhuang.org/blog/pushing-code-to-github-as-linus-torvalds/ - https://github.com/aguerrero/Faking-Git-Commits - https://mikegerwitz.com/papers/git-horror-story
gfmrdsa IOhannes
PS: a while ago i created that ms word document explaining how open source is better and then i put "Bill Gates" as the author. hehe, seems like it worked https://github.com/Microsoft
Sure but how is git (or other tools) supposed to know this "explicit ownership transfer" is even happening?
It can't, so it should punt. But if it's going to punt, empty symbol (or some default like "dingus") should be allowed for committing in flows like the one I described.
How is it supposed to validate the "correct" author? How is git supposed to know that "Foo typed
'Linus'" and not Linus or that Linus isn't correcting a commit erroneously attributed to Foo? It's the commiter's responsibility to do that. git and its wrappers can (well, must) trust the commiter to provide that info. But an API and a UI can make that more or less explicit. If Gitlab says "Committed by Foo, who attributes the code to Bar", I'm going to start an inquiry about smelly code with Foo. If it says "Authored by Bar," one can easily draw the wrong conclusions. -Jonathan
On Thursday, May 5, 2016 2:24 PM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 05/04/2016 11:54 PM, Jonathan Wilkes via Pd-dev wrote:
Hi list,Just a quick demo showing abuse of git's globals:https://puredata.osuosl.org/jwilkes/purr-data/commit/186d1f3064aa65869c850fb...
i'm afraid you are late for the party - http://www.jayhuang.org/blog/pushing-code-to-github-as-linus-torvalds/ - https://github.com/aguerrero/Faking-Git-Commits - https://mikegerwitz.com/papers/git-horror-story
gfmrdsa IOhannes
PS: a while ago i created that ms word document explaining how open source is better and then i put "Bill Gates" as the author. hehe, seems like it worked https://github.com/Microsoft
_______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
PS: a while ago i created that ms word document explaining how open
source is better and then i put "Bill Gates" as the author. hehe, seems like it worked https://github.com/Microsoft There's a kind of second-order prank I was thinking about which is tangentially related to this: 1. Set up a Wordpress blog with no connections back to your personal identity 2. Write an opinionated blog entry on a controversial geopolitical topic 3. Wait for a sock puppet to arrive and leave comments 4. Argue with the sock puppet. With each response in their exchange with you, subtly moderate the sock puppet's response to soften their argument. Continue until you've taken over authorship and brought the sock puppet around to your POV.5. Guard against the coming DDOS attacks. :) -Jonathan