Ceki,

Thanks for your response.  My answers to your questions are inline.

John

Ceki Gülcü wrote:


Hello John,

You are obviously a few steps ahead of me. I'll try to answer when I can, and ask questions otherwise.

More in line.

At 09:07 PM 11/22/2005, John Franey wrote:

Hi,

I've created a logging prototype in the Eclipse rich client platform using slf4j and nlog4j. I've written an article about it which is in its final draft. I'm about to submit it to the editors of EclipseZone (http:www.eclipsezone.com), but there are some questions I'd like to ask your development team.


I hope they accept your submission. However, regardless of their decision, I suggest that you ask to keep the copyright so that you can publish its contents elsewhere. In my experience, the publicity spurt that an article in a magazine brings is not worth the steady diffusion power of the article published on the web-pages of your project. Most magazine editors (but not book editors) will let you keep the copyright. In short, you license your article to the magazine but keep the copyright.

Thanks for the advice.  I forgot all about that take.

In the article, Eclipse plug-ins for the slf4j class libraries are created and introduced; one plug-in for each slf4j variant. These plug-ins are interchangeable and so allows seperation between the application and logging framework. Also, because slf4j contains a JCL implementation, the slf4j plug-ins can support other plug-ins that use JCL. Way cool. Thanks for the library.


I am not familiar with Eclipse plug-ins (except as an Eclipse user). What advantages does the plug-in form SLF4J have compared to the stand-alone form? I apologize if this may seem like a stupid question.

I don't think it is a stupid question.

Flexibility. A plug-in developed using SLF4J as an external plug-in can swap between SLF4J variants (jdk, log4j, nlog4j, custom). A plug-in which embeds an SLF4J library will be bound to use the corresponding framework. I think an RCP developer would prefer the former plug-in, only because the RCP developer can chose which framework the application would use.

Memory/disk footprint:  If every plug-in embedded a logger library....

Runtime confusion in Eclipse: If every plug-in with a logging library exported it, Eclipse would non-deterministically select one, any one, to satisfy another plug-ins import.

Those are main reasons.

First question: The name of the plug-ins incorporate the name of your organization: org.slf4j. Is this OK? Its a naming convention in Eclipse plug-ins; to name a plug-in after the java package that it implements. For example, a plug-in for LOG4J logging would be called org.apache.log4j. Also, 99.9% of the code in the plug-in originates from slf4j, not any other entity. The only code that I provide are entries to a jar's MANIFEST.MF file.


The SLF4J is distributed under the X11 license (see http://www.slf4j.org/license.html ) which is quite permissive. In short, provided that:

the copyright notice(s) and this permission notice appear in all copies of
 the  Software and  that both  the above  copyright notice(s)  and this
 permission notice appear in supporting documentation.

You should be fine.

Second question: Its very easy for you to build and distribute your library as Eclipse plug-ins, incorporating the modifications detailed in the article. It requires only OSGi entries in the jar file's MANIFEST.MF. Would you be interested in doing this?


Why not? However, as mentioned above, the advantages of distributing SLF4J as Eclipse plug-ins are not entirely obvious to me :-).

Third question: I created a plug-in for an slf4j Logger implementation over the Eclipse RCP logging framework. I used org.slf4j in the name of the plug-in only to keep it consistent with the other plug-in names in the article. Is that OK? Only the Logger, LoggerFactory and binding classes are contributed by me, the rest of the code is all yours and I'd like to maintain that credit belongs to you.


Although you do not have to, you could license the code to slf4j.org so that it could distribute your code. Alternatively, you could chose to distribute your code on your own.

I will think this over. I currently leaning towards licensing the code for slf4j to distribute. What does it mean to license the code, according to slf4j? (My stupid question for the day).

Fourth question: Could I contribute the slf4j on Eclipse logging to your project? One objection you may have is that there are build time dependencies on the Eclipse RCP libraries.


The Eclipse RCP library dependency is not a problem. In principle, each binding already depends on some underlying library, e.g. log4j. Dependencies on logging systems is what SLF4J is all about.

Let me contact you offline for details about creating an account for you, commit rights etc on the slf4j.org server.

Thanks,
John



_______________________________________________
dev mailing list
[email protected]
http://slf4j.org/mailman/listinfo/dev

Reply via email to