
Datomic Update: Client API, Unlimited Peers, Enterprise Edition, and More - tosh
http://blog.datomic.com/2016/11/datomic-update-client-api-unlimited.html
======
andr
The big news for me is that now you can use all of Datomic's functionality at
scale for free with Datomic Starter. You only pay if you want support. Until
now, to go beyond 2 instances, you had to pay $3000 per process, which sounded
like a nonstarter.

~~~
dantiberian
Datomic Starter is now limited to one year of updates, after which you can
only use whatever was the current version when your maintenance expires. After
that if you want updates then you need to pay $5,000.

~~~
porker
> After that if you want updates then you need to pay $5,000.

Bummer.

$5k is less than my side project makes in a year.

And the average annual system maintenance budget for a small client.

~~~
valw
you can go pretty far wo/ updates, for a side project could be totally OK.

------
tosh
I bet if Datomic were open source it would get adopted at an incredible pace
and become one of the go-to tools for working with data.

~~~
hga
But would it put Rich Hickey's children through college?

This is just not something we've got a good, reliable answer for. E.g. I'm
pretty confident that his creating and being the BDFL of Clojure wasn't
sufficiently remunerative.

~~~
chongli
_But would it put Rich Hickey 's children through college?_

I think it would. What it wouldn't do is give Rich Hickey the control he
currently has over his life and his projects. He'd likely end up getting paid
to work on Datomic by some big company instead of running his own as he does
right now.

~~~
fnordsensei
Isn't Cognitect mostly a consultancy already? Revenue wise, I mean. I don't
mean to discount the incredible amount of work they pour into Clojure/Script
and Datomic.

------
patrec
I like many things about datomic and was in a position to use datomic for a
product twice. Each time when I looked at the license it basically said
cognitect will make you your bitch now and you're not allowed to talk about it
to anyone. We live in a world of ridiculous software licenses, but it was the
most ridiculous license I remember ever having encountered.

This for a product which required a big leap of faith already (designing your
data access around a radically different DB with enormous lock-in, supplied by
a small consultancy).

Thankfully on superficial inspection it seems like some of the most egregious
clauses have gone (Ctrl+F for "disrepute" and "immoral" here:
[https://blog.goodstuff.im/datomic_license](https://blog.goodstuff.im/datomic_license)
to get a flavour).

I'm wondering though: has anyone here ever used datomic _after_ some laywer
looked at their previous license? In the unlikely case anyone from datomic
cares to comment: did changing the license help sales?

~~~
slgeorge
I've only read the blog post you linked and scanned the current license. I
don't find anything unusual in them for a _proprietary license_.

Most of the cited examples in the blog post are common standard language used
in license agreements. I'd say the interpretation of what they means is
idiosyncratic. One could argue that the clauses were not nice, but that's a
different argument to the one presented.

Their current Eula you linked is pretty short, I'd probably argue with the
indemnity, but not unless I was paying enough money that someone would care.
Average legal fee to discuss a license ~600 USD an hour, their license is
2,500 USD. Most people have tougher license terms in their office lease!

~~~
patrec
Well, maybe I'm wrong and the license is in fact reasonable. I'd be more
inclined to believe that if you are either a laywer or can provide some
examples of software licenses for non-obscure enterprise software that have
similar clauses that make you swear never to perform any act or omission(!)
that might adversely affect Cognitect's interests or use the software for
"immoral/unethical" purposes etc. I can't recall ever seeing that in any
product I evaluated. There's a bunch of other problematic stuff that would
make me wary of using such a vendor, but that's not atypical (benchmarking
etc.).

To be clear, I don't have a bad opinion about Cognitect (other than their
choice of license).

~~~
slgeorge
It's the Internet so who needs skills or experience to comment!

But, I did run a commercial team (lawyers and negotiators) for a software
company that handled hundreds of incoming and outgoing licenses: including
ones to major software vendors like Salesforce, Oracle, Microsoft and IBM. I
am not a lawyer though ... but, sometimes I play one on the Web.

I'm not trying to tell you the terms are "reasonable", that's a matter of
opinion. I'm telling you that the way in which they are interpreted in the
blog post is not in line with how they would _commonly_ be read. It is not a
fair reading of the terms as far as I can see - consequently saying they have
a "bad choice" of license makes no sense since the clauses are being cherry-
picked.

Second, people often think licenses have to be 'reasonable', they don't. They
have to be enforceable and in your businesses interests - Cognitect clearly
thought those terms were in their interests.

I'm not going to comment on the clauses further, you've clearly read them one
way and I was offering the observation that I would not have come at them from
that perspective. I guess the best way to have found out their intent would
have been to call them up and ask them, getting clarity added when you
negotiated the deal terms where it was required. Most commonly, people have
terms in their licenses because of specific issues they are concerned about
and when you understand that something can be done to "fix" the difference of
perspectives.

Finally, __the new license looks eminently reasonable __, so perhaps they
noted the concerns and have now fixed them, no?

------
pixelperfect
For anyone curious about Datomic this site has an excellent interactive
tutorial for learning how to query:
[http://www.learndatalogtoday.org/](http://www.learndatalogtoday.org/)

------
dantiberian
I've written a blog post summarising the changes here:
[https://danielcompton.net/2016/11/29/guide-to-datomic-
licens...](https://danielcompton.net/2016/11/29/guide-to-datomic-licensing-
changes). In a nutshell:

* No limits on process count

* Datomic Pro Starter is now limited to one year of usage, then you need to pay $5,000 for Datomic Pro

* Riak, Couchbase, and Infinispan are now legacy storage and only available through Datomic Enterprise.

------
fnordsensei
Does the "Maintenance/Updates Limited to 1 Year" bit mean that you'd have to
get a new starter license after that, or that you're expected to start paying
for updates after one year?

~~~
JB024066
You will no longer be able to renew Starter after the 1 year period on the
same account. Renewal only covers the ability to use newer versions and
upgrade. The license is perpetual and as long as you are not upgrading
versions -- you will be able to continue using your Starter license.

As was discussed in Datomic Slack:

"Starter was always intended as a path for customers to explore and use
Datomic in a low-risk, low-cost approach as they developed their applications
and moved toward production. We feel that a year is generally sufficient time
to evaluate a product and develop a business application around that product.
If you feel that you require a longer period to evaluate or develop against
Datomic, please contact us."

~~~
grzm
Thanks for the clarification.

------
joeevans1000
This whole thing is such a sad tale. Clojure has had lame adoption, starting
with its hard to pronounce, hard to explain name. Datomic could have been a
great booster for the language, but had a license that is counter to all that
has been propelling the programming world. Now they have swapped that out for
another confusing licensing scheme. It feels like just another chapter in the
long weird saga of lisp non-adoption.

I don't understand why Rich doesn't understand that he'd make far more getting
a tiny slice of the huge pie that open sourcing would provide. Yes, they've
changed the licensing approach because it's obvious the previous one didn't
work out at all. But they haven't done enough, and by the time they don't
figure this out, people will be stuffing everything into cloud services, even
if they are inferior approaches.

~~~
mej10
What is confusing about this licensing? Previously it was a mess and
prohibited our use case, but this looks pretty straightforward.

~~~
joeevans1000
"The Datomic Starter license is perpetual, but is limited to 1 year of
maintenance and updates".

No updates after a year? To the new wave of developers, this is foreign. Most
won't know what that means, but at first glance, it looks like you'll be
paying $5,000 in a year. Even the most green developer knows you need updates.
Also, it's unclear what a 'system' is without digging around, and many
potential users won't bother.

The problem is that Cognitect knows how awesome Datomic is, but the world
doesn't. Many potential users are not going to try software they know they're
definitely going to have to pay $5,000 for in a year. Updates are critical.
Cognitect should go for massive adoption and nothing else. They'll make far
more money.

This thread shows continued confusion and uncertainty about the license, and
if a potential user googles 'datomic license' they are likely to find this
thread. After reading up and down it, they will be deterred from getting into
it all. Why try Datomic and get into a potential mess with your employer over
licensing issues/costs in a year when you could play it safe? I'm sure those
who think this licensing approach is the right one are clear the advantages of
Datomic are worth the risk, but they are not paying attention to how software
is actually adopted at scale.

It's so sad it's almost 2017 and this issue's been around since 2014 (
[https://news.ycombinator.com/item?id=7657701](https://news.ycombinator.com/item?id=7657701)
) and this is the solution. The word Datomic means nothing to 95% of
mainstream tech. This change is a modification of their old model. They need
an overhaul of how they are doing this.

~~~
handojin
No offense - but if $5K is an issue for your employer, after a year of
essential magic, you might have the wrong employer and they might have the
wrong employee...

~~~
mej10
It seems like the latest generations of software developers (which includes
myself) is hazardously opposed to spending money on software, even when it can
save/make you huge amounts of time and money.

I was lucky in that my first job was at a small non-software company that
forked over huge amounts of cash for Oracle because it literally enabled their
business to succeed (mysql and postgresql were nowhere close to being able to
do it at the time). And yet I've seen fellow developers waffle over spending
$60 on something they will use literally every day.

------
lbradstreet
I wholeheartedly approve of the new licensing. The previous licensing was
incredibly restrictive for microservices and for scaling out reads in an
elastic way. The new model is much easier to understand and use in the ways
that datomic was intended to be used.

------
erkose
Datomic is awesome. However, I am concerned about the Datomic Starter tier
which states "The Datomic Starter license is perpetual, but is limited to 1
year of maintenance and updates." Previously we could download and use Datomic
without registration with some sensible limitations. This was ideal for small
projects that don't need support. We could update our Datomic instance to keep
up with bug fixes and feature enhancements. Are we now locked into a 1 year
window of code quality and features based on our registration?

~~~
pixelperfect
I think you are talking about the"Datomic Free" option which is still
available: [http://www.datomic.com/get-
datomic.html](http://www.datomic.com/get-datomic.html)

~~~
erkose
Thanks. I didn't scroll down because it isn't listed with the others.

~~~
augustl
It's unfortunate that the "free" version only supports two peers. No scaling
and/or convenience for open source projects, apparently!

------
espeed
Wish the Datomic team would release a datastore-adapter API so we can add
datastores without having to wait and hope for the team to release them.

There's been an open issue for years to add support for Google Datastore to
bring Datomic Google Cloud support into parity with AWS.

------
mac01021
> $5000 per system per year

But what constitutes a system? Will this end up mostly just being $5k per
customer per year for cognitect?

~~~
thenonameguy
I asked the same question on the Clojure subreddit and the answer is yes for
all practical purposes.

[https://www.reddit.com/r/Clojure/comments/5fc706/datomic_upd...](https://www.reddit.com/r/Clojure/comments/5fc706/datomic_update_client_api_unlimited_peers/daj3qse/)

------
brilliantcode
I've deployed Datomic on AWS using cloud formation to spin up two transactors
for when one goes down under pressure.

Throw out everything you ever thought about databases. It is from here you
will learn a completely new way of dealing with data especially in
environments where you need an immutable audit trail.

I almost feel like Datomic solves what blockchain does (immutability) really
well without the drama.

Clojure was also another culture shock. I like it personally but the syntax at
first was scary (but it's really simple and straightforward).

Having said that I'm not 100% sure whether I realized any productivity boost
working with clojure. Finding clojure developers is tough & expensive vs Java
or .NET or PHP.

Datomic has a bit of a learning curve and I still haven't fully crossed over,
relying on google groups discussions and it's not a user friendly experience
which I feel may be their limiting factor (they've made it far too difficult
for the wandering developer to approach it) and the fact that it's closed
source and proprietary but this is most likely because a lone developer
hobbyist has no business using Datomic because it really makes sense in
industries where you need a fully auditable trail, something that was
typically available in event sourcing frameworks with some sort of CQRS
wizardry that I've had trouble justifying using.

All in all, unlimited peer is a welcome news. However, datomic in all in it's
shape or form, only applies to a small group of developers it seems, which is
a shame because datalog queries blows SQL out of the water.

The stuff one can do with datalog on datomic tightly integrated with clojure,
it's game changing, but won't apply to all use cases for folks on HN.

~~~
jgalt212
> I almost feel like Datomic solves what blockchain does (immutability) really
> well without the drama.

Well said. Unless you need to solve the Byzantine general problem there are
better ways to database audit trails than Blockchain. e.g. Datomic or time
travel queries.

~~~
hornytoad
Datomic has a centralized transactor serializing what transactions, whereas
Blockchain is decentralized. So they are at opposite ends of the spectrum,
each trying to solve a completely different problem. Of course "centralized"
is much less dramatic.

~~~
jgalt212
yes, I am aware of that, but many fintech start ups are using blockchain with
centralized data stores.

and here's the link to byzantine generals' problem

[https://en.wikipedia.org/wiki/Byzantine_fault_tolerance#The_...](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance#The_Byzantine_Generals.27_Problem)

