Questions about publishing a lib

Hello :smiley: ,
I would like to publish some code of mine as "lib", but I was wondering what is the best way to do that and does it even make sense to do that? (How mutch work is it to maintain a lib and react on requests and issues)
(The code is intended to be used on Arduino-framework and ESPIDF so far)
I think my projects could produce even more code which may can help others but I am completely new in this field.

Did someone already tried that and got some experinence with that?

Many thanks in advance

This should get you started: https://docs.arduino.cc/learn/contributions/arduino-creating-library-guide

Start with publishing the code on GitHub

Make sure it works for you.

Give it a descriptive name.

Put it on Github with a readme explaining how it works (also useful for yourself, when you want to use the library again in a few years time).

If useful, other people will find it and try to use it. If they find issues, they may even try to fix them for you.

I think it mostly depends on how many users you end up with.

From personal experience with my own libraries as well as observations of thousands of 3rd party libraries, I estimate that the great majority of community libraries receive maybe two pull requests or issues a year at most. I think that is quite easily managed unless you publish so many libraries that even that small number per library adds up to a great burden in aggregate.

But then there are the small number of "rock star" libraries that become widely used and do receive a significant number of pull requests and issues. That could surely be overwhelming, but on the other hand it would mean that you managed to make a very significant contribution to the open source hardware movement.

My advise is to not worry in advance about the possibility of the maintenance being burdensome. As long as it is a hobby/volunteer project, you are in control and can decide how much time you can invest in it.

The state of the library will also be a factor. A library that is buggy, prone to regressions, or poorly documented will tend to be more difficult maintain than one that is fully functional, set up to safely allow further development, and properly documented. Although it might seem like more work to produce clean code, validation infrastructure, and documentation, it usually ends up saving time over the long term.

2 Likes

Thank you for your answers I currently only have the code private but I will try to prepare the code for a public release. This will take some time for me since I need to add some more stuff like. I also need to choose a license or make a own license for the release so other can use it too.
When I am finished I will publish a link to the first part of the lib here. I would love to here some feedback about it.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.