source: https://blogs.msdn.microsoft.com/oldnewthing/20180515-00/?p=...
If it was released without the third-party code, then it'd be a research project, which'd be pretty neat but not something most probably expect from "Windows is open source".
But I don't doubt there is other code that is not so easily replaced.
Yes, that's also the reason Raymond Chen gave when people asked Microsoft to open source the Pinball game that was removed from Windows Vista: https://blogs.msdn.microsoft.com/oldnewthing/20121218-00/?p=...
In the comments, a reader traced the chain of ownership and apparently Electronic Arts now owns the Pinball source code: https://blogs.msdn.microsoft.com/oldnewthing/20121218-00/?p=...
I agree it is unlikely, or at least would require a huge amount of work. Then again, Sun did it with Solaris, so who knows what the future holds?
If somebody had told me ten years ago that Microsoft would open source their .Net runtime, port SQL Server to Linux, replace their proprietary browser engine with Chromium, I would have asked that person to give me some of whatever they were smoking. ;-)
Shoutouts to Oracle re-closing Solaris. That was an incredibly pointless move.
Last time I heard anything about Oracle Solaris, they fired more than a thousands developers at once, and some people commented that Solaris development at Oracle was more or less dead. (I have no clue if that is true, however.)
It's still an unfortunate blow. A lot of open-source projects are only as popular and widespread because of companies that effectively champion them in a way that convinces other people or companies to jump on the bandwagon. IllumOS, by way of being the pet project of some fairly unknown software company, is hiding in obscurity at this point when it could have been a serious contender as Solaris.
This probably sounds silly, but I find it sad, personally, because Solaris is probably the second coolest name ever given to an operating system, after Siemens' BS2000.
IIRC, illumos is a loose community full of former Solaris devs, there's no one company behind the illumos kernel.
Joyent, the company behind the SmartOS distribution, I'd say is far from "unknown" — they started that whole node.js thing after all!
I have been using GNU/Linux and BSD on my personal machines since 2000, so the first part would not have blown my mind that much. For my needs (and Google's), quality operating systems were a commodity back then.
The second part, I don't know. Microsoft has been trying to move to a subscription-based model for a long time. Google Docs, GMail, Google Calendar were around back then, smart phones were becoming a thing. Microsoft moving away from traditional desktop and on-premises server software to a cloud-based model that would allow them collect "rent" instead of one-time license payments, that would not have sounded crazy. (Who knows - if they had tried to create a competing offer to Google's services that you did not have to pay for in sensitive data, they could have hit the Jackpot big time...)
Under those conditions, it makes much less sense for Microsoft to hold on to their code as they have done traditionally. But going from the company whose CEO publicly called FLOSS a "cancer" to a company that actively embraces it, that is a pretty huge change. When Nadella became CEO, I joked to a coworker that Microsoft was as good as dead, trying to go "cloud". I was obviously wrong on that one, and now I think if Ballmer had stayed as CEO, Microsoft would probably be much worse off.
[0]: http://googlepress.blogspot.com/2004/04/google-gets-message-... [1]: http://googlepress.blogspot.com/2006/10/google-announces-goo... [2]: http://googlepress.blogspot.com/2006/04/google-calendar_13.h...
You are correct, of course, none of that stuff existed in 2000. 2000 was just the year I started using GNU/Linux. ;-)
That would be a change I’d love to see. But I think a better change would be for newer games not using DirectX and choosing Vulkan instead.
Would that ever happen? Well, if they can drop EdgeHTML..
The sad thing is Vulkan and DX12 are not gaining traction even on PC. Very few games support these low level apis , so adding support for Vulkan on Xbox seems pointless first and foremost.
Many critical components are deep inside Windows kernel, in dxgkrnl.sys, they are very hard to unbundle from the rest of the kernel.
Other critical components are in vendor-implemented drivers, both user mode (this part compiles shaders and implements many per-game compatibility hacks) and kernel mode (this one talks to actual hardware).
Fortunately, there’re already third-party implementations of D3D on top of something else.
Gallium 9, the main downside is no Intel GPU support.
DXVK currently only supports D3D 10-11 and WPF is based on 9, but apparently some people are working on D3D9 support.
There’s also VK9.
It's likely most of the nuts and bolts of Windows can be open sourced without threatening their business model, as competing OSes are pretty architecturally incompatible, and there will always be some closed source parts of Windows. Bear in mind, Microsoft is working heavily on shifting their revenue to being services-based as well.
At first, I was thinking that it would only be bad for the non-technical folk (i.e. other 99%) who wouldn't know how to re-install a better windows. But then, I remembered that even MS is having a hell of a time rolling out updates without breaking machines. All the different branded flavors of windows would just make getting windows updates that much harder or terrifying, I think.
Why not just reserve the trademark Windows to Microsoft? If other OEMs want to muck up their own builds they would have to brand it their own and risk their own reputation.
It's the same with Android. A very small percentage of people buy phones with pure Android OS on them. The rest of the non-Apple crowd buy whatever looks good at the store and calls it Android.
I would absolutely love to be proven wrong on all of this. I rarely use Windows (mostly for gaming) and otherwise a linux is my daily driver, so either way I'm not likely to be impacted much. Perhaps I'm just too cynical after all of the utter nonsense Lenovo and gang have pulled with windows in the past as it is.
If it was open source, it wouldn't be long before there were hundreds of forks that removed the telemetry, advertising etc. That's by far a net win.
Then they could charge for a subscription to the "pro" features and take a cut from apps on the Windows store.
But that would only work if it's legally possible to open source even that much of it in the first place, which may not be the case.
Linux distros already do exactly that for other “open source but non-redistributable” things Microsoft offers, like the MS Core Fonts. The distros’ packages for the fonts don’t contain the fonts, but rather a wizard that goes and gets them from Microsoft’s servers on behalf of the user, and then installs them.
This seems legitimate enough, as an approach; nobody’s ever been sued for this. So I’m not sure there would be much difference in the legality of it if it were the whole OS.
I doubt it. That kind of first-time user experience would probably do more $ worth of damage to the company's reputation and sales than what OEM licensing costs.
Linux vendors may be able to do it just fine, but Linux PC vendors cater to a very different target market from Windows PC vendors.
They could give away desktop licenses, even in the enterprise, and still rake in the cash from Active Directory and Exchange server licensing.
They probably make more from CALS than Windows desktop now.
Sounds about like the days it took to boostrap up Gentoo+X+KDE+etc back in the day.
A machine like that can be had for only 2-4$ hour on your favorite cloud computing platform.
And hopefully the code is sanely enough structured that you don't have to do a complete rebuild too often.
Lots of projects take a long time to build, so it's not a show-stopper by any means. I imagine you could also mix precompiled parts with parts you compiled from source too.
Just not to scare someone off, from building gcc. :] It's fun.
Ultimately, they'll still be able to sell windows like redhat, and it's the stuff that runs on Windows which is more important anyway.
And it's not like Microsoft is Red Hat vs Oracle, they can bury anyone making a "hostile" distro.
Isn’t Windows 10 already more or less free? You can download it on their site, install it, skip the activation and that’s it. There is a message “Activate Windows” at the bottom right of the screen but it doesn’t matter for most people I guess.
select(), which originally appeared way back in the day in 4.2BSD, is a way to not spin — it only returns when a descriptor is ready.
In contrast, select(), from 4.2BSD through the current day, cannot be used for async IO on regular files. It simply returns immediately. If used naively this could result in a busy loop, I guess, although getting stuck in a blocking disk operation seems more likely to me.
EVFILT_READ Takes a descriptor as the identifier, and returns
whenever there is data available to read. The
behavior of the filter is slightly different
depending on the descriptor type.
Sockets
[Non-listen] socket descriptors return when there is
data to be read, subject to the SO_RCVLOWAT value
of the socket buffer.
Vnodes
Returns when the file pointer is not at the end
of file. data contains the offset from current
position to end of file, and may be negative.
There's aio(4), but support and APIs vary wildly across platforms.The Unix async model based around fds and select was really only designed for sockets, and has been extended to socket-like objects (pipes/fifos). Linux has added support for some other sources in the form of e.g. signalfd(), eventfd(), timerfd_create(); the BSDs just added it all to kqueue/kevent. Neither supports async file operations in the fd model (basic operations like read/write; nor more complicated operations like syncing a range, renaming a file, creating a file, etc).