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
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().
I am currently trying to demonstrate the benefits of Open Source technology to my employer (I have already replaced one proprietary third-party component in our application with a better Open Source implementation) and this could really help to move this process along.
Nice! (hopefully code that uses a license that's compatible with proprietary applications, though)
Longer-term, I want to try and get the application running on Wine, but that's another story.
...preferrably by fixing Wine bugs if there are any, instead of adding Wine workarounds to the application. :)
Andreas Mohr