Subject: Re: Lack of Cygwin contributors? Was: How is textmode/binmode determined ...
From: "Kendall Bennett" <[email-masked]>
To: [email-masked]
Date: Mon, 1 May 2000 15:33:22 -0800

Chris Faylor <[email-masked]> wrote:

> On Sun, Apr 30, 2000 at 01:06:40PM -0800, Kendall Bennett wrote:
> >I am sorry, but do you really expect developers to contribute to a 
> >project with such draconian licensing? I am not going to spend my 
> >free time making Cygwin better so that Cygus/Red Hat can sell 
> >commercial licenses of it and make money from *my* fixes and/or 
> >enhancements.
> 
> Yes, as a former net developer, I can expect this.  Before I
> worked at Cygnus, I wanted to contribute to a cool free software
> project.  I didn't really care if my efforts were sold by Cygnus to
> some big company.  So, I started working on Cygwin.  I assume that
> the contributors that we do have currently feel the same way. 

I suspect there are a bunch of people who are using Cygwin for 
hobbyist/non-commercial use who are simply not aware of the licensing 
issues.

My point however is that I don't like Open Source projects where 
something is exclusionary to other companies. If I contribute to an 
Open Source project, I don't care if other companies can make money 
from my efforts, so long as *I* can also make money from those 
efforts if I so choose.

For instance I contribute to XFree86 and others use my contributions, 
but I can build my own Xservers and sell/support them based on 
XFree86 is I so choose. I also contribute to wxWindows, x86emu, Mesa, 
FreeType and many other projects. All those projects have licensing 
ranging from BSD/X style licensing to GPL/LGPL licensing. If I wish 
to use this stuff in my code or make it available to people who use 
our projects, I can do so. I can't stop anyone else from doing the 
same, and that is where the big difference is.

> Red Hat, and just about every other free software company, gets
> paid for their efforts.  If Cygwin makes an inroad into a company
> where free software is not acceptable, I actually view that as a
> triumph for the UNIX over Windows paradigm.  I think this will
> benefit free software (specifically linux) in the long run.  Maybe
> I am naive. 

I think you are confusing two completely separate issues. If the goal 
of Cygwin was to make more free software available for use within 
corporations, then the LGPL license would make a lot of sense. Then 
anyone 
can contribute to the project, and anyone can sell/support the result. 
Cynus would have no special right over anyone else, and would have to 
compete solely on better service/support for the product, which is what 
Open Source is supposed to be all about.

However what is really being done is here that the GPL is being incorrectly 
applied to a *library*, specifically because then a commercial company who 
wants to use Cygwin in a non-Open Source manner has no choice but to 
purchase an expensive license. What is worse however is that there is 
*ABSOLUTELY NO COMPETITION* because no other Open Source company will have 
the rights to do the same thing. Hence if *I* decided I wanted to create a 
company and sell/support a Cygwin derivative based on my 
changes/modifications I can't. Hence I won't contribute.

> You realize that RMS doesn't really like the LGPL, right?  The
> last I heard he was actively advocating that people think very long
> and hard before using it. 

I am *so* glad you brought this up. You see RMS does not agree at *all* 
with proprietry software. He wants all software to be GPL'ed, and hence he 
advocates using the GPL for libraries as well as applications. Why? Because 
then the FSF can exclude commercial companies from using that cool library 
unless they make their code GPL also. No GPL code is ever dual licensed by 
the FSF, with the FSF selling commercial licenses to GPL code.

I bet if you questioned RMS on this, he would say that he does not agree at 
all with how Cygnus is licensing the Cygwin libraries.

And since you brought this up, you should go read the stuff on RMS's web 
page about how to figure out what license *should* be used for new 
libraries, and whether you should chose the LGPL or GPL. He advocates using 
the GPL if there is *no* other commercial equivalent to the library. 
However if there are commercial equivalents, he advocates *using* the LGPL 
so that they LGPL equivalents will be seriously considered by the 
commercial companies in favour of the commercial offerings, thereby 
furthing enhancing the free software movement. Specifically quoting from 
the following URL:

  http://www.gnu.org/philosophy/why-not-lgpl.html

  "Using the ordinary GPL is not advantageous for every library. There are 
   reasons that can make it better to use the Library GPL in certain cases. 
   The most common case is when a free library's features are readily 
   available for proprietary software through other alternative libraries. 
   In that case, the library cannot give free software any particular 
   advantage, so it is better to use the Library GPL for that library.

   This is why we used the Library GPL for the GNU C library. After all, 
   there are plenty of other C libraries; using the GPL for ours would have 
   driven proprietary software developers to use another--no problem for 
   them, only for us."

Considering that there are plenty of commercial equivalents that do similar 
things to the Cygwin libraries (Unix emulation layers on Win32), including 
stuff now available from Microsoft, using the above philosophy the LGPL is 
the license that really should be used for Cygwin.

> I am not sure how this jives with your goals anyway.  If we
> "opened up" Cygwin so that it could be linked into proprietary
> programs then presumably a lot of other projects would be selling
> non-open-source products based on it and making money from it.  Why
> would you contribute to something where a lot of companies were
> benefitting from your efforts in this manner? 

Because then I have the 'freedom' to do what I choose with the software as 
well. Then I have the 'freedom' to create something that would compete with 
any proprietry product that uses Cygwin if I so choose. With the current 
Cygwin license I don't have this freedom at all. Sure they can use my 
changes/modifications for their own commercial efforts, but they can't stop 
me from doing what I want with the project also. Hence everyone wins in 
this situation.

> Or, would you be satisfied because you, too, could distribute a
> proprietary product if you chose?  How does that make you a free
> software proponent?

That may be something interesting to me. How may be interested in making 
something GPL'ed that would use it. But I am not interested in 'assigning' 
my copyright to Cgywin so they can sell commercial licenses to changes *I* 
make.

> >The whole point of the Open Source development model is supposed to 
> >be that the entire source code is open and available for use by 
> >everyone, and that no particular company and/or invididual has any 
> >special rights over anyone else. If you want to make money from the 
> >Open Source project, you sell support, branding and distribution 
> >services. 
> 
> Cygnus does provide all of these for Cygwin, actually.  It is only
> in rare cases that a company actually requires a proprietary
> license. 

All the more reason to switch licenses and make it more open.

So I will ask another very pointed question. If the Cygwin library is under 
the GPL specifically to further the development of free software, then why 
is it that when you contribute to Cygwin you have to assign copyright to 
*Cygnus* and *not* the FSF? The only answer I can come up with is because 
without this it would make it impossible for Cygnus to sell commercial 
licenses to Cygwin. If the FSF owned the copyright you can be sure they 
would not let Cygnus do this.

> >If you want to be Open Source, don't sit on the damn fence. Go fully 
> >Open Source. If you want to sell proprietry products, then close it 
> >up. But most of all don't try to disguise a proprietry product and 
> >hope that Open Source developers will be duped into helping with it.
> 
> I guess could cop out here and say that I don't make the licensing
> decisions.  Hmm.  I probably should have just said that as the
> first sentence and avoided any reaction.  

Actually I know perfectly well that you don't make the licensing decisions. 
I also realise the Cygwin is your baby, hence the reason you were griping 
about the lack of contributions. But perhaps you should look seriously into 
the licensing of Cygwin.

> Anyway, Red Hat does, I believe, have a couple of other proprietary
> offerings and, I believe, that they are more restrictive than
> Cygwin.  However, I could be 100% wrong about this.  I'm still
> learning about Red Hat. 

I would be interested to learn about that. As far as I was aware everything 
done at Red Hat is Open Source.

> Btw, you do realize that custom versions of gcc, gdb, and other
> free software products are often sold to customers for large
> amounts of $$$, right?  Although the source code is provided, it is
> very rarely distributed on the Internet.  So, what that means is
> that if you are contributing to, say, gcc, some company could
> conceivably make a lot of money from your efforts.  That's how free
> software works, too. 

According to the GPL license if I am a user of said compiler/debugger, I 
have the right to get *all* the source code to that product. If the said 
compiler/debugger is being made available to customer without access to the 
source code in any way (ie: binaries only are being distributed), it would 
be a violation of the GPL.

In this case what is being paid for here is the development work to get new 
stuff implemented in the compiler. Personally I find it a 'bending' of the 
rules if proprietry additions are made to GPL'ed compilers and *not* being 
made available to the general public (even if the developer who paid for 
the modifications does get all the source code).

Which brings up an interesting question. Are the additions that Cygnus 
makes for commercial development made readily available to anyone who asks? 
Are they being contributed back into the core GCC development tree? If they 
are, then what is the big deal? If they aren't, then IMHO that would be a 
rather large violation of the GPL.

For instance can I get a copy of the source code for the embedded MIPS or 
PowerPC processor versions of GCC?

> If you were advocating that Cygwin be made 100% GPL and that
> Cygnus *never* charge for a proprietary license, I think I could
> understand this argument.  That's not what you want, though. 

Actually I would *much* prefer this situation than the current situation. I 
might even consider contributing if this was the case, although I would 
only ever use it for stuff that would be GPL itself.

> >Sorry if this sounds harsh, but this is exactly how I feel. And BTW I 
> >also won't touch Qt for exactly the same reasons.
> 
> I understand the sentiment.  It is raised every time I issue a
> rant on lack of contributions. 

Perhaps that tells you something!

> Since you're reading the Cygwin mailing list, I assume that you
> are using the product.  That means that you're benefitting from the
> work that Cygnus/Red Hat has put into the product.  That's fine. 

Actually no, I am not using the product at all. I have tried a couple of 
times to get it working simply so that I could try building the 
XFree86/Cgywin stuff, but never managed to get a stable net release working 
for me. Since this project has now moved to using commercial compilers, I 
have no real immediate need for Cygwin anymore.

I do however find the project interesting, and I follow it every so often 
to see where it progresses. I am also interested because I would like to be 
able to cross compile Linux and DJGPP code under Win32 and this might be a 
solution for me.

However I am at this stage not interested in contributing because of the 
licensing. Since you brought up the issue about the lack of contributions, 
I had to mention the reasons why *I* personally will not contribute.

> I have to wonder why, however, if you object so strongly to the
> possibility that Cygnus can make money from this, you are using it
> at all?  Where do you draw the line with your principles?  It's ok
> to use this thing that you've been given for free but you'll be
> damned if you'll contribute because Cygnus (and Cygnus alone) could
> make money from your efforts? 

Well yes. If the situation was changed such that Cygnus, but *not* Cygnus 
alone could make money from my efforts, my view would be changed 
considerably.

> I don't know.  Maybe you just monitor this list in the hopes that
> you'll see an announcement that Cygwin has become LGPLed and don't
> actually use Cygwin for anything.  If that is not the case then I
> don't understand what moral ground you're standing on which allows
> you to freely use something while steadfastly refusing to consider
> offering something back in return. 

You hit the nail on the head. I don't use Cygwin at all really. For all the 
reasons you and I have discussed above.

> Do you use Qt for all of your personal X-Windows development, too? 

I never use Qt. Which is actually very unfortunate because Qt is very 
elegantly designed.

Regards,

+---------------------------------------------------------------+
|   SciTech Software - Building Truly Plug'n'Play Software!     |
+---------------------------------------------------------------+
| Kendall Bennett          | Email: [email-masked]    |
| Director of Engineering  | Phone: (530) 894 8400              |
| SciTech Software, Inc.   | Fax  : (530) 894 9069              |
| 505 Wall Street          | ftp  : ftp.scitechsoft.com         |
| Chico, CA 95928, USA     | www  : http://www.scitechsoft.com  |
+---------------------------------------------------------------+

--
Want to unsubscribe from this list?
Send a message to [email-masked]