Aren't all programs open source? Windows allows changes right?


  1. Posts : 259
    Windows 7 Panasonic CF F9 (used to have CF F8)
       #1

    Aren't all programs open source? Windows allows changes right?


    Hi this is going to sound v v simple question but something i have often wondered. If I look around windows 7 it is possible to see all the code and reigstries along with all their .dll's etc etc.

    This is all open right?

    So what is the difference between that and "open-source"

    I mean without sounding like I have malice, what is to stop someone copying the code and changing it and giving it another name?

    In other words, i guess my question is, what makes windows "closed and propritary" whilst linux is open - since ALL programs and OS are written on your hard drive for me to read?

    Thanks!!
      My Computer


  2. Posts : 28,845
    Win 8 Release candidate 8400
       #2

    lister said:
    Hi this is going to sound v v simple question but something i have often wondered. If I look around windows 7 it is possible to see all the code and reigstries along with all their .dll's etc etc.

    This is all open right?

    So what is the difference between that and "open-source"

    I mean without sounding like I have malice, what is to stop someone copying the code and changing it and giving it another name?

    In other words, i guess my question is, what makes windows "closed and propritary" whilst linux is open - since ALL programs and OS are written on your hard drive for me to read?

    Thanks!!
    "The term open source describes practices in production and development that promote access to the end product's source materials" wiki quote.

    That means anyone can make changes to the system to facilitate another function.

    Microsoft does not allow that and they dont release the "code" for their operating systems to the general public making it more difficult to develop apps for it.

    Users can change the configuration and some minor things but have no knowledge of the underlying code.

    In other words if you had the proper tools and experience you could look at "Linux" code but cannot without major difficulties do that with MS.
      My Computer


  3. Posts : 259
    Windows 7 Panasonic CF F9 (used to have CF F8)
    Thread Starter
       #3

    zigzag3143 said:
    Microsoft does not allow that and they dont release the "code" for their operating systems to the general public making it more difficult to develop apps for it.

    Users can change the configuration and some minor things but have no knowledge of the underlying code.
    But surely all the code is on my machine otherwise how can the OS work?

    Thanks! (This is something that i have often wondered about!!)
      My Computer


  4. Posts : 1,781
    Windows 7 Professional SP1 32-bit
       #4

    Open source, as the name implies, means that the source code from which the executables are compiled is available.
    That source code can be anything from C++ to Java, Python, .NET, and so on.

    Nothing will ever stop you from reading the code inside .exe or .dll or .sys or any other files, of course. It's just pretty hard to understand for humans even if you reverse-engineer or decompile it. It's not source code as it's already compiled into an executable form.
      My Computer


  5. Posts : 259
    Windows 7 Panasonic CF F9 (used to have CF F8)
    Thread Starter
       #5

    thanks for answering

    so basically the code is encrypted?
      My Computer


  6. Posts : 761
    Windows 2000 5.0 Build 2195
       #6

    This is an example source code. Notice how everything is written in a program language that a human can understand.



    When it is "compiled," it is basically converted to a form where it can be run by the machine (i.e. "machine code"). It basically would look like this, which doesn't make sense.



    If you use a disassembler for said program, it would still be difficult, in a sense, to understand it because you can only go so far sometimes. Example:



    Although it looks more readable, you can't really make a program out of that code. There's still a lot of gibberish you have to mind-stakingly translate for yourself.

    In the most techinical sense, it isn't encrypted. It's only translated to another language. You cannot translate a paragraph of japanese and then back while still maintaining the exact same meaning (example: Google "justin bieber vietnamese translation").

    Programmers can do means such that it would be hard to reverse-engineer it, like "packing".

    Example of an open source project with source code (70-300 MB):
    ftp://ftp.mozilla.org/pub/mozilla.or.../8.0b3/source/
      My Computer


  7. Posts : 966
    Windows 7 Enterprise
       #7

    yep.
    If you open a .dll in notepad, it will all come up looking like garbage. Thats the encryption working, so you can't read or understand it. The programs that use those .dll's can.
    Furthermore, if you change one, the program that uses them recognises theres a change, and then refuses to work.
    However, some files can be opened in a resource viewer (reshack to name one) that makes sense of the structure of the file and does its best to make it readable/writeable. But again, if you change something, you risk Windows even booting up.

    Edit: Arkhi beat me to post. Good examples.
      My Computer


  8. Posts : 259
    Windows 7 Panasonic CF F9 (used to have CF F8)
    Thread Starter
       #8

    amazing thanks - somthing i have always wondered about. thanks for the time you took to help me with that
      My Computer


  9. Posts : 7,878
    Windows 7 Ultimate x64
       #9

    As stated above, closed source software is written and then compiled into a running executable form. The actual source code used to build the binaries are not provided to the customer. In addition, the software does what it does and cannot be modified by the end user. If you need it to do something different, you have to wait for MS (or whatever vendor) to rewrite the code and recompile the binaries.

    Open source software on the other hand, gives away the source code itself. End users can make changes to the software to better meet their particular needs and then they can recompile and run the modified software. In addition, most open source software is published under a license such as the GPL (GNU Public License). With these licenses, the authors of the software write the software and give away the source code freely. If you want to use that software as is, or even modify it, you are free to do so. However, you must provide to the community the changes that you have made, if requested. You are not allowed to further restrict the spread of the software.

    So, in a nutshell, I could take a piece of open source software and write my own features and functionality. I could even sell that software (to any customer willing to pay for it). However, I have to abide by the licensing of the GPL (or whatever has licensed the code that I used)...so I have to continue to provide the source code if requested and not impose restrictions on the further use of code from others who want to use it and modify it for their own benefit.
      My Computer


  10. Posts : 966
    Windows 7 Enterprise
       #10

    It'l be hard to sell software, if everyone has the source code for it.
    So you do what the Redhat Company does. Their OS is based on linux, and falls under the same GNU, so everyone can have it for free. So they only sell 'support and service', instead of the actual software itself. Very clever.

    Its like me giving you a quadrotatingthruple nut, then charging you to show you how to use it.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 16:14.
Find Us