Cool. Sounds like a very smart move with this semi-vacation. I wish we could find the magic formula to get more people involved. More things could be done of course, but also people like you would carry a less draining burden.
Yeah, that has been my dream for quite a while.
It’d be really great of there was a bigger team around the core dev tooling and I’m still optimistic that will happen at some point.
I think it's a really open question at this point about how we grow the community & contributions.
It could be a function of how the core is developed. In projects where that is done more in the true spirit of open source I think I see how that transports out to dev tooling and similar initiatives.
Yeah, I agree with this perspective.
I don't understand what you're saying there, sorry, can you rephrase?
The fact that Clojure is developed as a “Cathedral” spreads to other parts of the Clojure community (people feel they are discouraged to contribute).
That’s true for pretty much every core/contrib project.
That said I also note that almost all I listen to who really participate in the community seem very interested in lowering the bar for newcomers and growing the community that way. It always gives me hope to hear that.
That doesn't make sense to me, outside of the core projects anyway. Discouragement doesn't logically imply discouragement elsewhere. Perhaps I have an unusual perspective, I think some view language stewards as a hierarchy over their community, but I view it more as a bazaar of stalls and vendors doing their own thing.
Who knows. I’m just puzzled that even small Ruby projects often get more contributions that the biggest and most established Clojure projects. Perhaps most people are just very happy with the current state of affairs? 😄
https://clojure.org/images/content/news/2018-03-19/industries.png I suspect some part of the puzzle lies here. Enterprise is a big market for Clojure. Enterprises make it very difficult to open source code.
Yeah, that makes sense too.
We have to use remote desktop and use a specified emacs config on a windows machine. The clipboard is monitored. Github and Stack Overflow are blocked. Someone mentioned sneaking code in/out via pdfs.
Also enterprises are very draining. You're constantly playing politics.
You could do like the EFF did with crypto algorithms. Trained an OCR machine and published the code as a book, so then protected by the first amendment. 😃
I have a copy of the first of those books. Pure gold. I don't understand a thing about the content, but I love the disobedience.
@bozhidar does ruby have a survey like the clojure one? google isn't showing anything with a lazy search 🙂
Don’t see anything like this in the popular surveys like https://www.jetbrains.com/research/devecosystem-2018/ruby/ and http://rails-hosting.com/2018/
But I do recall some surveys 5 years ago saying that half the startups in SV at some points used Ruby and Rails. Pretty far from the Enterprise mindset. 🙂
I worked with Ruby in 3 consecutive startups, so for me the language and the community have a very startup-ish vibe to them.
http://rails-hosting.com/2018/ > 65% of respondents reported they work in a product shop I wonder what "Product Shop" means here? I think of companies building their own product rather than enterprises and consultancies.
ah, but you're also in a product shop, agency or freelance, so it might not be a good question
How about Java? (Thinking about if it is the JVM that causes much of this enterprise/government concentration.)
I'm with a startup using an almost ”pure” Clojure stack, btw. But we are trying to start a new bank, so I guess it will eventually be that we need to sneak code in and out on QR codes printed on our t-shirts and stuff.
😄
Well, Java is likely what lead the to chart that @dominicm showed. Before switching to Ruby, I was a Java dev and all my gigs were as “Enterprise” as it went… I loved Java and I still do, but the I certainly wasn’t very fond of most of my clients and their attitude.
There is certainly no lack of OSS initiative in Java. But, then, Java itself is not open source, is it? Very different stewardship from Clojure, anyway. Maybe they even talk to dev tool builders when they design support for dev tooling? Just guessing here, I have no clue whatsoever.
I think Java is anomalous somewhat due to sheer scale of community.
Btw, technically Java is somewhat open-source. 🙂
or rather, I think they have pushed past the problem. How they did that is very curious though!
Not sure how easy it is to contribute there - I assume it’s extremely hard, but for some pretty objective reasons.
For some reason as a Java dev I never even thought about contributing to OSS, even though we were using plenty of OSS libs in our projects. Emacs and Ruby got me fired up about open-source contributions. 🙂 Even before I was very inspired by OSS hackers and was a happy BSD/Linux user and followed some project, but for some reason I felt I was probably not good enough to contribute anything meaningful to them.
As time grew I saw that all projects have so many rough edges and good ideas on the backburner, that there’s always the opportunity to help out.
I think my proudest OSS moment was when I was granted commit access to Emacs’s repo. This was truly special. 🙂
For some reason work accomplishments never managed to energize me that much…
Clojure has fired up my OSS drive, in a way that python,js,etc. never really did. First time I've felt like I can contribute.
Perhaps the age/experience of the community is also a factor? I know that 10 years ago I was eager to show my brilliance to the world and didn’t think twice before announcing my Python type-inferencey thing that I had no idea about. Now after some experience, I’m always in the “I’m not sure, it depends, everything sucks” blah blah mode.
BTW @pez I’d love to contribute a little bit to Calva. I’ve convinced my coworkers to switch to VSCode for JS development because it’s brilliant for that — and now I want them to have a good Clojure experience if we ever add it to our stack 🙂
A dash of modesty does not hurt. 😃
I'd be delighted to get help with Calva. There are so many fronts to battle and often end up threshing (if that is the word, not sure why I am using it).
When I dream Calva dreams (which I do often) they most often involve a much better REPL experience. Those integrated Terminals that the vscode team seems so content with really do not cut it. With your help, @orestis, maybe we can create something that is much better on that front?
Hm, I never cared for having a Terminal — based on my experience with CIDER, I want to do everything from my editor (i.e. evaluate forms and see inline results). Proto-REPL has some good ideas also -> some graphical result inspector would be super cool.
There’s a few low-hanging fruit, like picking up the .nrepl-port
file so connections happen automagically 🙂
Calva does that picking up already.
I am thinking about some combination of REPL prompt and file. A bit like CIDER's REPL, but even more file-ish. 😃
V E R Y unfinished thoughts. The idea might suck bad.
If we can find a way to display inline results that one can interact with the need for a REPL prompt will decrease, so I would be happy to put the first bursts of effort that way as well.
Well, I’m not making any promises — but some few “good first issue” things on Calva’s github may help 🙂
Not that I'm confident people would use it, but I wonder if something indexing by priority (dictated by some arbitrary person) and other filters, collecting ideas and goals from across clojure projects would be useful?
I find decidated REPL buffers useful for experiments, otherwise you I’ve often have to insert/delete some code in code buffers, but I guess that’s a matter of how everyone approaches the process.
I guess we’ll get there at some point. 🙂 If more projects share the same foundation likely their evolution will be driven by similar goals.
@pez Btw, what’s the meaning behind the name Calva? I’m always curious how people decide how to name their projects. 🙂
I quite like the idea of something like https://openbounty.status.im/app#/ but without money
http://open-source.braveclojure.com/ it exists already of course 🙂 Kinda anyway, I guess it's not: A) Opt-in B) Curated But if this hasn't made difference to open source in clojure, then a version pushed by someone less prolific probably won't either.
Will see what I can populate the issues list with, @orestis 😃
@bozhidar Calva is short for Calvados, a liquid gifted humanity from God. It is made from cider.
😄 😄 😄
I’m laughing out loud!!!
I’m actually quite fond of Calvados, but I thought it was made straight from apples. Now I’m enlightened. 🙂
Haha, well, Calvados is not made from just any cider, it must be cider made from special apples, so in a way I guess cider is just a step in the process and you can say it is made straight from apples anyway. 😃 But I am not an expert in Calvados, I just enjoy drinking it.
😄 lol
Going back to the previous conversation about how Ruby has more open-source contributors than Clojure, I got some interesting experience a few years back at a Node conference about how the Node community (mostly backend web developers at the time) were using open-source, and NPM in particular: The people I was talking to were using open-source modules on NPM as their mechanism for building libraries. They described it to me like this: 1. I need to write a finance website, so I start writing it in node. 2. I'm blocked, since I need to do, say, convert dollars to euros. 3. I write a module to convert dollars to euros, and publish it to NPM. 4. Back in my project, I import my new module, and continue building my website.
The folks I was talking to were mostly consulting shops building apps and websites, so they were happy to open-source any code they were writing, since it would allow them to use in other projects of theirs more easily.
Sounds like a pretty similar attitude to what I’ve seen in the Ruby world. Especially in the early days, when Ruby was a novel thing.
I see the opposite in Clojure. 1. I need to do something 2. I know there's a library for that 3. I don't want another dependency (dependency fear?) - I'll just write it myself
Yeah, exactly. 😄
this is awesome, thanks you made my day 😄
You’re welcome! I am happy with the name of the project. 😃
I have been guilty even for toy projects to just copy paste the relevant bits into my own repo.
But this is because I feel now confident (and scared) enough to go and actually code review my dependencies.
Perhaps it’s a bike shed problem - I wouldn’t copy paste the relevant bits of pedestal or aleph. But something that’s 100-200 lines of code? Easy.
I just made a little update to Calva Paredit where I add a corresponding Copy and a Cut command for each navigation command. When testing the change I find it helps a lot to quickly copy or cut forms using familiar commands. (Outside Emacs it makes sense to not just use Kill commands for all these, me thinks. 😃 )