Samstag, 29. Januar 2011

Tutorial 1: Open Source Software

In my first tutorial I will talk about Open Source Software (OSS). Probably many of us already got in contact with open source software, but probably due to a lack of programming knowledge didn‘t use it to the full extend. Let’s first begin with a short history of the software.
Open source software, during this time known as free software, appeared first in the Free Software movement in 1983. This movement wanted to make software available for everyone and give the freedom to run it, to study and change it, and to redistribute copies with or without changes. In 1984, Richard Stallman founded the Free Software Foundation (FSF) and developed in 1985 the first free version of a UNIX operating system. In 1998, the Open Source Initiative (OSI) was founded by Eric Raymond and Bruce Perens as an educational, advocacy, and stewardship organization. Until today the OSI keeps track of the developments in the open source community.
I think as a short introduction to the open source history this should be enough. Let’s focus on open source software and its characteristics. The Open Source Initiative introduced specific definitions that describe Open Source Software.
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of the Author's Source Code
5. No Discrimination against Persons or Groups
6. No Discrimination against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10. License Must Be Technology-Neutral

In this blog I will put the main focus on the source code,  definition #2. So what is actually a source code?
Binary Code
Every time you buy or download software, you are automatically receiving two things. First of all the executable code, or binary, which is a file containing machine code language that the hardware on the computer can read. It is however impossible for humans to read this code and make modifications (improve or fix bugs).
The second thing you automatically receive is the license, also known as End User License Agreement (EULA). The EULA explains what licensing model is for the software (commercial or open source). It tells you what the software does and defines the legal and illegal uses of that software. Moreover, it protects the software developer from liability and the consumer from any defects. So altogether it gives you the terms and conditions under which you can use the software. This means that you actually do not own the software; you just have the permission to use it for a certain purpose.
Source Code
With open source software, the files you receive when downloading it, are somewhat different. They contain the source code, which is the translation of the binary into human readable language. It enables you to alter the software to suit your needs, which is not possible with proprietary software.
Like any software, also Open Source software has its advantages and disadvantages that have to be considered when using it. Open source software can provide cost savings, as it is most often free available in the internet. In addition, it allows you to modify the software in the way you want to use it. As the source code is for everyone available, software developers may also put more effort in writing the actual source code. It supports innovation, as many people or communities have the ability to work on the source code. In addition it makes you less dependent on the large software vendors when it comes to newer upgrades, updates or patches.
One major disadvantage of Open Source Software is that actually no support systems exist. As everyone can change the code, the software is only useful as long as a community continues working on it. Once the interest in certain software decreases, the user is mainly on its own and has to write the updates and patches by themselves, which requires a good knowledge about the source language. Another disadvantage can also be security reasons. Whereas commercial software is done by vendors who invest a decent amount in the development, Open Source software can be written by anyone who is familiar in programming language. This can, depending on the developer, lead to a more or less decreased security of the program which can have negative influences on your operating system.  
When deciding for or against Open Source Software, these factors have to be taken into account. I hope you enjoyed my first blog.

 Sources:


Samstag, 15. Januar 2011

Welcome to my Blog!!!!