
Rich Hickey's response to “On whose authority?” - disaster01
https://www.reddit.com/r/Clojure/comments/73yznc/on_whose_authority/do1olag/
======
kccqzy
My favorite sentence from the response is this one: “The presumption that
everything is or ought to be a community endeavor is severely broken.”
Community is a broad word. It can mean a bunch of very smart people working in
concert to produce something truly magnificent, or it can mean giving the keys
to a bunch of clowns and watching them mess around and make fun of themselves.

I really wonder this whenever I see some new-fangled open source project
putting out a CODE_OF_CONDUCT.md stating community is a top value. Look, you
are primarily writing software not trying to foster a community. A community
can be helpful to produce great software, but a community can also mean
additional mental and emotional toll, and clowns introducing discussions with
little merit.

~~~
mshenfield
That sentence also struck a chord with me.

The dictionary definition of community:

> n. A group of people having common interests: the scientific community; the
> international business community.

The "Clojure community" is a group of people having a common interest in
Clojure.

The sentence doesn't disparage the community, or discourage engaging with the
community. Rich Hickey's 1000 word response makes the case, and is evidence
itself, that he and other Clojure contributors care about the community. He is
explaining that he will continue to design and develop the language as a Rich
Hickey thing instead of a consensus or community driven process.

> A true community respects the autonomy of its participants... the ultimate
> authority and stewardship of Clojure remains with me

~~~
zcaudate
There's a difference in the language and the ecosystem around the language.

------
moomin
I've read the original article and, to be quite honest, couldn't actually
determine what point it was trying to make. The action items seemed to have
very little to do with the rest of the rant.

I actually read the response first and the weird thing is: I couldn't really
tell you what exactly the response is replying to. I feel like the whole thing
is a huge amount of verbiage expressing frustration and broken motives but any
actual solid facts mentioned are peripheral at best to what's being said.

I could write multiple pages on how I fell out of love with Clojure but I
doubt it would benefit anyone and it'd be a huge pain to do.

Clojure is the product of a singular aesthetic, for better or worse.

~~~
jasode
_> , couldn't actually determine what point it was trying to make._

In the poorly written Chris Zheng rant, there was a link to a more mature blog
post by Eric Normand.[1] (It would have been better use of Rich Hickey's time
to ignore CZ and respond to Eric, but alas.)

In any case, CZ is upset that Cognitec drives the evolution of Clojure and its
libraries _more_ than the _community outside of Cognitec_. E.g. one of his
frameworks he liked (Noir) was ignored while Cognitec pushed its own.

Here's my question, what _mainstream_ programming language community actually
meets CZ's criteria that the outside community drives the language _with equal
or more power_ than the internal team? It's certainly not Golang (Rob Pike,
Brad Fitzgerald, Ross Cox, etc), nor C# (A Heilsberg, et al), nor Clang (Apple
devs). Yes, they have github repos but the pull requests from outsiders is not
the same priority as the internal teams agenda. Which language & community
actually meets CZ's ideal?

[1] [http://www.lispcast.com/cognitect-
clojure](http://www.lispcast.com/cognitect-clojure)

~~~
_halgari
Sad thing is...Noir was dead for 4 years before Arachne came along. Go to the
GitHub page, the deprication notice is from 2013! And Arachne isn’t even a
Cognitect project. The author of Arachne temporarily quit his job at Cognitect
to peruse his dream of a ideal web framework.

The number of facts like this that at just plain wrong in the OP just add to
the offensive tone. Why should I listen to someone who has no respect for they
truth?

~~~
davidrupp
Speaking of the truth -- [http://arachne-framework.org/team/](http://arachne-
framework.org/team/):

    
    
      Tim Ewald **
      Bob Calco ***
      Jamie Kite **
      Jay Martin
      David Nolen *
      Mike Nygard *
      Russ Olsen *
      Marc Phillips
      Nola Stowe
      Stuart Sierra *
      Luke VanderHart *
      ---
      (honorable mention) _halgari == Tim Baldridge *
      
        * Currently @ Cognitect
       ** Ex-Cognitect
      *** Affiliated (https://cognitect.com/services.html)

------
sethev
"Entitlement" really captures the post Rich is responding to. Objections to
the existence of Arachne and spec? Who is Chris Zheng to tell people what to
spend their time and money on? And he wants Datomic open sourced. Waaah.

~~~
zcaudate
It's damn good rhetoric to label a post 'entitled' and trash the author as
childish.

~~~
synthc
it deserved that label IMO

~~~
zcaudate
you are 'entitled' to that opinion.

------
hellofunk
Hard to deny he has a good way with words!

I can't speak for the author Rich is replying to, but I have seen many in the
community comment on the opaqueness of Cognitect, even comparing it to Apple.
That's not necessarily bad, but it does have the unfortunate effect of letting
some people's imaginations run with negativity in their assumptions about a
company's motivations.

Even if Cognitect did make money on Clojure, not sure why that should be a
source of frustration. It's quite an amazing language, people should have some
reward for their contributions to the industry, right?

------
hellofunk
By the way, Clojurescript is one of the greatest tools I've ever experienced
in the software industry. And it is maintained by a real smart guy that gets
paid by Cognitect to work on it. Isn't this a case of Cognitect spending money
to improve free tools for the world? Which is the opposite of the original
article's accusations?

~~~
saosebastiao
Maybe it has gotten better in the last year or so, but I’ve been extremely
disappointed in a) the scope of semantics divergence between Clojure and
clojurescript, and b) the performance of clojurescript for anything larger
than toy examples. After reading a blog post about scalajs[0], I came away
pretty convinced that battle would be uphill. It’s just too hard to replicate
one dynamic language’s semantics in another dynamic language without embedding
huge and slow runtimes along with it.

[0]
[http://www.lihaoyi.com/post/FromfirstprinciplesWhyIbetonScal...](http://www.lihaoyi.com/post/FromfirstprinciplesWhyIbetonScalajs.html)

~~~
virtualwhys
Looks like you forgot to link to the Scala.js blog post. FWIW, as a Scala.js
user the combination of Bucklescript + Reason ML looks pretty compelling:
static types and lightning fast build times.

Haven't used Clojurescript but I'd imagine the code-change-reload cycle is
quite fast compared to Scala.js, which while absolutely excellent in many
ways, suffers from the dog slow compiler that is scalac (Scala collections
blowing up generated binary size is the other drawback that comes to mind).

~~~
hellofunk
> the code-change-reload cycle is quite fast

I work on a 20K line enterprise CLJS app. Due to incremental compilation where
only recent changes need to recompile during development, each code change
(meaning, saving some source files) is on average 1 second of recompilation.
With the Figwheel tool, there is no manual reload required, as it
automatically refreshes the browser to reflect your most recent change.

~~~
virtualwhys
> each code change (meaning, saving some source files) is on average 1 second
> of recompilation.

That's actually fairly slow, I'd expect pretty much instantaneous (hot reload
is nice though). The overhead of Bucklescript, for example, is at most in the
10s of ms for code changes (saw a 2017 Strange Loop talk where the presenter
claimed 200ms to compile the _entire project_ ).

Scala.js is around 2 seconds for shallow changes (affecting only one source
file), which over time is a productivity drain, those seconds add up when
doing front end work.

~~~
hellofunk
Always wanted to try bucklescript. Even has built-in persistent data
structures, which is a win over purescript.

------
khazhou
This kind of drama is not healthy for technology. Do yourself a favor and
don't waste time reading this, nor the original article it's responding to.

~~~
vosper
I think Rich Hickey has an excellent point about the hurt that these kind of
rants cause to people in the open source community. I can't imagine this guy
would ever go up to Rich Hickey and yell "Fuck You" at him in person, but
somehow he feels okay about doing it from behind a screen. To quote from the
linked post:

> And, if you are talking about Clojure, you are talking to me. The
> indirection doesn't mask the attack on people, their work and their choices.

> I have to say now to those for whom such expressions are cathartic - they
> hurt people, a lot. I don't believe the sentiments in the post are widely
> held - most people who are happily using Clojure aren't as vocal. But it
> doesn't take many arrows to bring someone down.

> Every time I have to process such a diatribe and its aftermath, and its
> effects on myself, my family, and my co-workers, I have to struggle back
> from "Why should I bother?", and every time it gets harder to justify to
> myself and my family that it's worth the time, energy and emotional burden.
> Every time a community engages with such a diatribe without calling it out,
> and decrying its tone, the civility of our discourse and treatment of others
> heads further down the drain.

These are the people who're building the technology we're using, and if
something is hurting them and making them not want to go on with their work
then that IS bad for technology. You might not care either way for the debate,
but no-one should tolerate the tone that the original author used.

~~~
zimablue
I actually disagree massively with this point. I love Rich Hickey's work, love
Clojure but it's kind of an important principle that you have to be able to
separate attacks on ideas or systems from attacks on people. If you identify
yourself with an idea and I attack it, it's your responsibility to not take it
personally and not a reason for me not to make a statement.

If you can't do that, you can't have debate, or science. You can only have
tribalism and identity politics.

~~~
WillPostForFood
I agree but only when the "attack" is within civil bounds, which the original
blog post crossed( _). Otherwise you create a situation where people can
attack people while hiding behind the claim they are attacking idea. It doesn
't help conversation to support saying Fuck Feminism, but I have no beef with
Feminists.

_ I believe the original post that Rich Hickey is responding to was more a
misguided attempt at humor and being provocative than an actual serious
attack.

~~~
eropple
_> I believe the original post that Rich Hickey is responding to was more a
misguided attempt at humor and being provocative than an actual serious
attack._

Really? It seemed very earnest--jerkish, but earnest--to me.

~~~
WillPostForFood
Passages like this made me think the author's intent wasn't totally earnest,
but going for melodramatic effect.

 _Now that the party is over and sunrise begins to reveal the plastic fairy
lights and overdone makeup, I begin to question my life as well as the values
that I am looking for within it._

And the opening was just shock value, or an emotional outburst, not that he
hates and wants to move on.

 _...Fuck Clojure. There I 've said it and God it feels good._

More misguided than malicious, which is how I would interpret it if the intent
was purely earnest.

------
mcguire
After reading the original article and Hickey's response, I'm significantly
less sympathetic to Hickey.

Here's the question: would Rock Hickey be Rich Hickey without Clojure? Would
Cogitech exist without Clojure?

I understand both sides. I know the frustration of living with someone's
arbitrary decisions. I also know the frustration of getting nothing but
attacks from something I have worked hard to give away.

But Hickey has a higher standard here. He's gotten a lot more from the
community than he admits in his response. It reads like he wants sympathy for
all he has missed ot given away because of his work on Clojure. That's not a
good response.

~~~
ledgerdev
Great comment. Cognitect, and it's ownership/dominance of the language, is one
of the more unfortunate things to happen to clojure in it's evolution, and
should serve as a learning point for future language creators.

I wish Rich had been able to find/take a different path and developed more of
a community with a "social contract" rather than keeping clojure a semi
private project which users should be grateful for the ability to use. It
would bring more participation from a wider community which would make the
language and community far stronger in the long run.

Recent interactions I've had with the ReasonML project are night and day
different than clojure.

At this point it feels like there needs to be a clojure like language (fixing
some problems like startup time) that embraces more of a social contract with
the community.

~~~
Naomarik
An unfortunate thing? That a project's own creator ensures the quality of its
future?

What I've realized as I grown older is that the majority of people are not
worth my time. Loads of people will actively waste your time and talk about
things without knowledge. If you listen to Rich speak in any of his
presentations or interviews, it's pretty obvious he knows the same thing and
his inner circle are extremely intelligent. If you want to progress you must
eliminate the garbage and keep the most quality people you can around you.

We now have like 5 main versions and variants of javascript that came out in
the last few years that all look like complete rubbish (purely my opinion).
There seems to be a new build tool coming up every 3 months. Everyone is
making a library for things as basic as calling an API or padding a string. At
one point not so long ago I was one of the programmers who needed said
libraries to get work done.

The code for clojure is open source. If anyone absolutely must use clojure
they can do a better job than Cognitect just fork it. Or keep learning the new
version of javascript that inevitably comes out every year.

------
zcaudate
As the author of the 'diatribe', I'm concerned that a personal account of my
experience with a programming language and my reasons that I'm lacking
motivation to continue to program in that language has generated this type of
response. Yes, it was personal. Yes, it hurts to be rejected. Yes, it's a part
of life.

I felt that Rich's response was fair. There is so much frustration and pain in
the search for perfection. He has given his heart and soul to the language so
of course it was expected. I'm really glad he still cares so much for the
language. It's rare to see such a raw, passionate reply like that and I know
that the language is in great hands.

------
mcguire
The original article (which has been flag-killed) was pretty poor, but
included this link in the comments: [http://www.lispcast.com/cognitect-
clojure](http://www.lispcast.com/cognitect-clojure)

------
fulafel
A tangent, but I find it interesting that they don't make any money from
Clojure conferences. There are a few hundred attendees paying 500 USD/EUR, and
they organise several conferences per year. I guess paying a few people's
salary is good too according to the motivations expressed in the text.

------
Grue3
Poor response. Basically "we're not actually evil, just trust me". Why should
it be a question of trust? A programming language that is controlled by one
for-profit organization is an obviously bad idea. And the last paragraph,
where he suddenly goes straight for a personal attack is completely uncalled
for. You, a rockstar creator of a language are in no position to personally
insult your users. Never punch down.

Of course Clojure zealots lapped it up.

------
SterlingHero
The initial article and this rebuff are a lot to do about nothing.

------
jhkim0227
good

------
falsedan
I get that this is important to the Lisp crew, but is this at all relevant to
the general audience of HN?

What's the takeaway: avoid Closure because of one drama? Rich is right about
everything? Copmuters are terrible?

~~~
grzm
My takeaway is treat people well, appreciate the community you choose to
participate in, spend reflecting on your role within it and whether it's a
good fit for you any longer, and recognize that if it isn't, that it's okay to
move on. But again, treat people well.

~~~
mcguire
And acknowledge when you are getting things from the community that you
couldn't get otherwise.

