practical uses of open source - mississippi state universityweb.cse.msstate.edu/~allen/cse 4000 -...
TRANSCRIPT
![Page 1: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/1.jpg)
Practical Uses of Open Source
Jonathan HoodCSE 4000
Practical Issues in Software Engineering
![Page 2: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/2.jpg)
Introduction
What is Open Source?
Open Source Licenses
Pros of Open Source Software
Cons of Open Source Software
Scenarios
![Page 3: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/3.jpg)
What is Open Source?
Source code is free to look at.
Compiled application is (typically) free to use.
Licensed under one of many OSS licenses.
Licenses are typically GPL compatible.
![Page 4: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/4.jpg)
What is Open Source?
OSS Projects are Developed:
By Hobyists
By Software Companies
By people all over the world
![Page 5: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/5.jpg)
What is Open Source?
Examples:
Linux Kernel
BSD-Derived Operating Systems
Mozilla Firefox
OpenOffice.org
Apache Web Server
Many, Many, Many more
![Page 6: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/6.jpg)
What is Open Source?
![Page 7: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/7.jpg)
Where are we?
What is Open Source?
Open Source Licenses
Pros of Open Source Software
Cons of Open Source Software
Scenarios
![Page 8: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/8.jpg)
Copyleft
Forces derived works to inherit license
Guarantees 'freedom' of derived works
Causes problems for proprietary software
![Page 9: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/9.jpg)
Licenses: GPL
GNU General Public License v3
Created by Richard Stallman
Fundamental example of an open-source license.
Highly restrictive.
![Page 10: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/10.jpg)
Licenses: GPL
if( use_gpl_code ) {
distribute_changes_as_gpl(); distribute_linked_apps_as_gpl_compatible();
}
![Page 11: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/11.jpg)
Licenses: LGPL
GNU Lesser General Public License
Can be linked to by non-GPL compatible software.
Can be distributed with your software...
![Page 12: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/12.jpg)
Licenses: LGPL
if( modify_lgpl_program ) {
distribute_changes_as_lgpl();
} else {
distribute_however_you_like();
}
![Page 13: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/13.jpg)
Permissive
Licenses that aren't copyleft
Derivative works can be licensed however
Most useful to corporate entities
![Page 14: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/14.jpg)
Licenses: MIT
MIT License
Only 20 lines!
Liberal terms.
Use this code however you like...
![Page 15: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/15.jpg)
Licenses: MIT
if( modify_mit_program ) {
sublicense_however(); give_attribution();
} else {
distribute_with_mit_license(); }
![Page 16: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/16.jpg)
Licenses: BSD
3-clause BSD license
Very similar in terms to MIT
Adds a 'no advertising clause'
![Page 17: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/17.jpg)
Licenses Compared
License Allows Linking
Distribution Code Change Redistribution
GPL Not Allowed
Only if software is GPL compatible.
Derivative must be GPL
LGPL Allowed Changes must be distributed as well.
Changes must be distributed as GPL or LGPL.
MIT Allowed Allowed Allowed
BSD Allowed Allowed Allowed
http://developer.kde.org/documentation/licensing/licenses_summary.html
![Page 18: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/18.jpg)
Where are we?
What is Open Source?
Open Source Licenses
Pros of Open Source Software
Cons of Open Source Software
Scenarios
![Page 19: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/19.jpg)
Pros: Footprint
People all over the world look at the same code.
Potentially huge development teams.
Broader testing base.
![Page 20: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/20.jpg)
Pros: Cost
IF a component fits your system:
Save many development hours
Small customizations may be easy
A lot of testing is done for you
![Page 21: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/21.jpg)
Pros: Documentation
Open source projects have many developers.
For them, documentation is a must.
Bad documentation indicates a bad project.
![Page 22: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/22.jpg)
Where are we?
What is Open Source?
Open Source Licenses
Pros of Open Source Software
Cons of Open Source Software
Scenarios
![Page 23: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/23.jpg)
Cons: Cost
OSS may not fit your system!
Large modifications -> Time Consuming
Testing is hard -> You introduced bugs!
People with expertise are expensive.
![Page 24: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/24.jpg)
Cons: Licensing
In short, hire a lawyer!
GPL licenses are complex
FSF protects OSS with a vengeance.
A special case. You want to open source!
![Page 25: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/25.jpg)
Cons: Intellectual Propery
You can still infringe on someones patents.
Patent trolls are real.
Again, hire a lawyer!
![Page 26: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/26.jpg)
Cons: Temperamental Community
Make sure you contribute back, at least a little
This community is full of 'early adopters'
They influence people's opinions
![Page 27: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/27.jpg)
Where are we?
What is Open Source?
Open Source Licenses
Pros of Open Source Software
Cons of Open Source Software
Scenarios
![Page 28: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/28.jpg)
Scenarios
The Project Ping Pong Deluxe
The Option Super Graphics Library 3
The License GPL
Documentation Function ListingForums
Project Status Stale
![Page 29: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/29.jpg)
Scenarios
The Project c+++ compilerCompile the successor to c++Open Source
The Option sac (super awesome compiler)
The License GPL
Documentation UML DiagramsExample CodeForumsIRC
Project Status Highly Active
![Page 30: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/30.jpg)
Scenarios
The Project SupaBrowserProprietaryPut ads on every page
The Option Superfox
The License MIT
Documentation ForumsUser GuidesTesting Guides
Project Status Active
![Page 31: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/31.jpg)
Scenarios
The Project TCP/IP Router
The Option Linux Kernel
The License LGPL
Documentation ForumsUser GuidesTesting GuidesImplementation Details
Project Status Active
![Page 32: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/32.jpg)
Conclusion
Open Source Software is a great tool
It's not a silver bullet!
Know the licenses, and when they are appropriate.
It won't always save you money
![Page 33: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/33.jpg)
References
http://developer.kde.org/documentation/licensing/licenses_summary.htmlhttp://www.opensource.org/licenses/alphabeticalhttp://en.wikipedia.org/wiki/GPL http://en.wikipedia.org/wiki/LGPL http://en.wikipedia.org/wiki/MIT_License http://en.wikipedia.org/wiki/BSD_License http://www.educause.edu/EDUCAUSE+Quarterly/EDUCAUSEQuarterlyMagazineVolum/IsThereSuchaThingasFreeSoftwar/174575 http://www.gnu.org/copyleft/http://www.opensource.org/node/442http://www.gnu.org/graphics/fsf-logo.html
![Page 34: Practical Uses of Open Source - Mississippi State Universityweb.cse.msstate.edu/~allen/CSE 4000 - Practical Issues in... · 2018-01-08 · Pros of Open Source Software Cons of Open](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed8c2ca6714ca7f4768847c/html5/thumbnails/34.jpg)
Questions?