Skip to content

Commit b28d29b

Browse files
committed
Blog post: community and communication
1 parent ea36fb7 commit b28d29b

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

blog/_posts/2019-05-02-community.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
layout: blog-detail
3+
post-type: blog
4+
by: Martin Odersky
5+
title: "Community and Communication"
6+
---
7+
8+
The Scala language is a big tent. It supports object-oriented and
9+
functional code working together. The point of Scala was always to
10+
show that these paradigms can be combined in a compact set of unified
11+
language features. But while the language design stresses unification,
12+
the same can not (yet?) be said about the community of Scala
13+
programmers.
14+
15+
In fact, Scala is used in many different ways. There are the people who
16+
use it as a "better Java" with more powerful object-oriented features,
17+
and there are the people who use it as a "poor man's Haskell",
18+
concentrating on the purely functional language subset. And then there
19+
are the many in between who use it in a predominantly
20+
functional style with an object-oriented module structure, without
21+
being too dogmatic about it.
22+
23+
I see this difference of approaches as a big opportunity. There are so
24+
many great ideas to debate and opportunities to learn from each other!
25+
Lots of these ideas feed into the design of Scala 3, with the overall
26+
goal to make Scala's integration of paradigms even tighter than it is
27+
now, as well as making it simpler and safer.
28+
29+
Unfortunately, sometimes a competition between ideas becomes a fight
30+
between people promoting them. This can happen in the heat of debate,
31+
but we have to draw a line where personal attacks become persistent,
32+
where others are ridiculed or where statements are distorted intentionally.
33+
34+
None of this should be controversial. But if such behavior occurs
35+
what should we do about it? And who even is "we"? If we take all
36+
Scala users together, the answer is: there's nothing to be
37+
done. Everybody can use a programming language and communicate about
38+
it in the way they see fit. If we take us as individuals, the answer
39+
is that we can and will stop interacting with people whose behavior we
40+
object to. If we talk about organizations such as the Scala Center, or
41+
Lightbend, or Typelevel, I believe they also have the right and
42+
sometimes the obligation to take a stand. First, they are ultimately
43+
made up of individuals, and cannot be disassociated from them. Second,
44+
they are tasked to safeguard the health of the projects and
45+
communication channels that they own, and that means they should not
46+
look away when norms are violated.
47+
48+
This is painful for everyone involved, and tends to be done only in
49+
exceptional cases. I take this as a challenge for us to develop
50+
better ways of conflict resolution that are inclusive, consensual, and
51+
respectful of one another. I also believe it's important not to let
52+
the past hold us up forever. Individuals and their organizations
53+
change and decisions should take that into account. The goal must be
54+
to resolve controversies of that nature quickly and get back to an
55+
intense and friendly competition of ideas in Scala.
56+

0 commit comments

Comments
 (0)