Menu Search
Jump to the content X X

Today, too many websites are still inaccessible. In our new book Inclusive Design Patterns, we explore how to craft flexible front-end design patterns and make future-proof and accessible interfaces without extra effort. Hardcover, 312 pages. Get the book now →

A Short Guide To Open-Source And Similar Licenses

Many developers and designers want to release their work into the world as open-source projects. They want others to be able to build on and share their code. The open-source community is vibrant because of this. Open-source software is available for virtually any application you could think of. Most designers use open-source software or code on a regular basis (WordPress, Drupal and many other CMS’ are open source).


But many developers and designers don’t have a clear picture of what the different open-source licenses really mean. What rights are they relinquishing when they choose an open-source license? Without knowing exactly what the licenses mean and how they’re best applied, developers can’t make informed decisions about which is best for their work.

What Is Licensing? Link

A lot of confusion is out there about what exactly licensing means. When you license your work, you’re not giving away any of your rights. You still hold the original copyright (or patent if you have one) on that work. What a license does is grant specific permissions for others to use that work.

Licensing is a great alternative to just releasing your work into the public domain or granting permissions on a case-by-case basis. By releasing into the public domain, you relinquish any copyright, and no one is obligated to list you as the original author or contributor. In the latter case, you may end up spending more time dealing with individual permissions than designing or developing.

Open-source licenses2 make it easy for others to contribute to a project without having to seek special permission. It also protects you as the original creator, making sure you at least get some credit for your contributions. It also helps to prevent others from claiming your work as their own.

GNU General Public License Link

The GNU General Public Licence3 (GPL) is probably one of the most commonly used licenses for open-source projects. The GPL grants and guarantees a wide range of rights to developers who work on open-source projects. Basically, it allows users to legally copy, distribute and modify software. This means you can:

  • Copy the software.
    Copy it onto your own servers, your client’s servers, your own computer, pretty much anywhere you want. There’s no limit to the number of copies you can make.
  • Distribute the software however you want.
    Provide a download link on your website. Put the software on a bunch of thumb drives and give them away. Print out the source code and throw it from the rooftops (please don’t, though, because that would waste a lot of paper and make a mess).
  • Charge a fee to distribute the software.
    If you want to charge someone to provide the software, set it up on their website or do anything else related to it, you can do so. But, you must give them a copy of the GNU GPL, which basically tells them that they could probably get the software elsewhere for free. Best to be up front about that, and about why you’re charging them.
  • Make whatever modifications to the software you want.
    If you want to add or remove functionality, go ahead. If you want to use a portion of the code in another project, you can. The only catch is that the other project must also be released under the GPL.

Please note that it is very important to see source and binaries distribution as two very different things. Also, there are issues and restrictions with some licenses when used with applications released under “each other”. You can dive into more details in the detailed article Practical Guide to GPL Compliance4 (via @PierreJoye5). To use the GPL, you have to include certain information in the software’s code, along with a copy of the license.

GNU Lesser General Public License Link

You should be aware of another GNU license: the Lesser General Public Licence6 (LGPL). It grants fewer rights to a work than the standard GPL. Generally, the LGPL is appropriate for libraries that want to allow linking from non-GPL and non-open-source software. Because the GPL requires that other software with parts of licensed code to also be licensed under the GPL, developers cannot use GPL-licensed code for paid and proprietary software. The LGPL negates this by not requiring other projects with parts of the code to be similarly licensed.

BSD License Link

BSD licenses represent a family of permissive free software licenses that have fewer restrictions on distribution compared to other free software licenses such as the GNU General Public License. Among different versions of the license two versons are particularly important: the New BSD License/Modified BSD License, and the Simplified BSD License/FreeBSD License. Both have been verified as GPL-compatible free software licenses, and have been accepted as open source licenses by the Open Source Initiative.

The New BSD License (“3-clause license”) allows unlimited redistribution for any purpose as long as its copyright notices and the license’s disclaimers of warranty are maintained. The license also contains a clause restricting use of the names of contributors for endorsement of a derived work without specific permission. The primary difference between the New BSD License and the Simplified BSD license is that the latter omits the non-endorsement clause.

MIT License Link

The MIT License7 is the shortest and probably broadest of all the popular open-source licenses. Its terms are very loose and more permissive than most other licenses. The basic provision of the license (minus the information that it is provided without warranty, which comprises the final paragraph) is as follows:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

What this means is that:

  • You can use, copy and modify the software however you want. No one can prevent you from using it on any project, from copying it however many times you want and in whatever format you like, or from changing it however you want.
  • You can give the software away for free or sell it. You have no restrictions on how to distribute it.
  • The only restriction is that it be accompanied by the license agreement.

The MIT License is the least restrictive license out there. It basically says that anyone can do whatever they want with the licensed material, as long as it’s accompanied by the license.

Apache License Link

The Apache License8, Version 2.0, grants a number of rights to users. These rights can be applied to both copyrights and patents. Because some licenses can be applied only to copyrights and not patents, this flexibility would be an obvious factor in a patent developer’s choice of license (read this article on How Stuff Works9 for an explanation of the difference).

Here are some more details on what the Apache License allows:

  • Rights are perpetual.
    Once they’ve been granted, you can continue to use them forever.
  • Rights are worldwide.
    If the rights are granted in one country, then they’re granted in all countries. For example, if you’re in the US and the original license was granted in India, you’re not prevented from using the code under the license.
  • Rights are granted for no fee or royalty.
    Not only will you not be charged any kind of up-front usage fee, but you will not be charged fees on a per-usage or any other basis either.
  • Rights are non-exclusive.
    You can use the licensed work, and so can anyone else.
  • Rights are irrevocable.
    No one can take these rights away once they’re granted. In other words, you don’t need to worry that down the road, when you’ve created some awesome derivative of the licensed code, someone will swoop in and say, “Sorry, you can’t use this code anymore.” (A clause in the license states that if you sue someone over patent infringement on anything under this license, then your license is terminated, but that only applies to patented work, and as long as you don’t sue anyone over the work, you won’t have to worry about it.)

Redistributing code also has special requirements, mostly pertaining to giving proper credit to those who have worked on the code and to maintaining the same license.

Creative Commons Link

Creative Commons (CC) licenses aren’t quite open-source licenses, but they are commonly used for design projects. A wide variety of CC licenses is available, each granting certain rights. A CC license has four basic parts, which can be enacted individually or in combination. Here’s an overview of the parts:

  • Attribution
    The author must be attributed as the creator of the work. Beyond that, the work can be modified, distributed, copied and otherwise used.
  • Share Alike
    The work can be modified, distributed and so forth, but only under the same CC license.
  • Non-Commercial
    The work can be modified, distributed and so on, but not for commercial purposes. The language about what constitutes “commercial” is a bit vague (no express definition is provided), so you may want to clarify this in your own projects. For example, some might interpret “non-commercial” as simply meaning that you can’t sell the work. Others might take it to mean that you can’t even put the work on a website that has advertising. Still others might consider something is “commercial” only if it makes a profit.
  • No Derivative Works
    This means you can copy and distribute the licensed work, but you can’t modify it in any way or create work based on the original.

As mentioned, these parts of the CC license terms can be combined. The most restrictive license would be the “Attribution, Non-Commercial, No Derivatives” license, which means that you can freely share the work, but not change it or charge for it, and you must attribute it to the creator. This is a good license to get your work out there but still maintain more or less complete control over how it is used. The least restrictive would be the “Attribution” license, which means that as long as people credit you, they can do whatever they like with the work.

CC licenses are used more for design work than development, but nothing bars you from using it for the latter. Just be aware of exactly what is and is not covered under each part.

Further Resources Link


Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13

↑ Back to top Tweet itShare on Facebook


Cameron Chapman is a professional Web and graphic designer with over 6 years of experience. She writes for a number of blogs, including her own, Cameron Chapman On Writing. She’s also the author of The Smashing Idea Book: From Inspiration to Application.

  1. 1


  2. 2

    Nice summary

  3. 3

    Ryan Bollenbach

    March 24, 2010 3:51 am

    Perfect, I’ve been looking for something like this for a while, great article!

  4. 4

    Thank you for posting a quick overview of all these license types. Good job.

  5. 5

    Unfortunately, I’m quite disappointed with this article. It’s just a summary of various existing licenses which I can easily get at their respective websites or even at Wikipedia. You could have taken some examples on why one license is preferred over other. Is it just a matter of choice or there are some specific reasons?
    For example, CakePHP framework is licensed under the MIT license whereas Zend framework is licensed under BSD license. Also, the open source Zend framework is also based on the standard open-source Apache license. Why the need for two licenses? CakePHP and Zend are both open source, so why different licenses? Again, is it just a matter of choice?
    Also, Jurica pointed out that these licenses do not mean anything in some countries. So, what about users in those countries? How can they license their work?
    I hope to see more in-depth article on licensing.

  6. 6

    …unfortunatly in some countries that licenses does mean nothing, yet.
    For instance, how can I protect my work if some chinese designer/programer decide
    to declare for own work…

  7. 9

    A nice summary, but with unfortunately some severe omissions and misinformation. The two most glaring problems are:
    1. Where are the BSD licenses? One of the earliest, if not the earliest free software license and its not even mentioned? instead the MIT license (which is basically a reduced BSD license) is reviewed while the number of projects that use BSD license is several order of magnitude more then those that use the MIT license.
    2. The article begins with some assertions about the possibility of “releasing content to the public domain”, which is not something that can be really done by a person – even in countries where copyright is not defined as a “moral right” that cannot be relinquished (as is the case in some countries), public domain is defined very narrowly as “works that have fallen out of copyright”. I suggest listening to the Software Freedom Law Center podcast episode 0x23 to learn more about this issue.

    • 10

      Smashing Editorial

      March 24, 2010 3:47 am

      Thank you, Oded, the section about the BSD licenses was added to the article.

  8. 11

    Thank you Thank you Thank you. Been looking forever for such a guide but couldn’t find any decent one. Cheers.

  9. 12

    Andy Griffiths

    March 24, 2010 4:31 am

    Licenses can certainly be a mindfield when trying to implement them onto software or code you want to release. This article gives a good insight into some of the different choices on offer.

  10. 13

    Owww Thnx this was much needed .. :)

  11. 14


    March 24, 2010 5:28 am

    Nice article thanks for sharing gained some knowledge on licenses ;)

  12. 15

    WTFPL is the best license.

    • 16

      I agree, nothing is more permissive that WTFPL (“Do What The Fuck You Want To Public License”), but few people use it since you might as well not mention it.

  13. 17

    Great introduction article to licenses! Thanks for the info!

    “please don’t, though, because that would waste a lot of paper and make a mess” – Hah, this made me laugh. =]

  14. 18

    A simple question : what can and must you do with icons with a GPL licences ? Can you use it on a commercial website ?

  15. 19

    Simon Sigurdhsson

    March 24, 2010 6:51 am

    You should also keep in mind that some licenses (*cough*GPL*cough*) are “flesh-eating”, in the sense that all derivative works must have the same license. This is highly undesirable in some (most) situations, as it is a restriction of freedom. Personally, I find the BSD ad MIT licenses to be far more useful (and far more “free”) than GPL.

    • 20

      It depends on your point of view. The GPL is more free for users of the software than the other software licences discussed above as users are given the same freedoms as the developers (which is the main focus of the license).

      PS. I think the AGPL should have been mentioned in the article.

  16. 21

    Thank you!

  17. 22

    JF from Chile

    March 24, 2010 10:02 am


    I’m using ISC License (ISCL) for all my open source software projects:

    I think it is simpler than MIT license.

    Best regards

  18. 23

    Very useful and informative post – thanks.

  19. 24

    I’m sure many readers will take interest in this. But all of it is just blowing smoke, especially for web and graphic designers.

    Copyright is simple, you don’t have to officially register or state anything. If you made something, and you can prove it, then your local government will protect your right to it. There’s a common misconception that you must go to the secret store of “Copyright Mart” in order to attain rights, as though it’s like a Progressive Insurance commercial — a shrink wrapped box on a shelf. That’s the only reason people use any of these. They don’t understand what the concept of copyrights are. They don’t realize that at the moment they create any work it is automatically protected by their rights. They think the concept can only be “valid” if there’s an attorney or a cute little website for them to copy and paste things from.

    If I make a design, and you use it. I’ll prove that I made it first in court. Putting down these little licenses on your work might make you “feel” a little more official, but all you’re really doing is restricting your own rights. If you want to allow whoever to utilize your work and do whatever they want with it, that’s fine. Release it, don’t put any license down on it, and don’t serve anyone a lawsuit. Or.. dare I say, write up your own little license in a few short sentences? Oh my, what a concept. “Everyone is allowed to use my work except for Jim from down the street. I hate that guy. Talking to Jim immediately invalidates your permission to use my work. My work can not be published under the name of an individual’s pet Llama.”

    • 25

      You have valid points, but your mixing Copyright and License issues. Copyright is automatic in all countries I’ve worked in, but if you do wish to share your work, it’s worth picking a decent license that’s been checked by experts in the field and that suits your moral standard.

    • 26

      I don’t think you really understand what it’s all about. It’s not about making things “official” or whatever. It’s about allowing people to legally use some of your work in theirs. Of course you get an automatic protection of your works, but the basic copyright doesn’t let people use what you have done, unless you give them an individual permission to do so. These “little licences” (which are, by the way, used by some of the biggest pieces of software ever made) allows you to give the right to users to use, modify and/or redistribute the software (or whatever else).

      So there’s nothing here about making things “official”. Only about not just working by yourself, but sharing your work with the world and being able to use things made by other people, in order not to re-invent the wheel each time you have to do something…

  20. 27

    Nice, but I don’t think all the points were put here. I agree with Adit that this article is not different to some summaries on Wiki and their definitions. I was expecting for more information in a deep explanation.


↑ Back to top