I was starting to get excited about neo4j until I saw the pricing list for closed src apps & that you have to register with them to use just one instance of the free commercial server
How can we improve? We certainly don't want to hide our choice of licensing. Currently it's at the top of the http://neo4j.org page, immediately after the introductory description of a what a graph database is:
"Neo4j is released under a dual free software/commercial license model (which basically means that it’s open source under the AGPLv3 but if you’re interested in using it with closed source software, then you must buy a commercial license)." (http://neo4j.org)
Also, we have an AGPLv3 logo on our web page, there's a LICENSE.txt in our release tarballs, we mention it at the end of every presentation we give, and Neo4j is tagged with AGPL on sites like Freshmeat (http://freshmeat.net/projects/neo4j).
Please let me know how we can make it easier to find!
Also,
you need to do that first when you actually have external customers accessing your systems, so you are fine without registration for testing, development, beta test etc. At that point, you should have a pretty good idea on if it is worth taking 5 min to get a closed-source license. And the free server has no limitations except scaling out whatsoever ... pretty good deal IMHO.
I registered and received a free non-AGPL server license - not much effort. Also, I personally like the AGPL license: forces people to share when they build on top of other people's work.
Neo4j really is a great tool for maintaining and searching graph data. I use it from Jruby and Clojure in embedded mode.
There are other open source graph databases with more liberal licenses if that is what you need.
"I wouldn't expect to get something for nothing": and yet, at least for my daily work, almost everything I use is MIT licensed -- something for "nothing".
Right, the sad truth is we looked at Neo4J a long time ago and we decided against it because of the licensing. Not because we are cheap, but because we knew that the licensing would keep it from being a mainstream product, and the reality is as a developer you have to invest your time where the money is, and that is always where the momentum is. Toolkits and frameworks like Struts or jQuery succeeded because of their licensing not in spite of them.
I like to take Ext.js as an example they where a front-runner in the JS toolkit space early on and to many looked like they had it in the bag. So much so that one day they switched their licensing to a GPL / commercial model.
Overnight it seemed they went from the heir apparent to a footnote in the JS toolkit space.
Licensing has a lot to do with technical selection when it comes to application building blocks, I see Neo4J as a different but in the end similar building block and therefore the licensing is extremely important to me. I think they have a good piece of technology, that due to licensing will most likely leave it in the niche market, therefore I chose to not invest my time in it and learn one of the more liberally licensed alternatives, which since that time have gained momentum. On a purely technical level, I would have chose Neo4J so the moral of the story is that licensing plays an equal part in technical selection.
To be clear, I am not telling anyone how to license their hard work, just offering some insight into how some developers chose the technology to invest their time in.