Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows Subsystem for Linux is not open source #178

Closed
4creators opened this issue Apr 13, 2016 · 13 comments
Closed

Windows Subsystem for Linux is not open source #178

4creators opened this issue Apr 13, 2016 · 13 comments

Comments

@4creators
Copy link

Excitement and interest created by Build announcement of "Bash on Ubuntu on Windows" Windows feature indicates great interest from OSS and Linux community in the project. I am convinced that Microsoft could expectd that community would provide helping hand in WSL development what based on experience with other MSFT open source project like .NET Core stack would be mutually beneficial. I personally see a great potential for new functionality like cross platform workloads running on single windows kernel or due to unexpectedly high performance in CPU/Memory bound tasks a lot of applications in scientific computing or in general HPC systems (see benchmarks by Phoronix - The Performance Of Ubuntu Software Running On Windows 10 With The New Linux Subsystem). One could imagine running different file systems as part of WSL i.e. ZFS or easily extending WSL support to other *nixes or Linux distros.

Possibilities are countless and allowing Linux hackers to participate would be great selling point for OSS community.

There is a proposal on Windows Uservoice so anyone can upvote it - Make Windows Subsystem for Linux Open-Source .

@MartinLenord
Copy link

See #1

@4creators
Copy link
Author

Missed that one :) probably bcs it has been closed. I think it is not the best idea to close discussion on that issue here as github seems to be significantly better platform to discuss it. I would rather follow .NET issue tracking policy here rather than delegate all of it to UserVoice forum.

@russalex
Copy link
Contributor

@4creators - this is going to sound bad on my part, but I have not been able to find anything about .NET's issue tracking policy. Is there something written down?

More than happy to follow a set of rules the community knows and likes.

@4creators
Copy link
Author

@russalex - I think that way .NET projects have created informal issue handling policy evolved over time based on my observations - it's practice based without any formal documents - I have watched several of projects as a subscriber for almost two years. Essentially they have divided issues into categories which are assigned a label i.e. Feature request, bug, etc. etc. - currently they use dozens of labels. The set of labels describes the scope of problems which can be raised in issue tracking system. They can be divided into categories like features, milestones, bugs, tests, performance goals and by using linking between them you are capable to create relations like bug blocking release candidate 2. In my opinion the best way to look at this it would be to read labels of .NET Core, Roslyn or CoreFX projects, than some documentation on contributing and derive from this some subset which is meaningful for Your project. I see labels as a set of graph nodes and relations as graph edges. If you connect it with product roadmap it creates very clear and easy to understand issue tracking system and project management tool. Than of course one has at his disposal all tooling provided by github to manage this.

@russalex
Copy link
Contributor

Thread is an old one.

Since then we have implemented the labeling scheme. Hopefully this promotes some additional visibility into our thinking. Also added the high priority features here (read: things we are focused on for the Anniversary Edition). I'll give more information when we have it.

@russalex
Copy link
Contributor

russalex commented Aug 1, 2016

Discussion has been inactive for a while. Please feel free to re-open / add more comments if anything new comes to mind.

Closing out to keep the issues clean.

@russalex russalex closed this as completed Aug 1, 2016
@ytrezq
Copy link

ytrezq commented Sep 25, 2016

@russalex : Isn’t lxcore.sys basically a stripped Linux kernel ? If yes, in that case we can be sure it shares nothing with the original one (like the original ᴠꜰꜱ api) since the licence is ɢᴘʟ (forcing all forks like Webᴏꜱ to publish their source code)

Am I right ?

@benhillis
Copy link
Member

Lxcore.sys is a clean room implementation of the Linux kernel ABI. It contains no code from the Linux kernel and we have a policy that our developers cannot even look at any of the kernel source.

@russalex
Copy link
Contributor

There is a blog post on the WSL architecture by @dethoma here. It is a great place to find more information on how the subsystem works. The blog talks a little about how syscalls are handled and how we can do all of this without looking at the Linux kernel code. @stehufntdev also has a very informative blog that deep dives on the system calls if you're curious. That blog is here.

@fpqc
Copy link

fpqc commented Sep 30, 2016

@russalex Spencer McIntyre found a fun implementation-specific thing you guys did with memory mapping, and how sending invalid flags in Linux is ignored while in WSL they return an error message. Exactly the kind of quirk you would expect when the programmers are working from a spec. =]

@stehufntdev
Copy link
Collaborator

stehufntdev commented Sep 30, 2016

Thanks for the feedback. We noticed that difference as well in testing but left the WSL behavior since it wasn't breaking any known scenarios. The WSL behavior will likely have to be changed eventually but with memory management syscalls we've found it's better to fail early than let the process limp along and fail in a spectacular way much later in an unrelated code block :).

@fpqc
Copy link

fpqc commented Sep 30, 2016

@stehufntdev turns out that doing it your way protects against installation of some metasploit modules, so don't rush too much lol.

@ShalokShalom
Copy link

This issue was solved, before started: https://www.cygwin.com/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants