The Open Source Movement
The open source movement or philosophy is something that I am truly passionate about, and something that can have beneficial effects for all industries related to technology and its use. In this article, I’ll outline information about the philosophy, what it means for the web design industry, how you can benefit as a designer, and how you can contribute. One of my favourite attributes of the world of open source is its relatively innocent and philosophical nature. Too often we can get wrapped up in the dollars and cents of our industry and lose the core passion that brought us to it in the first place. Open source philosophy and resources can be a sweet glimmer of idealism that works to support the overall community through the work and generosity of its members. Not only does the result improve the quality of the web we work with, but it also aids us in each of our commercial projects by lending efficiency, solutions, and ideas that may have been a struggle to work out independently beforehand.
What is the Open Source Movement?From a high level perspective, open source is a license (or lack of license!) that allows end users to first obtain a product or creation for free, and second to modify it as they see fit without restriction. What this does is increase distribution and improves the product over time. Keep in mind that this is quite a general definition and that open source resources can be licensed in a variety of ways - this to be covered shortly. Beyond being a simple license designation, there is a growing philosophical and subjective side to the open source movement centering around the concept that all information should be shared with all individuals, everyone freely given opportunities to use the information, and everyone free to contribute. From a high level view, this should theoretically create more benefits over time than a privatized and competitive industry inserting limited resources and seeking financial gain. A popular and well-known proponent of the open source philosophy is Canonical Ltd., the organization which releases free Linux operating system packages and develops a thriving community of software developers. For example, imagine a PHP content management system that could go down two paths – the open source route, or the privatized route. Through the open source path, users are free to modify the code to perfectly match it to their projects, and submit any enhancements or improvements that they can offer back to the community to make the next release a better product. Under the privatized route, a team of developers would work on the project perpetually, fuelled by revenue made by selling licenses for distribution. This comes with restrictions on modifications and commercial use.
What's The Catch?It’s not all sunshine and smiles however, as there are benefits and detractors for each path. The benefits of open source production have been touched upon, as well as the downside of privatized competitive industry. Conversely, what are the downsides of open source and the upsides of privatization? The downside of open source is that it relies on a community to support it and propel it forward. With no community, the product will be dead in the water like a sailboat with no wind. Active participants are the key ingredient to positive open source progress, and without them, the entire system breaks down. The upside of privatization, along the same lines, is that it requires no community but rather pulls from a talent pool and job market to bring the top software developers under one roof, and guarantee their input through salaries paid from the sales profits. Regular releases, diligent support, and some level of quality are all guaranteed under this model. Overall, open source has more potential for quality, but comes with no guarantees. Privatization comes with certain guarantees but has limited potential as development is not open to the entire world. The last piece of the puzzle is political – socialist idealists generally love the open source concept, while competitive capitalist proponents may be more inclined stand beside privatization and the benefits of competitive industry. A full description of the philosophy and its practice can be found on www.opensource.org and in this Wikipedia article.
What Does It Mean For Our Community?Whether you’ve heard of or understood the concept of open source before, you’ve most certainly interacted with it inside the web design community. Free web templates, most content management systems, and a ton of the content featured by online web design magazines and resource lists all fall under this category. There are a ton of resources out there dedicated to moving the web design industry forward by providing free products and services as well as total transparency into the process and the source code. To give it some perspective, try adding the phrase “open source” when you’re looking for a piece of software or a web resource using Google. Whenever you see those words on a web site, you can be guaranteed that it’s 100% free with no strings attached, and hopefully has a supporting community that you can tap into for specific questions. This is something I especially value when looking for and using a CMS. Improving product quality the open source way created by Adrienne Yancey for opensource.com Under the open source philosophy, the potential for the web design community is limitless. Working together to share knowledge, resources, and best practices will propel everyone forward. The best part is that following this line of thinking will not detract from our opportunities for web design revenue. Open source resources can usually be used within commercial projects, and there remains a huge amount of potential web clients available. Indeed, continued collaboration should simply enhance the skill and experience of each designer and create a better web from the inside out.
"These changes, among others, are ushering us toward a world where knowledge, power, and productive capability will be more dispersed than at any time in our history" - Don Tapscott, Wikinomics
Know Your LicensesWeb content isn't simply divided between open source and commercial - there are a wide variety of licenses that fall on a scale of requirements and restrictions of use. For example, the GNU GPL (General Public License) is a "copyleft" license with details concerning source code, permissions, modifications, and more. A comprehensive list of common software licenses can be viewed here on the GNU web site.
GPL (General Public License)The GNU General Public License is probably the most commonly found license in application within the web design industry. Under this license you are free to modify the resource to meet your needs and even redistribute it as long as you make the source files available when doing so. GPL resources can be used in commercial projects under the right to sell copies. Full details and explanations of the terms of the GPL can be found here.
Creative Commons LicensesMany readers will have heard of the Creative Commons. This group currently has 6 types of licenses that are also commonly used. Each of these allows others to copy and/or modify work, but only if they give credit to the author in whatever form they request. These 6 license differ in other ways, however, such as some allowing commercial redistribution and some not, and some allowing modification and others requiring none. Read all of the details here.
MIT LicenseThe MIT license originated from the Massachusetts Institute of Technology and is also known as the "X11 License". This type of license allows users to modify, copy, merge, publish, and/or sell the resource provided that they include a copyright notice and the MIT license permission text. Lastly, the license stipulates that there is no warranty or guarantee included with any MIT licensed resources - essentially freeing the authors from any risk of liability through their use.
The Public DomainOften resources are completely released into the "public domain", which means that the copyright holder waives all rights to the work and in a sense lets it into the wild with no restrictions or licenses applied. If you find these resources, use them however you'd like.
And More...There are literally hundreds of software and web resource licenses - and many of those have multiple versions. It's important to understand the terms of a license agreement and to be careful when using licensed materials. Great resources to read full license text and learn more are Wikipedia, Creative Commons, GNU, and The Open Source Initiative.
When In Doubt...Contact the author! Licenses need to be taken seriously and the terms followed diligently. If any communication is unclear, or if no license type is listed at all, open licensing can't be assumed. The best course of action in any scenario of confusion is to contact the author of the work directly and ask for specific permissions of use. Simply taking a resource and using it, or even giving credit to the author directly in its application, may not be acceptable and could even lead to legal repercussions - not to mention affecting your credibility and brand. In fact, approaching the author of a resource with a request for its use, even uses outside the stipulations of the license, can prove beneficial. Once an author (or copyright holder) produces a resource and licenses it they will always retain the write to waive restrictions or copyrights.
How Can I Benefit From It?I’ve already mentioned the overall benefits of free and modifiable products and services, but I’ll list some specific examples here to get you started on the right path: Popular Open Source Projects
- List of Open Source Software (Windows)
- List of Open Source Software (Linux)
- List of Open Source Software (Mac)
How Can I Contribute?This article wouldn’t do the open source community justice if it didn’t include an urge for contribution. In this community of ours we need to give as well as take – it’s great that there are so many free resources out there, but when was the last time that you created and distributed one of your own? The entire philosophy and optimism for growth rests on this principle – please give back what you can, where you can, and when you can! This doesn’t need to entail creating your own daunting software project, or slaving away on a free icon set. Instead, it can simply mean contributing suggestions for improvement to existing systems and communities, creating a simple plugin for a CMS, and the like. Diversity is also an important concept when contributing - take a look at what's out there and think about what you can contribute that is both unique and useful. Be aware of these opportunities to help move our community forward and strive for an improved web. For example, the lead developer at Fluid Media runs and maintains a GitHub social coding account to provide source code for projects as well as to contribute bug fixes found in any systems that we use.
- Identify a NeedThis can occur in one of two ways. First, you can observe what open source resources are currently available to the web design community and identify an area where there are few or no resources. Second, you may already have resources or even code snippets that have been used or are currently being used as part of commercial web design projects. Did you figure out the most efficient sticky footer yet? Share it!
- Package and PrepareIf you've spotted a need or a gap in the existing resources - or something you've already created that could aid others in the community, put together the source files and published files, provide a bit of documentation, and presto - you're ready for release. If you're selecting a specific licensing path, be sure to stipulate it as clearly as possible to avoid any violations, as well as linking to the full license text and details.
- PublishThere are hundreds of ways to provide the community with your open source work ranging from GitHub for code snippets to DeviantArt for icon sets and graphics. Many authors also host tips, tricks, code, graphics, or project source files on their own web sites. It's always great to see web designers helping web designers.