If you want me to consider a merge request you need to submit it via Launchpad. You are welcome to use github for your own development if you prefer it, but *I* am not going to look at merge requests in two places. Using a projects' established version control procedures when you want your code accepted in that project is basic courtesy. To reiterate something I have stated in many places, I accept patches in the following forms:

* there's no significant disadvantage or inconvenience with discussing a patch on GitHub compared to Launchpad
* manual monitoring is not necessary because there's a `Watch`option to receive mail notifications
* there's no significant disadvantage or inconvenience in applying a patch from GitHub because
** it can without significant effort be applied with `bzr git-apply` (and retrieved from a .patch suffix to the commit URL)
** if asked the author can upload to launchpad with `git bzr push`
* GitHub is popular and it's therefore within reasonable flexibility to allow discussion there
* Allowing code discussion on GitHub too encourage competition between the sites which is beneficial
* Allowing patch discussion on GitHub might bring more ideas and coding effort to the project because some users prefer to discuss patches there

GitHub advantage

I argue that some users see these differences as a significant disadvantage or inconvenience in discussing a patch on Launchpad compared to GitHub

* GitHub allow message editing to correct errors in spelling, clarity, or logic, and therefore doesn't force the user to accept the dissatisfaction of leaving such errors permanent (and other arguments in the Launchpad discussion about message editing)
* git is more efficient than bzr for patch discussion, primarily when (i) rebasing with commands such as `git commit --amend`, `git reset --soft HEAD^`, `git rebase -i` and (ii) diff editing because TortoiseGit's `TortoiseMerge.exe` allow editing (to easily fix accidental white space or remove temporary logging before commit) which bzr's `tbzrcommand.exe --command=diff` doesn't
* GitHub allow message markup which allow clearer messages
* Launchpad send notification for a change to the user that did the change which is an annoyance

Clarification

Prompted by discussion below I want to clarify that I'm not asking for anything more than

> discussing a patch on GitHub

I'm not asking for f.e.

* applying the patch from Github (with `bzr git-apply`) if there's an objection to that because if asked I can instead upload it to launchpad with `git bzr push`
* mirroring to GitHub
* moving to GitHub

If there's a concern that the patch base is outdated the committer can (instead of applying the patch from GitHub with `bzr git-apply`)

* ask the author to upload the patch to launchpad with `git bzr push`

(If there's an opinion in this thread that I've not replied to it might be because I found it unclear, similar to another argument, or non-meaningful.)

If he wants to use Launchpad, that is his choice. Just like it may be your choice NOT to contribute because you don't like his choice.

Offering up a newish alternate was fine.
It has been rejected.. He does not have to give anyone reasons.

It is a PITA to work from 2 streams. I don't find any fault with rejecting that choice.
We all have our favorite tools. You have been given submission alternates. Having lots of active developers is , but they must follow the leader to be successful.

So what? There will always be advantages and disadvantages combined with personal preferences of one source control system over another. What preferences you personally have bear absolutely no relevance, as the ducks says it is up to Kovid who works full time on this project to decide where he wants to host it. Now if you can convince him to *move* the calibre source to GitHub that is one thing, but to setup your own mirror and then complain about Kovid quite rightly choosing not to have anything to do with it is utterly ridiculous.

I really don't understand your attitude with this. It would be utter insanity for Kovid to add to his workload to attempt to mirror onto multiple source control systems, it isn't even worth a minute of consideration. From his posts above he doesn't appear to be motivated to move, and frankly if that is the case I don't blame him - he and the many other contributors to calibre have years of experience with his existing setup and numerous scripts etc, so to stall development and put everyone through the upheaval of learning git is not a decision to be taken lightly.

But how can you differentiate the two? A patch is generated based on differences against a base. As Kovid isn't managing your mirror, he has zero control or knowledge of what "base" the patch is generated against. For all he knows that patch is generated for code that was mirrored three months ago and no longer applies. At least when the contributor is on the same source control system they can be sure to easily sync to the main development trunk before generating their patch, or branch with confidence from it.

Also for major contributors they tend to work on a branch which Kovid merges in, which isn't an option when on another source system.

I want to bring attention to this message
> * there's no significant disadvantage or inconvenience with discussing a patch on GitHub compared to Launchpad

* there's no significant disadvantage or inconvenience with discussing a patch on Launchpad compared to GitHub.

Quote:

Originally Posted by John Peterson

> * there's no significant disadvantage or inconvenience in applying a patch from GitHub bcause the patch is retrieved from a .patch suffix to the commit URL and can be applied with `bzr git-apply`

* there's no significant disadvantage or inconvenience in submitting a patch via Launchpad.

Quote:

Originally Posted by John Peterson

> * GitHub is popular and it's therefore within reasonable flexibility to allow discussion there

* Launchpad is popular and it's therefore within reasonable flexibility to use it.

Quote:

Originally Posted by John Peterson

> * Allowing code discussion on GitHub too encourage competition between the sites which is beneficial

* Allowing code discussion on Launchpad encourages collaboration on calibre which is beneficial. Competition between two hosting services isn't the goal of calibre and outside of calibre's scope.

Quote:

Originally Posted by John Peterson

* Allowing patch discussion on GitHub might bring more ideas and coding effort to the project because some users prefer to discuss patches there

Let's see you're willing to use Launchpad simply because you don't want to even though that's what calibre uses and what every calibre developer uses. This tells me two things. 1) You're not able to take any level of criticism because you won't make even the slightest attempt to work within calibre's development guidelines. 2) You're contributions no matter how brilliant are going to be more trouble then they're worth.

But all this does is create extra work for Kovid for absolute zero benefit. Why should Kovid have to waste his time trying to reconcile patch dates or request mirror updates?

A user who wants to genuinely contribute to calibre will do whatever they need to do with the existing infrastructure, as I and dozens of other contributors have done. Adding to Kovid's workload in any shape or form just because user x wants to use Git over Bazaar is just plain silly. As I said above, either you request and get Kovid to agree to move calibre onto Git, or you suck it up and use what exists and works perfectly fine as is.

Splitting a project across two source control systems is pretty much unprecedented in the development community AFAIK for a long list of very good reasons. But anyways that's my rant on the subject over, I'm done.