오픈소스의 이해(교육자료)

Embed Size (px)

Citation preview

1

()

#

1

#

2

!!

#

3

"S2 Graph, "MongoDB, OpenSSL, WebRTC

900 2,000 AndroidChromiumGWT 200 1,000 (2014/06 )ReactHbaseWebScaleSQL BigData, /, LipstickNebulaRxJS Google, Facebook Linux

#2000 linux kernel 1200 4

?

#

, , , ("", Freedom)

Linux ,

, ?[]

(open source) . History of the OSI , 1998 2 3 .

# 6

. .

. . . . (preprocessor) .

(Derived work) . .

" " , . . (derived work) .

.OSI(Open Source Initiative) Source: https://opensource.org/osd

# . , .

. .

. , .

. , .

.OSI(Open Source Initiative) Source: https://opensource.org/osd

#

IT

#1960

#SW 10

1970 Unix AT&T , 1980 HP/UX, AIX, Solaris

Unix

#1976 Open Letter to Hobbyists1976 MITS Altair 8800 MITS ,

#1984 ~ 1986 GNU is Not a Unix(GNU) Text editor(Emacs), Compiler(gcc), Debugger(gdb), make Free Software (FSF) 1989 GNU General Public License

#1991 , 3, MINIX GNU GPL

1992Linux Desktop GUI , Xfree86

1993GNU/Linux Debian, Slackware Linux

#1998 , OSI(Open Source Initiative)

#2000 , (: SNS) , , , , , IBM

#

#

/

#

Black DuckKnowledgebase

100B lines of code10M peopleSource: 2014 Future of Open Source Survey Results

#

IT

78% 64% Source: 2015 Future of Open Source Survey Results

#

50% 66% Source: 2015 Future of Open Source Survey Results

#

65% 75% Source: 2015 Future of Open Source Survey Results

#

$398M

$669M

$920M

$1.3B

2011201220132014 Source: 2015 Future of Open Source Survey Results

#

#Apache Software Foundation ( )

2016 350

#Apache Software Foundation(ASF)ASF The Apache Group (1999) 21 , httpd Apache Jakarta Tomcat, Struts, Ant, Maven Java

? , , , , , Apache Software Foundation ( )

#Apache Software Foundation . 350

Software Freedom ConservancyBusyBox, Git, Samba, Wine 33 GPL GPL Compliance Project

Linux FoundationLinux Kernel . SDx, IoT, Embed, Cloud

Eclipse Foundation , BI(Business Inteligence), IoT 200

#Cloud Foundry Foundation EMC, HP, IBM, , SAP

Free Software Foundation , GNU

Open Source Initiative ' '

Openstack Foundation (Private Cloud)

#XENIVI 160 (, BMW, )

OSHERAEHR(Electronic Health Record)

OpenMAMA API

Allseen Alliance Linux Foundation

Polarsys , Eclipse Foundation

Android Community Google Android 2

#LinuxGNU X86 , , ( 90.1%) 93.8%(2013 11 )Google, Twitter, Facebook, Amazon 8,000, 800, 1,500 3~6

Source: : Worldwide Linux Server Operation System Environment by Vendors, 2006-2010, March IDC 2011

#MySQL(MariaDB) , (), (10 ) MariaDB

Apache HTTP ServerApache (46% ) NCSA HTTPd Linux Apache Software Foundation (1999)

#Hadoop () Hortonworks, Cloudera, MapR, IBM, Oracle () Pig, Hive, HBase,

Openstack Rackspace NASA , , , , , ,

MongoDB RDB NoSQL RDB , , NoSQL

#PentahoBI(Business Intelligence) (ETL ) Hadoop NoSQL

PostgreSQL(Enterprise DB)MySQL(MariaDB) RDB Enterprise DB Oracle DB

Wordpress WCM(Web Contents Management) 22%, WCM 60%

WSO2Apache ESB, BPM, BRM, API Manager, CEP

#

Why Open Source?

#

( Ubuntu Linux ), ( PC Ubuntu ) IT

# " IT " " " "" Mobile, SNS ?

2

10

293,000 20G 1 !!

# IT Mobile, SNS IT IT ?

#, () Mobile, SNS , , Emerging Technology ?

SNSBig DataMobileCloud

# / () Linux

() Allseen, XENIVI, Polarsys() PC

, , - () Openstack, Hadoop

?

#

# IDC " 5 IT 30% " : HP Citrix , Dell EMC

' '

IDC , 1% . 3 , 2018 50% .

IDC, "2018 DX "

IT IT IT IT IT

IT ' ' 2016 IT 5Source: http://www.itworld.co.kr/news/97250

# IT

RedHat . IT IBMMicrosoftSource: http://finance.yahoo.com

#

42

IDC , 2015 SW 619 18.8% , 2017 900 , , , OSS 2009 2015 618

Source: IDC

#OSI(Open Source Initiative) (bug fix) , TCO( ) () ( ) , Commodity 68%, IT 62%51% Source: 2014 Future of Open Source Survey Results

#

44

, (: ) SW ( ) () , (Intel, PPC, s390) , ,

# () ?No. :

( ) , ? !!! ? !!! ? (), "" "" , ""

# : MySQL, MongoDB GPL , Non-GPL : , (: )

: RedHat, Pantaho , , , ,

: ,

PaaS/SaaS :

HW : ()

# , () HTML5 Flash Adobe () Infortainment

( ), ( )

#

48

76% 2~3

Source: 2014 Future of Open Source Survey Results

#

#

: IT //

:

& GS:

: TVNIPA SW

#: R, Hadoop, Pig, Cascading, SVN, Linux RDB DW

: jQuery Mobile, Spring, apache, MongoDB / ,

GS Shop: Hadoop, Mahout, Flume, MongoDB, Clumon , (Flume), (Hadoop), (Mahout),

: TV (jQuery, MySQL, MyBatis, Jersey, Flmpeg, Log4j, Linux) legacy web tv

51

# |

|

,

()

# | , (, / )

/

# | ,

| , ,

| ()

#

#Apahce Hadoop

#Twitter

# 6.6 Scenario OverlayRuby on Rails (Java, Django/Python, PHP ): UI Scala/Java : (Front-end )Lucene : Indexing/ Memcached, MySQL

58

Twitter

#

REST API PaaS Cloud haproxy

tomcat/jerseytomcat/jerseytomcat/jerseytomcat/jersey

chef

github

jenkins

recipe

recipe

recipe

CollectDgraphite

grafana

#Lesson Learned

: : jenkins

Provisioning : : , , chef

Health : : collectd , graphite/grafana

: : rsyslog + logstsh , ElasticSearch Indexing, Kibana

#

#

Active MQActive MQActive MQ

MySQL

DataNameNode

HDFS

OLAPPentaho Analyzer

PostgreSQL

ETLPentaho ETLData MartDev PortalIndexing

Storage

MySQL

Infinispan

Load BalancerApache Hive

Log Sink

MonitoringGraphite

Tape Storage

APMFoglight

Reporting/VisualizationPentaho Dashboard, Reporting

Data

DataJBossApplication Server

JBossApplication ServerJBossApplication ServerJBossApplication ServerOpscode Chef

Monitoring & ManagementOperation SystemData Collection ServerBusiness Intelligence

MySQLDRJBoss Application ServerApacheHTTPServer

HDFSJBoss Application ServerApacheHTTPServerDR

ReplicationApacheHTTPServerApacheHTTPServerJBossApplication ServerJBoss Application Server

ETLLegacy Systems

Elasticsearch - hadoop

#Lesson Learned

: , : ActiveMQ MQTT Jboss Application Server

DW: : Hadoop Hive SQL

: : Pentaho ETL, OLAP PostgreSQL DB DB

Data Discovery: : ElasticSearch( Splunk) Data Discovery

#M2M IoT MachineMachineMachineAgentAdapterAgentAgentMessageQueue

UDPUDPUDPComplexEventProcessing

Kernelbased Virtualization Machine

OSGi ContainerOSGiBundleOSGiBundleRule EngineBusiness Process Management

Database

Data Service APICommunicationAdapter

Realtime JVM

#Lesson Learned

Agent/Adapter: light : ZeroMQ . TCP, UDP

Complex Event Processing: : Drools Fusion CEP

OSGi : : Apache Felix OSGi

Low Latency : : Realtime JVM

Provisioning: / : Linux KVM VM Provisioning

#VM NFV ComponentFunctionDescriptionManagement Console Whisper(RRD like) REST API ExtJS Graphite ExtJS, SenchaAthena Spider Controller(API Server)Configuration(JSON ) Lib-vert KVM Manager, SSH NFV Appliance collectd (Whisper) JSON REST Python DjangoGraphite - collectdcollectd: , NIC , Vyatta Controller Graphite: collectd Carbon Whisper(RRD) gunicorn WSGI

Athena Spider Controllercollectd daemonNFV ApplianceTCP(2003)Graphite(Python)CarbonPython (Django/Flask)RESTful APIConsoleManagement ConsoleSencha ArchitectExtJS MVCTCP(80)ControllerVersion ControllerFabric (SSH)SSH DaemonSSH(22)

pluginpluginpluginpluginOS system resourcesNIC and network usageVyatta service status

Whisper(RRD like)WebApp(Django)gunicornWSGI

Config(JSON/CouchDB)TCP(2003)KVM ManagerLib-vertSSH(22)

#Lesson Learned

: UI : ExtJS

VM : VM : Python/Flask REST API , Fabirc VM

VM Provisioning : VM : lib-vert Hypervisor

Graphite/Django UI: : Graphite/Django

#

# 4.0

#2008 , ICT 4

, 4.0

ICT

#Airbus Eclipse Foundation , , , , , , , lifecycle 30~70 Polarsys

Source: https://www.polarsys.org/

#

//

#

#

#

# (Repository)GitHubBitBucketGoogle CodeCode ProjectSourceForgeNaver nForge

GitHub Most Starts:https://github.com/search?q=stars:%3E1&s=stars&type=Repositories Most Forks: https://github.com/search?o=desc&q=stars%3A%3E1&s=forks&type=Repositories

http://www.findbestopensource.com https://www.openhub.net/

#

#

Subversion svn checkoutsvn update

Create a local copysvn addsvn movesvn deleteMake changes

svn status -u See what was changed in the repository in the meantime

svn updateUpdate your local copy

svn diffsvn resolvedResolve conflicts(Merge your changes)

svn commitSubmit your changes

105

100

106

SubversionRepository

# 2

Git

svn commit 1. , 2. 2

SVN 2 "git commit -a"

#Git

repository ,

#

# OSI 70

#

, , , , OSS

Copyleft , ,

TCO(Total Cost Ownership)

OSS GPL, LGPL, MPL, CPL, IBM, EPL, OSL, Qt SW OSS , ,

OSS

()

#

OSSSW SW (Reciprocal) (Permissive) MPLOSLCPLIBMGPL2.0LGPL2.0OriginalBSDApacheMITW3CFreewareSharewareQTGPL3.0LGPL3.0

#

? ? ? ?

??

#[ : Black Duck Software, Inc 2014]RankLicense%1.GNU General Public License (GPL) 2.026%2.MIT License18%3.Apache License 2.015%4.GNU General Public License (GPL) 3.011%5.BSD License 2.0 (3-clause, New or Revised) License7%6.Artistic License (Perl)5%7.GNU Lesser General Public License (LGPL) 2.15%8.GNU Lesser General Public License (LGPL) 3.02%9.http://www.opensource.org/licenses/ms-pl2%10.Eclipse Public License (EPL)2%11.Code Project Open License 1.021%12.Mozilla Public License (MPL) 1.1< 1%13.Simplified BSD License (BSD)< 1%14.Common Development and Distribution License (CDDL)< 1%15.Microsoft Reciprocal License< 1%16.GNU Affero General Public License v3 or later< 1%17.Sun GPL With Classpath Exception v2.0< 1%18.CDDL-1.1< 1%19.zlib/libpng License< 1%20.Common Public License (CPL)< 1%

Top 20

#

GPL(General Public License) , , , , GPL GPL

LGPL(Lesser General Public License)MPL(Mozilla Public License) , , , , LGPL LGPL (, )

GPL

LGPL , , , , MPL ( SW ) MPL

EPL(Eclipse Public License)

, , , , MPL ( SW ) EPL SW OSS GPL, LGPL, CPL, MPL OSS OSS

#

, /

(, , Queue ) DB

, /

TCO ROI

Best Practice

# SaaS (: Window XP HW Driver )/

80% Source: 2015 Future of Open Source Survey Results

# Linux ( ) , (Gartner) ,

72% Source: 2015 Future of Open Source Survey Results

#

# SWOT () ()()(Strength)(Weakness)()(Opportunity)(Threat)

(Strength)(Weakness) X86 / , , / (, ) (Opportunity)(Threat) () //IoT SW (LMS) Lock-in IT

SWOT

#

#

94

#

http://osci.kr

#

[email protected]

#https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88_%EC%86%8C%EC%8A%A4

OSIhttps://opensource.org/osd

2014 Future of Open Source Survey Results2015 Future of Open Source Survey Results

IDCWorldwide Linux Server Operation System Environment by Vendors, 2006-2010, March IDC 2011

IT Worldhttp://www.itworld.co.kr/news/97250

Yahoo Financehttp://finance.yahoo.com

NIPA/MASOSW

Polarsyshttps://www.polarsys.org/

#Chart114750322636453794710000001813690

Series 1

Sheet1Series 12007147,5032009226,3642011537,94720131,000,00020151,813,690To update the chart, enter data into this table. The data is automatically saved in the chart.