Free software is written by individuals or groups of volunteers from all over the world. It is a public good meant to be shared with everyone. Contributing to open source helps you learn new skills, push your technical knowledge and bring about innovations that can help many others. You’ll get your name on the contributor list and some warm fuzzy feelings inside.
As an open source project, we welcome your contributions! This is the list of some tasks (in random order) that we are looking for help: Document samples for developer and user manual Create an Android Wear app that lets you control Wristify remotely through your Android phone (using a phone’s screen and sensors in conjunction with the accelerometer on Wristify to provide feedback) Build and debug a more robust Bluetooth protocol using a chirp signal (based on initial research earlier in this summer)–ideally, this project could be split into a UART-level layer and a higher-level protocol layer.
30 Seconds of Code
In short, this is a repository of easily digestible data that can simultaneously be used to learn and contribute to beginners. This may not be a project that beginners can contribute to, but it is still a great start for people looking to grasp concepts.
Contributor Covenant is a code of conduct for open source projects. By signing this code of conduct, the founders of the projects pledge to allow anyone to contribute to their project, regardless of “level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.”
Although this project has less than 1,000 stars on GitHub, its popularity shows by the more than 10,000 open source project maintainers who have signed the pledge, including Swift, Atom, AngularJS, RVM, Mozilla Webmaker, and the .NET Foundation. Contributor Covenant maintainers are currently looking for non-native English speakers willing to translate the pledge into other languages. If this sounds interesting to you, head over to this GitHub issue.
Mozilla’s Firefox Source Tree contains dozens of projects on which you can get your hands dirty. Not only they are welcoming new contributors, but they also provide extensive documentation on how to contribute to their projects. Since the whole process seems long, they have a separate and dedicated channel where you can ask doubts and ask for help. On their documentation page, they have a column where they have specially mentioned websites, bugs, open issues, etc. for students and people who want to start contributing to open source.
TensorFlow projects are for those new developers who are interested in Machine Learning and Deep Learning. Beginners should ideally learn from some TensorFlow Tutorials and observe the official models before contributing to any project.
Currently, the GitHub TensorFlow Model Garden contains projects of Natural Language Processing and Computer Vision. These official models are a collection that uses TensorFlow’s high-level APIs and is to be properly curated, tested, and updated to keep up with the latest build. These models are also intended to be properly optimized so that they run the same or faster with each new build.
DuckDuckGo’s Instant Answers
For those of you who have never heard of it, DuckDuckGo is a privacy-conscious search engine that doesn’t track users. Instant Answers is a feature that provides answers without needing to open up a website.
Hundreds of people have already contributed to their instant answers, and there are plenty more suggestions on their ideas page.
DuckDuckGo offers good documentation to get you started and to recommend new users by creating cheat sheets. If you want to know what DuckDuckGo cheat sheets look like, just go to their website and type in “WordPress cheat sheet” to see the cheat sheet I developed as an example. If you get stuck, you can join their Slack channel and check out their wiki on GitHub.
There are many projects on GitHub and other similar sources that are aimed at beginners. Some of these are meant to educate by providing you with study materials, while others are more like walkthroughs or practice exercises. Whatever the case may be, these are beginner-friendly projects and often the place to start. However, this is not at all the case in all projects marked as a “good first issue”.
Some of the high-level apps, websites, platforms, and projects also offer work that is fit for beginners. This is mainly because the high-level works are done by people who have the necessary qualifications to do so, but the project is still open-sourced and contains many tasks to be done on all levels of difficulty. Here are some intricate projects that also offer a spot for the newcomers to tackle real issues while learning the ropes.
There’s no doubt that Mozilla is one of the leading organizations in the world of open source. Contributing to Mozilla projects may not look easy at first glance—maintainers label beginner-friendly issues appropriately, but they’re hard to find because there are so many of them. Luckily, Josh Matthews has created a simple website called Bugs Ahoy that allows you to search through all of Mozilla’s bug reports to filter them to find the ones that are most relevant to your areas of interest.
Don’t forget to check the simple bugs filter all the way at the bottom of the filter section!
Zulip is one of the fastest-growing open-source projects on the internet and is an open-source group chat application. It combines instant real-time messaging with the utility of threaded conversations and runs on open-source platforms. The app’s team offers many tasks that a beginner level programmer can perform to learn as well as add to their portfolio.
On Zulip, you can be one of the many contributors to the platform by contributing code as well as performing non-code contributions such as reporting issues, translation, or giving feedback to improve the app. You can also host and run a Zulip server, which runs on many platforms, including Ubuntu 18.04 Bionic, Ubuntu 16.04 Xenial, and Debian 9 Stretch.
Neovim is tagged “good first issue” on GitHub, which indicates that it is suitable for people looking for their first open-source projects on GitHub. Vim is a powerful text editor over two decades old and has a rich, fostering community surrounding it. It has accumulated over 300,000 lines of C89 code that very few people can even comprehend, and even fewer dare to touch.
Neovim puts forward a solution to the headache of fostering Vim by re-factoring its source code. This aims to make maintenance easier by accelerating bug fixes and addition of new features, add modern UI without affecting the source code, splitting the work among multiple devs, and add a new plugin architecture that will improve its extensibility power.
This project is not a mission to rewrite Vim but to change it to suit modern times. The changes will have as little impact as possible on the source code. With almost 40,000 stars on GitHub, this is a very popular project in the community.
While programming or building a project we all have used Visual Studio Code, isn’t it? So why not contribute to the software you have a great about! VS Code is a huge open-source software currently having more than five thousand open issues. This means there is a great scope for new beginners to find bugs that they can resolve and open other issues that they find while using VS Code itself. There are many ways in which you can contribute to their project. This can be either by submitting bugs, reviewing source code changes, submitting new feature requests, reviewing documentation and finding typos, or adding new content.
iGraph is a library that is usable from C, R, Python, and Mathematica. The project is for creating, manipulating, and analyzing graphs. It is a library of network analysis tools and emphasizes efficiency, portability, and ease of use. The Igraph repository on GitHub has over a thousand stars and many suitable problems for beginner level devs to solve.
Scrapy is a high level, fast and accurate data scraping tool built on a Python framework. It is used to scour cyberspace and collect the required data from many online sources, according to the user’s requirement.
It is used for data mining, monitoring purposes, and even testing. This high-level web crawler also has a rich GitHub repository that can serve as a good place for beginner level entrants to try out. This project should be interesting for Data Miners and scientists as well.
Open source is the default. It works for so many people and organizations. But it’s often challenging to find reasons to contribute and track what’s going on. We built openProject out of our own need for a better tool. We love open source and we want to support it, but it’s hard to know where your time is best spent.