Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An introduction of open source.

Hung-Wei Chiu
November 20, 2017
51

An introduction of open source.

An introduction of open source.
What is opensource
Why opensource and how to join opensource.

Hung-Wei Chiu

November 20, 2017
Tweet

Transcript

  1. Who Am I  Hung-Wei Chiu (hwchiu)  [email protected]

    hwchiu.com  Experience  Software Engineer at Linker Netowrks  Software Engineer at Synology (2014~2017)  Co-Found of SDNDS-TW  Open Source experience  SDN related projects (mininet, ONOS, Floodlight, awesome-sdn)  Others
  2. Linker Networks  Provide vitalization platform for 5G/AI  DCOS,

    Kubernetes  Cooperate with ONF(Open Network Foundation) to provide Kubernetes solution.  Many community founder/co-founder  GolangTW  Docker.Taipei  SDNDS-TW
  3. Outline  What is Open Source  Why Open Source

     Business about Open Source  How to join Open Source
  4. FUTUREWEI  Head of US Open Source Program Office 

    Senior Director of Strategy and Business Development  How HUAWEI treat Open Source
  5. Have You Heard Of  Operations System  Linux/FreeBSD/Android 

    Version Control  Github/Git/Bitbucket  Deep Learning  Tensorflow/Darkflow/ImageNet/Yolo/Caffe  Programming Language  Nodejs/Go/Python  Browser  Chrome, Firefox
  6. What is Open Source  From OSI (Open Source Initiative)

     Free Redistribution  Source code  Derived work  No Discrimination Against Persons or Groups/Fields of Endeavor
  7. The Opposite Is Closed Source  Microsoft Windows  Microsoft

    Office  Microsoft Internet Explorer  Mac OSX  Adobe Photoshop  Others
  8. For Software Itself  Given enough eyeballs, all bugs are

    shallow  Tends to produce better quality software  Hard to insert backdoors  You can watch whole Linux Kernel source code  https://elixir.free-electrons.com/linux/latest/source
  9. For Software Itself  Patch on your own schedule 

    Make it better  When a bug/vulnerability is discovered  Don’t wait the specific vendor/owner to fix it.  You can fix it  Cisco says router bug could be result of ‘cosmic radiation’
  10. For Developer  Shift developers from low-value work to high-value

    work  Don’t reinvent wheels  Stand on the shoulders of giants  If you want to write a simple ”Hallow World” application.  Kernel (support keyboard, monitor, mouse)  Editor (modify the language)  Compiler/Assembler (for existing language)  Write your application printf(“Hello World\n”)
  11. For Developer  Make your coding skill better  Readability

     Flexibility  Stability  There are also many tools/docs can help you to improve your coding style.  Pylint, jslint, golint, etc.  Coding style reference (google)  Diagnostic tool
  12. For Developer  Learn how to work with others. 

    Document  Version control  Discuss  Peer Review/Code Review  Better coding style  Avoid blind spot
  13. For Developer  Gain reputation/opportunity  A story about my

    friend  Research SDN  ONOS controller, no IPv6 features  Intern  Works on Silicon Valley now.
  14. Non-Profit Organization  Linux Foundation  Linux  OpenStack Foundation

     OpenStack  Open Networking Foundation  ONOS/CORD
  15. Non-Profit Organization  Member/Public  Member fee  High priority

    support  Board  Lead some open source projects  Standard/Technique
  16. Profit Company  Save Time  System Integration Company 

    Provides  Customized feature  Better support  Other  Provide a product  Partial open source (License)  Enterprise/Community version
  17. For Example  Linux  Red Hat Enterprise Linux (Red

    Hat)  Ubuntu (Canonical)  OpenStack  99Cloud  EasyStack  InwinStack
  18. Another-Example CSCC  Save Money  Computer Science Computer Center

     For NCTU-CS department  Maintain Linux/BSD workstations  Provide services for CS departments
  19. Features (Software)  Web UI management  Traffic/Parental Control/QoS 

    Security (IPS/IDS/DPI)  VPN Server  Port Forwarding/Port Trigger  Filter/Firewall  IPv6/PPPoE/DHCP/NAT  Dual Homing/LACP/Bonding
  20. By the way  Linux has many friends.  User

    space tools  Iptable  tc  Kernel function  Netfilter  Tc  Conntrack  Bonding
  21. Features (Software)  Web UI management  Traffic/Parental Control 

    Security (IPS/IDS/DPI)  VPN Server  Port Forwarding/Port Trigger  Filter/Firewall  IPv6/PPPoE/DHCP/NAT  Dual Homing/LACP/Bonding
  22. VPN  VPN Server  OpenVPN  SoftetherVPN  Linux

    Kernel support  IPSec  Strongswan  libreswan
  23. Which Open Source Project ?  You’re using now 

    The language/tools/software you know  There are something you want to learn or have interest in.  You want to make it better
  24. For Example  Any programming language  NodeJs, Python, React,

    go  Any frameworks  Django,Rais,  Any infrastructure/deployment/virtualization  Kubernets, OpenStack, Docker, Ansible  Any useful tools  Any funny side projects
  25. How to contribute/join it ?  Document  Report Bug/Fix

    Bug  Test  Promote  Discuss  Translate
  26. Document  Official website  wiki/github  Personal blog/gitbook 

    Awesome series  https://github.com/sindresorhus/awesome  Just document everything you know.
  27. Report Bug/Fix Bug  Report bug  Github issue 

    Post on forum/mail/slack/irc  Find a bug and fix it.  Hard to join.  Github pull request  Discuss on forum/mail/slack/irc/github
  28. Test  Test it and report bug.  You can

    also writing testing for them.  Unit Test  Code coverage  Software Integrity
  29. Promote  Hold a local meetup/conference  Promote it 

    How to use  Help someone  Local community  Personal blog/website
  30. Next Step  Don’t be shy  Don’t be afraid

     Don’t be scared  Just do it.
  31. Summary  Make the world better  No need to

    reinvent the wheel  Not only be a taker, but also be a giver  It’s never to late to join Open Source