오픈소스의 이해 2015

Preview:

Citation preview

오픈소스의 이해

허광남

kenu@okjsp.pe.kr

오픈 소스

• Open Source Software; OSS

• Free and Open Source Software; FOSS

• 공개SW(대한민국 정부)

• Free SW와 구분

오픈 소스 프로그램

• 소스가 버전관리 시스템 등을 통해서 공개되어 있는 프로그램

• 라이선스에 따라 자유롭게 사용 가능

• 개발자의 참여로 발전 속도가 빠름 빠름 빠름

FSF

• Free Software Foundation

• 지식 발전을 위한 공개

오픈소스는 공짜?

• 세상에 공짜는 없다.

오픈소스 비용(Cost)• Poor Manual

• Few Experts

• Trials & Errors

• Patches

– Securities

– Vulnerabilities

– Performance Better

이 모든 것을

• 사람이

• No Vendor

오픈 소스 생태계

• Step by Step growing

Commiters

Contributors

Configurer

User

End User

Commiters

• 소스의 변경권한

Contributors

• Mailing Lists

• Bug/Issue Reports

• Documentation

• Patches

Configurer

• Setting Change

• Performance Factor

• Tuner

User

• Beginner

• Service Provider

• No Feedback

• Search Issues/Troubles

End User

• Person who has only time and money.

• Target of Internet Business.

• Finally, Open Source is for these people.

개발팀에 오픈소스 방식 적용하기

• 핵심은 ?

소통

• 메일링을 통해 의사소통하고,

• 이슈트래커를 통해서 소스에 기여하고,

• 변경된 소스에 대해서 문서화하고 전파함.

Step Up

• 더 나은 개발자가 되기 위해서는

• 애플리케이션 코드 한 줄 보다

• 이 애플리케이션이 제대로 쓰일 수 있도록

• 외부 사람들과 소통하는 것이 중요합니다.

기존 마인드

• 소스에 숨겨둔 자신의 약점

• 지키기 힘든 약속

– 시간 나면 ...

• 남는 시간에 소스 고치면 지는 거다.

열린 마인드

• 동료의 코드

• 소스 변경의 어려움

• 개발 스타일의 타협점

주요 오픈소스 그룹• 리눅스• 아파치• 모질라• 이클립스• 안드로이드• 오픈스택

리눅스

아파치

모질라

이클립스

안드로이드

오픈스택

스프링 프레임워크

jQuery

오픈소스 애플?

프로젝트 호스팅

• 소스포지• 구글코드• 기트허브• n포지

프로젝트 지원 기능

• 버전 관리

• 위키• 이슈 트래커

• 멤버 관리

• 메일링리스트(외부)

오픈소스와 ALM

• Application Lifecycle Management

• 코드 이상의 관리 기법

• 요구사항부터 개발, 배포, 업그레이드 포함

버전• 0.1.1 major, minor, patch

• 유의적 버전 http://semver.org/

• Milestone

• alpha > beta > Release Candidate(RC) > Generally Available(GA)

• Service Release(SR)

• LTS(Long Term Support)

버전 의미• Milestone

• 기능 추가 변경

• Release Candidate

• 기능 고정, 버그 픽스, 성능 개선

• Generally Available

• 안정화된 정식 버전

• Service Release

• 유지보수, 버그 픽스, 성능 개선

도입 이슈

• 문제가 발생하면, 누가 책임질 것인가?

오픈소스와 벤더• IBM 서버

• IBM 이클립스

• 아파치 재단에 기부

• 애플 웹킷 브라우저 엔진

• 삼성SDS anyframejava

• 전자정부 표준프레임워크

오픈소스 라이선스• GPL, LGPL

• MIT

• Apache License

• CPL, EPL

• BSD

• ...

라이선스

• 저작권, 사용/복제/배포/수정의 자유

• 특허, 상표

• 저작물에 대한 책임

Dual License

• MySQL, ExtJS

• GPL or Commercial

기업의 OSS 라이선스

• http://timreview.ca/article/65

알*Not OSS

OSS Enterprise

검증 서비스

오픈소스의 가치

• TCO는 줄지 않는다 - Microsoft

• 결국 엔지니어 비용

• 기술 발전의 방법

GitHub 한국인 Top 100

• rankedin.kr

• GitHub 프로젝트의 Star 갯수

Q&A

감사합니다

Recommended