This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: IPC stuff


Ludovic LANGE schrieb am 2001-09-05, 1:32:
>Gerrit P. Haase wrote:
>
>>Hi Mr. Lange,
>>
>>i want to ask if you are the one who wrote the cygipc stuff?
>>
>>There is a heavy discussion at cygwin-apps list how it is 
>>possible to include your ipc code into cygwin.
>>Because you own the copyright and redhat (which owns cygwin)
>>distributes the cygwin kernel under BOTH GPL and a proprietary
>>license, there are some problems to reuse the code.
>>
>>I would like to invite you to look at this thread which starts at
>>2001-09-02 and you find the archives here:
>>http://cygwin.com/ml/cygwin-apps/2001-09/
>>
>>If you are the one who wrote the ipc code, please make a statement
>>if it is reusable for cygwin or not.
>>
>>Thanks,
>>
>>Gerrit P. Haase
=======
>Hello Gerrit,
>
>You're right, I'm one of the two that worked on the cygipc layer of 
>cygwin32. I'll speak for myself of course, but be assured that my former 
>colleague shared the same points of view on the subject, we already had 
>some discussion on it at that time.
>
>I've just looked to some of the posts of the thread you mentionned, and 
>for what I saw, the main problems that you discovered are the right ones.
>
>Here is a little summary :
>
>- In my previous employment, I was working on the port of an Unix 
>application. When evaluating cygwin32 as a mean for this port, we 
>quickly found out that it was lacking the IPC functionnality we were 
>using. We decided to *quickly* and *dirtily* (!) implement the missing 
>functionnalities to compile and test our port. My colleague and I took a 
>Windows Kernel Reference Book and the IPC implementation of the Linux 
>Kernel (v2.0 if I remember well), and we started mixing both to get an 
>IPC implementation.
>This implementation wasn't efficient nor bug-free, but it was enough to 
>test our application. We corrected a few bugs, changed the compilation 
>process, and there only were 1 or 2 versions that were internally released.
>So, at the beginning, this was an internal tool.
>- As we were happy with cygwin, the free software world, and the open 
>source world in general, we decided we could contribute back this piece 
>of code to Cygwin community that was so kind with us (bug hunt, etc...) 
>So we packaged it quickly, put it on our corporate server, and 
>advertised it a little on cygwin mailing lists. At this time, we were 
>unaware of the licensing issues, and not very familiar with licenses. We 
>knew that the IPC code from Linux was copyrighted, and our added value 
>was 'only' to put the bits together. So I think we put some copyright 
>notice somewhere in the docs, mainly to include an email address. If I 
>remember correctly, cygwin was licensed only under one license at that time.
>- A few times and releases after, we were approached by one responsible 
>of the cygwin project who kindly asked us to license our code in a way 
>that would allow its use in cygwin. We were ok with that, and did what 
>we could do to comply. We choosed to license it under the GPL, and it 
>required us to 1) have an agreement from our employer that the code 
>could be used and 2) that we made a copyright assignement to the FSF. We 
>had the agreement of our employer, but the problem with the copyright 
>assignement came from the fact that, as it included code from the Linux 
>Kernel, we would have to ask every authors their agreement, which we 
>couldn't do.
>So the situation stayed as it was : We distributed a piece of code with 
>many bits coming from an open source project, without particular 
>licensing attached to it.
>- Meanwhile, the project we were working on was discontinued, my 
>colleague and I left the company and lost our email account, and I 
>gradually forgot about this piece of software.
>
>So the situation is not easy, as you can see : I can make all the 
>statements you need, concerning the code I wrote, but cannot speak in 
>place of the Linux Kernel developers.
>
>I really think the solution would be to start again from scratch another 
>implementation, as was suggested. The way we did it was quick and dirty, 
>the goals weren't to have production systems running on it but only to 
>run prototypes. So the internal design (if there is any) may not be 
>adequate for the cygwin project.
>
>As far as I'm concerned, I don't think the "contamination" (people who 
>already know the code) is an issue : As long as it is a rewrite, it 
>should be accepted as such. Of course, people will benefit from their 
>experience on the code, and it will help not to make the same mistakes 
>again. The key issues here are to not 'copy and paste' code, but produce 
>new one instead, even if it's inspired from old one. Did you ever write 
>a program, and, after a disk failure / diskette error / source loss, had 
>to rewrite it ? It's new code, but inspired from an old version. And in 
>general, it's better than the original code when you start from scratch 
>again.
>
>Concerning me, I won't be able to help with cygwin : I've stopped 
>working on it since a few years, and I unfortunately don't have enough 
>time to set up a new development environment, work on it, be involved, 
>etc... That's too bad because I was enjoying it, but I'm working hard 
>for the moment, and I'm involved in other projects with so little free 
>time...
>
>I sincerely hope that these issues will find a solution : IPC is (was ?) 
>the missing point in cygwin, and products like postgresql neede this 
>badly to be able to run on an NT platform.
>
>Best regards,
>
>Ludovic LANGE.
>
>PS - You can use this email in public forums, mailing-lists, etc..
>
>


-- 
=^..^=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]