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.
Anyone else have any thoughts on this? The 'inspiration' route seems like cheating to me. I would much rather simply use the Wine code in a way that is compatible with the LGPL, if this is possible. If not, I probably just won't tell the developer working on this where to find the Wine code.
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)
They are a bit wary at the moment but the more benefits they see the easier it will become.
Hope I'm OK on this one :- The program I am using (Open Object Rexx) is licensed under the CPL. The FAQ for the CPL suggests to me that it's OK to modify it and incorporate it into a proprietary application. In any case, its actually under beta testing in a development version of our application so it's not a disaster if licensing issues prevent it from making it into the a general release.
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. :)
Of course!
Andreas Mohr
Dominic
Thanks,
Dominic