OPEN SOURCE SOFTWARE

Similar documents
Basics of system administration on a Unix system

Lecture 01: welcome and intro what LSD and Unix have in common

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

Systems Programming. The Unix/Linux Operating System

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

Overview of Unix / Linux operating systems

The only open-source type-1 hypervisor

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

Introduction to Linux Overview and Some History

Welcome to CIS 90 Introduction to UNIX/Linux

InstallAnywhere: Requirements

CS307 Operating Systems Introduction Fan Wu

Introduction to Linux

LINUX System Administration. Perspectives, Practices and Expectations

Rust on FreeBSD. Luca Pizzamiglio

History And Modern Uses Of The Unix Operating System (including embedded devices and mobile phones).

This slide is relevant to providing either a single three hour training session or explaining how a series of shorter sessions focused on per chapter

Lecture 09: VMs and VCS head in the clouds

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

Distributed Systems COMP 212. Lecture 18 Othon Michail

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

Virtualization Introduction

History of Unix, Linux and the Open Source

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Topic 1- The Basic Knowledge of Open Source and Free Software

Chapter 5 C. Virtual machines

tech. solutions T2G Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX.

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

LINUX Virtualization. Running other code under LINUX

Open Source in Public Sector and large custom development projects

SUSE An introduction...

Linux: Powering the Internet

HP SDN Document Portfolio Introduction

ganeti Comparing IaaS VMware vs OpenStack vs Google s Ganeti November 2013 Giuseppe Gippa Paternò

Chapter 01: Introduction to Linux

Build your own Cloud on Christof Westhues

CSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems

Xen and CloudStack. Ewan Mellor. Director, Engineering, Open-source Cloud Platforms Citrix Systems

Introduction to Linux

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

CSC 634: Networks Programming

Operating systems. Lecture 2

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

Define Your Future with SUSE

ECS 150 Operating Systems

CS108 Software Systems: UNIX. Fall 2011

Operating Systems. Pablo Prieto Torralbo. 1. Introduction DEPARTMENT OF COMPUTER ENGINEERING

The basic knowledge of open source and free software- Topic 1 & OSS in perspective- Topic 2. Parastoo Mohagheghi, 26 August 2010.

EWRG-CES. Bharath Setturu EWRG, CES, IISc

Operating Systems. I. Introduction. Eurecom

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed

Operating system hardening

HKG18-TR01: Open Source Philosophy. Daniel Lezcano

COPYRIGHTED MATERIAL. Unix Fundamentals. Brief History

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

SUSE OpenStack Cloud. Enabling your SoftwareDefined Data Center. SUSE Expert Days. Nyers Gábor Trainer &

Unix SVR4 (Open Solaris and illumos distributions) CPU Scheduling

Ethics. Ethics. Ethics. Ethics. The issue of software ownership. The issue of software ownership. Programmers and the Hacker mentality.

CS370 Operating Systems

Deep Security 9.6 Supported Features by Platform

EE 660: Computer Architecture Cloud Architecture: Virtualization

Spring Modern Computer Science in a Unix Like Environment CIS c

Cloud Computing Lecture 4

CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux

Open source licensing notices in Web applications

CLOUD COMPUTING. Rajesh Kumar. DevOps Architect.

Virtualization. Michael Tsai 2018/4/16

Introduction to Unix. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Deep Security 9.6 SP1 Supported Features by Platform

Lecture 5: February 3

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo

CRYPTTECH. Cost-effective log management for security and forensic analysis, ensuring compliance with mandates and storage regulations

CHAPTER 16 - VIRTUAL MACHINES

Linux Applications and Software Licensing. Linux System Administration COMP2018 Summer 2017

Audience Data center administrators responsible for designing, installing and configuring a private cloud infrastructure.

Third party software. 1. node.js. 2. node.js apps. 3. Node-RED

Operating systems and concurrency - B01

Deep Security 9.5 SP1 Supported Features by Platform

FOSSology Project Information

2- Computer Essentials

OpenSource and Cloud Computing at Library of National Congress of Chile BCN

Deep Security 9.6 SP1. Supported Features by Platform

Course and Unix Intro

Multiprocessor Scheduling. Multiprocessor Scheduling

MONTHLY TEST MAY 2017 QUESTION BANK FOR AVERAGE STUDENTS. Q.2 What is free software? How is it different from Open Source Software?

Introductory Visualizing Technology

Unix Linux Fundamentals And Shell Scripting

Virtualization Overview. Joel Jaeggli AFNOG SS-E 2013

Module 1: Virtualization. Types of Interfaces

Veritas NetBackup Enterprise Server and Server 6.x OS Software Compatibility List

Acronis Backup. Acronis, All rights reserved. Dual headquarters in Switzerland and Singapore. Dual headquarters in Switzerland and Singapore

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Operating systems fundamentals - B01

SaaSaMe Transport Workload Snapshot Export for. Alibaba Cloud

Setup Lab. A quick guide to infrastructure tools for EPL371

Transcription:

Introduction to Open Source Software Development Spring semester, 2017 School of Computer Science and Engineering, Pusan National University Joon-Seok Kim OPEN SOURCE SOFTWARE

Outline Open source software Definition Licenses Environments Linux How to use Linux Virtualization 2

What is Open Source Software Open Source Software (OSS) Software that can be freely accessed, used, changed, and shared (in modified or unmodified form) by anyone Made by many people, and distributed under licenses that comply with the Open Source Definition Only software licensed under an Open Source Initiative(OSI)-approved Open Source license should be labeled "Open Source" software. 3

Open Source Definition [1] Open source doesn't just mean access to the source code. The distribution terms of OSS must comply wit h the following criteria: Free Redistribution Source Code Derived Works Integrity of The Author's Source Code No Discrimination Against Persons or Groups No Discrimination Against Fields of Endeavor Distribution of License License Must Not Be Specific to a Product License Must Not Restrict Other Software License Must Be Technology-Neutral [1] https://opensource.org/osd 4

Examples of OSS 5

Software License Definition of license An authorization (by the licensor) to use the licensed material (by the licensee) Software license Grants the licensee permission to use one or more copies of software in ways Rights in Copyright Public Domain Non-Protective FOSS License Protective FOSS License Proprietary License Trade Secret All rights relinquished More rights granted More rights retained All rights retained 6

Software Licenses & Rights Software licenses and rights granted in context o f the copyright according to Mark Webbink, expa nded by freeware and sublicensing Rights granted Public domain Non-protective Protective Freeware/ Proprietary FOSS license FOSS license Shareware license Trade secret Copyright retained No Yes Yes Yes Yes Yes Right to perform Yes Yes Yes Yes Yes No Right to display Yes Yes Yes Yes Yes No Right to copy Yes Yes Yes Often No No Right to modify Yes Yes Yes No No No Right to distribute Yes Yes, under same Yes, under same license license Often No No Right to sublicense Yes Yes No No No No https://en.wikipedia.org/wiki/software_license 7

Popular Open Source Licenses Licenses [1] % MIT License 31% GNU General Public License (GPL) 2.0 18% Apache License 2.0 15% GNU General Public License (GPL) 3.0 8% BSD License 2.0 (3-clause, New or Revised) License 5% ISC License 5% Artistic License (Perl) 4% GNU Lesser General Public License (LGPL) 2.1 4% GNU Lesser General Public License (LGPL) 3.0 2% Eclipse Public License (EPL) 1% Microsoft Public License 1% Mozilla Public License (MPL) 1.1 < 1% GNU Affero General Public License v3 or later < 1% [1] https://www.blackducksoftware.com/top-open-source-licenses 8

License Compatibility [1] Permissive Weakly Protective Strongly Protective Public Domain MPL 1.1 MIT/X11 LGPLv2.1 GPLv2 BSD-new LGPLv2.1+ GPLv2+ Apache 2.0 LGPLv3 or LGPLv3+ GPLv3 or GPLv3+ Affero GPLv3 [1] https://www.dwheeler.com/essays/floss-license-slide.html 9

Example of Apache 2.0 License File Header /* * Copyright (C) 2010, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/license-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android;... 10

Environments in Deployment Environment A computer system in which a computer program or software component is deployed and executed Different environments Local Development Integration Test/QA Stage/Pre-production Production 11

Various Environments Software stack A set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications Example of open source software stack [1] [1] http://www.roguewave.com/products-services/open-source-support 12

Usage Share of OS Operating System (OS) Market Share for Des ktop, Server, and Mobile Phones http://catalog.flatworldknowledge.com/bookhub/ reader/12375?e=fwk-38086-ch09_s02 13

HitsLink (May 2014) IDC (2013 Year End) IDC Q4 (2013) Gartner (Feb. 2014) 14

Linux Linux (a.k.a. GNU/Linux) Unix-like computer OS Built with a collaborative development model Open source and created by volunteers and employees of companies, governments and organizations from all over the world 15

History of Unix-like OS 1970 1980 1990 2000 2010 BSD family FreeBSD NetBSD OpenBSD BSD (Berkeley Software Distribution) Bill Joy SunOS (Stanford) Darwin NextStep 3.3 MacOS X Xenix OS Microsoft/SCO GNU/Hurd K16 ios Research UNIX Bell Labs Ken Thompson, Dennis Richie System III & V family GNU Project Richard Stallman GNU/Linux Minix Linux Tovalds Andrew S. Tanenbaum CommercialUNIX UnixWare AT&T Solaris (SUN) HP-UX AIX IRIX Android 16

Distribution OS built on Linux kernel Device driver libraries, utilities Software applications Package management system Graphics support (GUI) 17

How to Use Linux On your computer LiveDistro (a.k.a. LiveCD) Dual-boot (or multi-boot) Virtualization Hardware virtualization OS virtualization In the cloud Installation on IaaS (Infrastructure as a service) such as Amazon Elastic Compute Cloud (EC2) 18

Concept of Virtualization Hypervisor Virtual machine monitor App App App OS Guest OS Guest OS Hypervisor Virtual HW Virtual HW Host OS Hosted Virtualization Layer HW HW Hypervisor Native 19

Hardware Virtualization Type Native (Bare-metal) Specialized Hosted Independent Software Hyper-V, KVM, Red Hat Enterprise Virtualization, VMware ESXi, Xen Bochs, Mac-on-Linux, Mac-on-Mac, Windows on Windows VirtualBox, VMware Fusion/Player/Workstation/Server 20

Assignment #1 Choose one of hypervisors and install it on your h ost operating system. VirtualBox is recommended. Install Ubuntu Desktop in the hypervisor. Long Term Support (LTS) version of Ubuntu is recommended. Take a snapshot just after initial booting. Update OS if there is any. Play around with it. Complete a report and upload it on PLMS by Mar. 6. 21

Assignment #1 Information Title: [id-name]assignment1 File name: [id-name]assignment1.xxx Write a private post so that no one see yours. When you upload, please don t forget to attach the file. If you do blog, youtube or something like that and want to utilize yours, you may post it instead of uploading a file. In this case, leave a link on PLMS. 22

Reference Download Oracle VirtualBox https://www.virtualbox.org/wiki/downloads Download Ubuntu Desktop https://www.ubuntu.com/download/desktop Install Ubuntu https://www.ubuntu.com/download/desktop/insta ll-ubuntu-desktop Ubuntu Desktop Guide https://help.ubuntu.com/lts/ubuntu-help/index.ht ml 23