Re: LGPL code using GPL code



Hello Roland,

On Wed, 2004-10-20 at 00:19, Roland Illig wrote:
> The mcvfs code has been understood as being a library that is an 
> integral part of the Midnight Commander, but should also be able to live 
> on its own.

Yes, but not as LGPLed code with it's current dependency on quite af few
GPLed functions. It might have been a nice idea to implement vfs as a
separable library way back, but it is not of much practical value right
now.

> According to vfs/README, instead of changing the license it would be 
> better to write the necessary functions as part of mcvfs.

That is quite a lot of work. I've done some more analysis based on your
list of used symbols. All of the files below, except for glibcompat.c
which is licensed LGPL, are licensed under the GPL. That means all of
the below functions except g_strlcpy would need to be rewritten for vfs
to live as a separate LGPLed entity.

src/execute.c:
shell_execute

src/glibcompat.c:
g_strlcpy

src/layout.c:
get_current_type
get_other_panel
get_other_type
print_vfs_message

src/main.c:
cd_symlinks
home_dir	(home_dir = getenv ("HOME"))
mc_home
shell		(shell = "/bin/sh")

src/panel.c:
current_panel

src/setup.c:
load_anon_passwd

src/slint.c:
disable_interrupt_key
enable_interrupt_key
got_interrupt

src/util.c:
concat_dir_and_file
decompress_extension
exist_file
get_compression_type
load_file
mc_mkstemps
name_quote
skip_separators
unix_error_string
wipe_password

src/utilunix.c:
canonicalize_pathname
close_error_pipe
my_system
open_error_pipe

src/wtools.c:
input_dialog
message

> Some of these functions have nothing to do with implementing a vfs.

A few yes, but most of the above functions are rather general purpose.
Rewriting all of them will be quite a lot of redundant work.

> I vote for this challenge because we can exercise how to design clean 
> interfaces between the Midnight Commander and its vfs.

Nothing wrong with cleaning up the vfs code, but I don't think it's a
good idea to rewrite all of the above functions.

Leonard.

-- 
mount -t life -o ro /dev/dna /genetic/research





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]