On Sat, 25 Jun 2016, Martin Winter wrote:

Strongly support this.
I really think that things need to move from ACK into the master
(or whatever the development branch is) in matter of days. This would
make integration (and testing) much simpler: Further contribution would
be tested on top of the development branch and it would be much more
clear when/what broke - and give more people time to test against the
growing development tree.

This is why I've been suggesting an auto-collated 'proposed' tree.

The current model of “proposed trees” just doesn’t work. It was a fair
try, but I think we now have enough evidence to improve the process.

What you're proposing is to make 'master' the 'proposed' tree though - a couple of days is just not enough time to give interested parties the chance to look at a patch, if this 'ACK' can come from anyone. Except, we can never 'master', so its history would become full of trivial edits and reverts.

I don't know any other project that guarantees contributions go in to the main integration head within days, on the say so of one other random ACK.

I think most of this is based (at least) on confusion. Most people think that you only look at yourself, Vincent and Greg as actual maintainers and the rest (i.e. Donald) as sub-maintainers or “round keepers” without the right on merging into master without your ok. This is not encouraging their work.

My experience is that people who contribute stuff aren't per se interested in helping with integrating other people's stuff. They have their own concerns and stuff they're getting on with, they don't per se have time to follow along with what other people are doing (except to extent it might impact stuff they're working on). And _that's fine_!

E.g., how many people regularly help review other contributions?

The best indication that someone is interested on the integration side - I've found in the past - is when they're regularly doing that stuff. Helping with reviews, integrating patches, etc.

On roundskeeper v maintainer, that's something where I was trying to nudge things into evolving. Historically, governance and integration have all been rolled up into one - 'maintainer', but I'm not sure that scales per se. It'd be better to separate the roles.

As for "your ok" - have you not missed that anyone can object to patches?

It might not be perfect on the first try, but at least a group of active contributors would like to give it a new try.

The main differentiating feature seems to be "vote stuff, so that Cumulus can shove take-3 and ignore Paul's comments - several of which he made to Cumulus in **2014**" (as you should know).

If that's what wanted, then that's not the community for me.

And if it's not the community for me, then we have a constitutional crisis which can only be resolved by one set of people forking and going elsewhere.

I would submit that the onus is not on me to fork.

If people really don't want to find ways to deal with my comments, this is not the project for them.

And deliberately engineering a crisis by blocking integration of patches (again, we were *forward-caught-up* with the patchwork backlog when I handed over integration to Donald late last year. Donald *chose* to stop generally integrating stuff for r7, because he decided to hold integration hostage to having take-3 integrated as is), then working on documents that largely _fail_ to address any problem we have, is, I would submit, a crappy way to deal with getting the backlog done and dusted.

Some here. I see a lot of them just documenting the existing way (at least as I think it is right now). Only a few changes to actual work.

Yes, indeed.

The main change has not been very explicitly described:

- I was trying early this year to work through Cumulus' take-3 backlog
  with Donald. We seemed to be getting somewhere. Many patches are fine.

  Some patches just need trivial things addressed, like setting
  '--author=Piotr' on the tags patches as those patches appear to be
  substantively his work and it's still trivial to do (and whatever my
  own views, I'm going to be super-attentive to stuff like that, given
  the past).

  Some patches seem not quite polished, e.g. the table-map stuff just
  copies BGP objects and ignores ref-counting.

  Some patches are cool, but have some significant UI issues, though
  probably easily resolved. E.g. the route-map automatic reprocessing
  stuff is really cool, but the event that triggers reprocessing is a
  timer. That seems strange. Some kind of more explicit event would
  probably be better - e.g. leaving config mode. I had a conversation
  with Donald on this, I thought we were agreed.

  Some patches come with architectural concerns. E.g. queueing of work
  in BGP. There's a number of these. As I did the original queueing
  work, I have opinions about this. In retrospect, it didn't deliver as
  many benefits as I'd hoped for, while it does tend to introduce or
  uncover bugs (e.g. in lifetime management of objects). It also adds
  overhead. The Cumulus patches don't really come with measurements of
  their benefit, so hard to say. Further, they come with more patches to
  add further heuristics to try manage queues further. I think we need a
  wider discussion on strategy on managing work in BGP, before going
  further down the path of adding more and more queueing complexity.

  MED: I'm a bit resistant to encouraging something deeply problematic.
  We need to acknowledge that MED - as specified - is br0ken. The goal
  was useful, however the subtleties were not understood at the time. It
  is intrinsically incompatible with basic {Distance,Path}-Vector
  routing - there's just no arguing with the mathematics of fields and
  graph theory that since clearly show this.

  So, before we try add code that either encourages admins to use it
  (e.g. max-med commands), or add code that adds intrinsic overheads
  (like having no choice but to to do O(nlogn) comparisons in the RIB,
   instead of O(n); having to communicate potentially exponential
   greater numbers of BGP UPDATEs), we should take a step back and ask
  if MED is worth this. How much overhead is it worth to make this "pig"
  fly?

- I tried to work with Donald through this earlier this year. I helped
  rebase take-3, I gave him a bunch of reviews. I thought we were going
  to keep plugging away at that, get all the good-to-go stuff in and
  address the other issues.

- Donald then turned a bit towards advancing an argument that take-3
  should just go in as is. That it had been around so long, there should
  be no more discussion. Further, that Cumulus is producing patches
  faster than they are going in, therefore there must be less discussion
  (i.e. the review comments are the problem).

- I disagree a bit with that. I gave comments on a /smaller/ backlog
  well over a year ago. Indeed, it's not far off hitting "years". For
  whatever reason (resources, stuff just getting lost), those comments
  were never addressed. However, I gave the same comments again.  They
  weren't addressed, instead the same patches get put forward again
  and again. Even patches from late last year are there in take-3.

  So from my POV, the issue is not engaging (for whatever reason, which
  may be quite understandable) with the comments.

  Further, to accept Donald's logic, is to accept that contributors
  should be *rewarded* for ignoring (for whatever reason) comments. Just
  ignore comments long enough, until eventually "they've been around so
  long they must go in without comment!"

- Donald was to hand over rounds-keeping to David. David announces the
  next round it be based on take-3. Sigh. I point out I have review
  comments on that (I assume Donald communicated that to David somehow).

- Next, Donald sat on integrating further work generally. He does the
  the next round (r7) with just a few small bugfixes - rather than
  queueing up all new patches in patchwork to a 'proposed' head.

- We wait a while, and nothing else happens, except this drama about how
  Quagga development isn't working. With documents that are largely
  "same but different", except of course with changes going in within 2
  weeks or being voted on by any random participant on a Google Hangout.

- As far as I know, at no stage does Donald communicate to others that
  the nub of the issue is he wanted take-3 to go in without further
  discussion and without addressing my comments - some of which Cumulus
  have had nearly *years* to act on.

That's not the project I want.

If that's the project other people want, I believe they should fork.

Now, I understand Cumulus want to get this backlog cleared. Hell, I really want it cleared, cause I consider it to be blocking more interesting stuff I want to do. You think I'm getting popularity points with my employer with "Well, there's this backlog of other people's stuff that needs to be addressed first I think"?

I think the best way to address that backlog though is to just get on with reviewing it and sorting it into "get it in", "nits" and "needs discussion". And a huge chunk of it falls into "get it in".

Paul, you seem to be mostly absent on all the discussion.

And why is that?

Cause when I tried to engage with that discussion, even little practical things on real-time comms for decisions seemed to be deliberately ignored.

I know Donald likes video-conferencing to make decisions. Hey, it's not bad for quickly discussing stuff. However:

- It can't be authoritative, cause no single time will work for everyone
  in a project that has people in India, Europe, West and East coast USA
  and (I suspect judging just on names) China.

  I have yet to see Donald follow my suggestion to schedule one of these
  meetings at 0300 his local time.

- Certain big US based tech companies' public networks are either
  blocked in some countries (inc. one I happen to visit every other year
  or so, and will usually spend at least 2 weeks in when I do), or are
  distrusted by others to extent they won't use them (and Quagga does
  have or had people who feel that way).

- I like email for more final deliberative stuff.

If someone wants to have an open-source project around this code-base that uses real-time Google HangOuts for important decisions, they're welcome to go try that.

However, I'm just not good with that.

So what we try is to make a way which is acceptable to you as well - giving you some way to continue the existing way while allowing everyone who is willing to try a new way to do this and see how it turns out.

The proposal I saw seemed to be about having one tree for me (a "yearly" stable tree - which shows a hilariously ironic degree of knowledge on the history of Quagga), and another for others.

I don't think that solves anything. Indeed, it just creates more problems I suspect. It's a fork. In that case, I suspect we'd just end up in _further_ hard discussions, increasingly distanced from technical matters.

If a set of people really don't want to have be bound by my comments, then they should do the fork properly now. They can go build their own community that suits them. They can put in whatever commits they like. They can also pick the commits from Quagga they like, and ignore the ones they don't. Ditto for Quagga.

We'll all be happier, really.

Why work with people you find troublesome? I honestly don't want anyone who thinks that of me to have to suffer further so.

Missed them too. Can you point to the email or the comments? I would mainly be interested on what part you support/are ok with/ or disagree on each of the documents. And maybe you can even suggest some new version of the parts you disagree for the community to discuss.

That particular section was talking about my review comments on Donald/Cumulus' take-3. Which I had sent to him somewhere around March or April I think. I've summarised some of them above.

I'll summarise them again in the r8 email I send around - which this stuff is a distraction from getting done.

Comments on the document I'm sure I've made either on that call I was on, to Lou in private email thereafter, or here on list.

regards,
--
Paul Jakma | [email protected] | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
You're either part of the solution or part of the problem.
                -- Eldridge Cleaver
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to