The Everlasting Code
Every line’s been accounted for and tested… The community has voted with their applications and contributions… When all’s said and done, there’s a piece of software left, a monument, testament to the effort and ability put into creating a working solution. Now, lets make sure it stays relevant and delay the inevitability of becoming a relic of the past.
There are probably very few sayings more saturated than: “Sharing is caring”. Yet, collaborative development is proven to generate better results. The more eyes look at the source the better the chances of improving it to create a better solution. This doesn't change after the core work is finished.
Forbidden & Forgotten
Preserving access to the codebase for the community can be fruitful as other developers may be ready to invest time and money into the project, with only return the software itself. There are many examples where collaborators self-regulate and respond to requests at an impeccable pace. It is, after all, this attitude of sharing that has shaped web application development to what it is today. The alternative, keeping the code locked in a “safe box”, will only expedite its death through obscurity. Again, there are many examples of software that has “died” in the hands of overprotective owners.
No release would be complete without documentation and in that regard it should accommodate by providing information on the broader concept and the objectives of the creators, apart from just describing the technology and dependencies, so collaborators can carve a pathway to continue the vision of the original authors. Docs not only provide assistance to developers, they also become the project’s storefront, showing the state of attendance and making the case for promoting the encapsulated ideas.
Without a doubt, everyone would like to be open to new ideas, supporting newcomers who learn by modifying existing code, and rewarding the effort of contributors. Having said that, continuously adding features after the core development is done may be dangerous as it creates instability and uncertainty for the project’s future. The balance to be willing to accept contributions and not be afraid of the consequences is hard to achieve and many developers fail to be that brave.
The deterrent from being open is definitely not unfounded. Scavenging is a part of our animal nature and, following their instincts, most people will take what they need without even considering giving back. Our civilization is still not far from the jungle rules, where everyone is living for themselves, forever waiting to grasp on an opportunity. That life, offering a cruel death of our higher self, is simply not enough for anyone that can see beyond the voices in their head. But for the vast majority it’s simply “common sense” and that’s a realization creators have to live with.
Project owners are not without their weaknesses. Ego, vested interest, and the protective instinct to guard their property can get in the way of properly crediting contributions or allowing enhancements that they didn't conceive themselves. Some creators don’t actually want collaborators for their projects, open source as they may be, and make it super difficult to contribute. Passive aggressiveness is the “weapon” of choice in such cases. A concern about any contribution, regarding its idea, its implementation and its effects to the users is just disguising an ego-driven attitude as professional integrity.
From either end, hyper competitive types with no sense of community can ruin the experience of collaborative coding for everyone else. But how’s that different from any other human activity? The so-called “douche bags” are everywhere. This battle cannot be won on an antagonizing level. Lowering ourselves to act upon our primal instincts, even when we are at liberty to do so, will become the demise of our work. It’s always helpful to remind ourselves that what was born out of love can only grow if it continues to be nurtured with love. Love for the solution and its utility being our compass, it will surely guide us the right way.
They say “life takes more than it gives” but that doesn't need to have negative connotations; that’s how our world can remain sustainable. All “negative” aspects of open source, like theft and appropriation, ultimately broaden the effect of the creation. If the goal is to promote a solution, any altruistic mind understands there is no real downside. In fact, most innovations, historically, have been renditions, remixes or even rehashes of something that already existed. We shouldn't be afraid of iteration and interpretation, as that is the source of ingenuity.
At the end, the amount of code doesn't matter, neither how much time and effort we put into building something. As with most professions, how much it affects people’s lives is definitive. Open source offers the best opportunity to broaden that effect, much like a self-fulfilling prophecy.
We all want to hold onto the everlasting flame of inspiration, the excitement that swayed our sentiment and enchanted our work. Begging to tears, worn as hope, will tear our peace and weigh us down. Instead, rest assured of the achievements with a grin of satisfaction. Because underneath the code lies the work of every collaborator; and for every observer, every adopter and every critic, the fickle fascination of an ever expanding creation.