Anyone who has written code over the years invariably has a collection of programs, libraries, and snippets that are strewn about a dozen different computers, hard drives, CDs and maybe even a handful of floppies. The origination of this code may have been school projects, experiments, or the ramblings of a coder mind. Whatever the genesis for this code, the reality is that much of it is lurking in the corners of your digital landscape, like dusty cobwebs hoping to catch a midday meal for a long forgotten creator.
This code can continue to rot and fade into nothingness. Alternatively, this code can be released from its current form and be free. This is my argument for sharing our old code with the world. Put it somewhere everyone can access it. Study it. Review it. Let anyone who has an interest learn from what you have created. I found any number of excuses for not doing it myself: “it’s not done”, “it’s ugly”, “it has bugs”, “it’s my solution”… the list goes on. Sure, we can all make those claims and many more but it still doesn’t change the fact that this code is contributing to the greater good. I’m not talking about code that we’ve written for hire (commercially or otherwise)—That code ultimately belongs to someone else and it is their decision to free it. Don’t underestimate the value of the code that you can free.
Another benefit to freeing your own code is that it will make you a better coder, a better designer, a better architect. The interactions you have with other with regards to your contributions will teach you. Your own expectations of what you write will also rise, knowing that it may receive a lot of attention. I wonder how many unfinished projects, how many ingenious algorithms, and other interesting artifacts lay about this world.
What contributions are you willing to free?