The Art of Closing
blog.jessfraz.com
The Art of Closing
1–10 of 26 posts
Re: The Art of Closing
#2If harder, it had better be a stunning new addition that makes the extra maintenance worth it... And often, it had better include an automated test!
Re: The Art of Closing
#34 months ago: However, please read the notes in Roadmap and new features before continuing with this work, as I'm not yet sure whether or not they are within the scope of Umbrella
[...]
4 months ago: I don't think it's a good idea to change it, so only Strings will be available for after, before, etc.
3 months ago: I opened it to implement what was suggested here.
3 months ago: Okay, it was added.
Re: The Art of Closing
#4As a maintainer of dozens of fairly small OSS projects on GitHub, I learned early the importance of 'No'. Also, unmentioned here, you have to be willing to ignore the 'me too' present in a lot of PRs and feature requests; what's most important to me is 'will this new code/feature make the project easier or harder to maintain?' If harder, it had better be a stunning new addition that makes the extra maintenance worth…
Re: The Art of Closing
#5As a maintainer of dozens of fairly small OSS projects on GitHub, I learned early the importance of 'No'. Also, unmentioned here, you have to be willing to ignore the 'me too' present in a lot of PRs and feature requests; what's most important to me is 'will this new code/feature make the project easier or harder to maintain?' If harder, it had better be a stunning new addition that makes the extra maintenance worth…
Re: The Art of Closing
#6As a maintainer of dozens of fairly small OSS projects on GitHub, I learned early the importance of 'No'. Also, unmentioned here, you have to be willing to ignore the 'me too' present in a lot of PRs and feature requests; what's most important to me is 'will this new code/feature make the project easier or harder to maintain?' If harder, it had better be a stunning new addition that makes the extra maintenance worth…
Re: The Art of Closing
#7Granting commit access is different level.
Re: The Art of Closing
#8How we structure work on these projects needs to be rethought so that the majority of these don't happen. The attitude of code-or-gtfo is kinda broken with respect to how much work people put into a project with an uncertain outcome.
Maybe we should
* submit an issue outlining new feature, or technique to fix bug
* create a branch, reference that issue
* update issue for a branch review, get greenlight
* do possibly hours worth of work
* submit PR that isn't outright rejected
Just communicating through pull requests seems very macho and wasteful to me.Re: The Art of Closing
#9The pain of having a patch rejected is because of the asymmetry. No is _easy_, the submitter often put hours of work into understanding the codebase, the architecture the style of the code, figure out how to fix a bug or add a feature and then to have the response be, "No", feels like a pretty harsh rejection. How we structure work on these projects needs to be rethought so that the majority of these don't happen. Th…
And maintainers will put many, many more hours into maintaining it. The submitter only has to interact with us once. We have to interact with their code for a long time.
> How we structure work on these projects needs to be rethought [...]
Most projects work the way you described (including Docker). You open an issue (and/or send a mail to the mailing list) describing the problem and a proposal to fix it. We then discuss the design and once the maintainers all agree with the design (more or less) you move onto creating a PR.
Sometimes maintainers won't agree, and it'll take writing a PR to convince them that it will work (this does happen). But in most cases, the design is the important part (if it's a non-trivial change).
The only counter-example I can think of is the Linux kernel. But that's an extreme example and usually a dummy PR will be enough to convince them to discuss your idea.
Re: The Art of Closing
#10Even if it's something you really need and plan on maintaining your own fork if rejected, you could still get some tips on how to best implement it or potential tricky bits to be aware of.