Hello all!

At work, I typically have to do more with C# than Java. However, ever since I discovered Qi4j, I always wanted to have the similar functionality in C#.

Lately, I've been working on implementing Qi4j for C#. Currently it is called Slim-Qi4CS, because it is for C# and it does not have all features of Qi4j (nor will it). I've tried to capture the very basic core of what Qi4j is, and letting the rest to be extensions or libraries.

Now, there still are two open questions I would like to ask.

1. Licencing. I almost-copy-pasted some of the API and Tests-code (direct copypaste was not possible of course due to different programming language, and I had to usually do additional modifications to fit to overall framework), so should I retain the original Java author name in those C# files? I haven't done direct copy-paste anywhere though. The SPI, bootstrap, and runtime modules were very different from Java ones, so that is completely original. Also, in which places should I mention that the original driver for this was the Qi4j? Is this completely up to me, or is it required to be written in eg. NOTICE file?

2. Name. Am I even allowed to use the "Qi"-terminology, or is that copyrighted?

The current situation is that the Slim-Qi4CS begins to mature bit by bit. There are some quite nice features, such as full support for generic composites (because C# runtime retains fully generic information), minimal usage of reflection invocation calls (implying the heavy usage of code generation, and a performance boost).

Regarding the multi-type composites Niclas is talking about in his mails, the Slim-Qi4jCS has support for them too, but just like in Qi4j, I haven't looked really closely into it yet. But the Slim-Qi4CS has support for multi-type-composites (through 'roles', as in Qi4j), so it's just question of refactoring the API and other parts to better and more intuitively support the idea of multi-type composites.


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

Reply via email to