Live data from Hacker News

Datomic is Free

blog.datomic.com

291–300 of 436 posts

Re: Datomic is Free

#291
post #288

> Is it Open Source? > Datomic binaries are provided under the Apache 2 license which grants all the same rights to a work delivered in object form. So... no? (I say that, but "Datomic binaries" presumably refers to compiled JVM class files; and JVM bytecode is notoriously easy to decompile back to legible source code, with almost all identifiers intact. Would Apache-licensing a binary, imply that you have the right…

It had to be simple yes/no question, but they haven't managed with this :D

Re: Datomic is Free

#292

Earlier quoted context omitted.

They say it's under the Apache 2 licence, so it is open source. EDIT: I was wrong. They actually released binaries under the Apache licence, not the source code. Which is, mildly said, deceptive. I don't even have an idea what that actually means.

They say the binaries are being made under Apache 2. They don't say anything about the source code being published. That's why (to me) this is so interesting. I've never seen binaries released without source code before.

I wonder if they took a page out of Fabrice Bellard's book: https://bellard.org/ts_server/

  The CPU version is released as binary code under the MIT license.

Re: Datomic is Free

#293
post #240

Earlier quoted context omitted.

Well, that’s what Java records are for. As for having to change the type description, that’s more of a static typing discussion, though it can be generated — having a single source of truth and generating others is imo the best approach.

Java records weren't even a gleam in the eye of James Gosling when Clojure was solving these problems at its inception.

Standard ML had records since the '70s. Both Clojure and Java would benefit from taking more from what came before, though Java at least had the excuse of being designed for low-powered set-top boxes.

Re: Datomic is Free

#294
post #46

The price is certainly right, but has anyone used this in production? What was your experience like?

Netflix, Facebook (Meta), Nubank, and many others.

I couldn't find a single reference in any codebase to "[^te]datomic" at one of those MAANGs mentioned.

Re: Datomic is Free

#295

From experience: Datomic Cloud is slow, expensive, resource intensive, designed in the baroque style of massively over-complicated CloudFormation astronautics. Hard to diagnose performance issues. Impossible to backup. Ran into one scenario where apparently we weren't quick enough to migrate to the latest version, AWS had dropped support for $runtime in Lambda, and it became impossible to upgrade the CloudFormation t…

> Mother Postgres can do no wrong.

Simple, eloquent, damn true.

Re: Datomic is Free

#296
General PSA: Any open source startup touting their AGPL license is delusional. They will never be used at Google, Meta, or similar because of specific legal directives to avoid these kinds of licenses.

Re: Datomic is Free

#297

Question to people having used Datomic: Based on experience with Prolog, I always thought using Datalog in a database like Datomic would mean being able to model your data model using stored queries as a very expressive way of creating "classes". And that by modeling your data model using nested such queries, you alleviate the need for an ORM, and all the boilerplate and duplication of defining classes both in SQL an…

It emphatically does. It has pull-syntax just for the nested entities obviating the need for ORM. I am surprised I had to scroll so far down to see this. This is its biggest selling point IMO.

Re: Datomic is Free

#299
post #290
post #172

Earlier quoted context omitted.

That would be very ugly source, as Datomic is written in Clojure and AOT compiled to Java bytecode. Due to the architecture of Clojure (especially, the use of macros) it is not exactly possible to work backwards from JVM bytecode to anything that looks like the original source code. It's not like Java where a clever decompiler can exploit output patterns generated by the Java compiler to make reasonable guesses at th…

> Due to the architecture of Clojure (especially, the use of macros) it is not exactly possible to work backwards from JVM bytecode to anything that looks like the original source code. I mean, presumably if you run a Java decompiler over it you'll get perfectly-legible Java source code. Just Java source code that makes a lot of calls to methods defined in the Clojure stdlib. I'm guessing it would look a lot like wha…

Reverse engineering:

Some of the things that Clojure generates are valid bytecode for which there is no Java source code equivalent.

Reusing the pieces:

In general, Clojure works so well because it is all of a piece, with many decisions and subsystems working together. Datomic's source is the same way, you can't really consume just part of the elephant, even if you had the source code. Many things that Datomic does simply don't make sense at all out of context.

Re: Datomic is Free

#300
post #299
post #290

Earlier quoted context omitted.

> Due to the architecture of Clojure (especially, the use of macros) it is not exactly possible to work backwards from JVM bytecode to anything that looks like the original source code. I mean, presumably if you run a Java decompiler over it you'll get perfectly-legible Java source code. Just Java source code that makes a lot of calls to methods defined in the Clojure stdlib. I'm guessing it would look a lot like wha…

Reverse engineering: Some of the things that Clojure generates are valid bytecode for which there is no Java source code equivalent. Reusing the pieces: In general, Clojure works so well because it is all of a piece, with many decisions and subsystems working together. Datomic's source is the same way, you can't really consume just part of the elephant, even if you had the source code. Many things that Datomic does s…

Maybe, rather than taking pieces out of Datomic to use elsewhere, I want to take pieces of other things and stick them inside Datomic :)
Post reply on HN