This afternoon something wonderful happened, that I want to share with you.
I am a user of a open source project named: docker-compose-wait. The story about how I use it and why I will save for another post. Anyway I use an older version of the project, which is a shell implementation, the author has since ported the project to Rust and I have stayed on the old implementation, simply because it did what I required and I felt safer with a shell implementation.
When I use open source projects for work or they hold special significance I often sign up for notifications on the project in question - I had done so for docker-compose-wait a long time ago and practically forgotten about it, once in a while
a mail would tick in, I would skim it and the delete it, often I would go to GitHub an unsubscribe, when a project would no longer be of interest or the communication would not hold value any longer.
Yesterday an issue ticked in, somebody requesting a new feature, a pretty basic one, but a new feature nonetheless. The maintainer responded positively to the request and informed that it would be accommodated when time permitted.
I have been playing around with Rust lately, following some online video tutorials and are working on a pet project of mine where Rust seems to be the perfect fit for an implementation.
For no apparent reason I reopened the issue, scanned the repository and source code and it struck me
I think I can do this
With the online tutorials I got my Rust toolchain set up, so forking and getting the docker-compose-wait project set up, was a walk in the park. And after some coding a and back and forth with the compiler I got a working solution and I sent of my PR.
A few hours later I received a response, a positive response requesting some changes to the test suite.
I played around with the test suite a bit and got it to work quite fast. I then ventured to try to extend the test suite and I ran into some issues with tests and concurrency so I backed-off commented out the problematic code and described my observation, committed and pushed.
And now my contribution is a part of the upstream project.
A few things that made this possible are:
- A positive and welcoming attitude
- A very well structured code base making it easy to navigate and understand
ufoscout you rock!