www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Finish Winsock Bindings in DRuntime

I'd like to get the rest of winsock in druntime.  I'm willing to 
work on this and submit a PR but didn't want to work on something 
if someone else was already doing it or if it turns out that we 
don't actually want this in druntime.

We've discussed the best option moving forward here:

https://github.com/smjgordon/bindings/issues/4#issuecomment-225400745

TL;DR

We can't use the version in smjgordon's repo because it's based 
off the original winsock2 headers from Microsoft and those 
headers don't include a license.  Since they don't include a 
license, we have to assume any derivative work (like this 
implementation) has a risk of becoming a legal issue later on.  
We could base it off the MinGW headers, but it has an MIT license 
so any D applications using it would need to include the MIT 
license with their software.  So the best path forward (that 
we've thought of) is to enhance what is already in D runtime 
using the Windows documentation.  It seems silly that we can't 
use an implementation that we already have, but this sort of 
thing happens when you have to deal with licensing issues.  I've 
personally worked with the windows documentation quite a bit and 
have found it to be very comprehensive (in most cases).  For some 
things like private constant values we would need to compile and 
print them out (since we can't use the header files themselves), 
but it's definitely doable.

Thoughts, concerns, anything I'm missing?
Jun 11 2016