KEMBAR78
Open Source Software Concepts | PPTX
Free and Open Source
Software
Jitendra Lenka
L&T Technology services, Mysore
Warm Up
 Is it Free Software?
 Is it Open Source Software ?
 Is it both Free and Open Source Software ?
Warm Up
Does Open Source Software mean?
 Download source code and study the code flow.
 Modify source code as per your need
 Create your own proprietary s/w. and sell it
Warm Up
In below, all three organizations are same or different;
 Free Software Foundation
 Open Source Initiative
 Open Source Foundation
Some of known free/open source
software
Free/open source software for all
Category
Artificial Intelligence
CAD
Finance
Image Editor
Mathematics
Science
Molecular Dynamics
Molecular Viewer
Nanotechnology
Plotting
Statistics
Speech Recognition
Free/open source software for all
Category
Database
Data mining
Enterprise search engine
File Archivers
File Systems
Network and Internet
Advertising
Communication Related
E-Mail
File Transfer
Instant Messaging
IRC Clients
Free/open source software for all
Category
Middleware
Portal Server
Remote Access and Management
Routing Software
Web Browsers
Webcam
Web related
Educational Suites
Learning support
Language
Typing
Games
Free/open source software for all
Category
Application Layer
Desktop environments
Window managers
Content management system
Wiki software
Healthcare software
2D animation
3D animation
Audio editor and management
CD-Writing software
Flash Animation
Graphics
Free/open source software for all
Category
Image viewer
Television
Video converters
Video editing
Video encoders
Video players
OS
Emulation and Virtualization
Password management
Personal info. managers
Bug trackers
Personal language support
Free/open source software for all
Category
Code generators
Configuration software
Debuggers
IDEs
Version Control Systems
Screen savers
Security
Anti-Virus
Data loss prevention
Data recovery
Forensics
Disk erasing
Free/open source software for all
Category
Encryption
Disk encryption
Firewall
Network and security monitoring
Secure Shell (SSH)
Bible study tools
General directories
Introduction
Free Software Foundation
Freedom to run the software, to study and change the software,
and to redistribute copies with or without changes.
Open Source Initiative
Freedom to run the software, to study and change the software,
and to redistribute copies with or without changes.
Man behind Free Software
Foundation
• Free Software by Mr. Richard Stallman
Man behind Open Source Initiative
Open Source Software by Mr. Bruce Perens and Mr. Eric Raymond
Free Software Foundation(FSF)
Formation Date : 10-04-1985
Type : Non Profit Organisation
President : Richard Stallman
H.Q : Boston, Massachusetts,
USA
Motto : Free Software, Free
Society
Web : www.fsf.org
Free Software Foundation(FSF)
FSF gives mainly 4 freedom to user
◦ Freedom to run
◦ Freedom to study and adapt it to one’s
need
◦ Freedom to redistribute copies to help
others
◦ Freedom to distributing copies of one’s
modified version.
http://www.gnu.org/philosophy/free-sw.html
Open Source Initiative
Formation Date : Feb, 1998
Type : Non Profit Organization
President : Simon Phipps
H.Q : USA
Motto : Free Software, Free
Society
Web : www.opensource.org
Unix & Linux Family
Open Source Licenses
It makes easy for others to contribute to a project
without having to seek special permission. It also
protects you as the original creator. It also helps to
prevent others from claiming your work as their own.
 GNU General Public License
 BSD License
 MIT License
 Apache License
BSD & Apache – free Software
Licenses
Freedom to user
Allow to make proprietary s/w
GNU – General Public License (GPL) &
copy left
Major contribution from the GNU project
Copyleft license use copyright laws ; Modified
versions are free software too.
http://www.gnu.org/copyleft/copyleft.html
GNU GPL requires that modifications and
derived works are GPL too.
◦ Only applies to released software
◦ Any program using GPL code (either by static or dynamic
linking) is considered as an extension of the code.
◦ Linux used GPL license
◦ GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html
How to create proprietary out of Linux
open source code
1. Start proprietary s/w from a clean code
base
• Ensure that proprietary code does not build upon
any open source code.
• You remain clear of the “derivative clause” found in
the GPL.
• Derived work must typically be made open source
under the same term as the original code.
• But proprietary code that merely interfaces to open
source code is not derivative.
Link to video by Richard Stallman:
http://gplv3.fsf.org/static/release/rms_gplv3_launch
_high_quality.ogg
How to create proprietary out of Linux
open source code
2. Use only LGPL(Lesser General Public
License) Libraries
• Any code that link to a GPL (statically or
dynamically) needs to be released under GPL.
• Under LGPL, developer can link to open
source code in either way without being bound
to release their application’s code.
• Key Linux libraries are licensed under LGPL.
How to create proprietary out of Linux
open source code
3. Don’t modify the interface to the Linux
kernel
• Under GPL, avoid to modify monolithic portion
of Linux kernel
• However, that if your appliction requires that
you make changes to the kernel, only those
changes made public.
• You can still keep your application code
proprietary, provided that they simply interface
with the kernel via Linux’s standard system
call.
Open Source Licenses
From the open source initiatives(OSI)
http://opensource.org/
OSI has its own definition similar to Free
Software
http://opensource.org/docs/definition.ph
p
List of licenses approved by the OSI
http://opensource.org/licenses/
OPEN SOURCE SOFTWARE- COMPARISON
OPEN SOURCE SOFTWARE LITIGATION
AGAINST YEAR LICENSE About RULING
Dlink 2001 GPLv2 GPL Binding Dlink lost
Fortinet UK Ltd 2005 GPLv2 compliance Fortinet Lost
Gigabyte
Technology Co. Ltd,
TomTom
2004 GPLv2 compliance Settled
Sitecom 2004 GPLv2 compliance Sitecom lost
Skype 2008 GPLv2 Compliance/source
code access
Skype Lost
AutoZone, Daimler
Chrysler, IBM
2003-
2004
GPLv2 IP infringements
Trade secrets contact
breach
Settled
Cisco 2008 GPLv2, and
LGPL 2
compliance Settled
License violation
How short may a copy be to be still
considered a violation?
◦ 54 LOC (out of 160 KLOC) may be sufficient
if they are essential for the operation of a
program.
Binary Analysis Tool (BAT), a system for
code clone detection in binaries. Given a
binary, such as a firmware image, it
attempts to detect cloning of code from
repositories of packages in source and
Open Source Project Repository
Name URL
SourceForge http://sourceforge.net/
freshmeat http://freshmeat.net/
Debian http://ftp.debian.org/debian/pool/
Apache Software Foundation http://apache.org/
CPAN http://cpan.org/
CRAN http://cran.r-project.org/
BerliOS Developer http://developer.berlios.de/
Open Source Scripts http://opensourcescripts.com/
GNU Savannah http://savannah.gnu.org/
OpenSymphony http://www.opensymphony.com/
Koders http://koders.com/
ObjectWeb http://objectweb.org/
JBoss http://jboss.com/
PEAR http://pear.php.net/
JSAN http://openjsan.org/
CodePlex http://www.codeplex.com/
Free Software Directory http://directory.fsf.org/
Ohloh http://ohloh.net/
TuxFamily http://project.tuxfamily.org/
OSOR.eu http://www.OSOR.eu/
Launchpad http://www.launchpad.net/
RubyForge http://rubyforge.org/
— http://en.wikipedia.org/wiki/List_of_free_software_project_directories
Tool to detect license violation
Commercial Tool:
BitMatch (S.A.F.E.) http://www.safe-corp.biz/
Comparison of binary files of contained strings
CodeMatch (S.A.F.E.) http://www.safe-corp.biz/
Correlation of statements, comments and identifiers in files (Zeidman,
2007, 2008)
Protex (Black Duck Software),
http://www.blackducksoftware.com/
File comparison via hashing?
Protecode System 4 (Protecode) http://www.protecode.com/
File comparison (binary + source) via hashing?
SIMILE workshop (ESALAB), http://www.esalab.com/
(Service) Comparison of identifiers, syntax, and semantics (details
unknown) in object code
Document for license violation
Clone detection
Thanks

Open Source Software Concepts

  • 1.
    Free and OpenSource Software Jitendra Lenka L&T Technology services, Mysore
  • 2.
    Warm Up  Isit Free Software?  Is it Open Source Software ?  Is it both Free and Open Source Software ?
  • 3.
    Warm Up Does OpenSource Software mean?  Download source code and study the code flow.  Modify source code as per your need  Create your own proprietary s/w. and sell it
  • 4.
    Warm Up In below,all three organizations are same or different;  Free Software Foundation  Open Source Initiative  Open Source Foundation
  • 5.
    Some of knownfree/open source software
  • 6.
    Free/open source softwarefor all Category Artificial Intelligence CAD Finance Image Editor Mathematics Science Molecular Dynamics Molecular Viewer Nanotechnology Plotting Statistics Speech Recognition
  • 7.
    Free/open source softwarefor all Category Database Data mining Enterprise search engine File Archivers File Systems Network and Internet Advertising Communication Related E-Mail File Transfer Instant Messaging IRC Clients
  • 8.
    Free/open source softwarefor all Category Middleware Portal Server Remote Access and Management Routing Software Web Browsers Webcam Web related Educational Suites Learning support Language Typing Games
  • 9.
    Free/open source softwarefor all Category Application Layer Desktop environments Window managers Content management system Wiki software Healthcare software 2D animation 3D animation Audio editor and management CD-Writing software Flash Animation Graphics
  • 10.
    Free/open source softwarefor all Category Image viewer Television Video converters Video editing Video encoders Video players OS Emulation and Virtualization Password management Personal info. managers Bug trackers Personal language support
  • 11.
    Free/open source softwarefor all Category Code generators Configuration software Debuggers IDEs Version Control Systems Screen savers Security Anti-Virus Data loss prevention Data recovery Forensics Disk erasing
  • 12.
    Free/open source softwarefor all Category Encryption Disk encryption Firewall Network and security monitoring Secure Shell (SSH) Bible study tools General directories
  • 13.
    Introduction Free Software Foundation Freedomto run the software, to study and change the software, and to redistribute copies with or without changes. Open Source Initiative Freedom to run the software, to study and change the software, and to redistribute copies with or without changes.
  • 14.
    Man behind FreeSoftware Foundation • Free Software by Mr. Richard Stallman
  • 15.
    Man behind OpenSource Initiative Open Source Software by Mr. Bruce Perens and Mr. Eric Raymond
  • 16.
    Free Software Foundation(FSF) FormationDate : 10-04-1985 Type : Non Profit Organisation President : Richard Stallman H.Q : Boston, Massachusetts, USA Motto : Free Software, Free Society Web : www.fsf.org
  • 17.
    Free Software Foundation(FSF) FSFgives mainly 4 freedom to user ◦ Freedom to run ◦ Freedom to study and adapt it to one’s need ◦ Freedom to redistribute copies to help others ◦ Freedom to distributing copies of one’s modified version. http://www.gnu.org/philosophy/free-sw.html
  • 18.
    Open Source Initiative FormationDate : Feb, 1998 Type : Non Profit Organization President : Simon Phipps H.Q : USA Motto : Free Software, Free Society Web : www.opensource.org
  • 19.
  • 20.
    Open Source Licenses Itmakes easy for others to contribute to a project without having to seek special permission. It also protects you as the original creator. It also helps to prevent others from claiming your work as their own.  GNU General Public License  BSD License  MIT License  Apache License
  • 21.
    BSD & Apache– free Software Licenses Freedom to user Allow to make proprietary s/w
  • 22.
    GNU – GeneralPublic License (GPL) & copy left Major contribution from the GNU project Copyleft license use copyright laws ; Modified versions are free software too. http://www.gnu.org/copyleft/copyleft.html GNU GPL requires that modifications and derived works are GPL too. ◦ Only applies to released software ◦ Any program using GPL code (either by static or dynamic linking) is considered as an extension of the code. ◦ Linux used GPL license ◦ GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html
  • 23.
    How to createproprietary out of Linux open source code 1. Start proprietary s/w from a clean code base • Ensure that proprietary code does not build upon any open source code. • You remain clear of the “derivative clause” found in the GPL. • Derived work must typically be made open source under the same term as the original code. • But proprietary code that merely interfaces to open source code is not derivative. Link to video by Richard Stallman: http://gplv3.fsf.org/static/release/rms_gplv3_launch _high_quality.ogg
  • 24.
    How to createproprietary out of Linux open source code 2. Use only LGPL(Lesser General Public License) Libraries • Any code that link to a GPL (statically or dynamically) needs to be released under GPL. • Under LGPL, developer can link to open source code in either way without being bound to release their application’s code. • Key Linux libraries are licensed under LGPL.
  • 25.
    How to createproprietary out of Linux open source code 3. Don’t modify the interface to the Linux kernel • Under GPL, avoid to modify monolithic portion of Linux kernel • However, that if your appliction requires that you make changes to the kernel, only those changes made public. • You can still keep your application code proprietary, provided that they simply interface with the kernel via Linux’s standard system call.
  • 26.
    Open Source Licenses Fromthe open source initiatives(OSI) http://opensource.org/ OSI has its own definition similar to Free Software http://opensource.org/docs/definition.ph p List of licenses approved by the OSI http://opensource.org/licenses/
  • 27.
  • 28.
    OPEN SOURCE SOFTWARELITIGATION AGAINST YEAR LICENSE About RULING Dlink 2001 GPLv2 GPL Binding Dlink lost Fortinet UK Ltd 2005 GPLv2 compliance Fortinet Lost Gigabyte Technology Co. Ltd, TomTom 2004 GPLv2 compliance Settled Sitecom 2004 GPLv2 compliance Sitecom lost Skype 2008 GPLv2 Compliance/source code access Skype Lost AutoZone, Daimler Chrysler, IBM 2003- 2004 GPLv2 IP infringements Trade secrets contact breach Settled Cisco 2008 GPLv2, and LGPL 2 compliance Settled
  • 29.
    License violation How shortmay a copy be to be still considered a violation? ◦ 54 LOC (out of 160 KLOC) may be sufficient if they are essential for the operation of a program. Binary Analysis Tool (BAT), a system for code clone detection in binaries. Given a binary, such as a firmware image, it attempts to detect cloning of code from repositories of packages in source and
  • 30.
    Open Source ProjectRepository Name URL SourceForge http://sourceforge.net/ freshmeat http://freshmeat.net/ Debian http://ftp.debian.org/debian/pool/ Apache Software Foundation http://apache.org/ CPAN http://cpan.org/ CRAN http://cran.r-project.org/ BerliOS Developer http://developer.berlios.de/ Open Source Scripts http://opensourcescripts.com/ GNU Savannah http://savannah.gnu.org/ OpenSymphony http://www.opensymphony.com/ Koders http://koders.com/ ObjectWeb http://objectweb.org/ JBoss http://jboss.com/ PEAR http://pear.php.net/ JSAN http://openjsan.org/ CodePlex http://www.codeplex.com/ Free Software Directory http://directory.fsf.org/ Ohloh http://ohloh.net/ TuxFamily http://project.tuxfamily.org/ OSOR.eu http://www.OSOR.eu/ Launchpad http://www.launchpad.net/ RubyForge http://rubyforge.org/ — http://en.wikipedia.org/wiki/List_of_free_software_project_directories
  • 31.
    Tool to detectlicense violation Commercial Tool: BitMatch (S.A.F.E.) http://www.safe-corp.biz/ Comparison of binary files of contained strings CodeMatch (S.A.F.E.) http://www.safe-corp.biz/ Correlation of statements, comments and identifiers in files (Zeidman, 2007, 2008) Protex (Black Duck Software), http://www.blackducksoftware.com/ File comparison via hashing? Protecode System 4 (Protecode) http://www.protecode.com/ File comparison (binary + source) via hashing? SIMILE workshop (ESALAB), http://www.esalab.com/ (Service) Comparison of identifiers, syntax, and semantics (details unknown) in object code
  • 32.
    Document for licenseviolation Clone detection
  • 33.