Marvin
Oct 21, 2020
Please welcome Marvin Karegyeya, @nuwe1_
Software developer, FOSS contributor and member of the steering committee of the @gitlab heroes program
Oct 21th to 28th on @imakefoss
Interview: https://t.co/aDFV4pkJzU
@imakefoss is a Twitter rotation curation account. https://t.co/5WUebw427u
Oct 21, 2020
Hey everyone. I take this opportunity to give a huge shout out to - Keshav Bhatt (@keshavmail68) who has been an amazing curator for the previous week. He has done a phenomenal job teaching us about the Linux ecosystem last week.
- Marvin Karegyeya (@nuwe1)
Oct 21, 2020
What to expect this week
-
My experience with FOSS -Tips to get started with FOSS -Hopefully, inspire someone out there to get started with FOSS.
-
Marvin Karegyeya (@nuwe1_)
Oct 22, 2020
MAKING YOUR FIRST CONTRIBUTION
The first thing you should do is look for the project’s guide on how to get started with contributing.
Often, this will be in a file called CONTRIBUTING, or on the project’s wiki.
- Marvin Karegyeya (@nuwe1_) https://t.co/0ZajFYwkMD
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT:1 At times it is a little bit difficult to start contributing to a project especially when you are starting out so getting a guide will help alleviate this stress
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT:2 It also helps to go through the project’s Readme file. For most projects, it usually has a section that talks about how to contribute.
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT: 3 In case there is no section labeled contribute. Then usually there is a https://t.co/wqk9hzI6M3 file that has details about how to contribute
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT4: Another thing to look out for would be a link to the project landing page. This also has a section titled community or contribute that could probably lead you to the contribute page.
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT: 5 Well in case that is not an option then lookout for a project wiki. Most projects do have project wikis that contain information about the project in general and how to contribute
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT:6 If you still cannot find a guide then that’s okay. Just ask for help am sure the community will be more than willing to help you. This applies to most FOSS communities.
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT:7 Communities are really huge in terms of helping out so even for cases where you are not a good reader or you probably just don’t understand the text. A community member can save you from all this stress.
Oct 22, 2020
@nuwe1_ AFTERTHOUGHT:8 The thing about community members is most of them are passionate individuals and they know some of the top-secret project’s hacks so they could be of really great help.
Oct 22, 2020
I look at contributing to FOSS as giving. The knowledge that I am helping out on some major project is hugely empowering. It makes me happy and I guess fulfilled.
- Marvin Karegyeya (@nuwe1_)
Oct 23, 2020
MAKING YOUR FIRST CONTRIBUTION These guides will often explain everything you need to know about the project.
Also how the project management team expects people to work.
- Marvin Karegyeya (@nuwe1_) https://t.co/AwWEdHuxe6
Oct 23, 2020
@nuwe1_ AFTERTHOUGHT 1: Understanding the guide can be a really tricky thing for a beginner especially when you are starting out as a developer or maybe just new to FOSS.
Oct 23, 2020
@nuwe1_ AFTERTHOUGHT 2: There are quite a number of those GETTING STARTED GUIDES that do not get you started. Some of these could be hard to navigate and let alone understand.
Oct 23, 2020
@nuwe1_ AFTERTHOUGHT 3: So what do you do? Well, the first thing you should do is try to get the project installed usually a simpler way to do this could be put in the readme project of the file. It could be just some simple instructions to get the project set up.
Oct 23, 2020
@nuwe1_ AFTERTHOUGHT 4: So you have installed the project what you do you do next? Well, don’t just look at it try to experiment with it try out those things you read from the guide, and try to make sense out of it.
Oct 23, 2020
CHALLENGE Today I want to challenge you to make a contribution this weekend to your favorite FOSS project and if you don’t have, then find one. We’ll be discussing the contribution come Monday Remember IMakeFOSS, YouMakeFOSS, and together WeMakeFOSS. Marvin Karegyeya (nuwe1_)
Oct 24, 2020
MAKING YOUR FIRST CONTRIBUTION So you’ve read the guide and figured out how the project works, and you’re ready to make a difference. Where do you start? The easiest way to join the community is by filing and commenting on issues.
- Marvin Karegyeya (@nuwe1_) https://t.co/akcdqbeeoG
Oct 24, 2020
MAKING YOUR FIRST CONTRIBUTION The first step of fixing a problem is making sure it’s known. Filing good, descriptive issues is extremely helpful to the project maintainers, as it tells them where they should be focusing their efforts.
- Marvin Karegyeya (@nuwe1_) https://t.co/KEAlR1tet7
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 1: Normally an issue board should be easy to find and there could be a lot of issues with a couple of labels that you could take on
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 2:Some of the common labels include (help wanted) (bug) or (good first issue) but what do these mean?
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 3: Well (help wanted) usually means it’s an issue that you can tackle as a contributor, then (bug) is literally what it is and can also include other labels as well and finally (good first issue) is a beginner-friendly issue for you to start with.
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 4: These labels are somewhat the standard for most FOSS projects and they seem to be widely accepted by most developers so I think familiarizing your self with them could be a huge step.
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 1: So there we are we have our issue and now it’s time to give a little detail about what we are working on
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 2: The most crucial thing about this part is figuring a way to make it easier for the maintainer to know how to reproduce the issue you are trying to address.
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 3: Try to be as descriptive as possible. You can do this by adding screenshots and steps or probably data needed to reproduce the error in question.
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 4: The secret to writing good descriptions is keeping it simple yet straight to the point. You should avoid using ambiguous words and focus on using very specific and descriptive titles and words.
Oct 24, 2020
@nuwe1_ AFTERTHOUGHT 5: Using a descriptive word makes it easier for the maintainers to understand and hence making it easier for your PR/MR to get accepted as quick as possible.
Oct 24, 2020
I think contributing to FOSS is about making small commitments. These should be things one believes they can do. Most projects have a couple of activities listed within their contribution pages for one to get started.
- Marvin Karegyeya (@nuwe1_)
Oct 25, 2020
MAKING YOUR FIRST CONTRIBUTION Keeping track of and reviewing pull requests is another great way to get involved.
- Marvin Karegyeya (@nuwe1_) https://t.co/xolnf2t1pz
Oct 25, 2020
MAKING YOUR FIRST CONTRIBUTION It helps you stay up to date with what’s happening with the project, and who knows, maybe you’ll spot the next project-breaking typo that slipped past everyone else.
- Marvin Karegyeya (@nuwe1_) https://t.co/sLf46rKYzW
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 1: Sometimes there could be quite a number of PR/MRs submitted and these could be overwhelming for the maintainers to review so this is where you can lend a hand.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 2: Reviewing a PR/MR could be really helpful especially for a small project with a smaller team. So lifting some of this weight off their shoulders could increase possibly the chances of other less experienced contributors' PR/MR to be merged
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 3: So once you have decided to review a PR/MR there are a couple of things that you should remember. and the first thing is these are contributions from FOSS contributors like you and some of them may not be familiar with the project like you are.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 4: The best way you could deliver an amazing experience would be to try to think like the contributor. Look at how they have made their contribution and decide on how you can communicate your feedback.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 5: Try to keep fun and exciting because some of these contributors treat the FOSS project as their FUN project so please do not take note to share feedback that encourages action rather than critic the contribution
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 6: You could use statements like this - ‘Hi [at]soandso have you considered using this approach. I think it could really be good to do this and that" in case you need a change to be implemented.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 7: So in summary the way you give feedback will determine the experience of the contribution for the contributor and remember you do not want to ruin that so please pay close attention to how you communicate.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 1: Keeping tabs on the latest release is usually a thing for real fans of the project but I think nobody is born a fan we just grow into loving the project that much.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 2: Well I don’t think people out there are intentionally looking for typos but sometimes you can spot them let’s say when you are reading the readme file or following up on a document within the wiki.
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 3: Well error is to human so don’t just leave it there and think someone else will fix it. You can file an issue immediately and send in a PR/MR for this and you could do a lot for the next person that is going to read that same document
Oct 25, 2020
@nuwe1_ AFTERTHOUGHT 4: Keeping tabs is also quite helpful in the sense that if you use the project for professional use you always ahead of the game. It gives you an edge to know the latest release information in probably any field so make it a point to keep yourself updated
Oct 25, 2020
I believe my biggest takeaway from contributing to FOSS has been the ability to build relationships with people I wouldn’t have otherwise been able to meet. For a person without much to say to strangers, I think it has greatly improved my networking ability.
- Marvin (@nuwe1_)
Oct 26, 2020
MAKING YOUR FIRST CONTRIBUTION Another great way to ease your way into a project is by doing some repository cleanup.
This can include updating documentation, making sure code fits the project’s standards, or making the readme prettier.
- Marvin Karegyeya (@nuwe1_) https://t.co/sMeX5ugZ0Z
Oct 26, 2020
MAKING YOUR FIRST CONTRIBUTION Simplicity is the ultimate sophistication.
The simpler the changes, and the easier your code is to read, the more likely it is that someone will review it quickly, and merge it.
- Marvin Karegyeya (@nuwe1_) https://t.co/lDvjz5qw0m
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 1: Recently I talked about how it is easier for smaller changes to get merged and today I would like to break down how this actually helps
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 2: The thing about small changes is the rarely introduce breaking changes and in case they do usually it is easier to debug these errors that may be introduced
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 3: Another thing would be it is easier for the maintainers usually to test and run these changes locally. So most of the maintainers would naturally choose them first.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 4: So what do you do when you want to make a larger change. Well, break it up. Break into some smaller changes that can be quickly merged and in the process, you will save yourself the time it would take for you to debug a month’s worth of errors.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 5: As you get more familiar with the project your knowledge and understanding progresses and you start to take on bigger tasks and that is ok because it will be easier for you to do these changes in a shorter time frame. So don’t be afraid to take them on.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 6: In conclusion, I would like to leave this with you if you feel like the change is too big for one MR/PR then that is probably because it is, so trust your judgement and break it up. There are usually no consequences for merging smaller changes.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 1: This is usually a task taken on by people who are into writing techinical document and probably first time contributors
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 2: Proofreading docs could really be rewarding for you in terms of the impact that it can create for the people who may interact with some of the work that you work on.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 3: Documentation is crucial for any project. This is because it acts as a reference for the people who interact with the project. So it is very important to make sure it is readable and understandable by everyone.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 4: Documentation is essential for bridging the gap of a lack of diverse talent working on a project. Often times translated documentation does not make sense to the native speakers of the languages it is translated to.
Oct 26, 2020
@nuwe1_ AFTERTHOUGHT 5: This misunderstanding could be caused by the way the words were phrased within the translated document which usually is not reflective of the intended meaning of the whole document.
Oct 26, 2020
I can’t recall a single day when I discovered I am a FOSS contributor. But I remember moments when I made small contributions to FOSS. It’s these contributions that have accumulated, for me to be able to recognize myself as a FOSS contributor.
- Marvin Karegyeya (@nuwe1_)
Oct 27, 2020
MAKING YOUR FIRST CONTRIBUTION JUST DO IT { start }
It is HARD finding tasks you can work on, it is HARD to choose your first task, it is HARD submitting your first patch, it is all HARD so do it HARD, just start.
- Marvin Karegyeya (@nuwe1_) https://t.co/sjV8NqPebI
Oct 27, 2020
MAKING YOU FIRST CONTRIBUTION… //Putting it all together
-
Get a guide
-
Understand the guide
-
Pick an Issue
-
Review an MR/PR
-
Keep tabs for updates
-
Proofread Docs
-
Make smaller changes
-
Just Start
-
Marvin Karegyeya (@nuwe1_) https://t.co/ZqrDnZQgpE
Oct 28, 2020
MY WHY I enjoyed getting into FOSS because it freed me from concern. There was no pressure, no obligation and it was absolutely okay for me to fail and even admit I have failed. It has truly been a great way for me to establish myself as a developer.
- Marvin Karegyeya (@nuwe1_)
Oct 28, 2020
@nuwe1_ FINAL THOUGHTS, It has been 6 years of my life, contributing to FOSS. It hasn’t been all perfect but at least I can say I have been consistent at it and I feel very proud of myself.
Oct 28, 2020
@nuwe1_ FINAL THOUGHTS, My journey as a FOSS contributor has brought me here to this wonderful platform and it has enabled me to share my thoughts with you all and that feels incredible
Oct 28, 2020
@nuwe1_ FINAL THOUGHTS, I want to leave this with you. If you are starting out or are already a contributor then I urge you to continue the good work for every contribution you make does count, it has value and someone/some project out there needs you. So make it.
Oct 28, 2020
RT @josp0001: @nuwe1_ @imakefoss @yalahowy Thanks for being with us! It was a great week. I am looking forward to hearing more from you and…
Oct 28, 2020
It has been a plum pleasing pleasure as well as a privilege to be able to share with you my story.
I now pass on the mic to the lovely one and only Dr. Sara El-Gebali @yalahowy
I can’t thank you enough for your love and support. You have been a great audience.
BYE -@nuwe1_