View All Posts
read
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
#CODING #DEVELOPER PROBLEMS #GITHUB #OPEN SOURCE #SUPPORT ISSUES

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.

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.

Easily Distracted

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.

Cloners beware!

#CODING #DEVELOPER PROBLEMS #GITHUB #OPEN SOURCE #SUPPORT ISSUES

Related Posts

We don't need no stinking badges - Or maybe we do? Arduino Build Badges - In this post, I explore the usefulness of GitHub badges to easily represent the status of a GitHub project. I discuss their importance in attracting people to your project and provide a step-by-step guide on how to add these badges to your Arduino projects using GitHub actions. Lastly, I recommend setting things up so that only successful pull requests can be merged to maintain the integrity of the project.

Related Videos

You Need Arduino GitHub Actions - Learn how to add GitHub badges to your Arduino projects, improving project visibility and attracting contributors. Set up automated build checks with GitHub Actions to prevent broken code merges.
The Hacker News Effect - The Website Didn't Catch Fire - Let's look at the traffic - Witness the Hacker News effect in action as the author's blog skyrocketed to popularity, easily handling massive traffic thanks to efficient hosting and Cloudfront!
AI-Powered Coding: GitHub Copilot Writes Arduino Blink Sketch & WiFi Setup - Find out how GitHub Co-Pilot's AI impressively handles a blink sketch and Wi-Fi setup in an Arduino project!
ESP32-S3 - Which Pins Are Safe To Use? - In this video, I've decided to dive deep into the ESP32-S3, a module ruling my lab recently due to its plug-in-and-play functionality, and the flexibility offered by its GPIO matrix. However, working with it requires vigilance, especially with regard to the strapping pins and USB data pins, among others. Discovering such quirks, I've encountered unexpected values, short glitches and the occasional code crash. To help you avoid these bumps, I've documented everything I've learned on my GitHub repo, where I'm inviting you, my fellow makers and engineers, to contribute your valuable experiences and findings. After a minor hiccup with my ESP32-TV, expect an updated PCB design, courtesy of PCBWay. Explore the ESP32-S3 with me, and let's unravel its secrets together, one pull request at a time.
DIY e-Reader update - ported to the M5Paper - Discover the latest updates on the DIY e-reader project, featuring the sleek M5 paper device with an SD card for storing numerous books, a jog button for navigation, and a crisp display! Check out the Github link and try it out.
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
Blog Logo

Chris Greening


Published

> Image

atomic14

A collection of slightly mad projects, instructive/educational videos, and generally interesting stuff. Building projects around the Arduino and ESP32 platforms - we'll be exploring AI, Computer Vision, Audio, 3D Printing - it may get a bit eclectic...

View All Posts