The purpose of the Functional Programing Slack team is to discuss - you guessed it - functional programming. The goal of this Code of Conduct is to ensure that this purpose continues to be served and that members understand, in broad terms, behavior that is unacceptable in any of the channels on the team.
It is impossible to legislate perfection so this CoC is not designed to outline every bannable offense or lay out, in specificity, an exhaustive list of what is and isn't allowed. The goal is much more modest: to make sure that members understand the spirit they should uphold and to avoid any surprises in the unfortunate circumstance that someone gets removed from the channel for violating that spirit.
To date, the vast majority of participants have fostered an incredible atmosphere of collaboration, with members offering advice, feedback, etc and we expect that will continue. There have been rare occurrences of flagrant or derogatory language being directed at other members. There have been threats of violence. This behavior has no place on the team.
Clear-cut and egregious violations may result in immediate removal from the team without warning. If there's an isolated incident followed by a quick resolution or apology to the point where it's clear to any sane, objective third-party that the offending members' continued presence on the team presents no substantial impediment to continued productive discussion focused on FP, we hope a warning will suffice and we can all move on.
What precisely qualifies as "resolution" or "apology"? We do not attempt to precisely define those terms because this CoC is not intended to be a sprawling regulatory framework which would require lawyers to interpret prior to enforcement. Instead, we've placed significant trust in the few admins and other long-standing key members to assess situations on a case-by-case basis.
In a word, if you are removed from the team, it means you blatantly violated very basic, very reasonable expectations of good behavior and you're kidding yourself if you think otherwise.
Some examples (but NOT an exhaustive list of bad behavior):
All but the last of these apply to communications via Direct Messages as well, not just channels.
None of the admins want to be dealing with enforcement of this CoC or policing activity in the channels. It's annoying and the majority of the members are here to engage in productive conversation. Isolated incidences rarely end up being the issue. Banning typically occurs when we hear several reports about a member engaging in a pattern of behavior which detracts from the welcoming environment that has been in place since inception.
If you have questions, please contact any of the admins: @levinotik @dk @dridus @rickasaurus @fixplz
To request an invite to the Functional Programming community on Slack, please visit fpslack.com
[Note: these rules and their motivations have been discussed ad nauseam in the channel. Please don’t start a debate about it again in the channel. Doing so may result in a ban from the channel. We are happy to debate this and any other issues privately.]
It has been our experience that companies and recruiters will describe a job as "FP" while the actual, day-to-day job ends up having very little to do with FP. This is a bait-and-switch that engineers are unfortunately familiar with. Therefore, unless the primary language used in the job is a pure functional programming language, such as Haskell, it is not sufficient for a job posting to simply state that the job is "FP" or that the company uses "FP techniques".
As an example, use of the Scala programming language does not in itself satisfy the requirements for the jobs channel because it is a "multi-paradigm" language and does not enforce use of FP -- the language can be used as anything from a nicer Java to a Haskell-wanna-be -- so if you want to post a Scala role in the jobs channel, it must include specific details which demonstrate that paradigm being used in practice is FP (e.g. extensive use of scalaz, cats, etc).
Jobs can also be submitted as a Github issue here https://github.com/Functional-Programming-Slack/community/issues with the appropriate labels.