オープンソースソフトウェア入門

67
Yusuke Miyazaki 2016/10/22 @CAMPHOR- HOUSE

Transcript of オープンソースソフトウェア入門

Page 1: オープンソースソフトウェア入門

Yusuke Miyazaki 2016/10/22 @CAMPHOR- HOUSE

Page 2: オープンソースソフトウェア入門

⚠⚠⚠ ⚠⚠⚠

Page 3: オープンソースソフトウェア入門

Page 4: オープンソースソフトウェア入門

| |

Open-Source Software | |

OSS

Page 5: オープンソースソフトウェア入門

OSS ? 🙋 #

Page 6: オープンソースソフトウェア入門
Page 7: オープンソースソフトウェア入門

: iOS

OSS !!

Page 8: オープンソースソフトウェア入門

OSS

🙏 🙏 🙏

Page 9: オープンソースソフトウェア入門

OSS ? 🤔 🤔 🤔

Page 10: オープンソースソフトウェア入門

• OSS ?

• OSS

• OSS

Page 11: オープンソースソフトウェア入門

OSS ? 🤔

Page 13: オープンソースソフトウェア入門

The Open Source Definition1. Free Redistribution 2. Source Code 3. Derived Work 4. Integrity of The Author’s Source Code 5. No Discrimination Against Persons or Groups 6. No Discrimination Against Fields of Endeavor 7. Distribution of License 8. License Must Not Be Specific to a Product 9. License Must Not Restrict Other Software 10. License Must Be Technology-Neutral

opensource.org/osd-annotated

Page 14: オープンソースソフトウェア入門

…?

• cf.

Page 15: オープンソースソフトウェア入門

OSS • OS: BSD Darwin Linux

• :

Clang GCC LLVM Python Ruby…

• :

Chromium Emacs Firefox LibreOffice Vim…

• …

Page 16: オープンソースソフトウェア入門

OSS •

Page 17: オープンソースソフトウェア入門

OSS •

• OSS

Page 18: オープンソースソフトウェア入門

OSS • OSS

• OSS

?

Page 19: オープンソースソフトウェア入門

OSS • OSS

Page 20: オープンソースソフトウェア入門

OSS 📃

Page 21: オープンソースソフトウェア入門

OSS • OSS

Page 22: オープンソースソフトウェア入門

• :

• : Copyright (c) 2016, Yusuke Miyazaki.

Page 23: オープンソースソフトウェア入門

BSD 3-Clause License

Page 24: オープンソースソフトウェア入門

Copyright (c) <YEAR>, <OWNER> All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Page 25: オープンソースソフトウェア入門

BSD •

• : 3

• :

• ( )

Page 26: オープンソースソフトウェア入門

The MIT License

Page 27: オープンソースソフトウェア入門

Copyright (c) <year> <copyright holders>

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.

Page 28: オープンソースソフトウェア入門

MIT License • BSD

• :

• ( )

Page 29: オープンソースソフトウェア入門

Apache License

Page 30: オープンソースソフトウェア入門

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

Page 31: オープンソースソフトウェア入門

Apache License • BSD MIT

Page 32: オープンソースソフトウェア入門

GNU General Public License

Page 33: オープンソースソフトウェア入門

GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

Page 34: オープンソースソフトウェア入門

GPL 1• ( v3)

• " " ( )

( )

• : LGPL AGPL

Page 35: オープンソースソフトウェア入門

GPL 2•

• GPL

• GPL

GPL

Page 36: オープンソースソフトウェア入門

• BSD: FreeBSD NetBSD Nginx

• MIT: jQuery Ruby on Rails

• Apache: Android Apache Swift

• GPL: Emacs GCC Linux

Page 37: オープンソースソフトウェア入門

• GitHub !

Page 38: オープンソースソフトウェア入門

• OSS

Page 39: オープンソースソフトウェア入門

choosealicense.com

Page 40: オープンソースソフトウェア入門

cf. Creative Commons•

• creativecommons.org

Page 41: オープンソースソフトウェア入門

OSS 😤

Page 42: オープンソースソフトウェア入門

OSS • OSS

• OSS ( )

Page 43: オープンソースソフトウェア入門

OSS • :

• :

• :

…?

Page 44: オープンソースソフトウェア入門

OSS 🌏

Page 45: オープンソースソフトウェア入門

GitHub OSS • Git

• : Issue tracker / Pull request / Wiki

• GitHub

• (folk

) :

https://help.github.com/articles/open-source-licensing/

Page 46: オープンソースソフトウェア入門

Demo

Page 47: オープンソースソフトウェア入門

OSS • README

Page 48: オープンソースソフトウェア入門

OSS 💪

Page 49: オープンソースソフトウェア入門

OSS ?•

• OSS

Page 50: オープンソースソフトウェア入門

?•

• ( )

Page 51: オープンソースソフトウェア入門

OSS •

Page 52: オープンソースソフトウェア入門

OSS

Page 53: オープンソースソフトウェア入門

OSS • OSS GitHub Bitbucket

• GitHub PR

Page 54: オープンソースソフトウェア入門

: XCGLogger• Swift

• GitHub

• : 1,900

• watchOS App

PR

Page 55: オープンソースソフトウェア入門

: XCGLogger

Page 56: オープンソースソフトウェア入門

OSS

Page 57: オープンソースソフトウェア入門

OSS • OSS

Page 58: オープンソースソフトウェア入門

: Python• docs.python.jp

• Python :

github.com/python-doc-ja/python-doc-ja

• Transifex Web

Page 59: オープンソースソフトウェア入門

: Python

Page 60: オープンソースソフトウェア入門

: Python

Page 61: オープンソースソフトウェア入門

: Django• Web

• Trac GitHub

• :

docs.djangoproject.com/en/1.10/internals/contributing/

Page 62: オープンソースソフトウェア入門

: Django ( )

Page 63: オープンソースソフトウェア入門

: Django (Trac)

Page 64: オープンソースソフトウェア入門

: Django (GitHub)

Page 65: オープンソースソフトウェア入門
Page 66: オープンソースソフトウェア入門

• OSS

• OSS

• OSS

Page 67: オープンソースソフトウェア入門

Let’s Contribute!• : choosealicense.com

• OSS : github.com

• : github.com/explore

Thank you for listening!!