agenda
1. Introduction
2. what is open source
3. IMPORTANCE of open source
4. how does it help you
5. how to get in
6. interacting in open source
7. questions


Tomasz Godzik
Senior Scala Developer
Who am i

Tomasz Godzik
Senior Scala Developer

previously
contributor for Scala Center
Who am i
Who am i
-
METALS
-
mdoc
-
scalameta
-
dotty
-
bloop
-
various commercial projects

Who am i
-
METALS
-
mdoc
-
scalameta
-
dotty
-
bloop
-
various commercial projects
We provide expert software engineering & consultancy services to give our clients a competitive edge








virtuslab
what is open source?

who knows what is open source?
Any non developer beginners?
who has ever contributed?
Computer software released under special licenses, openly available to view and modify*
Not an official definition
GNU General Public License
THE APACHE LICENSE
Berkeley Software Distribution (BSD)
MIT License




License is need for open source

Main types: Copyleft and Permissive
Dictate how one can use the code

The ability to examine the code facilitates public trust in the software.
Usual approach
collaborative project on github or gitlab

MAINTAINERS AND CONTRIBUTORS

RELEASED UNDER A LICENSE

ISSUE TRACKING FOR BUGS AND FEATURES

MULTIPLE CONTACT CHANNELS



there might be other ways

Why is open source important?

The world literally depends on it

multimilion companies all using open source




multiple stories about CVE
Common Vulnerabilities and Exposures

things might go awry
Sudden change of license can cause real world issues


foster collaboration between companies
bazel
linux foundation
eclipse foundation
apache foundation




great place for new ideas

great place for new ideas




How can open source help you?

get to know production code

how to work in a team

interact and learn from knowledgable people

Looks good in CV
people can already see your work
get in contact with companies

How to get into open source

choose something you are interested in or use
TOOL OR LANGUAGE
should not be too complicated

needs to be fun for you

you have to invest time into it before you will be able to contribute. Kind of - you join a new company and takes weeks before you dive enough into details and start doing smth serious
Vadim Chelyhov
Talk to people, they are friendly!

they really are!
interact with maintainers - chat, dicussions,
ask questions
contributors guide





try setting up the project
try running things
contributos guide
Try it out!

HELP NEEDED label
start discussion
get an idea of a solution
ASK OR LOOK FOR A TASK

ask for help!
discuss some more
this might take some time
ask more questions
don't get discouraged!

feedback is good
engage with reviewers
ask for hints
open a pr

celebrate!

you might want to get started with the technology first
some knowledge is needed to get started
multiple bootcamps, courses
Beginners

mentorship
Often contributors will be happy to take on mentorship
participate in an internship program
for example Google summer of code
https://tinyurl.com/open-internship

Interaction in open source projects

always be respectful


ask not demand


keep to the positives


don't be political


Presentation: https://slides.com/tomekgodzik/open-source
Social media:
Twitter @TomekGodzik,
Mastodon https://fosstodon.org/@tgodzik
Ask me about anything on our scalameta discord!
Contact as at VirtusLab
QUESTIONS?
Open source - the gateway to IT
By Tomek Godzik
Open source - the gateway to IT
- 521