This is the mail archive of the
mailing list for the Cygwin project.
Re: IPC stuff
- To: cygwin-apps at cygwin dot com
- Subject: Re: IPC stuff
- From: "Gerrit P. Haase" <gp at familiehaase dot de>
- Date: Wed, 5 Sep 2001 13:15:07 +0200
- Organization: Esse keine toten Tiere
- Reply-to: gp at familiehaase dot de
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:
>>If you are the one who wrote the ipc code, please make a statement
>>if it is reusable for cygwin or not.
>>Gerrit P. Haase
>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
>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
>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
>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
>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.
>PS - You can use this email in public forums, mailing-lists, etc..