Dominic Wise wrote:
On Wed, 2006-01-04 at 17:00 +0100, Andreas Mohr wrote:
Hi,
On Wed, Jan 04, 2006 at 03:29:22PM +0000, Dominic Wise wrote:
I have a question regarding the use of portions of Wine in a commercial application. Sorry if this is not the right place to post but I am not sure who I can directly address this to.
np (I don't think wine-users would be an appropriate place for such a specific question)
The application my employer develops is a financial application designed to work on Win 2K and Win XP, but we have a need for a Win32 function that is only supported in XP (TzSpecificLocalTimeToSystemTime). We could write an implementation of this function ourselves for Win 2K but I have noticed that there is a full implementation in Wine.
Are you sure this is the only Win32 API with this exact functionality? There might be a good reason why it's been introduced at such a late date as XP+ only...
cd wine; find . -name "*.spec"|xargs grep -i time.*time
Pretty sure it's the only one. Not sure why it was added later. Maybe there wasn't demand for it until XP came about.
Is it permissible to use the source for this function in our application? If so, what provisions do we need to make with regard to recognition of Wine and supply of source code to our customers ?
Err... no. (at least not directly)
While Wine's license (LGPL) allows linking to Wine components, it still carries the same restrictions as the GPL license when it comes to directly integrating such code in closed-source programs.
However I think(!) that it's legally valid to gather some "inspirations" from such code if absolutely needed and then write your own implementation of this function, much preferrably by first looking at the code and then, completely isolated, writing your own quite different code. (anybody please correct me NOW if this is fatally incorrect!) But I'm afraid the best way to avoid license violations is to code this function without looking at the (L)GPL'd implementation of this algorithm, if possible.
Another way *might* be to ask the original author of this function (see CVS logs) whether he permits you to use his *original*, *unpatched* version of this function.
BTW, if you absolutely want to directly use Wine-related code in a commercial (or, to be exact: proprietary) application, then may I direct you to http://de.wikipedia.org/wiki/ReWind ? This is a source tree mostly consisting of the old Wine codebase before the MIT -> LGPL license change. Problem is that rewind is too old to already contain an implementation of TzSpecificLocalTimeToSystemTime().
Hmmm... I thought from Dan Kegel's earlier response that it would be OK to put the function into a separate library (DLL) and release this library under a separate license to the rest of the application. It's a pity if this is not permissible.
AFAIK, that is correct. You can license individual files within any application however you want, and as long as the DLL containing the aforementioned function is licensed under LGPL (which it would be, since the license would be inherited from wine), and you can release the entire source of that DLL, then I see no problem with it. SO.. the question is, will that DLL contain _only_ that function, or will it contain others that need to be linked to as well, and if the 2nd applies, can the rest of the functions within that DLL be open source, LGPL'ed?
Tom