Live data from Hacker News

I gave commit rights to someone I didn't know

jakewins.com

41–50 of 106 posts

Re: I gave commit rights to someone I didn't know

#41
post #7
post #5

> I don’t recall the author now, but the gist of the argument made was that we’re too protective of our code - if you give someone responsibility, show that you trust them, more often than not, your intuition about people abusing their freedom is way off. Maybe it was some of Pieter Hintjens writing and/or the C4 process: * https://rfc.zeromq.org/spec:42/C4/ * http://hintjens.com/blog:112 * http://hintjens.com/blog:1…

Hentjens' "Social Architecture" book goes into the same topic in more detail, and is freely available here: https://hintjens.gitbooks.io/social-architecture/content/

Small correction: "Hintjens". Don't blame me, some 19th century Flemish priest misspelt "Awesome" so there we are.

Re: I gave commit rights to someone I didn't know

#42
Similar story - I wrote KDocker (https://git.girish.in/projects/kdocker). It was stuck to Qt3 and I had no motivation to move it to Qt4 since it was a lot of work. Out of blue, John comes along and does a full Qt4 port. I decided to take a chance and transferred ownership of the project to him. I trusted him only because he had already written a lot of code to improve the project. It turned out to be a great decision (or luck). I just checked how it's doing today and he is still keeping it alive after all these years! (https://github.com/user-none/KDocker). Thanks John!

Re: I gave commit rights to someone I didn't know

#43

I did the same thing..... and then the contributor took contributions from others that added security holes, removed cross platform support, and had what I consider to be low code quality. I've now disowned that project. Therefore, I'm extremely hesitant to hand out "commit bit"s again. To make up for it I try and review PRs the day of submission; even then I don't get a lot of contributions. There seems to be a inhe…

It's always a delicate balance, as there are obviously a fair number of people who don't know what they're doing (yet, if they're learning), as well as some malicious people.

There are ways to deal with that, e.g. force small patches that solve well-identified problems; use CI to test; involve projects' users in testing; and above all, to have other maintainers in the project who can catch such behavior and help you fix it. By yourself, you're rather vulnerable.

Ideally you have a core of 2-4 people you trust from previous projects, and then you can bring unknown people in little by little.

There is no tradeoff as such, but you do need to be more sophisticated than "here are full commit rights."

Re: I gave commit rights to someone I didn't know

#44

I have an EMF+ library I started the barebones of in LibreOffice. [1] Largely due to my depression and desperate need to get a job, I never got much past an initial read of the EMF+ files, but I'd love to see someone take my branch on git, split it into its own library and then work with someone to integrate it into the Drawing Layer. [2] 1. https://cgit.freedesktop.org/libreoffice/core/commit/?h=priv... 2. https://p…

Oh, and to be honest it shouldn't be that hard to work on.

It basically works via a Command pattern. That's because an EMF is a binary file that consists of a bunch of sequential records. The way it works is that you get an EMF+ file, and you read it from start to finish. Each record you read has a consistent header, and each different type of record does something - or stores an object (such as a pen or font).

My big idea is to use a base EmfAction class that has a function Read() that you use to read each type of record. You use EmfAction::ReadEmfAction() to read the next record from an ifstream, and it moves the file pointer to the start of the next record, and you just loop through the file like this:

https://cgit.freedesktop.org/libreoffice/core/diff/vcl/sourc...

The only snag was how to set state on the DeviceContext - I want the commands to read and store the state, and the DeviceContext should be passed into the command object and be manipulated by it via an Execute(DeviceContext&). But at the time I concentrated on how to read the objects.

Of course, EMF+ has a way of saving a DC's state, allows the DC be modified by subsequent records, and then the DC can be restored, so a stack of DCs needs to be established, but how to do this I'm not rightly sure yet.

I'm pretty certain though that I'm going to need to change the EmfRecord derived command records to start using a constructor where the DeviceContext object is passed in as a pointer.

The header file can be found here:

https://cgit.freedesktop.org/libreoffice/core/tree/include/v...

The record commands are implemented here:

https://cgit.freedesktop.org/libreoffice/core/tree/vcl/sourc...

As it is an initial implementation. The Read() calls are defined in the class declaration. Obviously that will need to be corrected.

The code also probably needs to be rebased, but in all honestly it is such a small change I don't think it would be too hard...

Re: I gave commit rights to someone I didn't know

#45
post #41
post #7

Earlier quoted context omitted.

Hentjens' "Social Architecture" book goes into the same topic in more detail, and is freely available here: https://hintjens.gitbooks.io/social-architecture/content/

Small correction: "Hintjens". Don't blame me, some 19th century Flemish priest misspelt "Awesome" so there we are.

Sorry Pieter, and it's right in the url too! Can't believe I made that mistake.

Re: I gave commit rights to someone I didn't know

#46

I was introduced to open source software in 1996 and have been a huge advocate since. About five years ago, I decided to quit my job and, shortly thereafter, went out in search of a project I could contribute to in my spare time (which was now much more abundant). I quickly discovered that a particular piece of software I used daily wasn't really being maintained all that well, despite the fact that there were severa…

You really should tell us what the software is so we can know to avoid it or perhaps find your changes, fork the project and reapply them then push to have distorts switch to this new version.

Worked well for a number of projects where developers are jerks and don't allow other talented and dedicated contributors to participate.

Re: I gave commit rights to someone I didn't know

#47
post #29

Earlier quoted context omitted.

Use Bitcoin or Venmo. Sounds like they've been great stewards.

I tried Google Wallet before, but it wouldn't let me send money out of the country or something like that.

Because only drug dealers would want to do that

You can do this with bitcoin, but only drug dealers use that

Wait...

Re: I gave commit rights to someone I didn't know

#50
post #4

Same thing happened to me: I wrote the module that does Microsoft Office files in Python. At the time, the solutions for doing it in Python were 'talk to some Java library' or 'talk to some .net library'. I read the openxml spec and made something which did basic creation, extracting text, modifying docs. I totally didn't have time to maintain it, then Scanny took over. It's now hugely popular, the code handles non-W…

Mad props to you for creating that and Scanny for taking over! It's helped me automate some really nasty boring stuff that had to be done in Word.
Post reply on HN