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

Adopt a Code of Conduct for MyPaint #364

Closed
achadwick opened this issue Jul 6, 2015 · 8 comments
Closed

Adopt a Code of Conduct for MyPaint #364

achadwick opened this issue Jul 6, 2015 · 8 comments
Labels
cat.Docs.User Issue relates to user docs type.Project Issue is important for a milestone

Comments

@achadwick
Copy link
Member

The MyPaint project should adopt a code of conduct as a positive statement that we're an open, welcoming team of people who want diverse peers, and as a concrete & collective promise of respect for all contributors to the project. I want this project to grow and improve and be used by thousands of artists worldwide to make wonderful things, and I want it to grow in a way that cements in a culture of trust, cooperation and understanding among its contributors.

A code of conduct would help us achieve that goal by enumerating the sorts of behaviours which are not acceptable when working on the project or when representing it in public. We have statements in favour of greater diversity already, but no flip-side to that: and a lack of this kind of specificity is widely considered to be a poor design choice when building a community.

There was a small amount of agreement back in April between me, @jonnor, and @iirelu that @CoralineAda's Contributor Covenant, 1.0.0 at the time, had the right balance. I've been watching it since then, including through something of an unexpected public proving by fire, and I'm still of the same opinion. Indeed I think it has grown stronger, and I am quite willing to honour it should we adopt it. It is not onerous (unless you want to actively harass someone), and it (rightly) has just enough teeth to matter.

I propose the following changes to our documentation:

  1. Add version 1.1.0 of the Contributor Covenant CODE_OF_CONDUCT.md to our repository, signifying its adoption.
  2. Add the following language to our README.md and CONTRIBUTING.md to introduce the code:

    Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
    possibly replacing or expanding upon our existing statements of diversity.

I would agree to be bound by this CoC at revision 1.1.0 (EthicalSource/contributor_covenant@af5b4f4), and to uphold it upon its adoption.

(Disclaimer, in case anyone asks: this issue is not being raised in response to any specific incident within MyPaint. It would however be of great benefit to the project to include such a statement with our next release. That is why I've filed it with the beta milestone for 1.2.0 rather than in the project-management washup phase.)

@achadwick achadwick added type.Project Issue is important for a milestone cat.Docs.User Issue relates to user docs labels Jul 6, 2015
@achadwick achadwick added this to the MyPaint 1.2.0-beta.<1st> milestone Jul 6, 2015
@achadwick
Copy link
Member Author

@martinxyz Sorry, I should have @-ed you in on this, given that MyPaint is basically your creation and your ongoing BDfL status ☺

@odysseywestra
Copy link
Member

I agree, we do need a code of conduct for the MyPaint. I just have a few suggestions

As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities [pertaining to the project].
...
This code of conduct applies both within project spaces and in public spaces [where] an individual is representing the project or its community.

We should clarify that it is for activities related to MyPaint and it's surrounding projects. That way the document is only applied to the project and not used as a tool to force someone out when it's pertaining to an outside or unrelated issue.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported [though our mailing list, forum, irc channel,] or contacting one or more of the project maintainers.

Since you have made it clear that the issue page is for issues related to bugs, and features and not as a ask-for-help, or support ticket to prevent it from being cluttered, I would suggest the same be applied for these potential situations as well.

One last thought, if an maintainer or contributor is being a nuisance, or harassing, I would try to talk to him/her first before jumping to gun so to speak. Remember this is a project that has been built by volunteers therefore there are going to be a differences of opinion for each matter.

That just my two cents, what are your guys thoughts?

@achadwick
Copy link
Member Author

@odysseywestra

[pertaining to the project]
We should clarify that it is for activities related to MyPaint and it's surrounding projects.

That's my understanding of the proposed CoC. The first para is bound by "of this project" and "people who contribute", but in a rather implicit manner - mind you, the first para is a statement of intent, not a scope limiting clause.

That way the document is only applied to the project and not used as a tool to force someone out when it's pertaining to an outside or unrelated issue.

Agreed. Another reason why clear lists of things which are not OK are a good idea.

[though our mailing list, forum, irc channel,]
Since you have made it clear that the issue page is for issues related to bugs, and features and not as a ask-for-help, or support ticket to prevent it from being cluttered, I would suggest the same be applied for these potential situations as well.

Perhaps. I'm not good at monitoring the forum (time, alas; and I don't really get on with web forums), and public reporting paths may not always be appropriate. Definitely need to keep private contacting of (involved or uninvolved) project maints as a potential reporting path.

I'm inclined to leave issues as a potential reporting path, since I think "contacting one or more of the project maintainers" probably covers the other cases.

If we want to review our approach to request-for-help issues, we can do that: #365. I always feel bad if I can't help someone out directly, and about my time being too limited to help everyone 😞

@achadwick
Copy link
Member Author

One last thought, if an maintainer or contributor is being a nuisance, or harassing, I would try to talk to him/her first before jumping to gun so to speak. Remember this is a project that has been built by volunteers therefore there are going to be a differences of opinion for each matter.
-- @odysseywestra

This deserves its own reply. Thanks for this.

Yes, absolutely. If I'm ever called upon to enforce a CoC, I'd try to assess the situation first and act with the minimum necessary intervention. Kindness and respect go both ways, that's why we want this policy after all.

That said.
Sometimes abusive behaviour gets excused as "mere differences of opinion", and accepting that entrenches a dismissive culture that excuses bad behaviour. There should be no scope for that sort of weaselling, which is why clarity about what is, and what is not acceptable (act the actionable level, with consequences) is important.

On kindness and growth though... the Thoughtbot CoC¹ has this to say at the end --

Finally, don't forget that it is human to make mistakes! We all do. Let’s work together to help each other, resolve issues, and learn from the mistakes that we will all inevitably make from time to time.
-- https://thoughtbot.com/open-source-code-of-conduct

That seems like a good stance to take. Despite being a bit of a homily, it's a good expression of the spirit I'd be hoping to encourage.

__
¹ Another good one that I was this close to proposing. Let me know if you prefer it and why.

@odysseywestra
Copy link
Member

That's my understanding of the proposed CoC. The first para is bound by "of this project" and "people who contribute", but in a rather implicit manner - mind you, the first para is a statement of intent, not a scope limiting clause.
--@achadwick

I understand that the first paragraph is a statement of purpose and intent, but when the clause "other activities" was placed, it just raised a red flag. If you place "related" or "pertaining" to the project, that would state the activities are to the project, and reinforce the intent and purpose.

With the "when" and "where" on the other paragraph, I would try to word it so that help people keep their project and personal lives separate. Especially when it come to a time where someone would pay someone else to implement x feature or fix y bug. It will probably happen since MyPaint is getting more and more popular among artist since it is design to be simple and powerful. On of the reason why I like it so much.

About reporting, I'm not against not using the issue tracker for other things besides code. Me personally I would rather consolidate a lot of our communication to the issue track since it has labels, milestones, and other tools to help keep it organize. However, how cluttered do you want the issue tracker to be? I'll expand more upon it in #365.

Lastly with, how we go about addressing the issues, I would state that in the code of conduct so that all have an idea of how we deal with them. One idea I have, if it cannot be resolved on a personal basis, there should be a person on the outside weighing in. And if they still can't get a resolve, take it up with the community and deal with it then. Though you are right people using difference of opinion as excuse, I have seen the other side of the block were people would take a few words of a person's comment, tweet, or whatever out of context, and just label the heck out of that person and be quick to judge. So not only would we need to write in a way to protect the maintainers and contributes from any form of harassment, but also protect those from being wrongly accused of such harassment.

Overall I want to encourage kindness and growths in the MyPaint community. Thoughtbot CoC is written pretty well and I wouldn't object with using there's as a basis too. I just really care about this project even though I'm not a programmer, and I know you have the best intentions for doing this. Thank you for everything you @achadwick. ^^'

@achadwick
Copy link
Member Author

I'm slightly loath to suggest trying to resolve on a purely personal basis always, since one maintainer may not personally know all contributors :) I'm OK with external advice or even arbitration being sought though - I see it as part of the learning process.

Anyway, I note that Contributor Covenant v1.2.0 has been published. It adds a lot of good stuff over v1.2.0:

  • Adds "and in the interest of fostering an open and welcoming community" top the opening para.
    • Which is good fluff to have. That's what we want, and that should be the spirit even of any enforcement.
  • Adds "[regardless of] [...] nationality" to the second paragraph.
    • I'm surprised that wasn't in the list for starters.
  • Changes "sexual imagery" to "sexualized imagery" - making it more compatible with sexual health app development, human anatomy apps, and other public goods
    • Of interest to MyPaint dev activity - on the face of it, it permits tasteful nudes for art examples & screenshots when we ask for them, provided they are neither derogatory nor harassing. I would still prefer fully SFW examples though, simply because MyPaint should be accessible to minors.
    • For the record, and because of the clause addition below - I don't care what someone posts in other communities, even porn-friendly/sex-positive ones, even if their account has a "MyPaint developer" badge on it, provided that the lewds are not derogatory or harassing and that there's no claim to represent the whole of the MyPaint community there. Possible FAQish entry if needed: "you may use MyPaint for anything, even things we don't agree with, provided you meet the GPLv2 license's terms".
  • Adds trolling, doxxing, and "other unethical [...] conduct" to the list of unacceptable things.
    • All of which I'm OK with. IMO it's clear what our ethical stance as a developer community is (openness, tolerance, freedom of access to cool software...)
  • Adds "[b]y adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project"
    • This is a very important addition IMO, and may help allay your fears, @odysseywestra ! It stresses consistency and fairness, and makes it a point of principle for contributors not to abuse any terms of the agreement.
  • Adds the paragraph "[t]his code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community."
    • My only potential bone of contention: the external spaces thing really doesn't sit well with some people, although I kinda disagree with them. On reflection, and after some discussion in the Contributor Covenant issue for it, I'm of the opinion that this isn't an issue for our adoption of v1.2.0: other spaces will have their own codes of conduct which already exclude much of what the agreement rejects anyway, and that this is all about not being shitty in places like Twitter, Tumblr, or conference venues while you are effectively wearing a MyPaint developer badge and flying a flag for the project. Er, maybe don't do that please? Looks bad, for one thing 😐
    • See above for a more specific interpretation.

So basically I'm OK with Contributor Covenant 1.2.0. The additions/changes all look good, and it is maintained by an independent party with both a personal interest in these issues, and years of experience in these matters. Incidentally, that's why I'm not enthused about Github's favoured Open Code of Conduct (TODO Group) - it has been a little naïve and corporate in the past, though that may change one hopes. I'm watching both projects evolve.

I will be adding Contributor Covenant 1.2.0 to the codebase shortly, unless anyone has any objections?

@odysseywestra
Copy link
Member

I'm okay with v1.2.0 as it stands. After thinking abut the paragraph about external spaces, I came up with the same conclusions you did as well. Plus adding the sentence for consistency and fairness did address my concerns as well. ^^

@comradekingu
Copy link
Contributor

comradekingu commented May 13, 2021

@achadwick This formerly short and seemingly innocuous document has grown in both size, scope, and applied harm. The initiative proposing its use is defunct, and the links to older versions are dead. Instead the attack on meritocracy, described as such and to be political by its creator, has gone on to change "project maintainers" for "community leaders" in version 2.0. (Edit: It already protected itself by banning political attacks with version 1.2-1.4.)

I want to avoid this attack on meritocracy, libre software and its ecosystem. Futility, complexity and authoritarianism does in fact not foster a welcoming community. Rosy words added to the contrary is a very thinly veiled excuse on top of flawed analysis, failed psychology, implication and assumptions that don't hold.

I never found it agreeable, nor did I pledge allegiance to it, which speaks to its irrelevance.
Will continue contributing to the translation effort if it is removed. A point of contact and establishing a basis of communication is not a CoC, which consequently I support in their own right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cat.Docs.User Issue relates to user docs type.Project Issue is important for a milestone
Development

No branches or pull requests

3 participants