class: center, middle # Contributing To Open Source 💻 ### Tarik Eshaq ### UBC Launch Pad Co-President --- # About me --- # About me - Final term at UBC, doing Business & Computer Science 👔 - Previous intern at SAP & Mozilla - Returning to Mozilla in a few months 🎉 --- # Mozilla & Open Source - Mozilla was created as a foundation to help the development of the open web - Firefox is fully open sourced, and YOU can contribute to it! 🦊 - Mozilla maintains a multitude of open resources that define web standandards, along with documentation ([MDN!](https://developer.mozilla.org/en-US/)) --- class: center, middle # History of Open Source --- # History of Open Source - Unix & Netscape & The Open Source Initiative - [Free](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html) vs [Open Source](https://opensource.org/osd) - Licenses! (MIT, Apache, MPL 2.0, GPL) 📎 --- class: center, middle # Where is Open Source now? --- # Where is Open Source now? 💵💵💵 - Major projects from big companies are getting open sourced: - Google (https://opensource.google/projects/): - Go - Tensorflow - Firebase - Kubernetes - Microsoft (https://opensource.microsoft.com/projects) - Visual Studio Code - TypeScript - .NET - Azure SDK - Facebook (https://opensource.facebook.com/projects) - GraphQL - React - PyTorch - Hermes - Amazon (https://aws.amazon.com/opensource/) - And more! --- class: center, middle # Types of Open Source Projects --- # Types of Open Source Projects 1. Personal 👨 --- # Types of Open Source Projects 1. Personal 👨 1. Personal V2 👩 🚀 --- # Types of Open Source Projects 1. Personal 👨 1. Personal V2 👩 🚀 1. Community 👯♀️ --- # Types of Open Source Projects 1. Personal 👨 1. Personal V2 👩 🚀 1. Community 👯♀️ 1. Corporate 💰 --- # Types of Open Source Projects 1. Personal 👨 1. Personal V2 👩 🚀 1. Community 👯♀️ 1. Corporate 💰 1. Foundational ☮️ (source https://wackowiki.org/doc/Org/Articles/5TypesOpenSourceProjects) --- class: center, middle # How to Contribute to Open Source? Using `deno` 🦕 as an example (https://deno.land/) --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) - Read it's README! https://github.com/denoland/deno - Read any high level documentation (https://deno.land) --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! - Install the project - Use the "Getting Started" documentation --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! 1. Read the `Contributing` documentation --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! 1. Read the `Contributing` documentation 1. Join community chat 🤝 --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! 1. Read the `Contributing` documentation 1. Join community chat 🤝 1. (optional): for devs, build from source! --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! 1. Read the `Contributing` documentation 1. Join community chat 🤝 1. (optional): for devs, build from source! 1. Look for Beginner friendly tasks! --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! 1. Read the `Contributing` documentation 1. Join community chat 🤝 1. (optional): for devs, build from source! 1. Look for Beginner friendly tasks! 1. Pick a task and submit a PR 🎉 --- # How to Contribute to Open Source? 1. Understand what the project is (at a high level) 1. Use the Project! 1. Read the `Contributing` documentation 1. Join community chat 🤝 1. (optional): for devs, build from source! 1. Look for Beginner friendly tasks! 1. Pick a task and submit a PR 🎉 1. Repeat and engage in the community ([deno-codespaces](https://github.com/tarikeshaq/deno-codespaces)) --- class: center, middle # Imposter Syndrom is very real in Open Source! --- # Some awesome projects to contribute to: Check out https://github.com/MunGell/awesome-for-beginners! - pdf.js (A pdf reader made in JavaScript!) - mattermost (an alternative to Slack made in Go and React!) - Visual Studio Code (A lightweight code editor made in TypeScript and Electron!) - Deno (A TypeScript Runtime made in Rust) - Pytorch (A deep learning library built in Python) - MDN (The documentation for everything web!) - TypeScript (well... TypeScript 😆) - TensorFlow (The machine learning standard! built in C++) --- class: center, middle # Thank you! Pssst, I'm `@tarikeshaq` everywhere, do say hi 👋