source : http://www.opennaru.com/cloud/opensource-software/
소프트웨어는 다양한 언어를 사용하여 소스 코드 형태로 작성합니다. 오픈소스 소프트웨어는 그 소스 코드를 무상으로 공개하여 많은 개발자들이 함께 개선하고 제한 없이 이용하고 재배포할 수 있는 소프트웨어입니다.
즉 오픈 소스는 소스 코드 (프로그램 언어로 기술된 문자열)을 무료로 공개해 누구나 자유롭게 개선하고 재배포 할 수 있는 소프트웨어입니다.
우리는 게임, 그래픽 작업, 문서 작성등 많은 부분야에서 컴퓨터에 설치된 상용 소프트웨어를 사용합니다. 대부분의 소프트웨어들은 소스 코드를 공개않는 독점소스 소프트웨어 입니다.
소프트웨어를 개발하기위한 비용이나 버전 업, 버그 수정, 유지 보수 등에 많은 비용이 발생하고, 그 비용 회수와 이익을 위해 라이센스를 판매 합니다. 따라서 많은 소프트웨어 벤더들은 유사한 제품을 판매하거나 자사의 기술을 복제하는 것을 피하기 위해 소스 코드를 공개하지 않습니다.
오픈 소스 소프트웨어라는 것은 인터넷 등의 수단을 사용하여 소스 코드를 공개하고 전 세계의 사람과 기술을 공유함으로써 보다 뛰어난 소프트웨를 더 빠른 속도로 개발할 수 있다는 생각으로 커뮤니티를 통해 운영합니다.
Origin Link : http://www.oss.kr/oss_information6/1435
세션2 : 공개SW개발과 우분투 환경의 개발툴
우분투 이야기
- 우분투 한국 이야기
- 우분투 장점
- 우분투 개발 환경
- 우분투에서의 협업 툴 활용
(강사) 강분도 (우분투한국사용자모임 대표)
<p>[데브멘토 동영상] 허광남 모비젠 TI연구소 MA연구팀</p><p>공개SW와 오픈소스, 잘 나가는 오픈SW 제품의 성공요인</p><p>2010 공개SW 개발자대회 1차 기술세미나</p><p>주최: 지식경제부</p><p>주관: 정보통신산업진흥원, 한국공개SW협회</p>
2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-Repository 활용하기
-branches, releases
-깃허브 프로젝트 문서화
깃허브란?
• 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
• 다른 사람들과의 협업을 매우 용이하게 해줌
Repository 활용하기
Issue , Pull requests
• Issue 카테고리는 왜 사용하는가요?
• 버그를 기록하거나 요구사항을 전달할려고 사용
• Pull requests 카테고리는 왜 사용하는가요?
• 현재 진행중인 작업이 무엇인지 알게해줌. • 수정사항을 Merge 시킬 때 사용.
Pull requests로 넣은 수정사항이 Merge됨에 따라 Contributor가 될 수 있습니다!
branches, releases
branches
• 테스트 해보거나 새로운 기능을 개발하기 위해 사용하는 독립적인 commit
• Master branch : 기본 branch이자, 최종적으로 마무리 되는 branch
깃허브 문서화
README
• 해당 프로젝트의 개요나 설명, 설치법에 대해서 설명
• ‘README.md’ 파일을 인식
README’s Labels
• Badge images • Custom badge
https://shields.io/
README’s Labels
• Travis CI
• Continuous Integration : 푸시할 때 자동화된 빌드 및 테스트가 실 행되고 소프트웨어 품질을 향상시키는 개발 방식
• https://travis-ci.org/
Issue & Pull requests Template
• Maintainer에게 좀 더 정확하 게 의견을 전달하기 위해 만듬
• Insights > Comminuty 에서 추가 가능
LICENSE
네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
그 외의 Community profile
• Code of conduct
• Contributing guidelines
그 외에 프로젝트 관리에 도움되는 것
OpenHub 어플리케이션
Git Bash (Git bash 사용법 : http://gbsb.tistory.com/10)
GitHub Desktop
참고
• 네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
• 실제로 사용한 프로젝트 https://github.com/kuj0210/IoT-Pet-Home-System
[17.02.09] Github introduction (Korean Version)Ildoo Kim
Git 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
source : http://www.opennaru.com/cloud/opensource-software/
소프트웨어는 다양한 언어를 사용하여 소스 코드 형태로 작성합니다. 오픈소스 소프트웨어는 그 소스 코드를 무상으로 공개하여 많은 개발자들이 함께 개선하고 제한 없이 이용하고 재배포할 수 있는 소프트웨어입니다.
즉 오픈 소스는 소스 코드 (프로그램 언어로 기술된 문자열)을 무료로 공개해 누구나 자유롭게 개선하고 재배포 할 수 있는 소프트웨어입니다.
우리는 게임, 그래픽 작업, 문서 작성등 많은 부분야에서 컴퓨터에 설치된 상용 소프트웨어를 사용합니다. 대부분의 소프트웨어들은 소스 코드를 공개않는 독점소스 소프트웨어 입니다.
소프트웨어를 개발하기위한 비용이나 버전 업, 버그 수정, 유지 보수 등에 많은 비용이 발생하고, 그 비용 회수와 이익을 위해 라이센스를 판매 합니다. 따라서 많은 소프트웨어 벤더들은 유사한 제품을 판매하거나 자사의 기술을 복제하는 것을 피하기 위해 소스 코드를 공개하지 않습니다.
오픈 소스 소프트웨어라는 것은 인터넷 등의 수단을 사용하여 소스 코드를 공개하고 전 세계의 사람과 기술을 공유함으로써 보다 뛰어난 소프트웨를 더 빠른 속도로 개발할 수 있다는 생각으로 커뮤니티를 통해 운영합니다.
Origin Link : http://www.oss.kr/oss_information6/1435
세션2 : 공개SW개발과 우분투 환경의 개발툴
우분투 이야기
- 우분투 한국 이야기
- 우분투 장점
- 우분투 개발 환경
- 우분투에서의 협업 툴 활용
(강사) 강분도 (우분투한국사용자모임 대표)
<p>[데브멘토 동영상] 허광남 모비젠 TI연구소 MA연구팀</p><p>공개SW와 오픈소스, 잘 나가는 오픈SW 제품의 성공요인</p><p>2010 공개SW 개발자대회 1차 기술세미나</p><p>주최: 지식경제부</p><p>주관: 정보통신산업진흥원, 한국공개SW협회</p>
2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-Repository 활용하기
-branches, releases
-깃허브 프로젝트 문서화
깃허브란?
• 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
• 다른 사람들과의 협업을 매우 용이하게 해줌
Repository 활용하기
Issue , Pull requests
• Issue 카테고리는 왜 사용하는가요?
• 버그를 기록하거나 요구사항을 전달할려고 사용
• Pull requests 카테고리는 왜 사용하는가요?
• 현재 진행중인 작업이 무엇인지 알게해줌. • 수정사항을 Merge 시킬 때 사용.
Pull requests로 넣은 수정사항이 Merge됨에 따라 Contributor가 될 수 있습니다!
branches, releases
branches
• 테스트 해보거나 새로운 기능을 개발하기 위해 사용하는 독립적인 commit
• Master branch : 기본 branch이자, 최종적으로 마무리 되는 branch
깃허브 문서화
README
• 해당 프로젝트의 개요나 설명, 설치법에 대해서 설명
• ‘README.md’ 파일을 인식
README’s Labels
• Badge images • Custom badge
https://shields.io/
README’s Labels
• Travis CI
• Continuous Integration : 푸시할 때 자동화된 빌드 및 테스트가 실 행되고 소프트웨어 품질을 향상시키는 개발 방식
• https://travis-ci.org/
Issue & Pull requests Template
• Maintainer에게 좀 더 정확하 게 의견을 전달하기 위해 만듬
• Insights > Comminuty 에서 추가 가능
LICENSE
네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
그 외의 Community profile
• Code of conduct
• Contributing guidelines
그 외에 프로젝트 관리에 도움되는 것
OpenHub 어플리케이션
Git Bash (Git bash 사용법 : http://gbsb.tistory.com/10)
GitHub Desktop
참고
• 네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
• 실제로 사용한 프로젝트 https://github.com/kuj0210/IoT-Pet-Home-System
[17.02.09] Github introduction (Korean Version)Ildoo Kim
Git 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기NAVER D2
Yong Jae Kim is a professor at KoreaTech who researches wearable, surgical, humanoid and mobile robots. His research interests include mechanism design and control of flexible robots. He has worked at Samsung Electronics and MIT. Some of his projects include a high-DOF robotic hand called RoboRay Hand, a power-assist glove called TATH Glove, and a soft parallel gripper. He aims to design robots with both flexibility and precision, like the human hand. He proposes using tendon-driven and compliant mechanisms inspired by biology to achieve this goal.
This document describes Onyx, a new flexible and extensible data processing system. Onyx aims to address limitations in existing frameworks when dealing with new resource environments like disaggregated computing and transient resources. The Onyx architecture includes a compiler that transforms dataflow programs into optimized execution plans using various passes. The runtime then executes the plans across cluster resources. Onyx allows dynamic optimization by collecting metrics during execution and generating new plans. It can harness transient resources by placing tasks strategically.
황은경(violet.blue) / kakao corp.(OSA)
---
오픈소스를 사용하면서 오픈소스 라이선스 의무사항을 지키고 있나요?
오픈소스를 준비하면서 (여러분의 프로젝트를 Github으로 오픈하기 위해) 어떤 오픈소스 라이선스로 배포해야 할지 알고 있나요?
오픈소스를 사용한다면 오픈소스 라이선스 의무사항을 준수하고,
오픈소스로 공개한다면 여러분의 코드를 보호하고 올바르게 사용되도록 하기 위해서 오픈소스 라이선스에 대한 이해가 필요합니다.
이 세션에서는 Apache, MIT, GPL 등의 오픈소스 라이선스 의무사항을 살펴보고, 오픈소스 분쟁사례를 통해 관련 리스크를 파악합니다. 더불어, 코드 공개 및 배포를 위한 오픈소스 라이선스의 양립성 및 주의사항을 확인하고, 카카오의 오픈소스 Guidance에 대해 소개합니다.
오픈소스SW 방식의 연구개발 프로젝트를 수행하는 기업의 거버넌스 체계를 어떻게 구축하고 관리해야 하는지 제시
Presents how to establish and manage a governance system for companies conducting R&D projects using open source SW.
한국공간정보학회 2013년 1월 25일 공간정보포럼 발표 자료.
오픈 소스와 독점 소프트웨어라는 이분법적 사고를 넘어서, 이 둘을 어떻게 전략적으로 잘 활용할 것인지에 대한 내용을 담고 있습니다.
그리고 이런 배경 속에서 한국의 GIS 회사가 어떤 독점 소프트웨어를 만드는 게 현재와 같이 빠른 시장 변화 속에서 살아남을 수 있는지에 대해서도 언급하였습니다.
The document discusses various machine learning clustering algorithms like K-means clustering, DBSCAN, and EM clustering. It also discusses neural network architectures like LSTM, bi-LSTM, and convolutional neural networks. Finally, it presents results from evaluating different chatbot models on various metrics like validation score.
The document discusses challenges with using reinforcement learning for robotics. While simulations allow fast training of agents, there is often a "reality gap" when transferring learning to real robots. Other approaches like imitation learning and self-supervised learning can be safer alternatives that don't require trial-and-error. To better apply reinforcement learning, robots may need model-based approaches that learn forward models of the world, as well as techniques like active localization that allow robots to gather targeted information through interactive perception. Closing the reality gap will require finding ways to better match simulations to reality or allow robots to learn from real-world experiences.
[243] Deep Learning to help student’s Deep LearningNAVER D2
This document describes research on using deep learning to predict student performance in massive open online courses (MOOCs). It introduces GritNet, a model that takes raw student activity data as input and predicts outcomes like course graduation without feature engineering. GritNet outperforms baselines by more than 5% in predicting graduation. The document also describes how GritNet can be adapted in an unsupervised way to new courses using pseudo-labels, improving predictions in the first few weeks. Overall, GritNet is presented as the state-of-the-art for student prediction and can be transferred across courses without labels.
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
This document provides a summary of new datasets and papers related to computer vision tasks including object detection, image matting, person pose estimation, pedestrian detection, and person instance segmentation. A total of 8 papers and their associated datasets are listed with brief descriptions of the core contributions or techniques developed in each.
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
This document presents a formula for calculating the loss function J(θ) in machine learning models. The formula averages the negative log likelihood of the predicted probabilities being correct over all samples S, and includes a regularization term λ that penalizes predicted embeddings being dissimilar from actual embeddings. It also defines the cosine similarity term used in the regularization.
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
The document discusses running a TensorFlow Serving (TFS) container using Docker. It shows commands to:
1. Pull the TFS Docker image from a repository
2. Define a script to configure and run the TFS container, specifying the model path, name, and port mapping
3. Run the script to start the TFS container exposing port 13377
The document discusses linear algebra concepts including:
- Representing a system of linear equations as a matrix equation Ax = b where A is a coefficient matrix, x is a vector of unknowns, and b is a vector of constants.
- Solving for the vector x that satisfies the matrix equation using linear algebra techniques such as row reduction.
- Examples of matrix equations and their component vectors are shown.
This document describes the steps to convert a TensorFlow model to a TensorRT engine for inference. It includes steps to parse the model, optimize it, generate a runtime engine, serialize and deserialize the engine, as well as perform inference using the engine. It also provides code snippets for a PReLU plugin implementation in C++.
The document discusses machine reading comprehension (MRC) techniques for question answering (QA) systems, comparing search-based and natural language processing (NLP)-based approaches. It covers key milestones in the development of extractive QA models using NLP, from early sentence-level models to current state-of-the-art techniques like cross-attention, self-attention, and transfer learning. It notes the speed and scalability benefits of combining search and reading methods for QA.
2. 안녕하세요
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
오픈소스 운영관리 업무를 담당하고 있습니다.
• NAVER SW에 사용되는 오픈소스 SW를 검수하고
• NAVER 오픈소스 프로젝트를 외부에 공개하며
• NAVER 개발자들의 오픈소스 활동을 지원하고 있습니다.
3. 이번 발표에서는..
오픈소스 SW 라이선스를 어떻게 결정하고 실제 개발에 적용하는지 설명합니다.
다른 사람들이 내 오픈소스 SW를 잘 사용하기 위해서 어떤 내용을 제공해야 하는지 알아봅니다.
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
7. 오픈소스 라이선스 - MIT
Copyright (c) 2017 fuzzythecat, juice500ml, punkyoon
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
저작권 선언
사용/복제/수정/배
포/라이선스 변경,
판매 등에 제한 없
음
저작권/라이선스를
명시할 의무
품질 보증을 하지
않으며, 사용에 대
한 책임을 지지 않
음
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
9. 오픈소스 라이선스 – GPL v3
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided
that you conspicuously and appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any non-permissive terms added in accord with section
7 apply to the code;
keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along
with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty
protection for a fee.
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
10. 오픈소스 라이선스 – GPL v3
5. Conveying Modified Source Versions.
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any
conditions added under section 7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into
possession of a copy. This License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts, regardless of how they are
packaged. This License gives no permission to license the work in any other way, but it does
not invalidate such permission if you have separately received it.
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
11. 오픈소스 라이선스 – GPL v3
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
저작권 선언
GPL v3 또는 이후
버전 라이선스 조항
에 따라 수정/재배
포 가능
GPL 전문 위치 안내
품질 보증을 하지
않으며, 사용에 대
한 책임을 지지 않
음
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
14. 라이선스 의무조항 확인
오픈소스 SW를 사용하는 데 따르는 의무조항 확인
• 대부분의 라이선스는 copyright와 license를 사용자에게 명시하는 것을 기본 의무조항으로 명시한다
사용한 오픈소스 SW의 copyright/license 문구 유지
일부 코드만 가져온 경우 코드 상단에 출처 및 copyright, license를 명시
여러 개의 오픈소스 SW를 사용한 경우, 각 SW의 라이선스를 명시한 문서를 별도 관리하는 것을 추천
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
15. 라이선스 conflict 확인
의무조항의 충돌으로 함께 사용할 수 없는 라이선스가 있는 지 확인
• GPL 계열 라이선스와 Apache License v2를 함께 사용할 때에는 compatibility 확인이 필요하다.
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software
into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in
one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright
law.
This licensing incompatibility applies only when some Apache project software becomes a derivative work of some
GPLv3 software, because then the Apache software would have to be distributed under GPLv3. This would be
incompatible with ASF's requirement that all Apache software must be distributed under the Apache License 2.0.
…
Despite our best efforts, the FSF has never considered the Apache License to be compatible with GPL version 2,
citing the patent termination and indemnification provisions as restrictions not present in the older GPL license.
[출처: https://www.apache.org/licenses/GPL-compatibility.html ]
16. 배포 라이선스 결정
사용한 오픈소스 SW들의 라이선스를 고려해서 결정
• 가장 엄격한 라이선스를 기준으로 따르는 것이 좋다
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
18. README
프로젝트에 대한 기본적인 정보와 함께 배포 라이선스를 명시 #
• Copyright와 라이선스 문구를 함께 명시하는 것이 좋다
• 라이선스 전체 문구가 길 때는 boilerplate로 명시한다
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
19. LICENSE
오픈소스 SW의 배포 라이선스 전문(full text)을 명시 #
• 보통 README에는 간단하게 boiler plate를 적고, full text는 LICENSE에 적는다
• 내부 코드에 사용된 third party SW의 라이선스를 고려하여 conflict가 없는 라이선스로 배포해야 한다
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
20. NOTICE
오픈소스 SW 내에서 사용된 third party SW 정보 #
• DEPENDENCY와 무엇이 다른가?
- DEPENDENCY에는 프로젝트를 실행하는 데 필요한 package들에 대한 정보를,
- NOTICE에는 프로젝트 소스코드 내에 포함되어 재배포되는 third party SW들에 대한 정보를 넣는다.
D2 CAMPUS FEST 2016
결승팀 오리엔테이션
21. COMMENTS
소스 코드의 copyright와 라이선스 명시 #
• LICENSE/NOTICE 파일 이외에도 각 파일마다 상단에 copyright 정보를 표기한다
• 오픈소스 SW를 사용한 경우, 원본에 copyright/license 정보가 표시되어 있다면 그대로 유지한다.
명시되어 있지 않다면, 해당 SW의 출처, copyright과 라이선스를 코드 최상단에 명시한다
• 외부 오픈소스 SW의 일부분만 가져왔다면, 해당 부분에 대한 출처 및 copyright, 라이선스 정보를
해당 코드 시작점에 주석으로 명시한다
D2 CAMPUS FEST 2016
결승팀 오리엔테이션