Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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