Learning through doing Finding your way to contributing in open source projects @RCheesley
A presentation at Devcareer.io meetup in October 2022 in by Ruth Cheesley
Learning through doing Finding your way to contributing in open source projects @RCheesley
Ruth Cheesley (she/her) Mautic Project Lead ruth.cheesley@mautic.org speaking.ruthcheesley.co.uk for slides, recordings, links and resources @RCheesley
Getting started in open source. What we’re going to cover today 1. 2. 3. What is open source, and why might we want to consider contributing? How did I get started? How do you decide on what to contribute, and which project to get involved with? How do you actually contribute to an open source project? Let’s have a go! [there will be homework!]
What do we mean by open source? Share your thoughts in the chat… @RCheesley
“ The term open source refers to something people can modify and share because its design is publicly accessible. Open source projects, products, or initiatives embrace and celebrate principles of open exchange, collaborative participation, rapid prototyping, transparency, meritocracy, and community-oriented development. - opensource.com @RCheesley
Why contribute to open source? What’s your reason? @RCheesley
There are many reasons! 1. Give back to improve the tools that you rely on 2. Improve your own skills 3. Develop your reputation and career
Some interesting projects Open source is not only about coding! @RCheesley
Wikihouse.cc. An open source architecture project that is created by a global community of architects, designers, engineers, scientists, organisers and entrepreneurs. Aims to put the knowledge and tools to build beautiful, zerocarbon buildings into the hands of every citizen, community and business. @RCheesley
arduino.cc. An open source electronics platform based on easy-to-use hardware and software, intended for anyone creating interactive electronics-based projects. Arduino’s mission is to enable anyone to enhance their lives through accessible electronics and digital technologies. There was once a barrier between the electronics, design, and programming world and the rest of the world. Arduino has broken down that barrier. @RCheesley
Joomla.org. An open source Content Management System (CMS) which allows you to build powerful, dynamic websites and applications primarily for publishing web content. Aims to be the most exible, extendable platform which enables web creators to build powerful websites and applications with a free and open source community-powered platform. fl @RCheesley
mautic.org. An open source Marketing Automation tool which empowers marketers to learn about their customers and personalise their communications across multiple different channels to develop a trusted relationship with the individual. Aims to enable marketers to free their marketing through fully open source, customisable marketing automation tool which delights both the user and the customer alike. @RCheesley
My journey to contributing in open source From user to complainer to contributor! @RCheesley
H O W I G OT TO H E R E NOT THE TRADITIONAL ROUTE! P H YS I O T H E RA PY I T / W E B D EV COMMUNITY Started out doing Sport Science then Physiotherapy at Uni - tech was never a career suggested despite being geeky! Worked part time jobs at uni on a computer helpdesk, got a job as an IT Technician and then health data analyst, then created a digital agency doing web design Volunteered in Open Source communities (documentation, user groups, writing content) resulting in leadership roles in several communities Photo by Toa Heftiba on Unsplash Photo by Taylor Vick on Unsplash @RCheesley Photo by Ekke Guembel
2003 2008 2012 Started using open source tools Needing to pay off loans from Started working with Joomla as my main (Knoppix, Ubuntu, ClamAV, University, I started building occupation and proposed my first talk for HijackThis) to fix infected Joomla! websites and freelancing the Joomla World Conference in San computers for other students while alongside work. Jose (supported by Passport to Export scheme) - joined GitHub! at Uni, as ‘Essex Virus Removals’. My contribution journey Section divider 2007 2009 My first job in IT after graduating as Started a local Joomla user group a physio! Working in a school as an as I wanted to meet other Joomla IT Technician, I was asked to rebuild users and find ways to do things / the website. Came across Content have people to ask when I got stuck. Management Systems (Drupal, Joomla!) and started using Joomla. We met monthly and quickly gained a committed group of members. @RCheesley
2013 2015 Created my first bug report on Raised my first issue and PR for Stepped up to Mautic Project Lead after GitHub! Invited to join the Joomla Mautic - a project that has just the founder decided to step back from Community Leadership Team to launched and which I used for involvement with the project. Led my support User Groups and clients in our Digital Agency. first release, established our community 2020 governance model, teams and values. Marketing. Section divider 2014 2019 Created my first PR at a Pizza, Bugs Started work at Acquia as Mautic and Fun event to fix a bug in Community Manager, helping the Joomla, which was merged the day open source community to after it was submitted! 🥳 establish its own governance and autonomy from the corporate Joined the Joomla Marketing Team. entity which was acquired by Acquia in 2019. @RCheesley
Ways you could contribute The sky is the limit! @RCheesley
“ “Ask not what your country open source project can do for you - ask what you can do for your countrymen open source project.”
Section divider
Finding a project Deciding where you want to contribute @RCheesley
Three things I look for in a project 1. Cool (to you!) 2. Culture and Community 3. Contribution guide
Deciding where to contribute. • What projects are you already using, want to use, or are familiar with/attracted to? • If you ever see something that could be improved in any open source project, improve it! Spotted a typo or a broken link? Fix it! • What skills do you have that you would like to use? Make a list of the things that you enjoy doing, and remember, it does not need to be code!
rsttimersonly.com Packed with useful information to help rst-time contributors nd projects and issues to work on. rstcontributions.github.io A tutorial where you make a contribution to this project - perfect for learning how the GitHub contributions work ow works. Great resources to help you nd your way in making opensource.guide/how-to-contribute your rst contributions. An initiative to encourage people to contribute to open source on a Friday. fi fi fi fl opensourcefriday.com fi fi fi Useful resources.
Getting started. Check the contribution guidelines .github/CONTRIBUTING.md Join the community Synchronous chat - eg Slack, Discord, IRC etc Mailing lists Issue queue (may not be on GitHub) Find an issue or project to work on Raise the issue and state you would like to work on it Join the new contributors chat and ask for a task
Top tips 1. Ask for help early (but do your research rst!) 2. Be clear with your descriptions of what you have done, and how people should review or check your work 3. Consider also helping with reviewing the work of fi others
Let’s get started! Live contribution time! @RCheesley
Update a page on the Mautic docs. https://mautic.atlassian.net/browse/TEDU-128
Test a bug x in Mautic. https://github.com/mautic/mautic/pull/11610 fi https://github.com/mautic/mautic/pull/11491
fi Homework! 1. Make a list of the skills that you want to offer to open source communities 2. Find a community that appeals to you, and join the community chat 3. Make your rst contribution to open source - and be sure to share it with us on Slack!
Ruth Cheesley (she/her) Mautic Project Lead What questions can I answer? ruth.cheesley@mautic.org speaking.ruthcheesley.co.uk for slides, recordings, links and resources