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

Open Source 101: Learn, Collaborate and Appreciate

Clifford Ouma
September 18, 2023

Open Source 101: Learn, Collaborate and Appreciate

Open Source has taken the world of technology by storm. As we celebrate Software Freedom Day 2023, let us learn about this world of open-source. In this workshop I will teach about open source the concept, explain how ''free'' is used in open source, then we have a practical contribution to a demo open source project and finally learn how to best approach making real open source contributions

Clifford Ouma

September 18, 2023
Tweet

More Decks by Clifford Ouma

Other Decks in Technology

Transcript

  1. LET’S KEEP IN TOUCH WHO AM I? Open Source Community

    manager at Open Terms Archive Undergrad Student Frontend .NET Developer at Applantus Clifford Ouma Twitter (X): @clifford_ouma LinkedIn: CliffordOuma
  2. 02. Open Source tools workshop Understand the “Open source workflow”

    using some open- source tools 01. Open source concept Understand what is Open Source, it’s history and relate with it 03. Contributing to open Source Understand how we can find suitable OSS projects and contribute to open-source WHAT WE WILL COVER
  3. GO BACK IN TIME Proprietary software (Closed sourced software) was

    the only model Authors of code were under contract Only owner could access source code Licences restricted user’s access and rights
  4. IN OPEN SOURCE Differs from proprietary in terms of licence

    Can have a permissive or restrictive license Is free in terms of freedom and not cost Driven by ideological or pragmatic reasons
  5. An open-source product can be charged and proprietary be free

    Free in Open Source doesn't mean price, it means freedom
  6. COMMON OPEN SOURCE SOFTWARES Open source softwares you are most

    likely using ANDROID LINUX MOZILLA FIREFOX VLC GIT WORDPRESS
  7. 1. 2. 3. Let’s do a slight discussion Voting system

    devices Medical devices like pacemakers, difribulators Military Equipment Is it ok to open source the following types of software??
  8. COLLABORATION SECURITY AND QUALITY INDIVIDUAL Why use Open Source Software

    (OSS) Build better software Solve problems better Lower development costs Better creation from get-go Faster bug reports More people fixing security loopholes Code becomes cleaner Avoid vendor lock-in Trust but verify Save on software costs Mix software from various sources
  9. BUSINESSES SECURITY AND QUALITY Why use Open Source Software (OSS)

    Lower cost of development Speed time to market Confidence from customers Get feedback from a wide community No reinventing the wheel More people to fix bugs Feedback from large pool of devs Make good design decisions Great to find next jobr
  10. 1. 2. 3. Before we start Prerequisites are below Sign

    up for a GitHub account Download and set up git in your machine Navigate to the demo repo
  11. Version control Keeps record of all changes Allows moving back

    and forth in time project store Repository Can be online or local Is your project root folder Keeps the online repo Hosting platform Allows hosting online repo Allows collaboration and project management BASIC GIT AND GITHUB tracks changes
  12. git add . copies project git clone Adds a message

    for changes made git commit -m COMMON GIT COMMANDS adds all files for tracking git pull send changes to online repo git push Merges two branches git merge brings changes from online repo to local
  13. GITHUB SEARCH You can search on GitHub using topics, skills

    and tags Then check issue labels 3RD PARTY SITES You can check sites like First Timers Only, Up For Grabs, CodeTriage, and Awesome for Beginners.
  14. Interests Find projects that deal with your interest areas, fields

    or topics Skills Find projects that match the skills you have Issues Take up issues that fit with what you can do Rules Every OSS project has rules on how to contribute, how to behave and what you can do THINGS TO CONSIDER
  15. RESOURCES CONTRIBUTE TO OPEN SOURCE GUIDE (BLOG) https://www.santoshyadav.dev/blog/contribute-open-source- comprehensive-guide/ LINUX

    FOUNDATION OPEN SOURCE BEGINNER TRAINING https://training.linuxfoundation.org/training/beginners- guide-open-source-software-development/ GIT WORKSHOP RESOURCES BY RASHEED https://taiwrash.github.io/g4-workshop GITHUB OPEN SOURCE GUIDE https://opensource.guide/
  16. KENYAN OPEN SOURCE PROJECTS Savannah Silica Mpesa Dart Team Folio

    Windi UI https://github.com/savan nah-Silica https://github.com/newto nmunene99/mpesa-dart https://github.com/Team- folio/TeamFolio https://github.com/selemo ndev/windi-ui