leandron commented on PR #102:
URL: https://github.com/apache/tvm-rfcs/pull/102#issuecomment-1667516671

    > The RFC is about how we operate as a community, and it's not necessarily 
related to "gigantic puzzle of features". To clarify, according to my read, 
this RFC is particularly designed to be extremely conservative that a decision 
making should get super majority (2/3) of the votes to pass. It means the will 
of a single person or identity is insufficient to push forward anything unless 
they convince most of the community members.
   >
   > As a community of diverse needs, of course, we have different opinions on 
how we could drive our technical needs, which is a process issue of any 
community operation. If a super majority of the community firmly believe in one 
approach of how, I would agree and support it no matter what I personally 
believe in. The RFC is just about that the community needs a way to drive 
technical resolution.
   
   I wasn't aware of these motivations, I think they should be stated in the 
RFC text.
   
   > I share the same sentiment with you that I wish some of my softwares never 
got updated, for example, LLVM breaks upon almost every release, and Cython 
just breaks recently which is a huge headache (and meanwhile, they constantly 
bring in coolest new features!). Stability is indeed an important issue to me, 
and therefore, if a “stable architecture” already copes with new challenges out 
of box, I would personally prefer not to upgrade, just to save my own time.
   
   We are getting confused with the difference between a stable architecture 
(components that interact with each other), with API, which is the specific 
function calls and classes design to make something work. What I'm arguing is 
that we should prioritise evolving our existing components e.g. IRs, rather 
than come up with something new every couple years.
   
   Cython and LLVM are great software with mature communities, being used in 
many production cases and - I'd argue - very stable.
   
   This is probably one of the reason their contribution guides are clear w.r.t 
changes, for example Cython mention the development larger features in branches 
before they get into the main codebase 
([source](https://github.com/cython/cython/wiki/HackerGuide#feature-branches)) 
and LLVM has this note in their development guide: **"we need to strike a 
balance between being inclusive of new ideas and people and the cost of ongoing 
maintenance that new code requires. As such, we have a general support policy 
for introducing major new components into the LLVM world, depending on the 
degree of detail and responsibility required. Core projects need a higher 
degree of scrutiny than peripheral projects, and the latter may have additional 
differences."**
   
   So, if said projects keeping control of their architectures break sometimes, 
imagine for project that are less careful with that, how would that be?
   
   > Meanwhile, as a PMC member, I would take **PMC responsibility** to a) hear 
the voice of super majority, and b) make concrete progress to keep the software 
updated to the latest challenge, which further becomes neither my personal 
will, nor stability concern wishing for zero change or zero break, but grave 
concern accordingly on a) community stagnation; b) being out of touch from 
major usecases.
   
   I this this paragraph misinterpret the role of the PMC, which is not to 
"hear the voice of super majority". It says, instead, among other things: "to 
further the long-term development and health of the community as a whole, and 
to ensure that balanced and wide scale peer review and collaboration takes 
place." ([source](https://www.apache.org/foundation/how-it-works/#pmc)). 
   
   I think it is not welcoming and correct to say that there is this "super 
majority" that crushes everyone else's opinion. At least this is not the way I 
think it should be.
   
   > > I understand the fact a subset of the community wants to bring changes 
faster into the TVM stack for the benefit of "a field in fast development" or 
to attract more contributors, etc.
   > 
   > I apologize in advance if I misread as a non-native speaker, but correct 
me if I was wrong, as a PMC member just like you, I was slightly surprised 
about your wording on this particular scenario. Given the context that this is 
an extremely conservative proposal that requires super majority to push forward 
any technical decision, I would love to have you re-examine the following 
assumption:
   > 
   > * A super majority is described as "a subset of the community". Do you 
want to clarify if it's you believe super majority is representative in your 
reasoning?
   
   A "subset" is exactly what it is.
   
   > * The motivation of having new features, as you described, is to "attract 
more contributors" instead of merely coping with latest needs in the field. Do 
you want to clarify if you believe there is any need to cope with latest needs?
   
   Sorry, I'm not aware of statistics in this area. I'm just representing a 
view I took from previous numerous discussions around this topic, that I 
referred in my previous post.
   
   > To summarize, @leandron, do you agree with me that we value community over 
code? I'm really grateful to have such a helpful and collaborative super 
majority of the community, and we concrete deliver for them all the time, 
making our solution as fast, robust and easy-to-use, solving community problems 
at large scale.
   
   This text is already off-topic by a lot, so I suggest rather than posting 
passive-aggressive questions such as whether long term contributors of this 
project agree with "community over code", we focus on clarifying the RFC text, 
so that the community understands what is it that we're changing once this goes 
to vote.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to