Open source vs closed source programming?
Friday, July 29th, 2011 at
19:38
A lot of people praise Linux for the fact that it gives people access to it’s source code, and talk down on windows for not releasing it. My question is, if you have windows installed on your computer, what is preventing you from looking at it’s source code?
Tagged with: Linux • source code
Filed under: Open Source
Like this post? Subscribe to my RSS feed and get loads more!
Microsoft. They refuse to give the source code. I"m pretty sure that it may be illegal to try and obtain it. Not 100% sure on that.
Actually, Microsoft has released parts of Windows open source. They had to, under court order.
You can disassemble Windows and look at the machine code, but its trillions of pages of 1′s and 0′s. The instructions are cryptic, even experts at assembler would spend decades trying to understand it.
Windows is built with c, c++ and visual basic. Those languages are compiled, thus you can’t readily read the source code. You can attempt to decompile them but that’s a long process and error prone. Plus, it’s against their copyright protection. With Linux you’re welcome and encouraged to look through the source code to improve it.
Source code is different from the way that a program is when you can run it. Source code looks like this:
If x==y {
echo ‘The numbers match’;
z=z+1;
}
You can’t actually run a program when it’s like that. You have to compile it into what is called an executable binary. If you want to see what that looks like, then open Notepad. Then browse to C:\Windows. Drag Explorer.exe into Notepad. You can’t make sense out of that. It’s not source code. It’s not anything that anyone could tell how the program was written.
The operating system installed on one’s computer is installed as executable files, not compiled from source code files. Essentially, installing the operating system isn’t the same as compiling source code; it is more akin to unzipping an executable file. One could always decompile it into assembly or something, but that isn’t really useful source code in this sense.
Because it’s not there, it’s been compiled already.
Source code is human readable files. That gets compiled to machine readable code. That’s how Windows comes. Linux comes that way and also in the original source code, not just for looking at it but so you can (if you know how) modify it to work the way you like.
You also don’t get code that’s full of unneeded bloat, and it’s written far better. (The number of people working on Linux wouldn’t fit into Microsoft’s building.)