You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Ceki Gulcu <cg...@urbanet.ch> on 2001/01/23 17:01:54 UTC

Re: Log4j as "Source-Code Level" or "Compiled (black-box) Component" Reuse?

At 07:56 23.01.2001 -0500, you wrote:

>So, I'm curious, of the two styles of reuse, what are folks doing?
>
>"Source-Code Level" - Just include the source code in your project, and make
>tweaks as desired (and do more work to upgrade to new versions as needed.)

This form of re-use is definitely tolerated: log4j comes with full source 
code and the license allows you to freely distribute your modified code. As 
a side note, you can fork log4j as long as you keep the APL license in the 
existing code and call your project something other than log4j. I think 
that the forking threat keeps maintainers on their toes which is a very 
good thing.

The disadvantage of this approach is that your changes will introduce 
different behavior event if with the standard log4j API. Unknowing 
developers are likely to get confused. Moreover, it might be well the case 
that log4j will be used in external libraries. These libraries might expect 
the standard behavior.

As a matter of principle, if you decide to change log4j core code, you 
should be aware of the consequences of these modifications. The chances are 
that if you go for ease of change then you probably don't realize the 
consequences of your modification.

I am sure that some changes that can only be done by tweaking the original 
source code.

>-or-
>
>"Compiled (black-box) Component" - Use the compiled framework as a lib for
>your project, and limit customization to the framework provided extension
>points (and drop-in replacement upgrade whenever desired, and only do some
>work when the framework breaks backwards compatibility.)

As I wrote in my previous mail, this from is supported actively. If log4j 
does not allow you to do something, this is considered as a design bug. 
Just let us so know and the "bug" will be fixed. Cheers, Ceki

----
Ceki Gülcü (cgu@urbanet.ch)