Learning through doing Finding your way to contributing in open source projects @RCheesley
A presentation at Adastral Women in Tech group in July 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. Improve the tools that you rely on - x bugs, help to add new features, improve the documentation, help them have a better web presence. 2. Improve your own skills - work with people from around the world who are at the top of their game. Access mentoring and support to grow your abilities. 3. fi Develop your reputation and career by working in the public and making a difference in the world. Develop friendships and learn leadership and management skills. Attract potential employers to you, rather than chase them!
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
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 your rst contributions. fi fi fi fl opensource.guide/how-to-contribute 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! 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 others
Let’s get started! Live contribution time! @RCheesley
Fix a docs bug with DDEV. https://github.com/drud/ddev/issues/4034
Test a bug x in Mautic. https://github.com/mautic/mautic/pull/11352 fi https://github.com/mautic/mautic/pull/11346
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