I want to share with you my journey to open source in the JavaScript programming community.
The beginning ๐
Since I started writing code ๐ถ I learned open source tools that made my life easier so that I didnโt need to learn every specific implementation technique ๐ for every special feature I wanted to create ๐.
After a while, I realised the open source projects live in Github โค๏ธ and are relatively open for the users to understand how they work and also to user input and contributions from code to documentation assistance.
It seemed too intimidating to contribute directly ๐ and took some learning and lots of context in order to contribute to them ๐, but back then I didnโt even think I was good enough to add my shitty code to the Olympus mountain โฐof these great projects ๐ช.
Since I started learning new different tools ๐ค like React.js, express and socket.io, I made some boilerplates and put them on Github so that they would be public and I could use them in the future too.. I didnโt know this would be the start of my contribution to open source.
After I got some experience ๐
After a few years of working as a Front-End developer, I joined a company that asked me to build a react app for Web, IOS and Android. After a bit of research ๐, I found that a library called react-native-web was the best choice.
While searching, I found a few boilerplate projects that I could learn from, since the library itself didnโt have such advanced documentation or examples of how to integrate certain things. Even more, I barely found Stack Overflow answers or questions around the topic ๐ฎ. I was surprised that most of the good knowledge I found, for edge cases issues, I found from Github issues on the project repository ๐.
I got the feeling that there were many areas to contribute ๐ป and I even tried to figure out ๐ค a way to contribute directly to the project but didnโt have much success in solving a few bugs that were issues in the projectโs repo ๐ฃ.
I wasnโt sure how I could contribute to this library (which felt more like a movement to me ๐ ๐ฉ with a common goal), until I read Ken Wheelerโs โguide to Open sourceโ โค๏ธ https://medium.com/codezillas/a-bitter-guide-to-open-source-a8e3b6a3c1c4
It is a good read with good tips โ
about how to create your own project and contribute to the community ๐ช from a well experienced member of the open source community.
My own project ๐ถ
After I had my first boilerplate with the react-native-web, I went to my boss (Richard Abendroth) and asked to open source it (meaning to make the repo public).
He loved the idea and pushed me to pursue it โค๏ธ. After a few weeks I published it and a few months later I wrote my first Medium article about it and my journey of discovery in this new area.
I shared the article on LinkedIn, Twitter and many Facebook groups ๐ in order to get some feedback. I was shocked to see how many people were reading and how many people visited and liked โญ๏ธ my project. I would show my friends and colleagues the numbers every few weeks ๐คณ.
I started working on a talk for a local meetup about my experience and basically about the article topic. I took the article I wrote, removed the parts I didnโt want to repeat and added some verbal topics that would be better and started putting Gifs and slides of code for my talk ๐ฝ.
After I had the slides and the talk down, I decided Iโm ready and submitted a request for a local reactjs (related to the topic) meetup. After a week they replied and I had the spot! ๐ The talk went great and I really enjoyed the experience and I wanted to do more for the community and contribute more after I got such positive feedback all around ๐.
After a while I even got some issues opened up on my project from people all around the world ๐ that were using my project. I felt honoured that other developers were using my code to work and to do their own projects. This gave me even more ambition to do more and find a better solutions for the community.
Aha moments ๐ก
As a Front-End developer, I was used to have cool CLI tools ๐ that would start my projects up, as the trend goes in recent years. I felt this was missing in the react-native-web community and decided to build oneโ๏ธ
I went over a few great CLI tools that were already well established and that I used in the past. I learned from them and created my own project for the CLI tool ๐ถ.
I published it to npm and in the social networks ๐ again and the feedback was even better ๐. I was thrilled and felt a need to reply to every issue right away, as I felt honoured that people were using my code and that I should answer and help people with the problems they encountered. Even though most times it would be with other libraries and not my own code ๐
.
After your idea becomes reality ๐ฑ
As the time went by, more and more Github issues were opened and even one Pull request ๐ to add some documentation. More feature requests, and also a bit more pressure to get things done quicker ๐. But I felt it was a success ๐ and I finally did something good that people liked to use. Now just maintaining it, was left to be done.
Maintaining sounds bad ๐ฐ, but this meant for me to find out about other people from the community that requested features I didnโt even think about. To discuss the benefits of each suggestion and realise what would bring more value to the project. ๐ค
After my second big release of the project, I received such compliments ๐ and even more downloads ๐ that I felt I should share my experience of doing this project and to push more people to contribute and go on this journey since open source helps us all the time.
Hope this gave you something, as my journey gave me a lot personally ๐ค
Top comments (0)