Can you explain your project like I'm 5?ĮLI5, or explain it like I'm five, is a great exercise that I like doing as soon as I have an idea for a repository.
In the end, my repository, though a derivative of the research papers, was quite different from existing code implementations. I also discovered an official code implementation and a community implementation of the paper, both in PyTorch. In my case, as I mentioned, I took inspiration from an interesting research paper I read (Fastformer: Additive Attention Can Be All You Need). Your work could even be a derivative of the other project. Try doing your research with existing solutions (if there are any) and find out what aspect of the project could possibly be improved. You could try implementing it in some other language or improve it in any other number of ways.Ī great way to do so is to take a look at the issues for the existing repository. If something similar exists, your goals could be to make it more modular or more efficient. If something similar does exist, can your project make it better? But you can still work on your project and make it better. There are a huge number of open-source projects out there already, and it is quite common to find a repository doing similar stuff (more common than you would think). If something similar exists, is well developed, and is heavily used too, you might want to move on. If it has not been done yet, and there's a need for it, go ahead and start building it. I believe it is a good practice to try and answer these questions through your research: Does a similar project or tool already exist? Once you find a developer problem you want to solve and have enough motivation to start working on it, you'll ideally want to spend quite a bit of time doing your research. But it was used by tons of developers around the world, which just reinforces what I was talking about above. You might know about left-pad, a very small open-source npm package with just 11 lines of straightforward code. Keith Collins in How one programmer broke the internet by deleting a tiny piece of code A man in Oakland, California, disrupted web development around the world last week by deleting 11 lines of code. Think about it this way: if there was a project like the one you want to develop, would you use it? If the answer is yes, you have enough motivation to build the project, regardless of the size or complexity. It could certainly be a simple project that could make developers' lives easier. So you see, you'll likely find all sorts of issues you can work on when you're building a project.Īnd just to note – when I say you should have a strong motivation, I do not mean the project should be really huge or really complex. Our team then decided to build another open-source project called TF-Watcher. One such paper I read motivated me to build my Python package.Īnother time, I was in a hackathon training a Machine Learning model and wanted to participate in other festivities.
In my case, I explore new Machine Learning papers daily on arXiv (an open-access archive for papers) and read the ones I find interesting. Your motivation for building your project could come from anywhere. And you will soon find something which could be made into a library, something you could make a utility out of, and so on. Well, for starters you can participate in hackathons, build projects, and experiment with other projects. So how do you stumble onto a developer problem?
With open-sourced code, you will likely be trying to solve problems that developer commonly have.Īnd since gaming the GitHub Trending section is almost impossible, you need a strong motivation – a big, common developer problem – to work on. It is almost impossible to game the GitHub Trending section: GitHub’s definition (of trending) takes into account a longer term definition of trending and uses more complex measurement than sheer number of stars which helps to keep people from farming the system.įounders often create startups based on problems they have personally encountered. My project on the GitHub Trending page Find Your Motivation I will be sharing some tips in this article which you should be able to apply to all kinds of projects and not just Python packages like my own. I was also featured on the GitHub daily newsletter, all after open-sourcing one of my projects. I was the #2 trending developer on all of GitHub – and for Python as well, which was a pleasant surprise for me on the morning of 7 September. Quite recently I ended up on the coveted GitHub Trending page. You can also use these tips for building hackathon projects.
In this article, I'll give you some opinionated tips to help you build a great open-source project you can start using. Developers around the world use GitHub to share their projects with the global developer community.