… and also, to generate passive income through it?
I understand that you cannot make ends meet and buy a house with GitHub stars but I’m sure that GitHub stars deserves to be used as a lite version for “testimonials”. It’s like Facebook like button compared to Facebook comments. This may be useless but people use stars as a parameter to make choices from several similar GitHub projects (I did that too). So, I think getting more stars is a good first step.
I have several open source projects on GitHub and found the fact that the complexity of the project didn’t determine the number of stars. This made me think that it might be futile to continue working with complex projects if I could get more responses and stars from simple projects. The following are some of the things I have found based on my experience:
- People give stars when they think the project is useful to them. I created the project because it was useful to me, and therefore I will use it again in another place, and therefore I published it on GitHub. But not all projects get the number of stars as I describe myself rating my own projects.
- People give stars to projects with simple, meaningful names.
- People prefer projects that are in the shape of “plugin” that can be used and combined with larger projects.
- People give stars to the project which is an extension for the base project that has a large number of stars. For example, you are creating a plugin for Vue. You get a lot of stars because of the popularity of Vue.
I came to this conclusion through my GitHub projects in which I hoped to get the number of stars at a proportional level to the complexity of the project, but the opposite happened.
@mecha-cms/mecha has a complex structure and a lot of consideration for every feature decision it makes, but it doesn’t get as many stars because the name doesn’t mean anything and not everyone uses it. Content management systems need a web hosting as a place to try them out. It was intended to be used stand-alone, not to be combined or to improve the features of other projects. It was to be used as a center application with its default features, so that other projects can improve it.
On the other hand, @taufik-nurrohman/color-picker got more stars because the name is simple and has meaning as it is. It has a simpler structure but its “plugin-like” nature has made this project more desirable.
I don’t do advertising, and don’t ask other people to share my project with others, literally.
I am not a programmer in a professional way and currently doing all these things as a hobby. I didn’t get the existing knowledge through formal IT education (web development is an achievable task for me as I have a web browser installed by default in my computer), and therefore It was easy for me to release them as open source projects without having the feeling that I would be losing out on making it all for free.
But seeing how developers could get small amounts of money and financial support through other people that used their projects, made me think that maybe I could retire in the future through digital products.
I’m still healthy now. 27 years old, working as a nurse in my own country. I don’t have any binding expenses and debt, but also not that rich. But I know that someday I will get old and sick so that I can’t work anymore like now.
Working for the government is not a solution to me. As pension funds is basically their own money, which was forced to be saved when they were young and productive. They also have stiff (and sometimes unfair) competition.
There are “privileges” and such.
Shame on me, maybe I’m just not smart enough to compete.
In the past, people were able to live by royalty for the books and musics they created. Passive income is not something new actually. And now I see digital products as a new passive income potential.
What are your tips for making my projects (and readers’ projects) more popular? Can my existing projects still be improved? Should I make the concepts “smarter” for my future projects and leave the existing projects as they are?
Do you guys have any experience getting passive income through individual GitHub projects? What experiences can you share? Do you do advertising? Do I need to do advertising for open source projects? Will my investments return?
Thank you very much.
Photo Credit: Isaac Smith on Unsplash
Top comments (5)
We like to think tech is meritocratic, but I think a lot of the time it's like a pop song - what becomes a Hit has a lot to do with intangible factors like fashion, being at the right place at the right time & fads & trends.
There's a broader question also here - how open-source can sustainably continue in the future, to make sure contributors are paid but to keep the software free. I don't think anyone has really solved this problem in a sure-fire rinse-and-repeat sort of way that will work every time as of yet. Big projects like Linux have massive corporate investment to keep things moving. . . But for smaller projects, that form the foundations for much bigger projects, the maintainers often work in the shadows as volunteers.
Agree with this.
Also mine: How open-source can sustainably continue in the future, to make sure my contributors are paid but to keep the software free?
There is an ethical problem here → hackaday.com/2019/07/05/how-not-to...
That's a great link, thanks for sharing!
And yes, it's a big problem! And deciding fairly how to distribute money - very difficult! A very current example is Hacktober, where even just for a T-shirt some people are making arbitrary small PRs of a single-line documentation tweak to get their commit/PR count up. . . The measurement system is very hard to do when you're dealing with techies who are very good at finding clever ways around the constraints of systems. . .
Good readme goes a long way too ;)
I already did that for my Mecha project because there are no demo page available other than the official site. Other projects simply depend on their
index.html
file as the landing page. I use GitHub pages feature to make themaster
branch going live. In the README, I then can just put a link that goes to theindex.html
file and label it View Demo.