Hacker News new | ask | show | jobs
by tehprofessor 4377 days ago
I'm curious as to how you're dealing with the licensing costs, as they shut down most hopes I had. Granted, Neo4j said they had a "startup" license but due to family issues i never followed up. Still seems a bit extreme to me for the price, but I also (at the time) couldn't really compare it to much else.

And on the topic of Cayley... I'm stoked. I'll give it a try tonight. Easy to use, and graph databases, haven't really gone hand in hand for me.

1 comments

> I'm curious as to how you're dealing with the licensing costs, as they shut down most hopes I had. Granted, Neo4j said they had a "startup" license but due to family issues i never followed up. Still seems a bit extreme to me for the price, but I also (at the time) couldn't really compare it to much else.

Did you want to get support from the company that makes neo4j? If not, then you don't need a license.

Not entirely true. The only free version is the "Community Edition", which runs on a single node; no clustering support, no monitoring, no hot backups, no caching. [1]

It's pretty much useless in a server environment since even replication isn't possible; if you want a redundant setup -- which you will -- you will have to keep the nodes synchronized yourself. Not to mention that since Neo4j is an in-memory database, it puts a hard limit on your dataset size.

They have a "Personal License" [2], but it lasts for one year and you're not allowed to use it if you have capital funding or a certain amount of revenue.

[1] http://neo4j.com/subscriptions/

[2] http://www.neotechnology.com/terms/personal_us/

Actually much of this is not true. * All Neo4j versions have caching * Neo4j Enterprise is available for free for any AGPL project and for personal use and early startups * Neo4j is not an in-memory database, it is a persistent, fully transactional database, it uses the available memory for caching the hot dataset
> All Neo4j versions have caching

I was actually referring to the "High-Performance Cache" mentioned in the feature matrix.

> Neo4j Enterprise is available for free for any AGPL project

I was really talking about a commercial setting. How many companies deploy a fully open-source project (ie., honouring the requirements of the AGPL) in a redundant data center? Not a lot, I imagine.

> Neo4j is not an in-memory database

True, it seems I was misinformed about that.

I guess I worried licensing might be an issue with large data sets: http://neo4j.com/subscriptions/

Where using more than one instance would be desirable (I'm not trying to over optimize-- I swear! ;-_-). I suppose one server can go pretty f#€£ing far. But all the clustering requires a license (~$12k per server for start ups?) unless the code which uses it is GPL or AGPL (I think?).

Anyone who wants to explain the AGPL in layman terms would be greatly appreciated. Or specially Neo4j's application of it. To me, it seems cost prohibitive for lean startups, of one or two people.

Again, they've said contact 'em-- so it may be case by case. I could just be worrying about non-existent problems.

I tried Titan and Orient, I didn't find either as nice as Neo4j to use in my code. Though Neo4j, for me, was much more difficult to setup and use as a cluster (at the time).

... And more on topic, I'm about to install Cayley!

neo4j uses the GPL (specifically version 3), not the Affero GPL. You can build a service based on the community edition without sharing the source of your service; you only need to distribute source (under a GPLv3-compatible license) if you distribute your service to others.

(Summary of the Affero GPL: you must distribute the full source of your service, under an AGPL-compatible FOSS license, to the users of your service. Summary of the GPL: you must distribute the full source of your program, under a GPL-compatible license, to anyone you distribute your program to.)

It does look like the "Community" edition leaves out the clustering features, so if you need those you'd likely need a license for the proprietary version.

Neo4j is an open source graph database. The community and enterprise editions can be used in production without a license (including HA clustering). Licensing is required when you choose not to open source your code that uses Neo4j. When you have a commercial application of Neo4j, the price for the license is well justified so your customers are not impacted when an issue arises in your implementation. Most resolutions are a matter of creating an unmanaged extension that runs code embedded in the JVM.
If it fails in interesting ways, let me know, file a bug, etc. I'm more than happy to help.