Project

General

Profile

Feature #9408

Alpine WSL Release and Public Announcement

Added by Klaus Frank 10 months ago. Updated 9 months ago.

Status:
Closed
Priority:
Immediate
Assignee:
Category:
-
Target version:
-
Start date:
09/10/2018
Due date:
09/15/2018
% Done:

100%

Estimated time:

Description

Hi Jirutka,
sometime ago, I've asked for permission to write a warper for alpine Linux to get it into the Windows Store.
As I've not heard back from you regarding my question if you're fine with me publicly releasing it instead of only by private link (like it currently is), I've to open an Issue on your bug tracker for that to not go unnoticed.

To make this topic somewhat more urgent, I've received a mail from my contact at Microsoft asking for permission to publicly announce it at Microsoft Ignite in Orlando on September 28th.

Sincerely,
Klaus Frank (agowa338)


Related issues

Related to Alpine Linux - Feature #8936: Alpine Linux for WSLClosed05/27/2018

History

#1 Updated by Natanael Copa 10 months ago

What will this require of us?

Who will maintain it?

#2 Updated by Klaus Frank 10 months ago

what will this require of us?
I already got permission from Jirutka before I started this project, I just wanted to formally ask once more before pressing the final button to publish it by using the official name "Alpine Linux".

Who will maintain it?
That's me and you. You will maintain the "MINI ROOT FILESYSTEM"-Image as you already do and I'll maintain the windows wrapper (it's just a c++ Downloader that greps the tar.gz from the website, checks it's sha256 sum (I may replace it by checking the cryptographic signature instead and make it automatically fetch the latest version available instead of using a hardcoded one) and throws it against some windows internal apis and finally initializes an useraccount and installs a few packages for better compatibility inside of the windows compatibility layer. From there on you can run all commands that you know from alpine (except kernel tweaking of course), you can even upgrade to later version of alpine by using apk.

All commands that are executed after the tar.gz has been unpacked are in the DistroSpecial.h file here: https://github.com/agowa338/WSL-DistroLauncher-Alpine/blob/master/DistroLauncher/DistroSpecial.h

Link to the GitHub: https://github.com/agowa338/WSL-DistroLauncher-Alpine

#3 Updated by Jakub Jirutka 10 months ago

As I've not heard back from you regarding my question

I'm very sorry, I forgot to reply to your email. I'm extremely busy now, but I'll try to look at it during weekend. If I will not respond till Wednesday, feel free to bombard me with emails.

#4 Updated by William Pitcock 9 months ago

I'm fundamentally opposed to Alpine being on WSL, for many reasons. At one time, I was more open to allowing this to happen, but at the time they were actively onboarding distros other than Ubuntu, they wanted people to sign NDAs. This got me to thinking a bit, so hear me out:

Microsoft are trying to clean up their image in regard to the FOSS community, while also threatening legal action towards users of FOSS products for violating their software patents.

If you wish to ship Alpine in the Windows Store, please consider that you are assisting Microsoft in an agenda to recreate Linux as an environment on Windows (this is the new way of doing Embrace, Extend, Extinguish).

It is the responsibility of all serious distributions to resist these efforts.

#5 Updated by William Pitcock 9 months ago

I asked my lawyer about this. GPLv2 section 6 says:

[...] You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

The Windows Store imposes additional restrictions, therefore violating GPLv2.

As such, I believe redistribution of busybox and apk-tools is not allowed via the Windows Store. As somebody who holds non-trivial copyrights on apk-tools, I would like to express my explicit opposition to having apk-tools distributed in this way.

An .exe that you can download straight from us leveraging the WSL would be acceptable to me, but not the Windows Store distribution Microsoft want.

#6 Updated by William Pitcock 9 months ago

With crap like this:

People should heed this warning and keep Alpine off the WSL platform.

#7 Updated by Klaus Frank 9 months ago

To address your concerns:

William Pitcock wrote:

I'm fundamentally opposed to Alpine being on WSL, for many reasons. At one time, I was more open to allowing this to happen, but at the time they were actively onboarding distros other than Ubuntu, they wanted people to sign NDAs. This got me to thinking a bit, so hear me out:

I did not have to.

Microsoft are trying to clean up their image in regard to the FOSS community, while also threatening legal action towards users of FOSS products for violating their software patents.

If you wish to ship Alpine in the Windows Store, please consider that you are assisting Microsoft in an agenda to recreate Linux as an environment on Windows (this is the new way of doing Embrace, Extend, Extinguish).

I don't see any evidence here. I consider it as the same as providing an image to docker. And me personally I'm using it for developing and testing software that would otherwise run in a docker container.

It is the responsibility of all serious distributions to resist these efforts.

Why? I don't see why this would hurt. Isn't it that kind of openness, willingness to integrate and provide fredomn to developers and users that drives this project, despite where it is running?

William Pitcock wrote:

I asked my lawyer about this. GPLv2 section 6 says:

[...] You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

The Windows Store imposes additional restrictions, therefore violating GPLv2.

That's not a problem, no binary despite the wraper is uploaded to the windows store. The alpine linux binaries are the same as usual and are downloaded from the website by first use.
So all that is captured by the license terms of the Windows Store is a downloader. And that downloader is also available on github (https://github.com/agowa338/WSL-DistroLauncher-Alpine ) and that wraper is also licensed under the MIT license and therefore.
I don't see why this licenses should extend to the whole distro. Even if the launcher would be proprietary it does not limit the license terms of the downloaded binary in any way. So even though I'm not a lawyer I don't consider this being problematic.
We're not talking about recompiling alpine linux as proprietary software against some magic apis to make it running.

To be fare we're talink more or less about a "script" that serves the following functionality:
- Download alpine linux tar.gz
- Unzip the archive
- Do some initial bootstraping (like installing "shadow")
- Chroot into it.

Can you please explain why doing this from a proprietary system would infringe Alpine?
And why it is different than doing the same from a Mac Book or Chrome Book?

As such, I believe redistribution of busybox and apk-tools is not allowed via the Windows Store. As somebody who holds non-trivial copyrights on apk-tools, I would like to express my explicit opposition to having apk-tools distributed in this way.

That's why it is not distributed that way.

An .exe that you can download straight from us leveraging the WSL would be acceptable to me, but not the Windows Store distribution Microsoft want.

That's also possible, but many are just searching the store and I don't see why providing a script that initializes this would be a problem.

William Pitcock wrote:

With crap like this:

People should heed this warning and keep Alpine off the WSL platform.

I don't see any valid argument why? And I don't know why this is different than dockerhub or Vagrant, with the exception, that they hold a full copy of the binaries on there servers where microsoft does not.

#8 Updated by William Pitcock 9 months ago

Klaus Frank wrote:

I don't see any evidence here. I consider it as the same as providing an image to docker. And me personally I'm using it for developing and testing software that would otherwise run in a docker container.

I again restate that I will take legal action against you (as well as Microsoft) if you publish this image.

I do not authorize my work on Alpine (which is non-trivial) to be used in a way that assists Microsoft in their agenda to turn Linux distributions into an "app" you download from the non-free Windows Store. The GPLv2 also does not authorize this usage, and trivial evasion attempts (unbundling the image) are not protected in either the US or Europe.

It is the responsibility of all serious distributions to resist these efforts.

Why? I don't see why this would hurt. Isn't it that kind of openness, willingness to integrate and provide fredomn to developers and users that drives this project, despite where it is running?

It hurts a lot, because it assists Microsoft in their effort of both openwashing Windows ("it runs Linux apps now, FOSS, see?!") as well as EEE-ing Linux to the point that the Linux OS itself no longer matters. If you don't understand this, then it's unfortunate for you, but I will be sending my lawyers on you if you proceed.

William Pitcock wrote:

I asked my lawyer about this. GPLv2 section 6 says:

[...] You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

The Windows Store imposes additional restrictions, therefore violating GPLv2.

That's not a problem, no binary despite the wraper is uploaded to the windows store. The alpine linux binaries are the same as usual and are downloaded from the website by first use.
So all that is captured by the license terms of the Windows Store is a downloader. And that downloader is also available on github (https://github.com/agowa338/WSL-DistroLauncher-Alpine ) and that wraper is also licensed under the MIT license and therefore.

Your downloader is working in the way it does, to evade the GPLv2 license placed on core system components. Therefore, usage of Alpine Linux in WSL by practical construction is still infected by the Microsoft Windows Store restrictions. Again, I restate: Alpine running on WSL as delivered by Windows Store is a violation of GPLv2 section 6, and I will be initiating legal action if the image is published.

I don't see why this licenses should extend to the whole distro. Even if the launcher would be proprietary it does not limit the license terms of the downloaded binary in any way. So even though I'm not a lawyer I don't consider this being problematic.

Alpine, by way of core system components being GPLv2, is itself, effectively GPLv2 in this matter.

We're not talking about recompiling alpine linux as proprietary software against some magic apis to make it running.

But you are: the support code (your "downloader") is doing the necessary binding against magic WSL APIs.

To be fare we're talink more or less about a "script" that serves the following functionality:
- Download alpine linux tar.gz
- Unzip the archive
- Do some initial bootstraping (like installing "shadow")
- Chroot into it.

And it's hosted by Microsoft, in the Windows Store, and used for their marketing. In no way will I ever find it acceptable to use my work in this way, especially considering that it is essentially an attempt to evade GPLv2 section 6 requirements.

Can you please explain why doing this from a proprietary system would infringe Alpine?

Doing this on it's own is not the infringement, it is using the considerable good will of the Alpine project to endorse a proprietary Microsoft product (WSL). This is not acceptable to me. I already suggested an alternative that would be (hosting the `.exe` ourselves). But if it is in a way where Microsoft's marketing attempts to undermine Linux as an independent OS are assisted, then I am fundamentally opposed.

And why it is different than doing the same from a Mac Book or Chrome Book?

It's not, but in those cases it's not Apple or Google doing it, it's you doing it inside a VM that you set up yourself. Microsoft intend to use this as an explicit marketing feature. Not acceptable.

As such, I believe redistribution of busybox and apk-tools is not allowed via the Windows Store. As somebody who holds non-trivial copyrights on apk-tools, I would like to express my explicit opposition to having apk-tools distributed in this way.

That's why it is not distributed that way.

It is not physically distributed that way, in an attempt to evade GPLv2 section 6. There is significant case law that demonstrates that attempting to evade GPLv2 obligations in this way still counts as an infringement.

An .exe that you can download straight from us leveraging the WSL would be acceptable to me, but not the Windows Store distribution Microsoft want.

That's also possible, but many are just searching the store and I don't see why providing a script that initializes this would be a problem.

Because Microsoft have an agenda of normalizing "Linux" as an "app you download from Windows Store." Such an "app" in Windows Store assists with this agenda. The `.exe` file is the compromise, take it or leave it. I will solve the "app" being distributed with lawyers, otherwise.

William Pitcock wrote:

With crap like this:

People should heed this warning and keep Alpine off the WSL platform.

I don't see any valid argument why? And I don't know why this is different than dockerhub or Vagrant, with the exception, that they hold a full copy of the binaries on there servers where microsoft does not.

It is different because Docker and Vagrant do not have an agenda of normalizing the Linux OS into an application you download from an app store, while also having power dynamics which distort the incentives for that behavior to occur.

In closing, I will be taking legal action against this if published.

#9 Updated by Klaus Frank 9 months ago

Ok, I'm fine with having a professional dispute, but I'm not fine with you personally offending me (on twitter).

@Jakub Jirutka: I'm sorry to annoy you with that, but can you please step in and help put out the blaze?

Microsoft WSL is about extinguishing the threat of Linux by disparaging the underlying OS by "appifying" it.

This is just your opinion and not baked up with facts. Me on the other side hols the belief that Microsoft is obsoleting Windows, as they have no real benefit of it. They make far more money with azure and Linux than with Windows Desktop. Also Microsoft has already acknowledged that even there own software runs better on a true Linux host than on a true Windows host. Also Azure is powered to a big slice by Linux (https://fossbytes.com/33-microsoft-azure-vms-now-run-linux-operating-system/).
Also I want to bring your attention to one fact, Microsoft is one of the 5 top contributors to the Linux Kernel (https://www.theinquirer.net/inquirer/news/2166123/microsoft-contributed-code-canonical-linux-2632).

Klaus Frank helps do this to Alpine because he does not care about free software.

If I would not care about free software I would not have written the WSL Launcher and I also would never had spent the annual developer registration fee for the Windows Store...
I've started this project with good will and in the effort of providing value to developers working with windows notebooks, but are developing for Linux either docker containers or cloud environments.

#10 Updated by Klaus Frank 9 months ago

I also want to add a Link to this Issue #8936 as it is related and I'm the "other person from irc".

#11 Updated by Natanael Copa 9 months ago

#12 Updated by William Pitcock 9 months ago

Klaus Frank wrote:

Ok, I'm fine with having a professional dispute, but I'm not fine with you personally offending me (on twitter).

@Jakub Jirutka: I'm sorry to annoy you with that, but can you please step in and help put out the blaze?

Microsoft WSL is about extinguishing the threat of Linux by disparaging the underlying OS by "appifying" it.

This is just your opinion and not baked up with facts. Me on the other side hols the belief that Microsoft is obsoleting Windows, as they have no real benefit of it. They make far more money with azure and Linux than with Windows Desktop. Also Microsoft has already acknowledged that even there own software runs better on a true Linux host than on a true Windows host. Also Azure is powered to a big slice by Linux (https://fossbytes.com/33-microsoft-azure-vms-now-run-linux-operating-system/).
Also I want to bring your attention to one fact, Microsoft is one of the 5 top contributors to the Linux Kernel (https://www.theinquirer.net/inquirer/news/2166123/microsoft-contributed-code-canonical-linux-2632).

Yes, Microsoft is contributing code only to integrate better with another of their products, Hyper-V. When they are actually maintaining systems in Linux that aren't about peddling any of their other software, then maybe that metric will actually be relevant.

Klaus Frank helps do this to Alpine because he does not care about free software.

If I would not care about free software I would not have written the WSL Launcher and I also would never had spent the annual developer registration fee for the Windows Store...
I've started this project with good will and in the effort of providing value to developers working with windows notebooks, but are developing for Linux either docker containers or cloud environments.

Paying a fee for a registration to assist Microsoft in their efforts to harm Alpine by EEEing it is not "caring about free software," indeed, it is the opposite.

If you care about "good will" you would just go away and understand that there are many who do not wish to have their work in Alpine used as a tool for Microsoft to EEE their work.

#13 Updated by William Pitcock 9 months ago

Aside from the political issue of whether or not it is ethically acceptable to assist Microsoft in EEEing decades of other people's work (again, if you proceed, I will take you to court), lets talk about technical issues for a moment.

Why install shadow? You can and should be using busybox commands for anything shadow provides.

/ is chmod 755 during install time, but what happens if you choose to NOT add a system user and instead run as root?

On top of the political agenda being crap, so is the launcher itself. You're not getting "genuine" (ha ha) Alpine with this installer, that's for sure.

#14 Updated by William Pitcock 9 months ago

Finally, I would just like to highlight that I am working on researching ways to cripple the functionality of my programs (including those shipped in the base image) on WSL.

#15 Updated by Natanael Copa 9 months ago

Frank,

I don't mind Alpine being available via the Windows Store as long as you and Microsoft comply with the licenses. As long as you do comply, you don't need our permission.

That said, I appreciate that you asked.

I do worry about maintenance though. What happens if you disappear in the future, and the windows store only has old, unsupported version in their store? I don't want anyone in the future to demand me to make new releases for WSL, or anyone demanding me to fix bugs in Windows.

Other than that, please do whatever you want, the software is free. Just make sure you comply with the licenses.

#16 Updated by Klaus Frank 9 months ago

Natanael Copa wrote:

I do worry about maintenance though. What happens if you disappear in the future, and the windows store only has old, unsupported version in their store? I don't want anyone in the future to demand me to make new releases for WSL, or anyone demanding me to fix bugs in Windows.

apk update && apk upgrade
It's as simple as that. It is like having a PC/VM/container/chroot/... with an old version, one just needs to run the normal os upgrade procedure, you don't need to care about all of it after the initial bootstrapping.
And for bigger upgrades, like jumping to new versions, one just needs to follow the official guide: https://wiki.alpinelinux.org/wiki/Upgrading_Alpine
If you want, you can even swap your whole userland with the one from ubuntu/gentoo/archlinux/...

#17 Updated by Natanael Copa 9 months ago

Klaus Frank wrote:

Natanael Copa wrote:

I do worry about maintenance though. What happens if you disappear in the future, and the windows store only has old, unsupported version in their store? I don't want anyone in the future to demand me to make new releases for WSL, or anyone demanding me to fix bugs in Windows.

apk update && apk upgrade
It's as simple as that. It is like having a PC/VM/container/chroot/... with an old version, one just needs to run the normal os upgrade procedure, you don't need to care about all of it after the initial bootstrapping.
And for bigger upgrades, like jumping to new versions, one just needs to follow the official guide: https://wiki.alpinelinux.org/wiki/Upgrading_Alpine
If you want, you can even swap your whole userland with the one from ubuntu/gentoo/archlinux/...

I know its super simple to upgrade. Still, people expect us to ship updated docker images for old stable branches, and people will complain when the alpine release from WSL is old and vulnerable.

What I need is someone taking care of it so people don't come to me in the future, because that is what usually happens. If this is important for Microsoft, fine, have them to provide someone to do the work. (I don't think they will. They will expect us do this) If this is important to you and want to take the responsibility and deal with the windows users, great! Just make sure that the licenses are respected.

#18 Updated by William Pitcock 9 months ago

You all do what you want, but know this.

If Alpine appears on Windows Store, myself and several other developers will resign and quit contributing. We do not want to contribute to Microsoft's promulgation of Linux to "app in Windows Store" status.

If you really mean to "do no harm," consider the systemic effects of several devs quitting. Will Microsoft be funding replacement devs?

Why continue to assist Microsoft with this effort?

Have you considered that you are doing Microsoft's bidding right now by introducing such a divisive and controversial topic such as Alpine on Windows Store?

Why?

Why?

Why?

Have you even remotely considered the public relations victory that you're giving Microsoft if you allow them to even announce this at Ignite?

“Linux is a cancer”

Steve Ballmer, 2001

p.s.: I would like to again highlight that I do not care if software included in the base image written by me works on WSL or not. In fact, I consider it a feature if my software does not work on WSL, and when given a choice to write things in a way that does not work on WSL but works on real hardware, then I know what choice I will be making. I consider what WSL actually represents to be a grave threat and will not be assisting it in any way, including upstream. If you all want to undermine nearly 4 decades of pursuing software freedom, fine. Let that blood be on your own hands, it will not be on mine. I am also disappointed that ncopa attempts to gain consensus on this when the real answer is to not participate in the WSL adaptation of our collective work.

#19 Updated by Klaus Frank 9 months ago

William Pitcock wrote:

You all do what you want, but know this.

If Alpine appears on Windows Store, myself and several other developers will resign and quit contributing. We do not want to contribute to Microsoft's promulgation of Linux to "app in Windows Store" status.

If you really mean to "do no harm," consider the systemic effects of several devs quitting. Will Microsoft be funding replacement devs?

Why continue to assist Microsoft with this effort?

Have you considered that you are doing Microsoft's bidding right now by introducing such a divisive and controversial topic such as Alpine on Windows Store?

Why?

Why?

Why?

Have you even remotely considered the public relations victory that you're giving Microsoft if you allow them to even announce this at Ignite?

“Linux is a cancer”

Steve Ballmer, 2001

p.s.: I would like to again highlight that I do not care if software included in the base image written by me works on WSL or not. In fact, I consider it a feature if my software does not work on WSL, and when given a choice to write things in a way that does not work on WSL but works on real hardware, then I know what choice I will be making. I consider what WSL actually represents to be a grave threat and will not be assisting it in any way, including upstream. If you all want to undermine nearly 4 decades of pursuing software freedom, fine. Let that blood be on your own hands, it will not be on mine. I am also disappointed that ncopa attempts to gain consensus on this when the real answer is to not participate in the WSL adaptation of our collective work.

The Microsoft Ignite talk about WSL: https://www.youtube.com/watch?v=6brrLutInCw

#20 Updated by Klaus Frank 9 months ago

The Microsoft Ignite talk about WSL: https://www.youtube.com/watch?v=6brrLutInCw

#21 Updated by William Pitcock 9 months ago

Since Microsoft did what they promised to do out of band (join the Open Invention Network and donate all 60k software patents to the public commons), I withdraw my hold on this. I encourage this to move forward. I believe the vote can be withdrawn at this point.

#22 Updated by Klaus Frank 9 months ago

William Pitcock wrote:

Since Microsoft did what they promised to do out of band (join the Open Invention Network and donate all 60k software patents to the public commons), I withdraw my hold on this. I encourage this to move forward. I believe the vote can be withdrawn at this point.

Thanks for your consent. I'm very delighted to have this issue resolved.

Alpine Linux is now publicly available at: https://www.microsoft.com/store/productId/9P804CRF0395

@Jirutka: I think this issue can now be closed ;-)

#23 Updated by Natanael Copa 9 months ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF