Fork me on GitHub
eccentric J02:12:18

Also featured in that issue is me making a complete dumb(ass) of myself… 😆 😊


So. Should I view datafy/nav as just way for cognitect to make money off clojure, or should I take it seriously? I know that sounds like a troll, and maybe it is, but I can’t square the changes being made to clojure 1.10, the recent discussion around the stewardship of clojure, what I as a user of clojure need, and REBL and its licensing.

Alex Miller (Clojure team)15:12:12

I think the accurate (I was there) way to see datafy+nav is that REBL is the fruition of years of ideas and work and provided an opportunity to clearly identify the problem of needing a generic open way to turn arbitrary objects into lazily traversable data

Alex Miller (Clojure team)15:12:08

and they existed only in REBL for a long while until Rich figured out their minimal surface area and a way to pull them out and make them part of Clojure so they could be extended by anyone and used by anyone that had this problem

Alex Miller (Clojure team)15:12:45

the question of REBL licensing etc is something that was considered last of all, and is still an ongoing and evolving discussion


Thanks for the reply. I’m definitely not trying to state what your motivations are with this development, I was saying only that doubt was cast in my mind. I can’t say for sure if this is worthwhile, or worthwhile enough to prioritize it over other work, without digging into it more. And on that, if cognitect can find a way for commercial users (or even just Datomic users, which we are) to use and evaluate REBL I’ll happily do so.


And yes I do realize I can dig into clojure changes alone, but it seems like a bigger investment of my time than downloading and trying out a program.

Alex Miller (Clojure team)19:12:24

Definitely something being evaluated


i hope it is a way for them to make money from us. and the only way for that to happen is for them to deliver value. if rebl is useful i'll gladly pay for it. C# devs pay 1100 a year for visual studio plus resharper. I'd be happy to spend money on a quality tool that helps me visualize and navigate code. I am taking it seriously and hoping they make money with a valuable product

👍 16

especially if it nets us another alex or more fridays that david can spend solely on cljs


To be clear, I’m asking only if the changes to clojure are financially motivated. I use and support paying for datomic


you mean those two protocols?


I don’t have an argument to make, really. I dismissed the noise about contributing to clojure recently as big egos clashing with one another, but now I’m unsure.


it seems like datafy and nav have solid value as tools to build new tools and implementing certain kinds of patterns


REBL is one use case. we as a community will find more, I’m sure


I’m interested in exploring uses of datafy and nav with CLJS and React


It does seem potentially very useful, but does it aid that much to me as someone with stakes built on clojure, and generally the wider community of clojure users?


Ie is this the best use of the BDFL’s limited time?


I think this gets to part of the heart of the issue of the 'big arguments': do you believe that you should have any say whatsoever in the 'best use of the BDFL's limited time', unless and until you have a paid contract existing between you? If you don't, why do you think you should get any say in how anyone else spends their time?


Rich’s limited time is directly cited as a reason why clojure is developed how it is. So I can question whether or not that stewardship is being run how I think it should.


You are perfectly within your rights to question it 7 days a week, and twice on Sunday.


No one is obligated to justify their use of their time to you, though, so don't be surprised if you don't get an answer to your question.


But if you are willing to indulge me for a bit, why bother asking whether activity X is the best use of person Y's, time, if you have no contract with Y to influence the use of their time (I'm talking about independent adults here, not parent/children relationships).


I get the feeling that you’re just latching on to that one statement, ignoring anything else I brought up. I’m finished conversing with you.

eccentric J06:12:13

Datafy and Nav give us generalized, language-level protocols to make existing types more data-oriented. In addition to enhanced tooling I bet it will add a lot of value to graphing and game development.


I think it would be really cool to hook up a logic engine to Nav in an attempt to allow performing queries against, eg AWS or other rest apis.


If i know the clojure community, i expect some open-source tools to pop-up that are very similar to what we saw in the REBL


especially with Browser + CLJS


I, for once, will probably work out in a plug-in in Atom or other Electron-based editor (which is kinda a browser + CLJS)


and then the non-commercial clause won't be of much interest


I'm seeing "open source is not abut you" in a different light after the recent REBL non-commercial use clause.


i think it's a bit of a stretch to connect these directly to each other


I do really hope they make some money out of it, which can be used to make cognitect/clojure more known.


Can you imagine the amount of feedback, PRs etc etc something like this could generate? I think enough to require a couple of hours a day of attention from someone. If 1000 people pay $20/year, that’s a chunk of money that could be used for this purpose, and I’d pay this amount without even thinking.


When working in a VC-backed environment, it’s easy to forget the struggle of bootstrapped companies. The only OSS I’d ever do in my current company is the “throw code over the wall” thing, purely for economical reasons. I can’t ask my colleagues to spend their off hours doing OSS, and my boss will rightly question time put into supporting other people. Paying money for already developed tools makes a lot more economical sense for everyone involved.

Alex Miller (Clojure team)15:12:50

datafy and nav are generally useful to both extend and use for many purposes - REBL is but one expression. REBL served as a great proving ground to push those ideas through many iterations over the last couple years. They are simple ideas, but only because much more complex things were tried first and this one has been forged by actual use (and a lot of design effort).

Alex Miller (Clojure team)15:12:53

their value is independent from REBL

Alex Miller (Clojure team)15:12:00

I expect others will make things that are REBL-like in existing toolsets, and I can’t wait for that to happen. These are good ideas, and they should be everywhere.


Something that could be a little bit worrying is that given that REBL is copyrighted etc etc, it’s not clear if someone makes a visually similar thing if they would be infringing on something. Probably nothing to worry about in practice, but you know how these things are.

Alex Miller (Clojure team)15:12:38

yeah, Cognitect is known for its armies of lawyers

😂 8
Alex Miller (Clojure team)15:12:47

REBL represents 1000s of hours of work from Rich and Stu over the last couple years. Given the amount of time they’ve been working on it, you may imagine that the part that is done expresses only a small part of the ideas they have for it. It is also targeted (partly) at becoming a great tool to use with Datomic, which involves some Datomic-specific extensions.


Yes, but when you get acquired by Oracle 😄

Alex Miller (Clojure team)15:12:27

As such, they want to continue working on it in a way that is part of a viable and sustainable financial model.

Alex Miller (Clojure team)15:12:59

They would love to be able to actually hire or pay people to do that kind of work, but that pay has to come from somewhere.


Having done my fair share of UIs, I can certainly see 1000s of hours being poured into something like REBL. Anyone who wants to make a clone has their worked cut out for them, even with datafy/nav already part of the language now.

Alex Miller (Clojure team)15:12:34

There are still a lot of questions about how to make all that work and the current path preserves those options while they figure it out.

Alex Miller (Clojure team)15:12:13

I hope that people can see these decisions as not driven by malice or greed, but by a desire to find a path that makes the best tech available to the most people in a financially sustainable way where the people doing the work are supported to do it.

simple_smile 4

Random ideas that have probably being discussed internally already: a) Partner with Colin Fleming, b) apply for Clojurists Together c) setup a Patreon-like thing for Cognitect d) Google Summer of Code e) honor-bound system where REBL is open-source on Clojars but people have to buy a license to use commercially

Alex Miller (Clojure team)15:12:09

People frequently say, “just open source it and let the community do the work” but it is an immense amount of work even to guide the direction of a large and eager community. Someone would have to do that work too (and we would them to be paid to do so)

Alex Miller (Clojure team)15:12:49

they’ve considered many options, including many of those


(I have put zero thought in any of those ideas, just the first thing that comes to mind to get answers if there are already some)

Alex Miller (Clojure team)15:12:14

they are complicated by the desire to make rebl as a base that can be extended with proprietary Datomic extensions


that doesn't even stop at "just the community" ... even if you outsource a part of your work to another company to be done, it's still one heck of a project to drive , code review, test and merge


people don't often understand the amount of time that goes into things like these 😞

Alex Miller (Clojure team)15:12:51

we are at step 1 of N right now and I expect the approach will likely change over time


I believe a blog post, perhaps even on, would go a long way in getting this message out.

Alex Miller (Clojure team)15:12:50

being closed source now, doesn’t mean it can’t be open source later, etc

Alex Miller (Clojure team)15:12:12

so, provide some feedback


thanks so much Alex for the clarifications, which companies are not even obligated to provide > REBL represents 1000s of hours of work from Rich and Stu over the last couple years 1000s would mean 1 to 2 man-years of work. I'm open to believe that, but from the talk, this looks like the kind of original neat idea that can be implemented with a few thin extend-protocols plus some UI boilerplate. (or perhaps I'm only observing the final shape of the project, and many other approaches were discarded before)

Alex Miller (Clojure team)17:12:47

I think 1000 is more like 6 person-months, split across two people over the course of a couple years, including design work. I may be over-estimating, but probably not by much

Alex Miller (Clojure team)17:12:22

others helped as well of course, providing feedback and in some cases working on parts of it

👌 8

One thing that I don’t think REBL can do as-is but that I would be willing to put considerable funding toward (in the sense of consulting dollars up-front and an ongoing commercial license for use at my company) is a tool for building tools for non-technical SMEs to interact with our Datomic system-of-record


We have two classes of users at Centriq who are currently highly dependent on dev hours from our very limited supply of those: - business leaders who want to be able to answer simple questions like “given this cohort of users, and this other cohort of users, how many of each did action in our app over time window” - business domain SMEs who want to input curated content for our users to consume, but also do ETL/cleaning and QA work against our DB


None of these people know Clojure or Datalog, nor are they likely to learn. so far we have gotten by building bespoke tooling, but I could see something like Hyperfiddle or something a few months out in the direction REBL is pointing being a tool that would let us invest some of our limited dev hours into customizing a set of UI affordances that each of those groups could then use to create self-service, safe-to-run-against-prod, tools to do their own work. I would pay, as I said, rather a lot for such a capability. I would be balancing the sticker price against the cost to make the thing ourselves and the non-technical work not being done while we did.


I’m sure we aren’t the only company earning our daily bread with Cognitect’s tools that has a similar need. 🙂

Alex Miller (Clojure team)19:12:28

That’s feedback you should put in Datomic’s receptive feature site

Alex Miller (Clojure team)19:12:05

(as with all Datomic feature requests)

Alex Miller (Clojure team)19:12:39

That way they can collect info on that kind of thing across the user base for prioritization


I’m already on board with paying fora development tool like REBL if it gets lots of love. Datomic extensions, even better. I pay for Cursive but rarely use it other than to help teach co-workers how to use it. I can see a tool like REBL being much more useful for me


as has already been said though, I’m especially looking forward to an extensible web-based version for a lot of our web dev stuff


(I also pay for Datomic but only use it for personal stuff / wishful thinking 😝)


I don't have a problem with companies charging for IDE tools (I use IntelliJ) or even proprietary languages (almost used K). I find it a bit confusing that initially it was: clojure = open source + cognitect was consulting company ==> clojure = open source + datomic is commercial ==> clojure = open source + rebl (a dev tool) is non-commercial use only? Cognitect has every right to make money, and I hope Cognitect is a huge commercial success. It's just that if we end up having Cognitect :: Clojure == JetBrains :: Kotlin or Visual Studio :: C#, it'd be nice to know up front rather than a slow transition.

Alex Miller (Clojure team)19:12:11

Clojure is and will always be open source

Alex Miller (Clojure team)19:12:12

It’s controlled by Rich, not by Cognitect

Alex Miller (Clojure team)19:12:18

Cognitect will continue building sharp tools and helping people use them to solve problems

Alex Miller (Clojure team)20:12:06

No one at Cognitect thinks we can or should be the only one using Clojure to make tools. It would be excellent if there were more tools competing with the ideas in REBL (and if there were, we probably wouldn’t have made it)


Dev tools is a great market for Cognitect, and I look forward to what Cognitect releases in the future. It's just a bit of a mental shift to go fro m"best clojure dev tools are free" to "best clojure dev tools are commercial" 🙂


honestly I think it’s healthier. it feels like we’ve been relying far too long on the good will of a few passionate folks who, inevitably, become burned out

👍 20

i don't see any change in the landscape. for years the standard professional tool has been a paid plugin to a paid java ide. and if cognitect sees a way to make money in the ecosystem that to me is a marker of the ecosystem thriving. Most language ecosystems have a plethora of paid tools to aid developers. Financial viability for tools is not a sign of end times but of a robust ecosystem

👍 20

For java you need even to pay just to be able to reload your code dynamically, and that not stopping java.


> Financial viability for tools is not a sign of end times but of a robust ecosystem I’m biased obviously but amen.

😆 16
💹 8
😀 4