16
Open-Source Software ISYS 475

Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Embed Size (px)

Citation preview

Page 1: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Open-Source Software

ISYS 475

Page 2: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Open-Source Software• Open-source software (OSS) is computer software

with its source code made available and licensed with an open-source license in which the copyright holder provides the rights to study, change and distribute the software for free to anyone and for any purpose.

• Digital rights management (DRM) technologies attempt to give control to the seller of digital content or devices after it has been given to a consumer.

Page 3: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Free Software and Free Software Foundation

• Free software is about having control over the technology we use in our homes, schools and businesses, where computers work for our individual and communal benefit, not for proprietary software companies or governments who might seek to restrict and monitor us

• The Free Software Foundation is working to secure freedom for computer users by promoting the development and use of free (as in freedom) software and documentation and by campaigning against threats to computer user freedom like Digital Rights Management (DRM) and software patents.– http://www.fsf.org/

Page 4: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Free Software Definition• A program is free software if the program's users

have the four essential freedoms: – The freedom to run the program, for any purpose

(freedom 0).– The freedom to study how the program works, and change

it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

– The freedom to redistribute copies so you can help your neighbor (freedom 2).

– The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Page 5: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Brief History• Tiny BASIC: 1975

– It is a dialect of the BASIC programming language that can fit into as little as 2 or 3 KB of memory.

– Collaboratively developed and implemented on many computers.

– "@COPYLEFT ALL WRONGS RESERVED”• GNU project: 1983

– A Unix-like operating system includes a kernel, compilers, editors, text formatters, mail software, graphical interfaces, libraries, games and many other things.

– GNU/Linux system– GNU General Public License

Page 6: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

The Open Source Definitionhttp://opensource.org/osd

• 1. Free Redistribution• 2. Source Code• 3. Derived Works: allow them to be distributed under the same terms as the

license of the original software.• 4. Integrity of The Author's Source Code:may restrict source-code from being

distributed in modified form • 5. No Discrimination Against Persons or Groups• 6. No Discrimination Against Fields of Endeavor:

– Type of business, genetic research, etc.• 7. Distribution of License:

– The rights attached to the program must apply to all users• 8. License Must Not Be Specific to a Product:

– The rights attached to the program must not depend on the program's being part of a particular software distribution.

• 9. License Must Not Restrict Other Software: – the license must not insist that all other programs distributed on the same medium

must be open-source software.• 10. License Must Be Technology-Neutral

Page 7: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Open Source Licenses

• Open source licenses are licenses that comply with the Open Source Definition — in brief, they allow software to be freely used, modified, and shared.

Page 8: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

GNU General Public License, version 2http://opensource.org/licenses/GPL-2.0

• freedom to distribute copies of free software (and charge for this service if you wish),

• receive source code or can get it if you want it,• can change the software• if you distribute copies of such a program, whether gratis or

for a fee, you must give the recipients all the rights that you have.

• It protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

• there is no warranty for this free software.

Page 9: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Copyleft

• Copyleft is a form of licensing and can be used to maintain copyright conditions for works such as computer software, documents, and art.

• It uses copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work.

Page 10: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Characteristics of Open Source

• Have access to the source code– Availability of source code provides greater continuity

and security against :• Financial collapse of vendors of key products• Vendors choosing to withdraw support for unprofitable

products

• Distributed with a license• Open-source software is very often developed in

a public, collaborative manner.• No warranty

Page 11: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Example: Sendmail

• License:– C:\xampp\sendmail\license

• Source code:– C:\xampp\sendmail\source\sendmail.dpr• This program can be opened with NotePad

Page 12: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Benefits of Using Open Source Softwarehttp://open-source.gbdirect.co.uk/migration/benefit.html

• Quality vs features: Commercial products typically favor visible features (giving marketing advantage) over harder-to measure qualities such as stability, security and similar less glamorous attributes.

• Flexibility through freedom:– Freedom from a single vendor– Freedom to modify your software tailored for the way

you do business.• Total cost of ownership: – Total of direct capital investment in software plus

indirect costs of installation, training, repairs, downtime, technical support, and upgrading.

Page 13: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Total cost of ownership (TCO)

• Arguments in favor of low TCO for open source software include:– Possibly zero purchase price– Potentially no need to account for copies in use, reducing

administrative overhead– Claimed reduced need for regular upgrades (giving lower/nil

upgrade fees, lower management costs)– Claimed longer uptimes and reduced need for expensive systems

administrators– Near-zero vulnerability to viruses eliminating need for virus

checking, data loss and downtime– Claimed lower vulnerability to security breaches and hack attacks

reducing systems administration load– Claimed ability to prolong life of older hardware while retaining

performance

Page 14: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Disadvantages of Open Source Software

• Projects can die• Support issues:– Open Source community does not have a legal obligation to

answer your questions.– Open Source support usually consists of forums only and

it's not unusual for questions to go unanswered.• No guarantee of updates• Liability for intellectual property infringement– The typical open source project contains contributions from

many people. It is almost impossible to audit the entire code base for violations of previous license conditions.

Page 15: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Typical Open Source Platform for Web Applications Development

• LAMP:– Linux, Apache, MySQL, PHP

• XAMPP:– an easy to install Apache Distribution for Linux,

Windows, Mac OS X, and Solaris. The package includes the Apache web server, MySQL, SQLite, PHP and Perl

Page 16: Open-Source Software ISYS 475. Open-Source Software Open-source software (OSS) is computer software with its source code made available and licensed with

Software for this course

• Operating System:– Windows

• Web server:– Apache

• Database management system:– MySQL, SQLite

• Development language:– PHP

• IDE:– NetBeans