In reply to Samuel "Otto" Wood.

Personally, I do raise tickets to discuss an issue before submitted a pull request on a big project, or a relatively closed project. It makes sense if I am proposing a change of direction in any aspect of that project.

However, there are other packages that I would consider broken, or in desperate need of a change or a fix before I can use it. So I change it. I then issue a PR, and explain the reasoning behind it. The owner of that project may accept it, may ask for further changes, or may reject it. And you know, if they reject it, I do not consider myself to have wasted my time, because I have fixed something that *I* needed fixing. It was *my* courtesy and effort to offer that fix back to the project, because open source involves some give and some take. If that project owner then proclaimed, "lol, what a wast of time *that* effort was", I would consider that quite rude. But that is what you seem to be saying.

But on a distributed change control, it really doesn't matter. I have my fix. Others can use my fix if they like. I can keep up-to-date with other changes, and still keep using my fix. I do this all the time, and it is great. That's what systems such as git give you. It takes the control of how an application develops and grows away from one central place, and gives the community and other developers the ability to collaborate and explore new directions for a product.

But then, that's how I like it, and I've grown not to be precious about any code I put out there.