The power to believe or why fixing root issues matters

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

The power to believe or why fixing root issues matters

Simon Schäfer
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Simon Ochsenreither-3
Thanks. You said things better than I could ever have.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

martin odersky-2
In reply to this post by Simon Schäfer
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing, that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage, and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

So, let's innovate and be nice about it!
 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Naftoli Gugenheim


On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Roland Kuhn

20 okt. 2016 kl. 20:20 skrev Naftoli Gugenheim <[hidden email]>:

On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.

Based on my experience raising kids I disagree: disregarding harmful conduct and focusing on the technical points encourages harmful conduct, because people then get what they want by using the wrong form (wrong as in divisive, non-inclusive, hateful, or other undesirable ways). The only way to discourage this is to never tolerate it at all.

Concerning the point of squandering opportunities for discussion I’d posit that if the point that was raised is an important one then it will be brought forward by multiple persons employing differing styles of discussion. As far as I can see there is no reason to forego good form.

To the best of my knowledge nothing has been said in the linked thread by those you term perceived representatives that goes beyond what I describe above. In addition there has been some discussion of the technical points as well. I find both aspects indicative of a healthy community.

Regards,

Roland

 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.


-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



-- 

Martin Odersky
EPFL and Lightbend

-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Roland Kuhn

20 okt. 2016 kl. 20:43 skrev Roland Kuhn <[hidden email]>:


20 okt. 2016 kl. 20:20 skrev Naftoli Gugenheim <[hidden email]>:

On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.

Based on my experience raising kids I disagree: disregarding harmful conduct and focusing on the technical points encourages harmful conduct, because people then get what they want by using the wrong form (wrong as in divisive, non-inclusive, hateful, or other undesirable ways). The only way to discourage this is to never tolerate it at all.

I should clarify: I’m responding to Naftoli’s argument in general. I am not implying any judgement here on the thread that provoked his statement.

Concerning the point of squandering opportunities for discussion I’d posit that if the point that was raised is an important one then it will be brought forward by multiple persons employing differing styles of discussion. As far as I can see there is no reason to forego good form.

To the best of my knowledge nothing has been said in the linked thread by those you term perceived representatives that goes beyond what I describe above. In addition there has been some discussion of the technical points as well. I find both aspects indicative of a healthy community.

Regards,

Roland

 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.


-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



-- 

Martin Odersky
EPFL and Lightbend

-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Aw: Re: [scala-debate] The power to believe or why fixing root issues matters

Dennis Haupt-2
In reply to this post by Naftoli Gugenheim
content and style of communication should be treated independently from each other, because they are. 
 
 
Gesendet: Donnerstag, 20. Oktober 2016 um 20:20 Uhr
Von: "Naftoli Gugenheim" <[hidden email]>
An: [hidden email], "Simon Schäfer" <[hidden email]>
Cc: scala-debate <[hidden email]>
Betreff: Re: [scala-debate] The power to believe or why fixing root issues matters
 
On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,
 
Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!
 
Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,
 
I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,
 
Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).
 
There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.
 
If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!
 
My understanding is it predated the community -- the community was founded that way.
 
My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.
 
I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.
 
In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 
 
 
So, let's innovate and be nice about it!
 
Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.
 
P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 
 
 
 - Martin
 
 
 
 
On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.
 
---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----
 
If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.
 
This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.
 
Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.
 
Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.
 
Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.
 
It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.
 
These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.
 

 

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
 
 
--

Martin Odersky
EPFL and Lightbend

 

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

 

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Martin Odersky
In reply to this post by Naftoli Gugenheim
Hi Naftoli,

On Thu, Oct 20, 2016 at 8:20 PM, Naftoli Gugenheim <[hidden email]> wrote:


On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
If others want to do that that's fine, I am not ready to go there. The point is, we are all inundated with information and opinions. We could spend all day on twitter and gitter and the mailing lists and listen/engage to complaints and criticism. But then we could not get anything done. So we have to apply filters and my first filter is that I prefer conversations where the technical substance is not buried under personal attacks and controversy. It's not that I can or want to impose on others what their behavior should be but I can choose for for myself with what behavior I want to interact.
  1. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
I don't actually think that's what anybody did in this case. Look at the thread. My first couple of posts were completely about substance and how to go forward. It was when Simon asked what he needed to do for people to take his complaints seriously that I answered: pull requests. And that was the end of the thread. 

Nobody likes to call out other people for their behavior. If someone does it in the circles I communicate in, it is generally done as a last ditch effort to not let things degenerate further, and it is done at great emotional cost for the person who does it. With the scalaz disaster still fresh in my mind and remembering how unfairly Lars was treated then I am VERY allergic to allegations that enforcing good behavior is somehow a convenient way to shut down technical discussion. If making such accusations takes root here, then count me out. 

and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think I know what you are talking about and I don't blame you :-) Don't worry, we'll not go there.

Cheers

 - Martin
 

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
Prof. Martin Odersky
LAMP/IC, EPFL

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Adriaan Moors-7
In reply to this post by Naftoli Gugenheim
You raise some good points, and it sounds like we agree on most. Thanks for giving me the opportunity to say that we read and consider all criticism, even it it's not said nicely (though I personally wouldn't blame someone for deprioritizing hostile comments).

How eagerly we act on feedback is perhaps influenced by how you say it – we're only human :-) We will get over it and try to address it, because ultimately we all want the same thing (world domination for Scala). 

The rest of this email is not directed at anyone in particular. It's my opinion on how a community should be organized. I don't accept the hypothesis implied by the notion that one could be "hiding behind the code of conduct". Social behavior is what makes a community stronger than a group of individuals.

For this reason, we will continue to enforce a bar for civility and content alike. They may be orthogonal issues, but both bars need to be met for a pleasant and productive conversation. At the very least, dealing with negativity is an energy drain – energy that would be better spent on the content.

In other words, orthogonality of vectors does not mean we shouldn't care about the magnitude of all components. Civility is not optional. The burden is not on your audience to "just get over it". It's on all of us to be nice to each other. We can have civility and technical merit — being orthogonal, it's not necessary to choose between them. Expecting to be judged solely on technical merit without regard for others is unfair to those who are willing to be civil and interesting at the same time.

cheers
adriaan

On Thu, Oct 20, 2016 at 11:20 AM Naftoli Gugenheim <[hidden email]> wrote:
On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Naftoli Gugenheim
In reply to this post by Martin Odersky


On Thu, Oct 20, 2016, 4:20 PM martin odersky <[hidden email]> wrote:
Hi Naftoli,

On Thu, Oct 20, 2016 at 8:20 PM, Naftoli Gugenheim <[hidden email]> wrote:


On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
If others want to do that that's fine, I am not ready to go there. The point is, we are all inundated with information and opinions. We could spend all day on twitter and gitter and the mailing lists and listen/engage to complaints and criticism. But then we could not get anything done. So we have to apply filters and my first filter is that I prefer conversations where the technical substance is not buried under personal attacks and controversy. It's not that I can or want to impose on others what their behavior should be but I can choose for for myself with what behavior I want to interact.

Got it. Thanks for clarifying.

  1. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
I don't actually think that's what anybody did in this case. Look at the thread. My first couple of posts were completely about substance and how to go forward. It was when Simon asked what he needed to do for people to take his complaints seriously that I answered: pull requests. And that was the end of the thread. 

Me neither. But I did see a conversation involving people that did. That's why I used the word perception.

To be clear, what I was arguing for is my suggestion that whatever moderating needs to be done, perhaps it could be done outside of the thread in some way. I don't know if it's practical, but that's what I was suggesting.



Nobody likes to call out other people for their behavior. If someone does it in the circles I communicate in, it is generally done as a last ditch effort to not let things degenerate further, and it is done at great emotional cost for the person who does it.

Interesting. It's good you expressed that.


With the scalaz disaster still fresh in my mind and remembering how unfairly Lars was treated then I am VERY allergic to allegations that enforcing good behavior is somehow a convenient way to shut down technical discussion. If making such accusations takes root here, then count me out. 

Me too :)


and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think I know what you are talking about and I don't blame you :-) Don't worry, we'll not go there.

Cheers

 - Martin
 

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
Prof. Martin Odersky
LAMP/IC, EPFL

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Naftoli Gugenheim
In reply to this post by Roland Kuhn


On Thu, Oct 20, 2016, 2:55 PM Roland Kuhn <[hidden email]> wrote:
20 okt. 2016 kl. 20:20 skrev Naftoli Gugenheim <[hidden email]>:

On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
Based on my experience raising kids I disagree: disregarding harmful conduct and focusing on the technical points encourages harmful conduct, because people then get what they want by using the wrong form (wrong as in divisive, non-inclusive, hateful, or other undesirable ways). The only way to discourage this is to never tolerate it at all.

I think we agree more than we disagree. However here's a point that applies to raising kids as well (I think it's a good analogy): negative behavior is a spectrum, not a line. (Or perhaps a multi-dimensional space of spectrums. 😀 ) Of course you have to draw a red line, but where on the spectrum do you draw it, and how do you discourage the entire spectrum without the kids feeling like they're in a straightjacket?
I don't claim to have all the answers but it's worth discussing. 😀


Concerning the point of squandering opportunities for discussion I’d posit that if the point that was raised is an important one then it will be brought forward by multiple persons employing differing styles of discussion.

It's an appealing argument but from my experience with various times that argument used, I feel that it's better not to it. There are all sorts of reasons an issue might not have been brought to one's attention. Of course you're not trying say that it invalidates it which is primarily what I'm referring to, but the point remains, often there are many issues that for whatever reason some circles are more conscious of than others, so I feel it's best that when a point raised, to just try to analyze the points on their own merit.

As far as I can see there is no reason to forego good form.

True, but no one's saying otherwise, the question was how to react...


To the best of my knowledge nothing has been said in the linked thread by those you term perceived representatives that goes beyond what I describe above. In addition there has been some discussion of the technical points as well. I find both aspects indicative of a healthy community.

Agreed


Regards,

Roland

 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.


-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



-- 

Martin Odersky
EPFL and Lightbend

-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Simon Ochsenreither-3
In reply to this post by Martin Odersky
Hi,

It was when Simon asked what he needed to do for people to take his complaints seriously that I answered: pull requests. And that was the end of the thread.

I kindly invite you to share with the others on this list what you said to me at ScalaDays when I tried to talk to you. I think there is nothing fundamentally wrong with reversing a position over time or saying different things in different settings, but being a bit more open about it wouldn't have destroyed so much of my trust.

(I'm also not sure whether replying to a thread about "I quit Scala documentation and here is why" with "to consider your complaints, please do more of the work you just quit" is response that has a hope of accomplishing anything positive, but let's skip that for now.)

Cheers,

Simon

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Naftoli Gugenheim
In reply to this post by Adriaan Moors-7


On Thu, Oct 20, 2016, 4:24 PM Adriaan Moors <[hidden email]> wrote:
You raise some good points, and it sounds like we agree on most. Thanks for giving me the opportunity to say that we read and consider all criticism, even it it's not said nicely (though I personally wouldn't blame someone for deprioritizing hostile comments).

How eagerly we act on feedback is perhaps influenced by how you say it – we're only human :-) We will get over it and try to address it, because ultimately we all want the same thing (world domination for Scala). 

The rest of this email is not directed at anyone in particular. It's my opinion on how a community should be organized. I don't accept the hypothesis implied by the notion that one could be "hiding behind the code of conduct".

Again, the point is not that they could in fact be doing that. I'm not sure if I was unclear before or if I'm reading your words too closely now, but let me try to say it more clearly:
My argument was that perhaps, when a technical point is in violation, perhaps one should be more careful not to invoke the rules even if correct, not because to do so would be wrong, but because it can be used as fodder by people that wish to paint things a certain way.


Social behavior is what makes a community stronger than a group of individuals.

For this reason, we will continue to enforce a bar for civility and content alike. They may be orthogonal issues, but both bars need to be met for a pleasant and productive conversation. At the very least, dealing with negativity is an energy drain – energy that would be better spent on the content.

In other words, orthogonality of vectors does not mean we shouldn't care about the magnitude of all components. Civility is not optional. The burden is not on your audience to "just get over it". It's on all of us to be nice to each other. We can have civility and technical merit — being orthogonal, it's not necessary to choose between them. Expecting to be judged solely on technical merit without regard for others is unfair to those who are willing to be civil and interesting at the same time.

Another nitpick if I may -- "expecting to be judged..." describes the accused, which to me is a separate discussion vs. how to respond. And I'm not at all criticizing those who respond in any way, just trying to provoke thought about the alternatives.



cheers
adriaan

On Thu, Oct 20, 2016 at 11:20 AM Naftoli Gugenheim <[hidden email]> wrote:
On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
 
and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <[hidden email]> wrote:
This is a response to "The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)" (https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <[hidden email]> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Adriaan Moors-7
My argument was that perhaps, when a technical point is in violation, perhaps one should be more careful not to invoke the rules even if correct, not because to do so would be wrong, but because it can be used as fodder by people that wish to paint things a certain way.
Thanks for clarifying. I understand but do not intend to yield to that (valid) concern -- people will paint things the way they want anyway. I will read and consider all criticism, but will not let anti-social behavior stand.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

America Spear
In reply to this post by Simon Schäfer


On Thursday, October 20, 2016 at 7:58:35 AM UTC-7, Simon Schäfer wrote:
This is a response to "The state of the website and documentation (Why I don't work on <a href="http://scala-lang.org" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fscala-lang.org\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGfQXeX3r7pkayGI5d4d1L7wA01oA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fscala-lang.org\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGfQXeX3r7pkayGI5d4d1L7wA01oA&#39;;return true;">scala-lang.org&friends anymore)" (<a href="https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/forum/?nomobile\x3dtrue#!topic/scala-internals/r2GnzCFc3TY&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/forum/?nomobile\x3dtrue#!topic/scala-internals/r2GnzCFc3TY&#39;;return true;">https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="3gKTS-GgBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">simon.och...@...> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Rex Kerr-2
In reply to this post by Naftoli Gugenheim
I think a lot of this discussion has not quite honed in on all the relevant considerations, resulting in people talking past each other somewhat, while each sounding reasonable.

Not to pick on Naftoli, but this is a perfect example:

On Thu, Oct 20, 2016 at 11:20 AM, Naftoli Gugenheim <[hidden email]> wrote:


On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal.

The problem is that they're only _logically_ orthogonal and they are very much not orthogonal in the actions and attitudes of the people involved.

If someone runs into a real issue, it's likely to be frustrating, and that will make it hard for them to be really calm when they report it, especially if they anticipate a negative response (ranging from being ignored to being attacked) rather than a positive one (ranging from the problem being solved to expressions of sympathy).

 

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely [...]

This says to me that the Code of Conduct itself has little to do with the experience you have inside the community, because like most tools it can be used for good or for ill.

Like Simon Schafer (I think), I do not believe that technical and social concerns are orthogonal because the technical concerns are often what begets the unpleasant attitude.  You can't filter out irritation and expect to have an accurate idea of the depth of the problem--if you do that too much, instead of selecting for improvement of the problem, you're selecting for participants who are tolerant.  If you want the technical/resource side of things to get better, and you don't already have as positive a community as Rust, you need to find a balance.

Just as someone reporting a problem should try to stay polite and respectful, someone listening should try to stay understanding and forgiving even if being criticized unjustly.  The point is not to allow repeated negative behavior, it's to get everyone working under a scenario where interactions can be positive.

Let's innovate, be nice about it, and be nice about being nice about it.

  --Rex

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

alois.cochard
In reply to this post by Martin Odersky
Hi Martin,

"With the scalaz disaster still fresh in my mind and remembering how unfairly Lars was treated then I am VERY allergic to allegations that enforcing good behavior is somehow a convenient way to shut down technical discussion. If making such accusations takes root here, then count me out."

This is kinda shocking to me, I feel like you did not got all the information to make a fair judgment.
My company just move his offices in same building as yours (Lightbend at EPFL Scientific Park D), I would love to be able to share my side of the story to you.

Feel free to pop in just few stairs up, if you are open to discuss that topic (or let me know when/where we could me it). I think we should.

That would be great.

Aloïs Cochard



On Thursday, 20 October 2016 22:20:28 UTC+2, martin odersky wrote:
Hi Naftoli,

On Thu, Oct 20, 2016 at 8:20 PM, Naftoli Gugenheim <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">nafto...@...> wrote:


On Thu, Oct 20, 2016 at 11:19 AM martin odersky <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ode...@...> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
If others want to do that that's fine, I am not ready to go there. The point is, we are all inundated with information and opinions. We could spend all day on twitter and gitter and the mailing lists and listen/engage to complaints and criticism. But then we could not get anything done. So we have to apply filters and my first filter is that I prefer conversations where the technical substance is not buried under personal attacks and controversy. It's not that I can or want to impose on others what their behavior should be but I can choose for for myself with what behavior I want to interact.
  1. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
I don't actually think that's what anybody did in this case. Look at the thread. My first couple of posts were completely about substance and how to go forward. It was when Simon asked what he needed to do for people to take his complaints seriously that I answered: pull requests. And that was the end of the thread. 

Nobody likes to call out other people for their behavior. If someone does it in the circles I communicate in, it is generally done as a last ditch effort to not let things degenerate further, and it is done at great emotional cost for the person who does it. With the scalaz disaster still fresh in my mind and remembering how unfairly Lars was treated then I am VERY allergic to allegations that enforcing good behavior is somehow a convenient way to shut down technical discussion. If making such accusations takes root here, then count me out. 

and it's better they part ways. I mean that in general, and don't want to imply it applies to the specific case of Simon O, on which I have already spent too much time.

If anything I believe we have been too lenient in the past. The Rust community has a CoC which they strictly enforce, and it did not seem to have hurt the community, quite the contrary!

My understanding is it predated the community -- the community was founded that way.

My experiences with such communities has been very negative, namely a certain Scala web framework that used to be popular. I contributed code, I was made a committer, but I believe my biggest contribution was to discussions. Yet for various reasons certain people had stylistic complaints and in the end I was banned, based largely on lies and one-sided stories. I won't go into details, but let's just say I'm pretty confident most people who were in that community can tell you that a strict community is not a pleasant one to be in.

I think I know what you are talking about and I don't blame you :-) Don't worry, we'll not go there.

Cheers

 - Martin
 

I think part of our problem is we're still sore from the bad name that an individual or a few gave our mailing lists many years ago, and perhaps in other places not as long ago. But for the past few years my experience is that this is an excellent community, and I don't think that if someone, who poured his heart and soul into improving the ecosystem for us all, seemingly in vain, expresses his raw frustration, that that poses any threat to the community's reputation.

In fact if we're worried about the community being welcoming, then having excellent documentation should be priority #1. I don't want to mix the "substance" thread with the "style" thread, but let me just say that I've heard from people that think the reason for the state of scala's documentation is due to elitism. I tried (succeeded?) to disabuse them of that idea, but the point is that we all want to lessen these perceptions. 


So, let's innovate and be nice about it!

Agreed. But it seems to me that part of being nice is being nice to people that aren't nice to oneself.

P.S. I didn't think of it this way before, but it seems there are actually a few distinct reasons we want to have a nice community:
  • Perhaps the obvious reason is a pleasant community is more enjoyable, and people want to have feel good, but that isn't an external purpose. So the threshold of what might take precedence over that shouldn't be too high (there are things more important than "feeling good"...)
  • The purpose I usually hear mentioned is that if newbies (and everyone) are comfortable in the community, it will improve Scala's growth
  • Martin implied another purpose: negativity (but positivity too!) is contagious, and thus threatens to slow down the pace of contribution
 

 
 - Martin



On Thu, Oct 20, 2016 at 4:58 PM, Simon Schäfer <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ma...@...> wrote:
This is a response to "The state of the website and documentation (Why I don't work on <a href="http://scala-lang.org" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fscala-lang.org\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGfQXeX3r7pkayGI5d4d1L7wA01oA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fscala-lang.org\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGfQXeX3r7pkayGI5d4d1L7wA01oA&#39;;return true;">scala-lang.org&friends anymore)" (<a href="https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/forum/?nomobile\x3dtrue#!topic/scala-internals/r2GnzCFc3TY&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/forum/?nomobile\x3dtrue#!topic/scala-internals/r2GnzCFc3TY&#39;;return true;">https://groups.google.com/forum/?nomobile=true#!topic/scala-internals/r2GnzCFc3TY) and to the discussion that has happened since then. It doesn't fit into the original thread, therefore I publish it here.

---- On Thu, 20 Oct 2016 12:38:20 +0200 Simon Ochsenreither <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">simon.och...@...> wrote ----

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.

This. I couldn't agree more. Many years ago when I started to use Scala this one sentence was the reason that kept me here. It was said by Martin Odersky himself and while I can't remember where I first heard it or how exactly it was said or in which context it was said, I still do remember it up to this day and I believe in it by 100%. In the early years of Scala, so many people were pushing towards it because it made them happy, it gave them joy. The Java ecosystem didn't allow them to innovate, to explore new ways or to rethink existing solutions. Everywhere people said that Scala was their escape out of this misery and it was the right thing for them to switch languages. The power to believe brought us innovation, it brought us happy developers who nowadays even can get paid doing what they love to do, it brought us new ways of thinking and it made Scala to what it is today. It is a shame that this needs to be said over and over again but some people just don't get it or can't remember it.

Don't tell people that this has nothing to do with technical discussion. Because it has. Peoples views are responsible for their technical decisions. It shapes their ability to look at problems from different angles, it lets them focus on a solution in a way like no one else can, it gives them a vision no one else possibly could ever understand.

Don't tell people to avoid forks, to merge back their changes or to believe in one streamlined version. Because you are wrong. Free software is meant to function this way and Scala as an ecosystem above everything else is built on top of free software principles. Respect that others are not satisfied by fixing these small little symptoms that come back again and again. Respect that people want to resign and rebuild because this way they could improve your live in ways you may have never imagined.

Don't hide behind a code of conduct to ignore criticism because it was said by people who may lack manners, politeness or political correctness. Because these people can be right. Political correct and polite communication is incredibly difficult. Don't think of it as disrespect for other people, for a lack of self-control or for the interest to harm others since this is rarely what it is. Think of it as an act of frustration and despair. People want to be happy, they want to express their opinion and they want to be appreciated when they believe that they are doing the right thing. By ignoring them or not appreciating their views you are not doing anyone a favor - these people will stop believing in you, they may leave your community or fight for their views in more radical manners. And never treat criticism of your work as criticism of your person because you are not your work.

It is completely fine to not innovate - it requires energy and time not everyone can afford. Being the one with the safe, well payed and maybe also a little boring job may be exactly what is the right thing for you - but don't deny others to look for something different. Don't treat them as a thread to your job (which they indeed could be) but express what you are afraid of and guide them to find a solution that can bring happiness to both of you. Also, if you are one of the innovators then accept that others do not want to or can not change. Ask them clearly what they want and draw your consequences based on the responses. Forking existing work can be easy and sometimes it is even easier to rebuild everything from scratch. Accept that contributing to your own solution can be the right thing to do - even if it hurts because it means that you have to give up to contribute back to others for the moment. The day may come where people come to you and give you the chance to give back what was always meant to give back.

These beliefs were taught to me because they were once ubiquitous within the Scala ecosystem but I have the feeling that it was forgotten by too many or never taught to many people. The quoted thread shows many signs that these values are no longer appreciated in the way they once were. I wrote this down to remind some people or to show them to others.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">scala-debate...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">scala-debate...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="3qnn-HGyBwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">scala-debate...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.



--
Prof. Martin Odersky
LAMP/IC, EPFL

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Roland Kuhn
In reply to this post by Naftoli Gugenheim

20 okt. 2016 kl. 22:44 skrev Naftoli Gugenheim <[hidden email]>:



On Thu, Oct 20, 2016, 2:55 PM Roland Kuhn <[hidden email]> wrote:
20 okt. 2016 kl. 20:20 skrev Naftoli Gugenheim <[hidden email]>:

On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
Based on my experience raising kids I disagree: disregarding harmful conduct and focusing on the technical points encourages harmful conduct, because people then get what they want by using the wrong form (wrong as in divisive, non-inclusive, hateful, or other undesirable ways). The only way to discourage this is to never tolerate it at all.

I think we agree more than we disagree. However here's a point that applies to raising kids as well (I think it's a good analogy): negative behavior is a spectrum, not a line. (Or perhaps a multi-dimensional space of spectrums. 😀 ) Of course you have to draw a red line, but where on the spectrum do you draw it, and how do you discourage the entire spectrum without the kids feeling like they're in a straightjacket?
I don't claim to have all the answers but it's worth discussing. 😀

You’re right, and this is a very important observation as well: drawing the line at the right point is crucial, and that point depends on the context. The larger and the more diverse the group, the more tightly we need to control our behavior. There are of course limits to this, and my personal opinion is that the limits imposed within the U.S. society in terms of political correctness are far too strict (which is why Donald Trump can rally such a large following by constantly stepping outside of the acceptable—the healthy measure has been lost). But the point remains that in order to have a discussion in a room filled with 100 people everyone needs to be a lot quieter than if the discussion was just between a handful of people.

Regards,

Roland

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Naftoli Gugenheim


On Fri, Oct 21, 2016, 6:34 AM Roland Kuhn <[hidden email]> wrote:
20 okt. 2016 kl. 22:44 skrev Naftoli Gugenheim <[hidden email]>:



On Thu, Oct 20, 2016, 2:55 PM Roland Kuhn <[hidden email]> wrote:
20 okt. 2016 kl. 20:20 skrev Naftoli Gugenheim <[hidden email]>:

On Thu, Oct 20, 2016 at 11:19 AM martin odersky <[hidden email]> wrote:
Hi Simon,

Completely agree about innovation. That's what drives me and that's why I am still deeply involved in the technical side of things, including dotty. Come and join us! I promise you you'll get all the innovation you crave for and then some!

Completely disagree about conduct. You have to keep in mind that almost everybody here is a volunteer. If somebody hurts the feelings of other people by being impolite or rude or harassing,

I would not lump those three together, being impolite is arguably something we want to have less of but it's not at all in the same category as intentional harassment.
 
that person's contributions are a net negative because they drag down other contributors. Even if that person might be technically right on occasion, it's still not worth to engage,

Even if someone's style causes more harm than the value of the points they raise, I think those are orthogonal. I think it would be better that all parties do their best to keep a particular thread focused on the relevant substance. Certainly stylistic issues should be addressed but may I suggest that that be done outside the thread (perhaps by starting a separate thread, or maybe privately).

There are two reasons I think such things shouldn't be dealt with in the offending thread, unless of course we're talking about a thread created specifically to troll.
  1. Points can have (or not) technical merit regardless of the merit or style of the person making them. Discussing them is an opportunity that shouldn't be squandered or diluted
  2. (Important) When [people perceived as] representatives respond within the thread about style rather than substance, it at the least creates an appearance that the rules of conduct are being wielded as a club to preserve the appearance of unanimity. In fact many already believe that this is the reason. Strengthening this perception is not healthy for us.
Based on my experience raising kids I disagree: disregarding harmful conduct and focusing on the technical points encourages harmful conduct, because people then get what they want by using the wrong form (wrong as in divisive, non-inclusive, hateful, or other undesirable ways). The only way to discourage this is to never tolerate it at all.

I think we agree more than we disagree. However here's a point that applies to raising kids as well (I think it's a good analogy): negative behavior is a spectrum, not a line. (Or perhaps a multi-dimensional space of spectrums. 😀 ) Of course you have to draw a red line, but where on the spectrum do you draw it, and how do you discourage the entire spectrum without the kids feeling like they're in a straightjacket?
I don't claim to have all the answers but it's worth discussing. 😀

You’re right, and this is a very important observation as well: drawing the line at the right point is crucial, and that point depends on the context. The larger and the more diverse the group, the more tightly we need to control our behavior.

So a country should have stricter rules than a family?

There are of course limits to this, and my personal opinion is that the limits imposed within the U.S. society in terms of political correctness are far too strict

Wait, Europe is less politically correct than the US??

(which is why Donald Trump can rally such a large following by constantly stepping outside of the acceptable—the healthy measure has been lost).

(I guess that's the MSM spin, but the other side isn't any better, e.g., http://www.dailywire.com/news/10095/democratic-normal-shouldnt-be-normal-ben-shapiro )


But the point remains that in order to have a discussion in a room filled with 100 people everyone needs to be a lot quieter than if the discussion was just between a handful of people.

I don't think noise is comparable to behavioral norms.


Regards,

Roland

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The power to believe or why fixing root issues matters

Simon Ochsenreither-3
In reply to this post by Roland Kuhn

Concerning the point of squandering opportunities for discussion I’d posit that if the point that was raised is an important one then it will be brought forward by multiple persons employing differing styles of discussion. As far as I can see there is no reason to forego good form.

Good form is important and has been tried to no avail. I have suggested, offered, asked, pleaded, begged on mailing lists, personal email, GitHub, Gitter, personal conversation and some other venues to address issues for a considerable amount of time. There is plenty of evidence for that. This has been my last-ditch effort. It's a kind of closure because I know I have tried every imaginable approach.

Given the experience I have made in the past few years and the multiple messages I have received from people warning me that raising issues would turn into a witch hunt, I think it is reasonable to say that there is no framework to raise issues people don't want to hear, regardless of how things are expressed. If it wouldn't have been the form, there would have been some other excuse–which is exactly what I experienced. (I'm still kind of impressed when I remember how "I think there are things we can do to improve the experience for beginners" was resolved solely by mental gymnastics of redefining words until the problem was defined to be non-existent.)

Two threads, 7000 readers and 40 messages into this, there is still no debate about the points raised. And I can understand that no one wants to go near it after witnessing the treatment I have received.

Can anyone here claim with good conscience "we are interested in hearing issues, we listen and have a discussion about what can be done" and then link to the thread on scala-internals as a good example of how these virtues are applied in practice?

--
You received this message because you are subscribed to the Google Groups "scala-debate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
12