An Argument for Why Windows Will Go Open Source
justinkterry.com
justinkterry.com
Windows server already has been winning on-premise every year for a long time There are way more SMBs out there than big businesses and they all run Windows servers on-premise. Just take a look at the usage numbers of one popular piece of cross-platform software that IT departments might run - https://community.spiceworks.com/networking/articles/2462-se...
Oh, you were just talking about web-servers, right? Well Windows server also has greater than 30% of the public web server market share, more than any one Linux variant - https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...
As the Apple crowd likes to point out - Microsoft is also a profit leader compared to companies that hock Linux.
> Creative work is going to mobile in a big way...
No it's not.
> ...gaming is already mostly mobile...
Not really, unless you contort your stats to include every single person playing Candy Crush on their phone. Have you ever watched Twitch? Nobody is playing mobile games there. Everybody there is running Windows.
> ...there’s been a huge move to natively support Linux with games (roughly half of new steam releases and 25% of all steam games are already on Linux)...
Oh really? Linux having 25% the support for games means Windows is going down, but somehow Windows having 30% of the web server market means that Windows is also going to lose there? Pffffft. OK!
This article is garbage.
Yes, Microsoft will still be able to charge money for the open source code, but if the code is open source, other people will be able to distribute it free of charge or for a fee, that is not at all illegal or piracy! Open source has always meant this. Let me quote from the Open Source Definition, by the Open Source Initiative, the only authority on what constitutes open source:
> 1. Free Redistribution
> The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
All of the open source licenses listed on osi.org allow users to redistribute the software free of charge.
https://www.gnu.org/philosophy/open-source-misses-the-point....
Last month, I joined the FSF. I find that great parts of my livelihood are thanks in part to his efforts in computing, law, and rights.
For others, ethical progress--that is, technological progress that does not impede on human rights--is of higher value than technological progress alone.
>[I]s Raytheon's freedom to use a compiler as important as individual freedom?
"As important" is a distraction: comparing degrees of importance with respect to rights and freedoms will always be a rabbit hole into which you will get lost as you differentiate infinitesimal cases in context. Freedom is freedom, and if humans are allowed that, that is enough.
You're thinking of _free_ open source software. While I'm not a huge FOSS-head, there is a distinct difference between "_free_ and open source" and just "open source". It's all in the licensing.
I could, in theory, write a license that says, basically, you can't distribute my source code, but you can look at it, compile it, and even alter it to fit your needs. In fact, a lot of licenses on older software projects allowed for exactly that.
I could also release a license that says that you can only redistribute my code if you haven't purchased it, but if you have purchased it, you're not allowed to redistribute it. Pointless? Yeah, probably. But that's still a valid license.
Anything goes, as long as you can come up with the proper legalese to put in the license.
EDIT: I get it, some people support OSI's definitions, some FSF's, and apparently sharing the opinion of one has angered the supporters of the other. A lot of this is subjective, and I know that. I'd appreciate it if you discussed and voted accordingly.
When I hear "open source", I don't know which camp the speaker is sitting in. It's perfectly reasonable to get mixed up sometimes.
While I agree one can still certainly debate the legitimacy of this situation if one so desires, it's pretty much consensus 'within the literature' that the OSI definitions 'are correct' at this pont..
It just isn't subjective. "Open Source" is a technical term with a clear well understood meaning.
Technical terms have definitions that transcend the opinions of people who use them. When I say "byte", everyone knows exactly what I mean, as it's a unit of measurement. When I say "agile", it could mean any number of different things, depending on context. When people say "open source", the thought that comes to a lot of people's minds is simply "I can see the _source_ code, because it's out in the _open_."
It's subjective, and, frankly, annoying. It shouldn't matter how something is licensed, because the most important aspect of software is whether or not it provides value and helps me do my job. Bickering about semantics doesn't get work done.
Your example is also incorrect because I'll assume you think that a Byte is 8 bits but technically it's not, it's an arrangement of bits a byte can be 0-255bits, it was common to have non 8bit bytes in the past.
The 8 bit byte was set by a specific ISO standard and later by IEEE but it's defined as 8 bits only within those standards.
Agile also has a definition if nothing else because you have bodies and various foundations promoting a specific implementation of it.
"Open Source" has a specific definition that is the one from the OSI.
https://opensource.org/osd-annotated
Any conflicts that exist are not conflicts in the definition of Open Source, but are different definitions for different terms which is why the terms open-source software and free and open-source software exist.
This isn't a subjective matter, this is a very well defined term, if nothing else because OSS and FOSS software is used in the industry including in commercial products this requires the definitions and the licenses to be very very specific to meet legal and regulatory requirements.
So while you can say there are different software licenses to meet the requirements of being Open Source it needs to meet the definitions set by the OSI which are in general mean that the source code must be available, that the distribution is not restricted in any way which usually means that it's distributed under a free and non-discriminatory license agreement.
You may chose not the follow this definition but this doesn't mean that this is a correct action, this is no more subjective than the definition of a kilogram. Definitions exist for a reason and that is to remove ambiguity, if ambiguity exists its either because there is no definition or consensus which is clearly not the case with Open Source Software.
Emphasis mine.
Turns out opensource.org disagrees with them. But it doesn't seem like FSF (or rather, RMS, and the FSF by proxy) agrees[1].
In the end, I don't really have a horse in this race. I just write code. I don't care how my company's legal department chooses to protect it.
Frankly, I find it kind of tiresome that there's such a big argument over this stuff.
[1]: https://www.gnu.org/philosophy/open-source-misses-the-point....
https://www.gnu.org/philosophy/free-open-overlap.en.html
I manually went through each of the OSI licenses and compared them to the FSF's list a while back, and there were only a couple differences. I don't have time to dig them up right now, but they're largely the same.
We reject the term "open source" not because of the licensing, but because of the philosophy: it was created to explicitly ignore the ethical concerns (users' freedoms) and focus instead on a development methodology.
The Open Source Definition[1] has defined the term "open source" since the late 1990s to mean exactly this.
The term "Open" refers to open-membership (for contributions), and not transparency.
[1]: https://en.wikipedia.org/wiki/The_Open_Source_Definition
> I could, in theory, write a license that says, basically, you can't distribute my source code, but you can look at it, compile it, and even alter it to fit your needs.
You can, but this doesn't meet the Open Source Definition, so you might be infringing on their trademark if you were to call that an Open Source License.
You can indeed do what you like in the license (within the bounds of the law) but if it doesn't meet the OSI definition it is not Open Source.
I like the OSI. I use a lot of stuff that they endorse. My 3D printer is OSI certified (or whatever the proper terminology is). But I use my printer to solve problems, and it being open or closed source doesn't really matter, so long as it helps me solve problems.
I like the FSF. I use a lot of stuff that they endorse. One of the operating systems I use is FSF certified (or whatever the proper terminology is). But I use this operating system to solve problems, and it being open or closed source doesn't really matter, as long as it helps me solve problems.
I like Microsoft. I use a lot of stuff that they make. One of the operating systems I use. . .you get the idea.
I recommend just using the definitions of things correctly then :) much easier that trying to persuade other people that the definition does not exist.
When cooking I use the kilogram as defined by the SI system - I don't use some other random mass that I call a kilogram.
Similarly with software legalities. I also just use the standard terminology so other people e.g. my company's legal department gets the correct inference of what I am talking about. If you use it to mean something else you will confuse them.
What is not fine is when the person using the technical language wrong starts explaining that their ignorance is better than other peoples' knowledge.
For me its not ignorance, I am aware of both definition, I just prefer one better than other.
This is like saying that personally you use the definition of kilogram to be 3.5 measures of flour using one of your cups. You would struggle when using other people's recipes and other people would struggle when using yours....
Software licensing is complex enough already. Why not keep it all simpler and use words as they are defined and understood by the lawyers who are the ones who actually have to deal with this side of things? Then us programmers can just write the software.
That's why they should not use such simple and common words to define complex software licensing.
"Free Software" and "Open Source" mean pretty much the same as far as the practices, motions and licenses are concerned (but people insist there are huge differences in terms of philosophy). "Free and Open Source Software" is just a new-ish term that includes either team to stop the whining.
"Open Source" was a mostly unused term in the software licensing field before 1998 or the people at OSI who drafted the Open Source Definition likely would have gone for something else.
"Shared source" was introduced by Microsoft a couple years later and is a pretty descriptive term for those less liberal licenses (where sharing code happens outside the criteria of the OSD).
Why not just go with that instead of arguing why people should use a term to mean something different? There was an effort to do just that, by Microsoft, to muddy the waters, before they settled on "shared source", which might be why you get those harsh responses.
Unless those third party licenses allow for redistribution of the source code under open source licensing terms (haha. no.), the result will _at best_ be a CDDL-alike licensed code distribution of everything else. See how well that worked for OpenSolaris' reception in the wider open source ecosystem.
Windows has ~30 years of legacy. There are probably some bits of Adobe code in font rendering - although at least in this case, Adobe still exists so at least it's possible to call somebody to try to negotiate.
If there's some significant piece of code in some ancient video codec (to pick some silly example) that came from a third party in the late 90s who then went under, it'll be a mess to track down if there's even anybody who needs to be called.
Now, such a codec is well isolated: "Free Windows doesn't support the AncientCrapware4Windows codec. Does anybody care?", but what if some fundamental parts of the shell was licensed back then and dragged forward all those years?
It's the long tail that hurts and just checking _if_ there's anything to do is lots of legal work that scales by lines of code (and OpenSolaris was tiny compared to Windows). For a product that (as the article claims) approaches a retail value of $0, that's a steep investment.
Unless Microsoft's lawyers can make sure that something like this (deeply integrated component with unclear terms with regard to relicensing) does _not_ exist, publishing the Windows source code is a rather expensive task.
What does the author mean by 'creative work' here? Writing? Image edition? Video edition? Software development? None of those things are going mobile in any way shape or form as far as I know
> Losing PC gamers also isn’t a major concern for Microsoft, because again gaming is already mostly mobile
Casual gaming is already mostly mobile. Hardcore gaming is still very much a non-mobile thing, and will stay as such for the foreseeable future. Companies are developing their games (think Call of Duty, Overwatch, Battlefield, Dota) with consoles and desktops in mind. And regarding gaming on Linux, it's better than it was -- it was nil -- but it's still a joke. Go to the steam store page right now and see how many games on the front page run on Linux
- Telemetry.
- Candy Crush.
- Updates crammed down my throat.
- ReFS removed from W10 Pro.
- Still an OS that doesn't know if it's for touch or keyboard/mouse. The information density on Settings app for example is laughable on a 27 inch monitor.
- Every major update used to reset search/privacy settings.
But yeah, it's what people wanted.
But still your comment doesn't even answer the comment you commented on.
I use windows and arch linux and ubuntu. Like them all.
And yes my arch linux i need to update anyway otherwise my chrome and kernel is out of date and insecure.
Windows 10 alone has roughly 10 times more users than the Macintosh OS or Linux.
We so nearly had it with Ubuntu. I suspect sooner or later Google will pull it off in some form or another, if ChromeOS doesn't already count.
This means that 95% of people who own windows do not care about all the issues you pointed out. I subtracted 4% because some people do not like the telemetry and maybe 0.001% dislike the fact that candy-crush is pre-installed.
The vast codebase that is the "full" x64 Windows desktop OS though? I'll eat my hat if that happens. Source made visible, sure. That's already true for a lot of it. But proper open source, don't hold your breath.
This may be because:
1. Cloud is where the money is.
2. Maintaining an OS is a lot of burden (Hardware drivers,
patents, tie ups with several hardware/software vendors,
developer cost, and so on)
So the simple thing they can consider is to ditch the OS, and develop platform independent solutions. Gradually this will (hopefully) happen.Releasing the OS source will be too much costly (cleaning back doors, lots of code smell, and so on). This will cause too many people vulnerable to attacks. And that can't happen.
So no, Windows won't go open source.
Also, the author should have defined what he meant by "open source" because it means different things to different people.
Surely, if Windows is open source, we can port Wine to it and run all the win32 executables we want? Wine already runs old Windows programs better than Windows does.
[1]: https://www.youtube.com/watch?v=vPnehDhGa14
EDIT: TO be clear, this is a video of upgrading to Windows 7, and there is a direct upgrade path to 10 from 7. Also, as per another user's reply, this doesn't hold true for 64-bit. However, that doesn't change the fact that Wine doesn't and really can't run win32 better than win32 does.
Not on x86_64.
https://superuser.com/questions/140953/why-cant-a-64-bit-os-...
I maintain that Windows is always a better choice for running win32 applications, unless you don't have that option. I'll also note that I'm not saying Wine is useless, or anything along those lines. I merely take issue with the idea that it runs win32 applications "better" than a system that's designed to be backwards compatible with win32 applications by the same entity that made win32.