
Cygwin library now available under GNU LGPL - rcarmo
https://www.redhat.com/en/about/blog/cygwin-library-now-available-under-gnu-lesser-general-public-license
======
JoshTriplett
I wonder if the new Linux compatibility subsystem for Windows provided any
motivation for this change? That work seems likely to make Cygwin obsolete
eventually, since it allows running unmodified applications rather than
porting them.

~~~
geofft
One big difference between Cygwin and the Linux subsystem is that Cygwin runs
Win32 processes, under the Win32 subsystem, so the entire Windows API is
available to you. The Linux subsystem (like the Subsystem for UNIX
Applications before it) is a separate set of concepts on top of the raw NT
system calls, so you get a GNU/Linuxish API _instead_ of the Windows API. With
Cygwin you get a GNU/Linuxish API _as well as_ the Windows API.

See, for instance, this discussion about how copy-on-write fork is available
as a system call (and had been around for a while, to support SUA), but
doesn't work right with the Win32 subsystem, and that means Cygwin can't use
it:

[https://social.msdn.microsoft.com/Forums/windowsdesktop/en-U...](https://social.msdn.microsoft.com/Forums/windowsdesktop/en-
US/afdf1b68-1f3e-47f5-94cf-51e397afe073/cygwin-fork-and-
rtlcloneuserprocess?forum=windowsgeneraldevelopmentissues)

I don't know how many actual applications take advantage of this, though. But
if they do, then Cygwin is definitely not obsolete for them.

~~~
Sir_Substance
>With Cygwin you get a GNU/Linuxish API as well as the Windows API.

Genuine question, why is that useful? Intuitively, it seems like if you ever
used that capability, you'd end up with a horrible chimera program that can't
run on linux or windows, which doesn't seem good.

~~~
geofft
Well, the chimera program _can_ totally run on Windows; it just uses a
particular DLL for a good chunk of it's runtime. That's not super different
from, say, a C# app with some native Win32 code, right?

A couple of plausible scenarios:

1\. You have a legacy UNIX app that is now only being used on Windows, but
rewriting it entirely is a giant project. You can compile it against Cygwin,
and then new development can run on Windows.

2\. You have a cross-platform app that needs a few OS-specific things in
certain places. Maybe it's some sort of system status checking/auditing tool,
maybe it interacts with hardware drivers, etc. You can use #ifdef WIN32 and
call Windows-specific APIs, just like you can use #ifdefs to check for Apple-
specific or Linux-specific APIs, and you don't have to port your entire app
away from the UNIX model.

------
richardfontana
See also the announcement by the Cygwin maintainer, Corinna Vinschen:
[https://cygwin.com/ml/cygwin/2016-06/msg00326.html](https://cygwin.com/ml/cygwin/2016-06/msg00326.html)

~~~
JoshTriplett
> it also allows us to drop the requirement for contributor's to sign a
> copyright assignment.

Excellent; always nice to see fewer copyright assignments and CLAs in the
world.

~~~
gumby
> Excellent; always nice to see fewer copyright assignments and CLAs in the
> world.

I am the origin of the blanket assignments (among other things -- Cygnus
founder). The purpose of the blanket assignment was to ensure that the FSF
would have standing to sue in the case of a GPL violation. If you only
contribute a small amount it might not matter (because any material violation
probably would include other, covered code) but if you end up contributing a
somewhat self-contained module or function it does.

Now, more than 25 years later, it's less of a problem, and something somewhat
unitary like the Linux kernel survives with many many copyright holders, but
for something smaller like Cygwin it makes more sense. I guess rhat figured it
wouldn't matter any more -- hope they're right!

~~~
DannyBee
"If you only contribute a small amount it might not matter"

I wouldn't be so sure. FWIW, Victoria Hall, who litigated the first GPL case
with a real decision in the US
([https://en.wikipedia.org/wiki/Jacobsen_v._Katzer](https://en.wikipedia.org/wiki/Jacobsen_v._Katzer))
, told me she had to run around and get some ridiculous number of assignments
(I want to say 200 but i could be misremembering), even for folks who
contributed very small amounts of code.

"Now, more than 25 years later, it's less of a problem"

It depends. GPL enforcement folks will tell you it's an even larger problem
now than it was before, but in the end, i don't think it's the assignment
parts that cause the most pressing issues.

Outside of copyright the bigger problem for larger projects is maintaining
patent peace among larger participants particularly when they compete outside
of the open source project, and CLA's solve this problem (and if you do it
right, make it clear to all participants they contribute on the same terms,
nobody is special)

~~~
gumby
> "Now, more than 25 years later, it's less of a problem" > It depends. GPL
> enforcement folks will tell you it's an even larger problem now than it was
> before, but in the end, i don't think it's the assignment parts that cause
> the most pressing issues.

Well, I would have said (well, in fact I did say) that the Linux kernel's lack
of assignments would cause problems but in practice it hasn't.

The point of the blanket assignments was to avoid running around to get the
scraps, as I mentioned, but again in practice if code includes chunks from
Alice and Bob plus a few scraps from Carol and David, Alice and Bob can have
standing to sue even if the ownership of Carol and David's one-liners is
unclear in the eyes of the court. BUT if ownership is clear and it's all
Fred's (i.e. FSF's! :-) then it removes a possibly expensive diversion as the
infringer tries to attack standing.

~~~
atgreen
> Well, I would have said (well, in fact I did say) that the Linux kernel's
> lack of assignments would cause problems but in practice it hasn't.

Is this why Cygnus didn't buy Red Hat? :)

~~~
gumby
Funny you should say that; there were two related reasons:

1 - the reason we didn't sell support for Linux is we couldn't provide the
same level of support that we did for gcc etc. What we didn't comprehend is
that most people didn't _want_ any support, or at least only minimal support,
but they were used to paying for software and liked the idea of getting it on
a physical medium with a paper manual.

2 - when the companies merged they were both about 200 people. RH had 20
engineers while we had over 160. Our revenue was about 15X theirs IIRC. But
indeed: which company had a larger market cap? I was told when they went
public they only had 6 engineers but I don't know if that was true.

------
AdmiralAsshat
So does this mean that we'll expect to see a commercial version of Cygwin in
the future? Or is it so that commercially available programs can leverage
Cygwin libraries?

~~~
richardfontana
Red Hat has had a commercial Cygwin offering (not a different version from the
project) ever since the Cygnus acquisition, but this is now being phased out
(no new customers will be taken on, and the last existing non-GPL customer
license expires in 2020). It is possible that companies other than Red Hat may
wish to offer commercial support for Cygwin or some derivative of Cygwin.

The license change does have the effect of making it easier for programs to
leverage the Cygwin library without concern about licensing implications. I
wouldn't quite say that is the purpose, but if only because Red Hat will no
longer be providing commercial support for Cygwin the license change is the
right thing to do. (I think there are additional reasons why the license
change is right.)

------
civodul
Is Red Hat suggesting there are no "commercial opportunities" with Linux,
Wordpress, GCC, FFmpeg, etc., which are under the GPL?

------
parent5446
Kind of disappointed to hear this, although at least they did not switch to a
permissive license.

What I'm still not sure is why they are dropping copyright assignment. Don't
the same litigation problems exist when using LGPL, or is there something I'm
missing?

~~~
djsumdog
I hear you on this. I'm currently working on a writeup about the history of
open source and the GPL.

The dream of having totally free and open replacements for major tools like
Photoshop never really happened. There is a lot of new OSS, but it's all BSDL,
Apache, MIT and other license.

I'm not like a hard core Stallman person. I don't run libre-firmware laptops
from pre-2008 and I enjoy my Gapps on my phone, but I'm not a big fan of
startups/monetization of everything. I think a lot of good ideas are strangled
by making them commercially viable.

Cygwin going LGPL allows it to be more widely used, but overall we're going to
see less OSS apps as a result.

~~~
cyphar
> I hear you on this. I'm currently working on a writeup about the history of
> open source and the GPL.

If you're going to write up a history, please use the term "free software".
"Open source" didn't exist for a large part of the history of the free
software movement (and I would argue that it was a movement to sabotage
discussions about freedom).

> The dream of having totally free and open replacements for major tools like
> Photoshop never really happened. There is a lot of new OSS, but it's all
> BSDL, Apache, MIT and other license.

It did though. Okay, Photoshop is still not overtaken by GIMP. But we have
professional free software video editors, development tools, web and database
servers, document writers, etc. These days you can run a modern system
entirely in freedom, though of course we would love to make more free software
to do things even better.

> I'm not like a hard core Stallman person. I don't run libre-firmware laptops
> from pre-2008 and I enjoy my Gapps on my phone, but I'm not a big fan of
> startups/monetization of everything. I think a lot of good ideas are
> strangled by making them commercially viable.

I'm slowly becoming one, and the main reason why is because I want to work
towards the world I want to live in. Sure, lax licensed software is fine to
use as a free software advocate. But when I develop free software under a lax
license, I'm acting against the free software world I want to live in. By
allowing proprietary versions of my software to exist, I am acting against my
goals.

I want to live in a world where all of the software I need to use is free. All
of the hardware that runs updatable software also must be free. Otherwise, I'm
powerless when the developers' company decides to do something immoral. Having
code under the GPLv3 protects us from both of these things, and it makes me
sad when people use lax licenses for innovative work.

~~~
fithisux
I totally agree with you. As far as PhotoShop is concerned, I always could get
by FOSS, I have never used this thing. But I am a developer.

~~~
cyphar
I used to use Photoshop. Most of the killer features are the workflow, which
is what GIMP is lacking (GIMP is a bunch of hacked together tools). But that
actual toolset is not _that_ complicated if you wanted to pay someone for a
year or two to do it.

------
mappu
This means consumers will probably end up having multiple cygwin1.dll files on
their system (something the FAQ warns about).

