Take the 2-minute tour ×

Recently, I've been trying to learn more about the inner workings of Unix. One really great feature I've found about Unix systems and the C programming language, is that there is a great level of transparency. By design, this transparency is not available for languages like C# or Python, but can this same 'transparency' be found for Windows?

share|improve this question

closed as not constructive by alex, Diago Nov 11 '09 at 20:19


sounds more like a stackoverflow qusetion –  GiH Nov 11 '09 at 5:32
What do you mean by "transparency"? Python is utterly open, you can even read its source code. –  CarlF Nov 11 '09 at 7:57
What's not transparent about C#? It's an ISO (ISO/IEC 23270) and ECMA (ECMA-334) standard, it's available for Linux and iPhone development, under the Mono and MonoTouch projects. Your question is extremely vague and rather argumentative. –  alex Nov 11 '09 at 9:59
Can someone tell me why this was closed as 'subjective'? This was a very legitimate (albeit poorly written) question. I felt like I received some very valuable answers, all of which seem to be very to the point and not opinionated at all. Thank you all for the valuable discussion. –  LJM Nov 13 '09 at 1:49
I think what's kept things transparent on the Unix side is that all the pieces are developed by different groups, so the connections between them have to be understandable. –  Peter Cordes Dec 10 '09 at 7:14
add comment

4 Answers

up vote 2 down vote accepted

It has rather little to do with open source

Even when Unix was closed-source, it was still vastly more transparent than Windows.

It's mostly unrelated to closed-vs-open source. And BTW, don't blame Microsoft for keeping their most important piece of technology proprietary. They wrote it, they have every right. It's a perfectly valid choice.

Back to transparency...

If Unix was not transparent and documented during the closed-source period, how did Linux ever get written to start with? How is it that it's a rather 1:1 clone of Unix?

The answer is that Unix had a clean, simple, inspired, elegant, easily-documented design. That's why it's transparent, and that's why the open-source clone Linux was able to be written.

Windows is a beast of staggering complexity. They probably couldn't reasonably document the whole thing if they wanted to. The Windows kernel has a totally different interface than Win32 and the other API layers that Microsoft publishes.

Sure, the proprietary nature of Windows handicaps understanding a bit. But if Win was totally open-source it would still require ten or one hundred times the effort to understand Windows vs Unix.

share|improve this answer
Remember also that UNIX was in fact closed-source. And the first open-source variants began appearing way before Linux. Besides, UNIX zealots tend to dislike Linux being called UNIX since there are many differences and Linux never bothered to actually be a UNIX variant (implementing most of POSIX isn't enough, as a look at Windows NT shows). Still +1 for a well-balanced answer. –  Јοеу Nov 12 '09 at 7:55
add comment

While you won't be able to read the source, there are several books which go to lengths to explain how things work. Windows Internals (5th edition I believe is the latest) is one such.

Will it be as transparent as Unix or Linux? Probably not. Will it give you a much more in-depth understanding of how Windows works? Probably so.

share|improve this answer
additionally, you'd want to obtain & install the latest SDK and DDKs, which provide lots of info about Windows userspace and kernel APIs. –  quack quixote Nov 11 '09 at 6:03
add comment

Many (most?) Unices are open source, whereas Windows is not. Night and day.

share|improve this answer
That's hardly true, unless you're not counting the mostly-dead Unix implementations. You have AIX, HPUX, Tru64, SCO Unixware, and I think many others. Solaris until recently was in that camp, but now shares code with OpenSolaris. Old SunOS is closed, though. On the free side the major ones are *BSD / Darwin, and Linux. What else? –  Peter Cordes Dec 10 '09 at 7:13
add comment

Not so much. To enable transparency, you have to allow people to look in and see what you are doing. Windows is currently closed source & there is no hint that will change any time soon. That said, Microsoft has made headlines recently releasing Hyper-V and an sdk for facebook and a few year ago pushing the OOXML, not without controversy.

Microsoft has been trying to determine how best to deal with the open source movement for years: confront, ignore / ridicule, or embrace? They have tried them all, time will tell how they decide to proceed in the future.

share|improve this answer
add comment
