Hacker News new | ask | show | jobs
by schalab 2137 days ago
Imagine if the internet was started by one corporation.

Instead, the internet is an open source set of protocols.

The answer lies in converting companies which abuse becoming the standard due to network effect, to an open source set of protocols.

Maybe give them a period of 10-20 years to profit. Then they have to expose a public set of standards and protocols which can be used by everyone else.

For instance microsoft windows after 15 years, would be forced to release a freeware version of code, which contained all functionality they had at that time.

Other companies and users could build on this code and thus microsoft are no longer the standard. Just a version of it.

1 comments

Nice idea but not sure about the example.

> and thus microsoft are no longer the standard

15 years ago was 2005. Imagine MS would open source Windows XP SP2.

I don't think anyone would build an OS better than modern Win10 from that code. 15 years is a long time: that WinXP was primarily 32-bit (64 bit build technically existed, but no one used that), it wouldn't support modern hardware, and won't run modern software either. I see why some people would like to have that code (education, research, maybe some embedded applications or servers), but I'm pretty sure Microsoft would remain the standard.

To stop being standard, in addition to that law MS need to screw up Windows in a huge way. I wouldn't expect that to happen ever, they're large company managed by reasonable people.

> Imagine MS would open source Windows XP SP2. [...] I don't think anyone would build an OS better than modern Win10 from that code.

Uh, yes they would? It's literally trivial - you just hit compile. As you note, a 64-bit build did exist, so it's not even limited to now-obsolete hardware, although unless you want to call some of the things at [0] automatically better than XP just because they run on amd64, even that wouldn't disqualify it from being better than windows 10.

0: https://wiki.osdev.org/Projects

> it's not even limited to now-obsolete hardware

That's not correct, it is limited. The primary reason being GPU drivers, Vista switched to hardware compositor, as a side effect they reworked kernel API of GPU drivers. I don't think Intel, NVidia or AMD ship drivers for WinXP x64, or Server 2003, for their current generations of products. To lesser extent, same applies to the rest of the hardware: I don't expect it's easy to boot XP from NVME SSD, or support modern flavours of wireless like 802.11n or BT4.

Software is even more diverse, vast majority of modern apps won't run on XP64. For the software that I currently work on, the largest missing pieces are Direct3D 11, Direct2D, DirectWrite, Media Foundation, and .NET framework. These components are huge, Microsoft spent many millions to make them.

Windows is not just code, it's an ecosystem.

Isn't there a fallback driver that almost all graphics cards support?

It seems like if anyone wrote a single implementation of that it would work.

Depends on your definition of “work”.

The driver is called “basic display adapter” or something like that. Modern Windows is barely usable without 3D GPU acceleration. Too many pixels to render and doing that on CPU is too slow, especially so on laptops. Vast majority of modern software, web browsers included, normally use a 3D GPU to render. And since Vista, windows desktop compositor, dwm.exe, uses a 3D GPU to compose windows into desktop.

Old Win32 apps working on XP will be OK, though. WinXP shell didn’t require nor use a 3D GPU, and very few apps of the era were using GPUs. Unless you have too many pixels in the display, or the app in question renders 3D graphics of any sort, the performance probably gonna be adequate.

> Modern Windows is barely usable without 3D GPU acceleration.

That is a specific example (admittedly only one) of why Windows XP is better than Windows 10, so I'm not sure why you're citing that as if it supports your point.