It seems to have a lot of what the latter has, as well as some features that it doesn't (e.g. it's bitemporal).
(I'm reading https://juxt.pro/crux/docs/faq.html but if there's anything you've seen that'd be super helpful)
>Datomic’s datom model provides a very granular and comprehensive interface for expressing novelty through the assertion and retraction of facts. Crux instead uses documents (i.e. schemaless EDN maps) which are atomically ingested and processed as groups of facts that correspond to top-level fields with each document. This design choice simplifies bitemporal indexing (i.e. the use of valid time + transaction time coordinates) whilst satisfying typical requirements and improving the ergonomics of integration with other document-oriented systems. Additionally, the ordering of fields using the same key in a document is naturally preserved and can be readily retrieved, whereas Datomic requires explicit modelling of order for cardinality-many attributes. The main downside of Crux’s document model is that re-transacting entire documents to update a single field can be considered inefficient, but this could be mitigated using lower-level compression techniques and content-addressable storage. Retractions in Crux are implicit and deleted documents are simply replaced with empty documents
So what this means in pratice is that in Datomic you don't really "have" an entity/document (this isn't entirely true but feel free to dig into the details https://docs.datomic.com/on-prem/entities.html) but rather a set of facts (rows/tuples) at any given time, or across time, generally gathered up under one id. You can query on one of those facts and get exactly that back, one or more specific facts. Crux has this ability to query parts/attributes of a document but in terms of updating its all or nothing. There are other, more niche, considerations. One example I can can cite is looking at an entity through time in Datomic can be alien at first whereas with Crux its just a document, but overall this is the biggest thing I have noticed.
Oh and Datomic is pretty well battle tested and has the full support of Cognitect behind it whereas Crux is a newer OSS product by Juxt. That is both a pro and con for both camps, just depends on your needs.
Having said that, I don't know what the solution is. A Red Hat model would be great, but how many companies have managed to replicate that success? The usual "commercial gives you these extra features" model means you need non-critical but nice-to-have features that people want to pay for but that doesn't cripple the open source version, not exactly ideal either. Having paid support and consulting as the primary income seems difficult too (eg RethinkDB). So, perhaps keeping it closed is the best route for them, I just wish there were better options. Oh well, I still get to enjoy the majority of Rich & team's work, so I'm not complaining.
> If Ions is successful enough that could be their profit source, allowing them to set standalone Datomic free.
That would be a great future.
Datomic looks neat from a distance, but not being open source means I'm probably not even going to look at it (since I wouldn't be able to use it in any case).
edit: typo
As much as I like datomic, I'd prefer an implementation in a lower level language. However, I'm pretty sure there are alot of clojure experts out there pushing datomic to its limits.
I keep working for customers where paying for tools is business as usual.
I also think GPL compliance is a looming major problem for organizations and most haven't realized it yet. We have seen a few folks try to monetize GPL compliance the last few years...netfilter, I'm looking at you.
And this is why many of us prefer open source software to free software.
There's a history here and important points of distinction. The OSI and FSF are separate organizations for a reason.
You seem to agree, though.
> Copyleft software compels certain things.
Yes, and that's what you were complaining about and why it seems that what you really prefer is permissive licenses over Copyleft licenses.
But open source software/licenses and free software/licenses are essentially identical sets (essentially all open source licenses, whether permissive or copyleft, are also free software licenses, and vice versa.) So preferring open source over free software is meaningless, they are the same thing.
> The OSI and FSF are separate organizations for a reason.
For political reasons that have nothing to do with what licenses meet the definitions each organization establishes.
You're both just choosing to be pedantic about it. I was just trying to be nice, but I guess that's not possible.
Also, from this wikipedia article here [1]: "The Free Software Foundation has related but distinct criteria for evaluating whether or not a license qualifies software as free software. Most free software licenses are also considered open-source software licenses." According to them, A does not always equal B here.
Sorry, I had no intention of being rude; I just dislike the misconception that permissive licenses are not Free Software, because it turns people who dislike copyleft against the whole concept.
I'd like to see folks get more educated about what their license options are and the implications of using them in general.
It would be nice if Cognitect could do even better with a Red Hat business model, selling support for an open source product. I don't know if that is plausible for Datomic or not. I suppose that's a function of how popular an open source version would be compared to the current version, and I can't even guess.
If Ions is successful enough that could be their profit source, allowing them to set standalone Datomic free.