This last release cycle has tested me. Since last release cmdtab has gotten a few good contributions and I have finally attended to them. I've never managed a collaborative project before and attending to this has not been easy for me.
- It's been hard to wrap my head around how people have thought that their changes fit with the current state of the project and how that again fits with my vague and morphing plans for its future
- People have had the same ideas and implemented them differently. Most of the time it's not satisfactory to just choose one over another as each have their merits
- The same goes for myself: Either inspired by contributions or not, consciously or not, I make changes that overlap with others' contributions
- Sometimes the ideas are good but the style is not to my liking. I don't want to chaperone, nor do I want to accept patches I don't like
These issues make it hard to coalesce and correctly attribute changes, which I take very seriously: If you contribute something good to cmdtab, you deserve full credit for it. Ideally I would just merge pull requests and that would be sufficient credit, but it's not so easy: Most of the time pull requests are not factored to my liking, and sometimes changes make it into the codebase with myself as author but really was inspired by or downright copied from another contributor.
It's given me something to chew on and here's how I'm moving forward with cmdtab:
If, at the time of writing, you have any open pull requests, I will most likely not accept them in their current form. Chances are that I will in time integrate your pull request in my own changes and I will credit you as best I can in commits, release notes, etc. Crediting you is important to me. I will also close the pull request when that time comes.
I consider this less than ideal for both you and me. Therefore something should change.
Contribution Guidelines
Going forward, I will advice contributors to factor their pull requests VERY neatly and focused. Be very, very aware of your scope if you want your changes accepted. Number of commits don't concern me as much as scope, but I do prefer a succinct and condensed history. I don't need to see how you worked, but if a feature evolved over a couple of commits, so be it.
Contributing code is not the same as writing code as usual and then also sharing it. Make it easy for me to review scope and code.
Also, let me comment on pull requests that amount to "here's my personal fork". Thank you for sharing your code; someone will come along with the same needs as you and use some or all of it in their own personal fork. On the other hand, there is little chance of getting it mainlined as-is. Not because the changes aren't good, but because it's admin hell.
In short, make sure your pull requests add, change, or fix only one "thing" (ex. #14, #17). Make other pull requests for other "things". Many pull requests makes it easier for me to communicate changes I require before accepting. Many pull requests is good.
With all that said, if you currently have any open pull requests and want to open new pull requests which refactor your old one(s) to comply with the above guidelines, feel free to do so. Otherwise, don't worry; I will continue as explained and you are likely to be credited, though not merged.
Thank you for your attention and contributions!
This last release cycle has tested me. Since last release cmdtab has gotten a few good contributions and I have finally attended to them. I've never managed a collaborative project before and attending to this has not been easy for me.
These issues make it hard to coalesce and correctly attribute changes, which I take very seriously: If you contribute something good to cmdtab, you deserve full credit for it. Ideally I would just merge pull requests and that would be sufficient credit, but it's not so easy: Most of the time pull requests are not factored to my liking, and sometimes changes make it into the codebase with myself as author but really was inspired by or downright copied from another contributor.
It's given me something to chew on and here's how I'm moving forward with cmdtab:
If, at the time of writing, you have any open pull requests, I will most likely not accept them in their current form. Chances are that I will in time integrate your pull request in my own changes and I will credit you as best I can in commits, release notes, etc. Crediting you is important to me. I will also close the pull request when that time comes.
I consider this less than ideal for both you and me. Therefore something should change.
Contribution Guidelines
Going forward, I will advice contributors to factor their pull requests VERY neatly and focused. Be very, very aware of your scope if you want your changes accepted. Number of commits don't concern me as much as scope, but I do prefer a succinct and condensed history. I don't need to see how you worked, but if a feature evolved over a couple of commits, so be it.
Contributing code is not the same as writing code as usual and then also sharing it. Make it easy for me to review scope and code.
Also, let me comment on pull requests that amount to "here's my personal fork". Thank you for sharing your code; someone will come along with the same needs as you and use some or all of it in their own personal fork. On the other hand, there is little chance of getting it mainlined as-is. Not because the changes aren't good, but because it's admin hell.
In short, make sure your pull requests add, change, or fix only one "thing" (ex. #14, #17). Make other pull requests for other "things". Many pull requests makes it easier for me to communicate changes I require before accepting. Many pull requests is good.
With all that said, if you currently have any open pull requests and want to open new pull requests which refactor your old one(s) to comply with the above guidelines, feel free to do so. Otherwise, don't worry; I will continue as explained and you are likely to be credited, though not merged.
Thank you for your attention and contributions!