At the beginning of this year I made a conscious decision to open source more of my code. I have a number of different reasons for doing so, which I'd like to explain in this post. Hopefully this will inspire more developers to make more of their code open source, and actively contribute to sharing and collaborating on open source technology.
Since open sourcing parts of code, I've been employing the the PSR-2 coding style (in the case of PHP), I've become more consistent in documenting my code, and the quality of my code has improved. Not only does this benefit myself, it also allows for other developers to better understand and make use of the code I share.
I am now more aware of how to write reusable code than I was before. The functions I write are single purpose, and by thinking more in terms of packages and dependencies I make sure that much of my code is reusable, and can be used in a wide range of applications. This saves me a lot of time when working on my own projects, and also increases the chances that my code will be used by other developers.
The code I share won't exactly solve global issues, but I do hope it will contribute to solving smaller problems faced by developers and organizations, which in turn might lead to something more.
Many of my projects are built using open source code. By open sourcing code of my own I can give something back to the community.
Other developers can build upon my code, add new features, and fix potential bugs. Additionally, new ideas often rise from using open source code, which may lead to new projects, and new collaborations.
By open sourcing my code I'm able to show off my development skills, it shows that I value the importance of writing reusable code, and it helps build personal brand awareness.
If you are a developer, hopefully these explanations have given you more insight on the benefits of open sourcing (parts of) your code. Don’t be afraid that someone will take off with your best work; just share reusable code. How you use it in a project, and build your end product, is still up to you!