[Home]
Background > What does "open" mean? > More about source code
[background][pros and cons][k12 examples][decisions][appendices]

More about source code

Open source software is transparent so anyone can fix or improve it. Different programs can share files more easily. Cracking is not part of open source.

Open source is a philosophical idea with a technical foundation. To fully understand the philosophy, it helps to understand the technology.

All software is a produced and improved through a complicated process. Many people believe the product and the process are inseparable because software is never complete. The current version of a program is the basis for the next version. Software matures as new features are added or new bugs discovered.


Source code & binary

To create software a programmer writes source code in a special language, like C or Java. But computers only understand numbers. So for a program to work it must be compiled. The words are translated into binary machine language (1's and 0's).

free and open

Figure: A compiler turns source code into binary.

Over the last twenty years most companies have only sold binary versions of their software, partly to prevent changes or copying. With this "proprietary" software, only company programmers can fix or change a program. The binary is like a black box: few people know how it works. While there are advantages to this model it bothers some people. Open source proponents want software to be transparent so that anyone can help fix and improve it.

free and open

Figure: Closed source and open source. With or without the source code, the program will run on a computer. A programmer needs the source code to fix bugs or add features.

[back to top]


Formats & Protocols

Transparency means any programmer can see the formats and protocols. A computer uses formats (or standards) to encode and decode information. Protocols are the rules for moving and manipulating information. Together with any inline documentation, formats and protocols are the source code of a program.

Most proprietary programs save files in an encrypted format and use secret protocols to save and open documents. This is why different programs have difficulty opening each others' files. Without the right protocols a program has trouble reading a file correctly.

free and open

Figure: Formats & Protocols. A computer uses formats and protocols to save and open files.

Some proprietary software uses open formats. This allows different programs to share files more easily. For example, there are dozens of email programs and many are proprietary. But each one is only useful if it can reliably send and open all email. So email programs all use open formats (especially plain text or HTML). Because these formats are open, anyone can create (and sell) an email program that can reliably send and open all email. This idea of "commodity software" is popular among open source proponents.

[back to top]


Cracking

Formats and protocols don't always remain secret. Some people forcibly "open" proprietary software by decrypting the secrets. This is called "cracking."

Anyone can use simple software tools to read the binary code on a hard drive (or monitor the flow of information through a computer). But without a lexicon of the correct formats and protocols this information is almost meaningless. This doesn't stop a subculture of computer users from trying to decrypt this information to illegally change and copy software, or "crack" it (like cracking a nut).

Cracking is not part of the open source movement. Because it's open, open source software is "cracked" to begin with.

[back to top]

Open Options is a product of the Northwest Regional Educational Laboratory. These materials are in the public domain and may be reproduced without permission. The following acknowledgment is requested on materials which are reproduced: Developed by the Northwest Regional Educational Laboratory, Portland, Oregon.

This Web site was developed and maintained by the Northwest Educational Technology Consortium. The federal funding for the regional technology consortia program ended on September 30, 2005, and no further updates are planned unless additional funding becomes available. However, much of the content is still useful and NWREL will continue to provide access to this site to support educators and to meet its own technical assistance needs.

 

[Print]