Neo4j Graph Database re-licensed under GPLv3
blogs.neotechnology.com
blogs.neotechnology.com
* Neo4j Community, a high performance, fully ACID transactional graph database – licensed under the GPL
* Neo4j Advanced, adding advanced monitoring – licensed under the AGPL or a commercial license
* Neo4j Enterprise, adding online backup and High Availability clustering – licensed under AGPL or commercial
See more in the 1.3 announcement (http://blog.neo4j.org/2011/04/neo4j-13-abisko-lampa-released...) and our licensing guide (http://neo4j.org/licensing-guide/).
"As well as a slew of new features and improvements, we’re thrilled to announce that the community edition is now entirely GPLv3 licensed – permissive and accommodating to your needs!"
The GPL is not a permissive license as the term is usually understood in the free and open source communities. I believe the FSF is careful to distinguish GPL from permissive licenses.
Second: there are several places on the linked pages that compare this to MySQL, basically saying you can do with it whatever you could do with MySQL as far as the licensing goes.
MySQL is under GPLv2, not GPLv3, so the comparison to MySQL might mislead people.
As for GPLv2 vs v3, in a high-level post like this they're reasonably identical. v3 brings in some nice subtleties like ASL compatibility (a biggie for us!) as well as better patent language. But in terms of use cases where the "virality" kicks in, they're the same.
Though this is a much welcome change from AGPL or commercial.
I'd love to see some of the enterprise features included in the community version (clustering support like in orientdb). Maybe the community will come together and make it happen :)
I often read (gloss over) how GPLv3 isn't as good as it may seem, can someone fill me in?
the gpl means that you can use the library, but whatever you develop that "works with it" must also use the gpl. that means that when you give or sell your software to someone else, you have to grant them the rights that you received when neo4j gave their software to you. in particular, you must give them your source and you cannot restrict (much) what they do with that - they can give away your source for free.
one qualification: unlike the agpl, the "works with it" phrase above doesn't extend to client / server on a network. so if you use gpl code on a server, it does not affect clients.
this is only a rough summary - read the licence for full details at http://www.gnu.org/licenses/gpl.html
[edit: ps this is good news. i can't remember what the original licence was, but it stopped me from using neo4j at some point, and i have also had to warn others at times. this is in the context of web services where i suspect that if people were successful they would be willing to pay to scale out; they just don't want to pay up front if they are going to fail fast. so gpl seems like a great fit.]
on the other hand, people recognise that and the major licences do try to be fairly easy to read. but you do need to just "bite the bullet" and read them through (and think what they mean).
this is a good place to start - http://www.opensource.org/licenses/index.html (in particular, see "License[s] that are popular and widely used or with strong communities" at http://www.opensource.org/licenses/category for a list of the ones you should focus on)
have fun :o/
compared to KV they place more logic in the database (much like SQL v KV).
Beyond that, the Not-Only SQL options are a reminder to pick the storage that fits your application, rather than fit your application to the storage you have. Be domain appropriate.
I usually think in terms of: RDBMS - when aggregating data is important Graphs - when relationships between records matters KV - when you have really simple data, but gazillions of records Document - when you have complex, but unrelated and possibly non-uniform data
Cheers, Andreas