IANAL but haven't companies before been able to release bindings for
their GPL-licensed product under less restrictive licenses?
I've been waiting to publish this due to licensing questions, but when
I got a green light I went ahead. I hope that someone else knows the
exact details.

/Tobias

On Thu, May 22, 2008 at 6:32 PM, Richard Wallace
<[EMAIL PROTECTED]> wrote:
> So, I have to admit this is the first time I'd heard of Neo4J and it
> seems really cool.  Looking on the site, however, I noticed it is
> duel-licensed under a commercial license and the AGPL.  My concern is
> that, the AGPL and the ASLv2 that Qi4j is licensed under are
> incompatible, aren't they?  I'm not a lawyer and don't claim to have any
> solid understanding of all the terms in the licenses, but doesn't that
> mean that this cannot be hosted as part of the Qi4j project?
>
> Just curious,
> Rich
>
> Tobias Ivarsson wrote:
>> Greetings Qi4j and Neo4J friends!
>>
>> Last night (Swedish time) I published bindings for using Neo4J as an
>> EntityStore in Qi4j.
>>
>> So for those of you in the Qi4j community wanting to give Neo4J a
>> spin, and for those of you in the Neo4J community who are interested
>> in Qi4j, don't hesitate in giving these bindings a spin.
>>
>> At the moment the test cases are the best documentation on how to use
>> the bindings. By time, as I receive questions and comments from you
>> guys I can put together better documentation that describe what a
>> general developer needs to know to get started.
>> The intent is that using Neo4J in Qi4j should be pretty much the same
>> as using any other EntityStore, and that documentation therefore is
>> pretty much a general Qi4j issue.
>> Three things are specific for the Neo4J bindings though:
>> 1. Set up. To initiate the Neo4J bindings you will need to set up Qi4J
>> to use the Neo4J services, these are at the moment:
>>         module.addServices(
>>             NeoEntityStoreService.class,
>>             NeoCoreService.class,
>>             DirectEntityStateFactory.class,
>>             IndirectEntityStateFactory.class,
>>             NeoIdentityService.class
>>         );
>>    This might change somewhat as development progresses. I have been
>> thinking of adding a utility method somewhere to do the appropriate
>> setup, regardless to how the internal implementation changes.
>> 2. Configuration. There are three configuration-parameters for the
>> Neo4J bindings:
>>    * Where on disk to store the Node space.
>>    * What kind of Indexing system to use (Lucene or a tree based index
>> built in the node space).
>>    * Which TransactionManager to use with Neo4J.
>>    At the moment only the first of these can be specified, by setting
>> java.lang.System.setProperty("neo.nodestore.path", path); This will be
>> changed to use the standard Qi4j configuration methods in a near
>> future, then you will also be able to configure the other two
>> parameters. The ability to set the TransactionManager also depends on
>> a coming change in the Neo4J core. Not specifying transaction manager
>> will use Neo4Js internal TransactionManager, this is an option that
>> works now, and will continue to work in the future.
>> 3. Transaction management. How to use transactions with these bindings
>> is demonstrated in the test code. The effect of transactions is
>> described under "The state of these bindings" in this e-mail. And in
>> the future you will of course be able to use any JTA compatible
>> TransactionManager.
>>
>> The state of these bindings is:
>>  * There is a working implementation that modifies the node space
>> directly, this implementation requires an open transaction (with the
>> transaction manager associated with Neo) while operating on the Entities.
>>  * There is an implementation under development that copies the state
>> of the node space to an intermediate representation while operating
>> that manages transactions internally. This implementation is better
>> suited for long running operations, but more restricted by available
>> memory in the runtime system.
>>    This implementation will be committed within a few days.
>>    The two implementations will be able to coexist, and implementation
>> will be chosen based on whether there is an open transaction or not.
>>  * Also coming soon is the ability to reference entities stored in
>> another EntityStore.
>> I expect to be adding these features during next week, and after that
>> committing a few cleanup updates before going into maintenance mode.
>>
>> Happy hacking!
>> --
>> Tobias Ivarsson <[EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>>
>> Hacker, Neo Technology
>> www.neotechnology.com <http://www.neotechnology.com>
>> Cellphone: +46 706 534857
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> qi4j-dev mailing list
>> [email protected]
>> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>>
>
>
> _______________________________________________
> qi4j-dev mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>



-- 
Tobias Ivarsson <[EMAIL PROTECTED]>
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to