Hacker News new | ask | show | jobs
by shanselman 1504 days ago
We do try.
2 comments

Is there any chance that older versions of Windows will have their source code officially released?

They're already out there as source code leaks, but it would be nice to be able to view it legally and perhaps more completely, in a similar way to how we can view the .NET reference source.

I really enjoyed browsing the NT4 and 2000 leaks, it was fascinating to see how Windows works under the hood, and I was interested to see how well (or not) my understanding of the disassembly matched up with where it came from. It also helped massively with troubleshooting and understanding API surfaces, particularly the kernel side.

Could this ever happen, is there the political will internally to be even more open on the OS side?

I'm not from Microsoft, but I think they're probably working on stuff like that, it's just a monumental task at the start, since they've probably licensed many components from companies that probably aren't around anymore... so you'd have to chase current license holders, which can be super tricky.

Besides the fact that they have to scan the code, remove offensive bits, figure out if some code is still in use and it might have security vulnerabilities or could disclose things they don't want disclosed, etc.

I guess they're slowly open sourcing kind of stand alone components, to bank on nostalgia.

I wouldn't be surprised if 20 years from now all the Windows plumbing is open source (it's not a money maker for them, anyway), à la Darwin and MacOS, and they just keep the management layer proprietary: settings, shell, UI toolkit, etc.

Visual Basic 6.0? (I mostly kid, I know this has been enough of an ask for enough years if it was similarly trivial it would've probably happened by now.)

Thanks for your work on open sourcing awesome old Microsoft stuff!

Someone's attempting a recreation. "Rad Basic: 100% compatible with VB6"[1].

[1] https://www.radbasic.dev/ https://news.ycombinator.com/item?id=31202696 (3 points, 4 days ago, 0 comments)

Sigh I was just about to ask about MS-DOS 6.22, Windows 98, that sort of thing, and I think I figured out a bit more of the answer.

1. <Company> releases source code to old useless thing that's only of historical interest

2. Ginormous community forms around it (see also: retrocomputing in general, niche hyperfocused interest groups around old software like this)

3. Community basically picks old useless thing up off the ground and rocket-boosts it into being fun and genuinely usable

4. Now-useful thing becomes a way to do cool stuff; it is now relevant!!1

This phenomena can only work if one very specific thing is true: if the functionality made available by the software in question is closed-ended. DOS 3.30 is closed-ended; it doesn't support all the APIs of DOS 6. This software is also closed-ended, in the sense that there would be no real-world value gained from trying to make this specific codebase line up with contemporary standards (of code design, or render quality, etc etc); such a project would universally be easier to start from scratch, even if it was using this as a base for inspiration. Community effort to fix something like this without completely ship-of-Thesesus-ing it will get a decent bit of the way there, but (being a tad objective) it'll have a stopping point. I think this scope limitation is a key part of what makes it possible to release old stuff like this.

Win98 and VB6 and things of a similar class have both huge niche focus and interest by the retrocomputing community, AND they are fundamentally open in the sense that Win98 is an entire operating system, and VB6 is an entire development environment. The purpose of both products is fundamentally to enable. To enable you to run software and enable you to build it. So, couple all that potential with the reception the release would bring, and... oops, the community forked Win98 and made it run on the latest CPUs and added VM window resize support and started backporting random NT (and brand-new) APIs to make it do new and random stuff. And then they went and fixed all the bugs in VB6's runtime and added a JIT (!) and WASM support and ThEn ThE FaTeFuL GiThUb IsSuE #42 GoT OpEnEd WhErE SoMeOnE AcTuAlLY OuTlInEd HoW To SuCcEsSfUlLy PoRt iT tO LiNuX.

The other problem is that things like old versions of Windows or Visual Basic are of a scale that's an order of magnitude larger than smaller releases like the one presented here, making community enablement that much more impactful - maybe not to the full order of magnitude, but to an extent that is nontrivial... and might hit the tipping-point of virality that would really attract attention to the project and get it front-and-center into the pop-culture limelight.

My working theory is that there's isn't anything fundamentally wrong with this, to the extent that it's quite possible legal wouldn't fundamentally be totally against it. Rather, you have

<Company> officially open sources thing -> community promptly hefts thing onto their collective shoulders -> thing is now relevant -> thing's open-endedness combined with its relevance turns it into a serious contender for contemporary mindshare -> everyone starts looking at <company> and making noises about how the original release was technically official -> people start asking why <company> "has abandoned *thing*"

D:

If anyone could shoot down this idea and let me know it is actually some other type of legal ramification (that maybe I could get further details about in person someday) I would be very appreciative.

EDIT: This is now at 0. Okay... interested to hear more details. (Edit2 just before it locks: it's back to 1 at least heh)

My guess is that they'll open source more stuff. Nostalgia is a powerful tool, and Microsoft's reputation is worse than that of FAANG, in many circles. They know they need to work on that, my guess is that it's primarily a priority/budget thing.

Someone needs to work on these releases and the big ones can be scary, especially from a legal point of view. So they'll just slowly release one small item at a time, and hopefully over time most of them are out in the open. Maybe we even get some big fish, like Win98.