Open Source Software(OSS)

Download Report

Transcript Open Source Software(OSS)

JAVA Open Source
Open Source Software(OSS)
– Computer software which source code is available under a license (or
arrangement such as the public domain) that meets the Open source
definition. This permits users to use, change, and improve the software,
and to redistribute it in modified or unmodified form.
Advantages
–
–
–
–
–
Access to source code and ability and right to modify it
Right to redistribute modifications to benefit wider community
Free
Excellent support networks
Large and enthusiastic user base
Disadvantages
– Limited or no accountability
– Informal and unaccountable support channels
1- 1
Open Source licenses
Conditions on Open Source
–
licenses must meet 10 conditions in order to be considered open source licenses.
1. Free Redistribution: The software can be freely given away or sold.
2. Source Code: The source code must either be included or freely obtainable.
3. Derived Works: Redistribution of modifications must be allowed.
4. Integrity of The Author's Source Code: Licenses may require that modifications
are redistributed only as patches.
5. No Discrimination Against Persons or Groups: No one can be locked out.
6. No Discrimination Against Fields of Endeavor: Commercial users cannot be
excluded.
7. Distribution of License: The rights attached to the program must apply to all to
whom the program is redistributed without the need for execution of an additional
license by those parties.
8. License Must Not Be Specific to a Product: The program cannot be licensed
only as part of a larger distribution.
9. License Must Not Restrict Other Software: The license cannot insist that any
other software it is distributed with must also be open source.
10. License Must Be Technology-Neutral: No click-wrap licenses or other
medium-specific ways of accepting the license must be required.
1- 2
Categories of Open Source Software
Operating Systems
– Linux
Programming Languages
– Perl, PHP, Python, JAVA
Applications
– Apache, Tomcat, emacs, grep, MySQL, sendmail, ssh
1- 3
Categories of Open Source Licenses
Open Source Licenses
– Original software owner or developer chooses to limit the rights that he
asserts over licensees.
– Licensees can make and distribute copies of software and build upon
software to create modifications or other works.
– Source code to original product always provided.
– Licensee can modify or enhance source code or include source code with
other license types
– Licensee may be required to share modifications with the world and
prohibited from charging royalties for derivative and larger works.
Categories
–
–
–
–
GNU GPL ("General Public License")
Mozilla Public License
BSD License
Apache Software License
1- 4
Categories of Open Source Licenses
GNU GPL ("General Public License")
– Most widely used open source software
• User freedom to distribute and/or modify.
• Requirement that original and modified source code be always made available to the
world under the terms of the original license.
• Extremely viral license.
Mozilla Public License
– Developed by Netscape for the Mozilla browser
• Can charge royalties for modified versions.
• May provide additional warranties to downstream users but may have to Includes grant
patent licenses.
• Less viral than the GPL.
Apache Software License
– Governs the Apache web-server software.
• User freedom to distribute and/or modify.
• Not a viral license.
BSD License
– Unrestrictive license:
• Only requires preservation of copyright notices and warranty disclaimers.
1- 5
The History of Open Source Software
Late 1970's - Mid 1980's: UNIX
– A group of AT&T employees at Bell Labs originally developed UNIX, the
most powerful operating system on a computer.
1980's: GNU
– Richard Stallman, a programmer at the Artificial Intelligence Lab (AI Lab),
MIT, launched the GNU Project (free operating system) & the Free
Software Foundation (FSF).
– “The GNU General Public License (GPL) was designed not only to ensure
that the software produced by GNU will remain free, but to promote the
production of more and more free software.”
1- 6
The History of Open Source Software
Early 1990's: Linux
– Linus Torvalds created Linux.
– "I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu)" - Linus Torvalds, 1991
1998: Netscape's big move
– Netscape planned to create an open source browser, Mozilla. After
announcing the Mozilla project, America Online (AOL) bought Netscape.
2003: Linux OS/Apache Web Server are mainstream
1- 7
How is OSS Typically Developed?
Improvements of source code and evaluation results - User as
Developer
Developer
Bug Reports
So
Trusted
Developer
urc
eC
od
e
Trusted
Repository
Distributor
User
1- 8
Open Source Community
OpenJDK (openjdk.java.net)
– OpenJDK is the community to collaborate on an open-source
implementation of the Java Platform
1- 9
Open Source Community
OpenJDK (openjdk.java.net)
– JDK(Java Development Kit) is an implementation of Java platforms(Java
SE, Java EE, Java ME) released by Oracle Corporation.
• Java SE - Set of Java API
• Java EE - Server development platform
• Java ME - Java platform that supports smart phone, PDA, set top box, etc.
– What are Oracle's plans for the OpenJDK Community?
• Oracle plans to continue to work on the next release of the Java platform with the Java
community as part of the OpenJDK project.
1- 10
Open Source Community
GitHub (http://github.com)
– GitHub is the community to build software together. Millions of people
use GitHub platform to host their source code, issue trackers, software
releases, and web sites
1- 11
Open Source Community
GitHub (http://github.com)
– Development process
•
•
•
•
•
Set up a user account (public account is free, students can request 5 private e.g. CyndiRader)
Create a repository e.g. GitDemoCode
Add github as a “remote”
Push your master branch (later we’ll deal with other branches, just work with master for now)
Add collaborators (if public, everyone can read, but not write. If private, must be
collaborator to even read)
Typical workflow
1- 12
Open Source Community
한국자바개발자협회(http://jco.or.kr)
– JCO is domestic non-commercial conference for sharing technical
information about JAVA.
1- 13
Open Source Community
한국자바개발자협회(http://jco.or.kr)
– Object
• Offer infra which would be base about exchanging information and partnership between
each groups
• Constitute network among groups
• Build more advanced experience community
• Continue supply and exchange new-born community
– Hold off-line competition and lecture periodically
– Shows recent news and trend about JAVA
– Research JAVA open source code
1- 14
Open Source Community
Sourceforge(http://sourceforge.net)
– Sourceforge is a web-based service that offers a source code repository,
downloads mirrors, bug tracking and other features. It acts as a central
location that software developers can use to control and manage free
and open-source software development.
1- 15
Open Source Community
Sourceforge(http://sourceforge.net)
– Sourceforge was the first to offer this service for free to open-source
projects
– Project developers have access to centralized storage and tools for
managing projects, though it is best known for providing revision
control systems such as CVS, SVN, Bazaar, Git or Mercurial
– Major features include project wikis, metrics and analysis, access to a
MySQL database, and unique sub-domain URLs such as http://projectname.sourceforge.net
– Revenue model of sourceforge through advertising banner sales on their
site
– The software running the sourceforge site was initially free software
1- 16
Open Source Community
Eclipse(http://eclipse.org)
– Eclipse is a community for individuals and organizations who wish to
collaborate on commercially-friendly open source software.
1- 17
Open Source Community
Eclipse (http://eclipse.org)
–
the Eclipse Foundation provides four services to the Eclipse community
1.
2.
3.
4.
IT Infrastructure
Intellectual Property (IP) Management
Development Process
Ecosystem Development
– Show an Eclipse open source project list
– Manage a forum for eclipse developer
•
Developers can get information about technical methodology, jobs, projects
– Collaborate other working groups for the new innovations and solutions
1- 18
Devpia
Software development & distribution, education/job business,
consulting based on solution & SI business
In domestic, major software development community (with Devpia,
Javanuri)
– Devpia
• Microsoft ASP.NET Platform
• Huge database search & sharing since 1998
– Javanuri
• JAVA Platform
• Domestic major JAVA community service
About a half million
1- 19
Devpia
Category
– Forum section
• “Visual C++”, “.NET Framework 3.0”
– General section
• A wide range of subject for general member
– Theme section
• A specific subject such as “Devpia C# section”, “Microsoft MVP section”
1- 20
Open Source Community list
이름
URL
Debian
www.debian.org
한국 리눅스 유저
그룹
www.lug.or.kr
GNOME
KOREA
www.gnome.or.kr
아파치
사용자 그룹
www.apache-kr.org
- 웹서버 교육 목적의 개인 홈페이지에서 시작
- 현재는 APM(Apache, PHP, MySQL)을 위한 사용자 커뮤니티
PHP School
www.phpschool.com
- 1998년 9월 개설, 2005년 4월 법인화하며 PHP 교육 및 자격인증과 IT 서비스 등 비즈니스 활
동 시작
- 일일 방문자 수는 3만 명 내외, 일일 페이지뷰는 약 10만 건
www.jco.or.kr
- 자바라인, 자바랜드, 자바카페, 하이텔자바동, 자바스터디가 연합해 구성(2000. 3)
- 소속 JAVA 관련 커뮤니티: 자바스터디, 자바서비스넷, 모바일자바, JStorm, 자바카페, 자바모
델링, 자바캔, 오브젝트우러드, 한국스프링 사용자모임, KSUG, 자바랜드, 파란자바동,
JavaCraft.Net, JSP School, 자바유저스넷, 아첸자바커뮤니티, OKJSP, 자바라인, 지니월드, 프
로자바, OpenSeed Project
- 매해 JCO컨퍼런스개최
JCO
데브피아
www.devpia.com
내용
- Debian 사용자를 위한 홈페이지에서 시작(2000. 10)
- 공개 SW 관련 세미나 및 Debian 컨퍼런스 개최
-회원제는 아니나 일일 평균 방문자 수는 약 5~600명
- 초기 지역별 소모임 형태에서 전국 규모로 확대
- 2000년 첫 세미나 개최 이후 매해 관련 기술 세미나를 열고 있음
- 약 7,000여 명의 회원 보유
- GNOME 개발자 커뮤니티로 시작(2000. 4)
- GNOME 환경에 대한 번역 및 국제화 패치 주도
- 약 400여 명의 회원 보유
-
2000년 6월 설립
개발자 IT 포털
MS(데브피아), 자바(자바누리), 오픈소스(PHPSCHOOL)의 연합
약 50만 명의 회원 보유
1- 21
Open Source Community list
이름
URL
내용
한국 소프트웨어 커
뮤니티 연합(SCA)
www.scakorea.org
- 솔라리스 스쿨, 솔라리스테크넷, 자바유저스넷, 자바크래프트, 파란자바동, KELP 등 국내
대표적인 15개 SW 개발자 및 엔지니어 커뮤니티를 중심으로 발족(2005. 7)
한국 스프링 사용자
모음
www.ksug.org
삼성전자 오픈소스
사이트
www.opensource.samsung.c
om
NHN
개발자센터
www.developer.naver.com
- 오픈소스, 오픈 API 관련 네이버의 기술 공유
- NAVER 오픈 API 공식 카페
퀄컴 브루
모바일 플랫폼
www.developer.brewmp.co
m
- 퀄컴의 모바일 플랫폼 Brew 오픈 사이트
- 통합 UI, 유아이원이 기본적으로 내장되어 있음
- C, C++, 플래시, 자바, Lua 등 다양한 개발 언어로 프로그래밍 가능
공개SW 포털
www.oss.kr/oss_main
Open Source Living
www.osliving.com
KLDP
www.kldp.net
- 자바 개발 프레임워크인 스프링의 한국 사용자 커뮤니티
- TV&Video, Moble, Photography(Camera, Camcorder), Office(Printer)PC등 오픈소스 제공
- 공개SW를 지원하는 컨트롤 센터 역할
- OLC Center : 공개 SW 활성화 포럼에서 만든 오픈소스SW 표준 교육 과정에 따라 온/오프
라인 전문 실무 교육 실시
- 오픈소스 분류 소개 가이드
- 오픈소스 개발 프로젝트 지원 사이트
- 1996년 10월 개인 홈페이지 시작으로 국내의 대표적 리눅스 사이트로 자리매김
- 리눅스 관련 문서의 한글화 작업이 시초로, 현재 커뮤니티, 프로젝트 호스팅, CodeFest 개
최 등 다양한 활동을 진행
- 약 4만 명의 회원 보유
1- 22
Open Source Community list
이름
URL
Open source
Java Solution
www.together.at
내용
-오픈 소스만을 이용해 구현된 J2EE 기반의 엔터프라이즈용 아키텍처
오픈소스 개발 지원 사이트
오픈소스 마켓플레이스 : 오픈소스 지원을 사고 파는 장터
Rubyforge : Ruby 기반의 오픈소스 개발 지원 사이트
Macforce : Mac을 위한 소스포지
Sourceforge
www.sourceforge.net
-
Google code
Hosting
www.code.gogle.com
- 오픈소스 개발 지원 사이트
- 오픈소스 개발 방법론
Openness
www.microsoft.com/enus/openness/default.aspx#home
- Microsoft 지원 오픈소스 프로젝트
LaunchPad
www.launchpad.net
- 오픈소스 프로젝트 호스팅 사이트
- 오픈소스 번역 지원 사이트
Savannah
www.savannah.gnu.orf
Github
www.github.com
OW2 Consurtium
www.forge.ow2.org
Krugle
www.krugle.com
Black Duck
www.blackducksofetware.com
- the software forge for people committed to fee software
- 오픈소스 지원 사이트
- 오픈소스 커뮤니티
- 코드 관리 솔루션 제공
- 소스 외에도 문서 등의 대한 검색 조건이 있음
- 오픈소스 저작권과 라이선스를 관리하는 솔루션
1- 23