Writing code is not the only way you can contribute to an open source project. Like any other project, there are many tasks which are not programming, but are required to push the project forward, and many programmers are not even necessarily good at those tasks. Think of organizing meetups, UI/UX design, documentation, and translation as some examples. You can read more about these here.
This post is by far not an exhaustive list of what can be done, rather what I have personally been engaged with. Let’s assume you start using a piece of software as a library in of your projects, and through time you want to get engaged with it more.
Please always remember that many of these packages are maintained by volunteers and they’re not always immediately available to respond to your questions, suggestions, or contributions, so be patient.
As a user, one of the first things you may do is to read the documentation of the package (and hopefully that exists for the package you’re going to use). For most libraries out there, the documentation may be sparse, incomplete, or at times incomprehensible. Although in some cases it may be the case that you need to cover some background to better understand what you’re reading, but in most cases it’s the documentation you’re reading which is not perfect. Unfortunately, it’s not easy to convince core developers to write good and extensive documentation, since they’re mostly busy implementing new features or fixing reported bugs and issues.
Some packages allow you to suggest an edit to the documentation on the fly, from the browser itself, which removes the initial barrier for many to start contributing. Elasticsearch is a good example. As a new user, you probably pay attention to the documentation probably more than anybody else. Therefore you may find mistakes or see potential easy improvements which are usually not noticed by other more experienced users and developers. Be encouraged to suggest any change you deem appropriate. It may be accepted immediately, or it may start a whole conversation about a certain aspect of the software. Some of my contributions have been as small as a punctuation, to make the sentence a bit easier to understand.