Re: Pthread win32 lite and LGPL static linking

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: Pthread win32 lite and LGPL static linking

Ross Johnson-2
Robin,

My apologies. I seem to have missed seeing this email in my inbox. I
noticed it when searching the list archives on another topic.

The short answer to the license change request is AFAIK, not without the
explicit consent of all the contributors.

But is that really going to be a problem for your project? IMO if you're
making the source code to the application public and you're keeping the
pthreads-win32 LGPL and the copyright info intact, with you're own
additions where necessary, then that is within the spirit of the LGPL.

My test for this is (based on an explanation of the GPL/LGPL direct from
RMS): can your end users make changes to the pthreads code and rebuild
and relink your application to a working version? If the answer is yes,
then that satisfies the purpose of the LGPL.

I personally have no objection to you doing this. Did anyone else
respond to this request, or object?

If you're very concerned about the finer legal points then this response
may not be good enough for you. I hope it is though.

Regards.
Ross

<quote>
Thanks for making pthreads-win32 available.

I lead the CinePaint project. We check-in 3rd-party lib sources into our
CVS so that when a CinePaint Windows developer does a check-out he or
she has everything necessary to create a build. I've cut down Pthreads
for Windows into a much smaller lite version that contains just the
source files needed to build CinePaint Glasgow, list enclosed below. Our
libpthread.lib file is about 300kb.

We prefer to use small libs with static linking. FLTK, another LGPL lib
we're using, offers a static linking exception to its LGPL license to
accommodate that. Would you be able to do that for us, too?

Robin Rowe
--
www.CinePaint.org


cleanup.c
global.c
implement.h
pthread.h
pthread_cancel.c
pthread_cond_destroy.c
pthread_cond_init.c
pthread_cond_signal.c
pthread_cond_wait.c
pthread_detach.c
pthread_equal.c
pthread_getspecific.c
pthread_join.c
pthread_key_create.c
pthread_key_delete.c
pthread_kill.c
pthread_mutex_destroy.c
pthread_mutex_init.c
pthread_mutex_lock.c
pthread_mutex_trylock.c
pthread_mutex_unlock.c
pthread_self.c
pthread_setspecific.c
pthread_testcancel.c
pthread_win32_attach_detach_np.c
ptw32_InterlockedCompareExchange.c
ptw32_callUserDestroyRoutines.c
ptw32_cond_check_need_init.c
ptw32_mutex_check_need_init.c
ptw32_new.c
ptw32_processInitialize.c
ptw32_processTerminate.c
ptw32_relmillisecs.c
ptw32_reuse.c
ptw32_semwait.c
ptw32_threadDestroy.c
ptw32_throw.c
ptw32_tkAssocCreate.c
ptw32_tkAssocDestroy.c
sched.h
sem_destroy.c
sem_init.c
sem_post.c
sem_post_multiple.c
sem_timedwait.c
sem_wait.c
semaphore.h
w32_CancelableWait.c

</quote>