|
From: Arjan S. <ar...@an...> - 2005-09-20 08:17:57
|
Roland Clobus wrote: >I'm replying also to the mailing-list, so more people can read it. >For Cygwin there is limited network support. The client worked the >last time I checked (the server not yet). > > It was working over here, too. >Two weeks ago I've received a patch that will enable Pioneers to run >natively on WindowsXP, but it contains many #ifdef G_OS_WIN32, and I >am working on reducing that amount. That patch also contains code to >use Winsock2. >Half a year ago I was searching for the availability of getaddrinfo >and related functions on Cygwin, and found that the status was in an >early beta stage, and not available for every (Win98SE+) version of >Windows. I've not looked at the current status. >I've looked at the license from openssh, and it looks like that if I >use parts of that code, I mix two licenses, and I'm not sure if that >is possible/wished. Last year Arjan Schrijver used code from >PostgreSQL that is also not GPL. Then there was some discussion too. >I don't know what to do with such mix. Can it be done, or better not? > > Well, mostly it's the best way not to mix licences. However, in this case, it's not that bad after all. Both PostgreSQL and OpenSSH are released under the BSD license. That means everybody is completely free to do with the code whatever they want. You may redistribute it under another license, as long as the copyright notice is contained within the source code. That's all, actually. No need for mixed licenses and such, just keep the copyright. >But, if the code used only IPv4 related function calls (at least not >getaddrinfo etc.) I hope the networking code would contain very few >platform specific #ifdefs, and still be usable in Cygwin, MinGW, >Linux, etc. > >So I now have 3 options: >* Use a quick fix, and mix licenses >* Use Winsock directly >* Use older IPv4 only functions > >I prefer the last option, or else as little as possible dependance on >Winsock, except of course when the code from openssh could be used >instead. > > I guess if the first option can be done cleanly, that would be the best one. Mixing the licenses is not an issue, as I already pointed out. Otherwise, it would be safe (for now) to use IPv4-only functions, since IPv6 won't be used much for the next couple of years. Personally, I'd prefer the second option, as long as there won't be an enormous amount of ifdefs in the code. IMHO, the code should be as portable as possible (perhaps someone could take a look at current support for g_io_channel's in the Windows-version of gtk/glib). Using Winsock would probably the most stable thing to do, as long as the code stays clean. It allows the use of native functions (for both IPv4 and IPv6), which (hopefully) imply stability. Possibly it also improves the future-readyness of the code. But, these are just my ideas on the subject, which are not necessarily correct (apart from the license thing). Regards, Arjan Schrijver |