Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed 1
Source Code: It is a specialized language that allows software developers to create and modify computer programs. If you do not have legal access to the source code, then the program cannot be changed or moved to a different kind of computer. 2
Freeware: It is made available for use by the author at no cost for an unlimited time The author may retain the copyright. Users are not allowed to do anything with the software that is not permitted by the author Freeware may be restricted to personal use, individual use, non-profit use, non-commercial use, academic use, commercial use, or any combination of these 3
Free Software: means free as in free speech freedom to use as desire, copy, distribute, modify often also free as in zero cost preferred term of Richard Stallman 4
Shareware: Authors give users a license to try out the software for a specific period of time, usually for 30 days It is inexpensive, usually produced by a single programmer, offered directly to customers Once the trial period ends shareware will have updates If a user wishes to continue using the software after this trial period, he is required to register with the author by paying the author a small fee for additional functionality If he does not, he is expected to discontinue use of the product and erase the product files 5
Open Software: source code (original program) is available to user to be able to modify, must have source code alternative term to Stallman's free software 6
Free and/or Open Source Software: Free and/or Open Source Software(FOSS) Others, particularly in Europe, call it Free / Libre or Open Source Software (FLOSS) to emphasize the meaning of Free Note that software can be mostly free but not open source e.g., Java (in the beginning). Software can also be open source but not free e.g., source may be made available to paying customers (usually at additional cost). 7
Proprietary Software: Alternatively commercial, non-open, non-free or closed software Numerous restrictions / limitation on use, embodied in EULAs (End User License Agreements) Only binary / executable version of program is provided Cannot examine, distribute, modify, nor access its source code If a piece of software combines open and closed elements (e.g.,apple OS X) it will be defined as closed 8
How did FOSS get started? In the 1970s, proprietary software became the norm The development of OSS was a reaction to the fact that changes or improvements could not be made to proprietary software by other developers or users The open source movement started with Richard Stallman s general public license model (in the 1980s) This model holds that software should be freely modifiable, (with the condition that if you make improvements to the software, you must put the improvements back in the open source community) The rationale for the open source movement is that a larger group of programmers not concerned with proprietary ownership will produce a better product 9
Ideals of FOSS: Share the goal: a broad group of contributors recognize the same need and agree on how to meet Share the work: projects are broken into smaller tasks, and a review process screens the best contributions Share the result: code should be available to all and improvements should be shared to all 10
FOSS Characteristics: Often built collaboratively via Internet. Support for FOSS is typically provided via mail lists, newsgroups, and web forums. Most FOSS is free of cost, so no continual cost for upgrades. Not limited to running single instance or having to guarantee license provisions are being met. Many companies exist to provide support or customization for businesses using FOSS. 11
What have we learn so far? FOSS is NOT new FOSS is NOT just software FOSS is based on sharing 12
FOSS Examples: Linux (operating system) KDE, GNOME, Xfce (desktop environments) Android (phone operating system/environment) Apache (web server) MySQL, PostgreSQL (DBMS's/servers) Perl, PHP, Python (scripting languages) OpenOffice (office software suite) GCC (GNU compiler collection) 13
FOSS Examples: (contd.) GNU toolchain:autoconf, make, etc. Git, Subversion, CVS (version control systems) OpenSSH (SSH server) Sendmail, Postfix (email transport software) Octave (GNU Matlab clone) GIMP (image manipulation a la Photoshop) Wordpress (blogging) Drupal (content management system) 14
HW Write down a summary about FOSS examples 15