If you want to accomplish something in the world, idealism is not enough – you need to choose a method that works to achieve the goal.
So here’s the deal. I suggest you take something you have been tinkering with in your spare time and release it. Do you have something you have used or currently use which speeds up your workflow? Release it. However, simply releasing something for free is not good enough – license it under a GNU-related license or under Creative Commons. If you work on the web, you do having something that someone else could use. Whatever that is, release it. We are all beneficiaries of an individual or a group of individuals taking the time to do the same thing – why not do the same in return? There are plenty of obvious reasons to release your work which I do not feel the need to dwell on in this article. Rather, I want to spend some paragraphs discussing other reasons to offer up your work.
Your job exists on the fact that other people gave work away for free
Due to this open source platform, the software overhead of creating many websites is essentially nothing. If ramping up a web project necessitated buying licenses for Windows Server, an Oracle database, and commercial IDEs to develop in, the costs just to get started would prove too high for small businesses, hobbyists, young entrepreneurs or any other entity unable to absorb the initial investment. Just imagine if you had to pay for each instance of Rails or WordPress you ran on your server. The web would be a very different place and we would likely not see things like free email or small bootstrap startups. This low cost environment of building on the web allowed early and rapid adoption by entrepreneurs, developers and creators. Almost all the titans of the internet started as small startups with non-existant budgets but great concepts. Ideas drove innovation, not capital. Without that free and open foundation, this likely would not have happened. We would not have seen the anything close to the volume and diversity of sites. All web entities would have been much more business focused and likely more business-centric. It would have been horrible.
Commercial products fit an important purpose, make no mistake. However, I have observed that my suite of tools is moving more and more towards open-source projects. Not because of any idealistic preferences, but because they are simply better. Support is community driven and (for large products) both voluminous and granular. My experience is that finding specific solutions, work-arounds, tutorials and other informational documentation is generally easier for a strong open-source product than its commercial counterpart. Additionally, third-party development in the form of add-ons, plugins, etc. can easily dwarf that of closed-source/commercial competitors. The community-driven development of a product allows for individuals to build solutions for their niche needs that would otherwise may be passed up in the traditional commercial model. In the end, I find strong public projects to offer more features and have a better support platform due to the product’s community. I rely so heavily on public products nowadays that my workflow would essentially have to start from scratch if I could no longer use them.
Open source helps close the digital divide
As hardware costs decline, commercial software costs are becoming the major impediment for lower-income households. Access to technology is not enough – the technology needs to be fit in their budget. Free and open software helps ensure that individuals across all income levels, ages and geographical regions have the same access as those more privileged. This has left an indelible mark on the internet since there is little to no monetary overhead for developing web applications, publishing information or creating media. The rich ecosystem of the internet would otherwise be stagnant if we strictly relied on commercial solutions. Yes, free software which is not open source achieves the same goals in the short term. However, free but closed-source projects can many times die on the vine if the creator(s) stop working on it or stop supporting it. Open source ensures that products continue to live as long as the public feels it serves a need.
Closing the digital divide is not just some charity-case; it is beneficial for everyone. By giving a larger swath of the population access to open and accessible technology/content, we are all able to reap the rewards of millions more potential developers, publishers and content-creators. You may end up using something that one of those people helped release to the public. We all benefit by a more open and inclusive environment.
The effort it takes to get your work ready for public consumption will make it a better product
Make no mistake whatsoever, the creation a good product can be significantly easier than the process of publishing it. For instance, by the time I released coordy, I ended up spending more time getting it ready for public use than I did actually coding it. For code-based projects, you need to spend time commenting your code, writing documentation, cleaning up poorly-written or unused code, creating examples, unit-testing (if you are hardcore), installation notes, I could go on… These are all crucial to a public release, but they are rarely done for oneself. Additionally, when you need to take other people’s use-cases into consideration, it forces you to think about new features, functionality and overall improvements that may currently be unimportant to yourself, but immediately vital to others. By taking the time to make a project usable for the public, you are inherently making the project better for yourself.
The very process of publishing your work is a learning process
Prior to coordy, there was no need for me to write documentation as the code I wrote was primarily for myself. Like many other people, I tend to learn things on a need-to-know basis, therefore documentation was not something I had any experience with. While I cannot attest to being someone who writes exceptional documentation, it is something I am working on and hope to improve at. Besides the obvious tasks for publishing work, even things such as clearly describing what your project is and how it works can be something that we do not necessarily have experience in. How about creating workflows and tools to make the process of packaging up the final product more efficient? These are all invaluable skills that we otherwise may pass on if our project never sees the light of day.
There’s a good chance it is not worth selling
Despite what music companies would like to you believe, just because someone is interested in your work, it does not necessarily mean they are willing to buy it. This does not mean that it is worthless but rather due to the fact that many products are valuable due entirely to the fact that they are free. Open source projects succeed when a large developer community exists around it to provide support, improvements and add-ons to the codebase. I am a firm believer that most web-based products are not worth the time, effort and support it would take to properly sell it. Can you imagine anyone paying for a PHP framework, an Actionscript library or a pixel icon set? Outliers do exist, yes, but they seem to be few and far between. For many, there is far more karma to be gained by offering up work for free than dollars to be gained by selling it.
Open source is not just about code
I firmly believe the notion of open source needs to move beyond source and into other sectors. It is happening, but very slowly. Designers on the web medium will soon not have the luxury of ignorance when it comes to development. As this happens and our future designers have a more intimate relationship with code, development and all that comes with it. I predict that due to this progression, we will see a stronger embrace of the idea of open source among the design community, culminating with a growth in open source fonts, design templates, assets, etc. Open source, when boiled down, has never been about code – it has simply been about sharing ones work to make the larger community a little richer. It sure, seems like something worthwhile, wouldn’t you think?