TLDR - Cloners beware!
Before I begin my rant, I think itās important to make a distinction between making a GitHub repo public and āOpen Sourcingā a project.
Slapping on a random LICENSE file and making the repo public does not an Open Source project make.
Iāve been publishing YouTube videos (please like, comment and subscribeā¦) for a while now - and inevitably in the niche I occupy there are often bits of code needed for projects. Sometimes these are pretty large and can often even be complete applications (e.g. The Wordle Robot, Or The Laser Projected Asteroids Game).
But often they are just small example projects that show how to use some particular library or API (e.g. Using I2S for audio on the ESP32).
Like any good developer, these projects all end up on GitHub (other source control systems are available), and as good citizen of the world, where I can, I make the code public - thereās no point showing people some amazing project without letting them see how it works.
All told, I now have around 50 public repos on GitHub - thatās a lot of projects.
Some of these are things I still use, some of them are projects that are āfinishedā, and inevitably, some of them are just experiments that I never got around to finishing.
They are all in various states of bit rot.
You would think that ācompletedā projects could be left alone - they are done! But unfortunately the world moves around you. A lot of my projects are based around the ESP32 - the core SDK for this has had multiple releases over the past few years, and the Arduino core has also had a few major releases.
The ācompletedā code now either compiles with lots of deprecation warnings, or it in some cases probably doesnāt compile at all.
Sadly, there is no team of people maintining these projects - thereās just me. And Iāve moved onto more interesting and exciting things.
Which leads us to the real problem - people using my code.
Itās wonderful when someone watches something youāve done, or stumbles accross some code that you wrote and finds it interesting or useful.
But I always get a sinking feeling in my stomach when the inevitable questions come up.
99.9% of people are amazing - an issue appears on the repo, and when I have time Iāll try and help - sometimes something incredible happens and someone else answers the issue before I do.
But a small minority of people forget that: I have a day job, a family, a life away from the computer. And Iām working on new things all the time.
I do love people, and as I say itās great that people want to use something youāve done, but when the messsages start, it can be soul destroying.
It might be a comment on a random recent video (or on every video!), a message on Twitter, an email, a message on LinkedIn. They just donāt stop. Why wonāt I help them? Where am I? Is the code supported still? When will it be fixed? Why did you publish something you didnāt want to support?
It can be quite demanding. Iām someone who likes to help people, not respoding makes me feel guilty. I know there are people who are blocked on their projects, or who canāt make progress, and I feel their pain. I know there are students desperately trying to complete their final year projects. I know there are people who are trying to make a living from their projects. I know there are people who are trying to learn how to program.
The thing is, I canāt give everyone the amount of help they need or deserve. I would quickly burn out.
The brual truth is: I donāt have a support contract with you. There are no guarantees or waranties when you clone a GitHub repo.
āCloners beware!ā has to be the motto.