Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add code of conduct minimal neutral guarantees #213

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

ariard
Copy link

@ariard ariard commented Jul 13, 2023

This PR aims to address my current concerns about the limited transparency and potential deadlock issues of the current code of conduct.

It introduces two simple changes a) renew of the code of conduct team every 2 years with a transparent process opened to the whole LDK community and b) in case of deadlock about code application 2 additional people from the LDK community should join the team to adjudicate the case.

The first rule guarantees transparency and neutrality of the LDK project, and the second rule aims to solve deadlock in case of code application. This is the minimal set of changes I’m requesting on my side to respect the code of conduct in the lack of concrete issues arising, next changes about the code can be discussed in December 2024 when nomination happen (or December 2025 fine to work on 3 years cycle ?) in function of growth of the LDK community and the needs by that time.

@netlify
Copy link

netlify bot commented Jul 13, 2023

Deploy Preview for lightningdevkit ready!

Name Link
🔨 Latest commit 244e421
🔍 Latest deploy log https://app.netlify.com/sites/lightningdevkit/deploys/64c056e0305fd500088ee552
😎 Deploy Preview https://deploy-preview-213--lightningdevkit.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@ariard
Copy link
Author

ariard commented Jul 13, 2023

@devrandom @valentinewallace @TheBlueMatt

As you’re the current code of conduct team members, I’ll request your individual review on the proposed changes. If you’re NACK about them, I would like to have a reasoned ground why the proposed changes are not adequate, fair or neutral, like one would do to mark his disagreement with a technical PR.

As I’ve been an active contributor longer than 2 of you and with an equivalent technical proof-of-work, I think I’m legitimate to submit the proposed changes and ask for them. I think the changes are reasonable with the resources the community is willing to commit to solve conflicts.

If you have comments on the formulation of the changes, thanks to leave review comments, I’ll address them.

@ariard
Copy link
Author

ariard commented Jul 13, 2023

@ConorOkus @jkczyz @dunxen

As you have ACKed the original code of conduct PR, if the changes proposed here sounds unreasonable to you, thank to express an opinion.

## The Code of Conduct Team

A small team of LDK contributors has volunteered to enforce the LDK Code of Conduct. If you feel like a community member has engaged in inappropriate behavior, please don't hesitate to contact one of the following LDK contributors via email or on Discord:
* Matt Corallo - ldkcocpoc on mattcorallo.com
* Val Wallace - vwallace on protonmail.com
* Devrandom - devrandom99 on proton.me

The Code of Conduct team should be renew every 2 years with a transparent nomination process opened to the whole community of active LDK contributors.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of the biggest ways in euch codes of Conduct have gone wrong is when they're selected out of individuals who are super interested in being on the code of conduct committee. This lends itself to such a committee trying to leverage its power to accomplish its goals, rather than addressing issues only as they arise.

Trying to force a formal selection process into a CoC committee naturally results in people vying for a position on it, which I think is a very bad outcome.

Copy link
Author

@ariard ariard Jul 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of the biggest ways in euch codes of Conduct have gone wrong is when they're selected out of individuals who are super interested in being on the code of conduct committee

I fully agree and I think committee members should be selected among technical contributors to maintain the alignment with the community, rather than their own goal.

Proposing the following rule to be part of the committee:

Code of conduct team members should have realized at least 50 code commits
in the main LDK git tree and the first commit should have been merged more than
2 years at the date of nomination.

50 code commits is around the current bar than the number of commits by the committee member with the lowest number of commits (Devrandom - 67 if i’m using git correctly) and the 2 years rule request than someone has been around the project for long enough to be familiar with the social norms of the communication space.

The requirement of a technical proof-of-work also ensure it stays a project maintained by developers for developers, and not a bureaucracy talking about stupid trademarks issues like what is happening with Rust.

There is another pitfall that I think we should avoid it’s when people are no more technically active in the project, yet still occupying a janitorial role like a CoC committee member. A time-bounded nomination process allow those people to leave their roles smoothly and in a transparent fashion for the community. Nothing worst than “elected-for-life” roles.

I like the idea than to exercise a role you must be technically active, it’s okay to not do review and land code for few months though if after one or maybe two years you’re no more active, it’s better for everyone to transmit roles. It’s kinda FOSS spirit imho.

Removed the mention of a formal selection process (“Nomination process should be defined in its ulterior document”), I think proposing people in an open fashion on usual communication channels like we’re doing on Core-side for admin roles, sounds good enough to me.

@ariard
Copy link
Author

ariard commented Jul 14, 2023

Updated at fa82902 with new suggestion to address Matt’s feedback and bumped to 3y period.

@moneyball
Copy link
Contributor

Concept ACK for:
a) term limits.
b) requiring some type of proof of technical work such as what is proposed for the reasons cited.

I think we should consider a way to do a staggered rotation though so that the original 3 members are not rotated out at the same time. A staggered approach allows for more natural passing on of learnings while still gaining the benefit of new people.

@ariard
Copy link
Author

ariard commented Jul 20, 2023

I think we should consider a way to do a staggered rotation though so that the original 3 members are not rotated out at the same time. A staggered approach allows for more natural passing on of learnings while still gaining the benefit of new people.

Staggered approach is a good idea for natural passing of learnings, I'll propose an update in that sense soon.

Comment on lines 23 to 25
In case of a concrete issue that raises a deadlock about the application of the code of conduct, 2 additional members should be selected by consensus of the code of conduct team from the community of
active LDK contributors to join the team in its decision-making process to adjudicate the case. The decision of the majority of the 5 members is binding.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the "normal" CoC always consist of 3 members? What would an example of a deadlock look like here?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes “normal” CoC currently consists of 3 members. Note latest modification proposes to bump the number to 5 at next nomination in 2025 (for the staggered approach).

Latest changes introduces the definition of a deadlock, which is just when there is no unanimity between the 3 CoC members on the decision to take and therefore bumping to 5 allow to unlock the situation, hopefully. So in practice a deadlock can be any material event defined as unacceptable behavior, it’s just when there is no formal unanimity in the decision-making process.

## The Code of Conduct Team

A small team of LDK contributors has volunteered to enforce the LDK Code of Conduct. If you feel like a community member has engaged in inappropriate behavior, please don't hesitate to contact one of the following LDK contributors via email or on Discord:
* Matt Corallo - ldkcocpoc on mattcorallo.com
* Val Wallace - vwallace on protonmail.com
* Devrandom - devrandom99 on proton.me

The Code of Conduct team should be renew every 3 years with a transparent nomination process opened to the whole community of active LDK contributors.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:

Suggested change
The Code of Conduct team should be renew every 3 years with a transparent nomination process opened to the whole community of active LDK contributors.
The Code of Conduct team should be renewed every 3 years with a transparent nomination process open to the whole community of active LDK contributors.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the staggered approach mentioned, so happy to have that included here :)

As for nominations, I do hear the concerns of Matt around people really vying for the position (who actually might have bad intents). I don't know of a good solution to this, but for me at least the staggered approach and having it 3 years instead of 2 can provide some stability and handover if other candidates ever wish to be nominated.

I think we need to address what happens in the special case of a current CoC member who wants to step down, is there an early nomination? Are there acting-members on the bench to fill that role until the end of a term?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Included the staggered approach mention.

On the concern raised by Matt about people vying for the position, I think requesting updated technical proof-of-work both for CoC members and for the active LDK contributors taking part to the nomination process ensure those nominated to the roles are productive contributors giving priority to technical development over playing bureaucracy games.

In case of current CoC member who wants to step down, added a new sentence where the role can be fulfilled with a new nomination instantly. I think it’s better to guarantee a minimal number of people part of the Code of Conduct team as you can expect better decisions to be taken from the rational discussion of multiple independent viewpoint.

Overall a code of conduct is an attempt to find a reasonable middle ground among the the disagreements regarding expression in a middle-scale and diverse community of people from all around the world, IMHO.

@ariard
Copy link
Author

ariard commented Jul 25, 2023

Updated at 244e421

Latest proposed changes include:

  • introduce staggered approach (address steve feedback)
  • defines deadlock (address duncan feedback)
  • add the option of a new nomination in case of a CoC member stepping down (address duncan feedback)
  • define an active LDK contributor as someone with 10 commits during the 2 years before nomination event

The latest change (i.e a active LDK contributor is someone with technical proof-of-work) is somehow inspired by how the Linux community is electing the technical advisory board (which is enforcing their CoC), where the votees must have three kernel commits during the last years, as documented here.

If there are more feedbacks, I’ll address them with calm and patience. In the lack of opposing feedback and if the latest changes are judged reasonable, I think this can land after one or two more weeks to let people time to share their opinion.

Copy link
Contributor

@TheBlueMatt TheBlueMatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me, I think.


The next nomination should happen in December 2025. 2 new additional members should be added to the Code of Conduct team to favor a staggered approach where elder members can provide experience to newer members. Current Code of conduct team members can be reconducted in their roles.

Code of conduct team members should have realized at least 50 code commits in the main LDK git tree and the first commit should have been merged more than 2 years at the date of nomination.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand this phrasing did you mean "more than 2 years prior to the date of nomination" or "in the 2 years leading up to the date of the nomination"? Also, above it says 10 commits, now it says 50. I'd prefer 50, but don't feel super strongly, it should be consistent though.

Comment on lines +23 to +26
Deadlock can arise about the application fo the code of conduct to a concrete issue, where a deadlock is defined as lack of unanimity between the Code of Conduct team on the decision to be taken.

In that case, 2 additional members should be selected by consensus of the code of conduct team from the community of active LDK contributors to join the team in its decision-making process to adjudicate
the issue. The decision of the majority of 5 members is binding.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO this is unnecessary complexity, a benefit of having an odd number of people is that there will never be a deadlock and the majority decision can always be taken.

@ariard
Copy link
Author

ariard commented Oct 2, 2023

Thanks for the additional comments here, I’ll fix them soon. I still care building a better project culture by listening to everyone viewpoint taking all time we have to to get there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants