[Libre-soc-bugs] [Bug 422] Migrate away from nmigen Record

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Jul 8 15:17:47 BST 2020


--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to whitequark from comment #5)
> > Deprecate the unfortunate Record.connect method, and the Direction
> > functionality of Record as well
> There is nothing in that sentence that says "unused". If we, in fact,
> considered it unused, we would have removed it right away. But obviously
> that is not the case.
> > i have to say that when reading the messages, i didn't recall seeing anything
> > about Record being removed.  clearly, if i had, given the huge impact, i
> > would have said something.
> It was mentioned only briefly because it is not the focus of the next (0.3)
> release; the technical discussion related to replacing Record will happen
> before the 0.4 release.
> Given the relatively slow (for a project in the 0.x series) release cadence
> and the extensive compatibility shims we provide, I decided that there is no
> urgent need to announce the deprecation any more loudly than that,
> especially since we do not have any actual design for its replacement. A
> design and a complete, field-tested implementation for the replacement are,
> of course, a prerequisite for deprecating Record, much less removing it.

yes i've seen the daily discussions.  it's unfortunate that i simply didn't
see the intent to deprecate

> > on learning that you've thought significantly about a
> > route for us to continue to use Record (externally if necessary) is
> > greatly appreciated.
> The ability to implement something like a Record in your own codebase has
> been added more than a year ago (at 2019-06-11) after a discussion with you
> and hearing your requests, I've told you about that, and you've acknowledged
> that you understood you had this ability.

it hadn't occurred to me to actually extract the entirety of Record from
the nmigen codebase (into nmutil, most likely) and to become its de-facto
maintainers until it's no longer needed.  it's a good idea.

as i was assuming that doing that would not be viewed favourably (because
that doubly-maintained code would then become a burden on you, for support
issues) it never occurred to me that it would be acceptable to duplicate
Record... *right now*.

consequently, the classes that i wrote (RecordObject, Object) derived
*from* Record rather than duplicated it.

consequently, removal of Record would seriously adversely impact the code
that relied on it.

now, of course, if the Record class is *removed* from nmigen then that's
an entirely different (and very good) proposition, as the responsibility
for its maintenance and support is no longer duplicated.

> > to be completely open and honest with you i feel quite intimidated and not
> > very welcome
> This is a consequence of your own past behavior, 

this... i am... should everyone be so judged on the past?  in light of
the fact that our Charter *requires* - not optionally - *REQUIRES* that
contributors take into consideration external constructive feedback,
judging someone based on the *past* is hugely unfair.

it says - very loudly - "you as a human being are completely pathologically
incapable of adaptation".

that's not a very nice thing to say, is it?

> and today, by starting with unfounded accusations 

whoa whoa who there were no *accusations* whitequark.  i simply pointed
out that there is a lack of communication and that i felt considerable
alarm at the implications of the removal of something that we're critically
dependent on.

you then very kindly pointed out things that i haven't looked at for
several months going on a couple of years, that you've taken them into
consideration, and been supporting us - unknowingly as it turns out -
all this time.

> instead of attempting to discover the facts or really
> any attempt at a productive dialogue at all,

whitequark: please understand, we're *required* to discuss things
publicly - problems and all - when it affects the technical direction
of the project.

normally, in order to preserve a "positive image" of a project, things
are hidden from public view.  discussed privately, and only brought
to light when they are resolved (if at all).

under the NLNet funding remit, for Privacy and Enhanced Trust, *we cannot
work that way*.

we're required to hold technical discussions - even if there are
misunderstandings - entirely in the public light, for independent auditing.

> you have not shown many reasons
> to welcome you. I would prefer to discuss technical topics with literally
> any other member of your team, none of whom, to my knowledge, behave like
> this.
> You seem to consider LibreSOC a very important project for nMigen--but this
> kind of behavior is in no way tolerated in the nMigen community and,

*what* "behaviour"??  am i not "permitted" publicly to say "i'm really
freaked out that because of things i don't know about, because i'm simply
too busy and simply haven't had time to keep fully up-to-date, that we
might miss a critical deadline and the entire EUR 400,000 funded
project will fail as a result?"

let me ask that another way.

how would _you_ have put it?  bear in mind that it has to be a public
communication (libre-soc mailing list, libre-soc bugtracker), what words
would you have used in order to convey what was needed?

then - bear in mind that i have Asperger's so "by default" i will simply
speak my mind - i can use that as a "template" for future communication
on a similar topic.

remember: normally there would be a "full time Project Manager" in place
to help with these kinds of things.  there isn't one, so it's down to
us, directly.

basically, you'll need to teach me what i need to say, ok?

because *i literally do not know*.

> frankly, over time makes your project more of a liability.

i appreciate your honesty, here.

if i can: my feeling is that if we, as project leaders, don't make a
positive effort here, it's going to reflect badly for both our respective

> Would I recommend anyone work with you knowing that in case of a
> misunderstanding, you will attack them (as well as complete bystanders)
> first and ask questions later, such as what you did today? Absolutely not.

i'm *not* going to attack people, whitequark.  what the hell would be
achieved by that??  make myself "look good"?  try to "win points by denigrating
others??"  make other people look "more stupid than me by comparison"?

those are the kinds of things that really nasty people do, and if they
tried it in this project they'd be in flagrant violation of the Libre-SOC
Charter and would be taken to task on it, because it would be significantly
detrimental to the project's goals.

now, from a combination of Asperger's complete lack of emotional (personal)
empathy combined with the mandatory requirements of full transparency, i
do appreciate that it might *LOOK* like an "attack" - a deliberate hostile
intent to denigrate the work that you're doing, and trying to "bring down

except: this is so completely against *everything we believe in* that the 
discussion here is reaching "Kafka-esque" proportions, the mis-match is
that stark.

> > in future, how can we ensure better communication, here?
> You could start with not messaging me out of the blue with counterfactual
> accusations stemming from the assumption that I do not, in fact, consider it
> valuable to provide a smooth migration path for downstream projects when
> this has been the focus of the project since before it got a 0.1 release.

whitequark: *i didn't know that* - not in real concrete terms.  it's one
thing to know it in the "abstract", and it's another to actually have
a real example thrown at us when there's a critical deadline coming up.

one that came up from there not being proper communication channels, based,
i believe, on misunderstanding compounded on misunderstanding on 
misunderstanding.  which, although it might not be appropriate to say,
i do find... some level of ironic/amusement in observing it.  the appropriate
japanese word would be "o-ka-shii-neeh" meaning (loosely), "funny / strange".

please: you're jumping at shadows and believing that you're being accused
of things that *haven't actually happened* and are simply the product of 
miscommunications.  or, the *perception* is one of accusation which you
know - logically with a little thought and reflection - cannot be true
because it would be so severely detrimental to both our projects if such
accusations were actually and intentionally being made.

let me ask you: did you *genuinely* think that, when i wrote what i did,
that my first active thought was, "I MUST ACCUSE WHITEQUARK AND EVERYONE HAR

you can't possibly think that that was my very first thought, can you?

i'm asking that genuinely, because i really don't know the answer.

i've already said thank you for your efforts in pointing out the migration
path (that you'd planned such a long time ago).

what else do you need me to say that would help reassure you?
(because - remember: with Asperger's *i simply don't know*)

there's a lot for both of us to learn, here, and given that the assumption
has been that i am "accusing" you of things has happened more than once,
i feel that it's our responsibility - both of us - to really get to the
bottom of this, properly.

but please - please - do not ever forget that with Asperger's i simply *do not
see things the same way as other people*.  i do not have the same kind of
emotional responses or modelling of others that everyone else has.

yes there are assholes and vicious and spiteful people with Asperger's out
there, just as there are kind, conscientious and thoughtful people without.

please understand that it is absolutely anathemic to me to be a "spiteful
vicious person, actively hell-bent intent on harming others".

this is an *ethical* project, and that's taken very seriously.

bottom line:

causing harm is an *extremely serious* violation of the Charter!

fundamentally, then, *you'll need to teach me* what kind of responses you
would like to see, and i can put them into the "mental database" and use
them as templates.  this is "standard practice" for people with Asperger's
(there are now books by respected authors on the subject)

this _will_ appear "awkward".  you'll know - ultimately - that the responses
that i make are "canned".  however this is just how it is with people with
Asperger's.  they *never* properly fit in with the rest of humanity, and
i believe you may have picked up on that but potentially not really
understood the full ramifications.

now, if i was not willing to do this, then you would be perfectly within
your rights to say that the entire project is pathologically managed.

as this is not the case (it is in direct violation of the Libre-SOC
Charter to be pathological), we can conclude that something else is
going on.

exactly what that is, i have no idea, and i'd welcome honest
and open discussion to work things out.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-soc-bugs mailing list