Thread Previous • Date Previous • Date Next • Thread Next |
On 03/30/12 16:27, Robert Collins wrote:
I have a few questions inspired by the events that lead to at least two of our forks, and various experiences in Ubuntu. How do we preserve our velocity while working with upstream? Do we wait for upstream to be totally happy before we move forward? Do we monkey patch? Do we have a transient fork? What should we do when upstream are hard to work with? E.g.: they've broken API compatibility in trunk and our patches vs trunk are totally different to patches vs what we are using, and upgrading what we're using is nontrivial .... and trunk isn't releasable? Or what if they only release once a year, or if they really don't want our patch? Or if they want to polish the patch a great deal more than we need it polished, before they'll consider landing it?
I've experienced some of the frustrations you allude to here as well (and really great upstream experiences, of course).
Most of the observations and questions from my email were of the "well, you've decided to fork, now what" variety. The observations lead to one approach to answering the questions you give here: you should put up with the difficulties of working with upstream until you estimate that the long-term cost of maintaining a *good* fork (branches updated, tests maintained, new tests added) seems less. That's a pretty big cost, but I can think of at least a couple of instances in which it might have been arguably less.
What if upstream aren't in bzr? How do we 'make a branch' there?
(Thanks to imports, that's usually not a big problem IME. I can imagine exceptions.)
Would we upgrade a dependency for a service that is working fine and has no other work planned for it?
As I said, our current inclination is approximately what someone advocated (and reportedly practiced) in canonical-tech: if the upstream is healthy and moving, yes, upgrade regularly. It should be a big, conscious decision not to do so.
That's my current guess. <shrug> Gary
Thread Previous • Date Previous • Date Next • Thread Next |