27 comments

[ 1.5 ms ] story [ 58.2 ms ] thread
Wow this is such a great idea for funding. But I wonder if this would work with other language communities because the Clojure community, from my understanding, tends to concentrate around the same tools.

Anyone know of any other language communities with similar foundations?

Disclosure: I'm a team member of Clojurists Together.

> Anyone know of any other language communities with similar foundations?

We got the idea from Ruby Together - https://rubytogether.org.

> the Clojure community, from my understanding, tends to concentrate around the same tools.

I'd say relative to it's size the Clojure community is quite diverse in it's tooling and library ecosystem, compared to say, Ruby. Because of the dispersion of projects and interest, we survey our members quarterly and pick projects based on the survey results.

> tends to concentrate around the same tools

It's pretty easy to point out the huge players in most ecosystems I feel like. Can't think of any languages that are a counterexample. That's not necessarily a bad thing - lots of mind share helps systems get better on the average. I think Clojure has less in the way of ecosystem-dominating frameworks than is usual as far as web frameworks go.

Clojure is pretty unique in that the ecosystem is very much not one-size-fits-all. http://www.luminusweb.net/ is a great example of the clojure philosophy of bundling together a variety of uncoupled components to get a great dev experience. It even has a variety of CLI init options to swap out different components for your preference (https://github.com/luminus-framework/luminus-template)

Great picks for the first funding round. Both these tools are invaluable.
I'd encourage Clojure fans to contribute monthly, even in the smallest amount.

A healthy ecosystem has a compound effect (like a feedback loop), which can result in a greater abundance of Clojure jobs.

Thankfully Clojure doesn't need to be 'saved' (it's a timeless idea!), but well I often read complaints around its job market and open source ecosystem.

As an example, say you get some VC funding. Can you absolutely trust Clojure(Script) and its tooling? How well will non-senior hires perform? I for one would be tempted to go for something with more traction like Elixir + Reason.

I adore Clojure and all that, but in the end details matter, especially under budget/time constraints.

Of course, this is a (perceived) situation we can change.

> Can you absolutely trust Clojure(Script) and its tooling

Totally. The closure compiler, despite it's age, is the best Javascript optimizer/uglifier out there. Nothing else comes close. There are several top notch, maintained frameworks as well (re-frame/om)

But then again, the npm and externs story is not complete yet...

Sometimes I get the impression that other transpiled langs have npm + decent minification + decent non-minified compiled size, etc without having to wait for years.

Of course, this can be changed (and Clojurists Together can be instrumental)!

I don't think the externs story necessarily needs to be complete. The building blocks are all there waiting for you in Clojurescript. You might lose out on a particular library you like, or some random bootstrap + js re-integration, but overall clojurescript has a large number of libraries already available to build top notch frontends. The missing bits are usually small - I need support for <specific analytics library> and those are easy to rewrite, especially given an open-source PoC.

The npm ecosystem is absolutely massive, but 99.999% of it is irrelevant for most frontend development.

All that said, clojurescript is not necessarily the best choice for any given org. Mostly just saying there's nothing regarding the ecosystem that should hold you back.

By closure compiler, do you mean https://github.com/google/closure-compiler ? Because I don't think it's related to Clojure in any way.
ClojureScript uses Google's closure compiler.
That's the secret sauce that ClojureScript relies upon for tree shaking, dead code elimination and other optimizations. The Closure library is also used for building blocks of the CLJS runtime.

https://www.clojurescript.org/about/closure

Sure, but it can be used on all things JavaScript. I guess I'm just confused why it'd be brought up as specific tooling for ClojureScript.
That's actually not true. The Closure compiler has certain restrictions on the Js it accepts for advanced mode compilation, so you can't throw just anything at it.

The advantage is best-in-class dead code elimination, which is also why Closure was chosen; to distill the CLojurescript standard library into just the parts needed for a web page requires good DCE. Recently, other Js projects like Rollup and Webpack have gotten good DCE, but when Clojurescript was started, there were no other serious contenders.

In the context of clojurescript you get 'advanced' optimizations free just by writing clojurescript. In JS you have to buy outside the modern JS ecosystem entirely. The closure compiler doesn't play well with any modern JS tooling, but modern JS tooling is nowhere near as capable at dead-code elimination, minification, and code-rewriting.
> Can you absolutely trust Clojure(Script) and its tooling?

Use Clojure/Script because it's a competitive advantage. If Cognitect went under, my company http://www.hyperfiddle.net/ would still use Clojure/Script and we would, quite frankly, maintain it ourselves, because it really is that important to us. De-risking dependence on any one company is half the point of open source.

I'm also interested in the proper way to fund open source, coordinating donations and putting them to effective use is harder than it sounds, it seems to me the easiest way for me to give someone money is for them to sell me something.

Curious, I don't use Elixir/Reason but from a community point of view, how is Elixir more "trusted"? in Clojure you have the java ecosystem which I guess is much bigger than erlang's.

Reason still seems to be in high flux?

* Elixir quickly got a bigger job market. Why? It's easier and good-enough, while still benefitial. Also it has a One True framework instead of the Clojure situation (many competitors, different degrees of liveliness)

* Sadly JVM-Clojure interop is not used as Rich envisioned, neither technically (we use wrapper libs!) or socially (we create Clojure projects from scratch rather than 'hijack' enterprise Java projects)

* Don't know much about Reason. But in general I get the impression other JS communities don't have the same headaches as us (maybe at the cost of some complexity)

Clojure is a great bunch of ideas. But ideas also need continuous grunt work and refinement.

And finally, IME most programmers will take 'Easy' over 'Simple'. Which is why other new langs seem to have all the fun, and more jobs.

Another example: Kotlin. It did in 1 year what Clojure didn't in 10.

I'd encourage you to just get on with your lives!

Before you jump all over me understand that I thoroughly loved writing Clojure back in 2013 timeframe and I did some real projects with it and they were great. It was awesome and what I was born to do.

Reality set in soon after. Despite all the hyping by Rich Hickey, Neal Ford and others, the language just hasn't gone anywhere. It is what it is and I'm sorry but it's 2018 and it's done. And Groovy is done. It's just not worth dying on that hill. Maybe go halfway and get some support behind Kotlin if you really want to see jobs available using something besides Vanilla Java 8.

Let's trade bitcoins and use the profits for clojure.
I'm a big fan (and user) of Clojure.

However, I feel 150$/h is quite a bit for something that was done for free previously.

Taking the 3 months of figwheel, we're talking no less than 60 days * 1.2k/d = 72k$.

It's probably just a (slightly above?) average consulting salary in the US/Western Europe but everywhere else that's really a lot. Heck, even some friends of mine working as developers in Germany or France don't earn that in a year, even after adjusting for taxes and social security.

Being a (Clojure) consultant myself, I know the mathematics and I charge the same order of magnitude but I don't go around telling people this because I feel that might have negative consequences. (Most of my friends don't read HN, hence the contradiction in the last sentence)

Yeah 150/h wasn't an optimal idea even if it succeeded (it didn't).

With that money, arguably you could hire 3x more developers by targeting European maintainers instead.

(comment deleted)
What do you estimate is the going rate for senior Clojure tooling developers in China or India with comparable productivity and credibility as Figwheel's author?
Just to be clear, I don't think he deserves less than that when working.

I'm saying that I think he'd be probably happy to be paid half of it and continue his project. Similarly, seen from the donour point of view, there will probably be many that think: "I earn 30% of that per hour, why should I donate for such egregious salaries?"

Now, to answer your question:

I have no idea, the way you phrase it, it certainly sounds as if consulting salaries are the same?!

If so, I believe you but I believe the percentage of companies willing to pay 150 per hour for a local is much higher in Western Europe and US than in the BRICs or Eastern Europe.