Advertisement

How do "licenses" for code projects work?

Started by December 18, 2018 11:30 PM
5 comments, last by Brain 5 years, 11 months ago

I always thought "Opensource" meant you could do what you liked but recently I started reading GLP and Apache licenses and found them super confusing. Is there any simple "for dummies" information I can get on how these licenses work? Apache License, Version 2.0 and  GNU General Public License for example?

There are a number of coding tasks I want to pay with, but I have found "opensource" versions of these that are probably much more robust and better than anything I could do on  my own. They all have these licenses but am I simply allowed to install the libraries and use them in my code, then if I created a game with them, sell those games? 

 

: GameDev.Net Blog: Open Blog; Read Blog : My uTube Chans : TragicTableTopTragicDeskTop

I'm neither a lawyer nor an "expert".  But yes, you can use pretty much any "open source" licensed code in your own projects regardless if they are commercial or not. ;)

Generally the licenses are about limiting liability of the author for the use of the code as well as making provisions for how the code itself in "code form" is redistributed.  It's more about protecting the authors license to that specific version of their code.  Once you have changed it significantly and/or compiled it into a program, it becomes something else..  That license you get to pick.

Again, I'm not a lawyer, and there are probably a few circumstances where this might not be totally true, but those probably aren't going to have a major open source license type associated with them either.

Also, if you intend to release an open source project that includes open source code from other authors, this is a situation where the license type really matters.  Some require you to handle this situation very specifically, others don't care.

Advertisement

You may want to check https://tldrlegal.com/ it has some of the licenses shortened out to how you can use them.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

"Open source" describes software for which you can read the source.

Under copyright law in most jurisdictions, you are not allowed to copy or create a derived work from such source code unless granted permission by the copyright holder.  The usual practice in today's software development world is to provide such open source under a license that grants the right to copy or create a derived work without further confirmation from the copyright holder, and some licenses grant those rights under limited conditions.

For example, the Expat and Apache licenses grant copy right under the condition that the copyright holder be waived from all liability.  In other words, you can use their code but you can't hold them responsible for anything resulting from the use of that code.

A copyleft license such as the GPL adds additional restrictions:  namely you must release all the code for your derived work under the same license.  In additional, version 3 requires you to grant a license in any patent you hold that applies to the derived work.

Some open source licenses restrict you from using the code in a commercial application. The big-name licenses, like Expat, Apache, or GPL, have no such restriction (in fact, the GPL prevents you from adding such a restriction).  Many games use open source licenses and have non-free restrictive licenses on their asserts instead.

You need to know and understand the implications of using licensed software in your projects.  It's unlikely you can just grab someone else's work and claim it as your own without consequences.  Do you due diligence and you'll be fine.

Stephen M. Webb
Professional Free Software Developer

If it's MIT licensed you are pretty much free to do whatever you want EXCEPT blame the person who wrote it for ruining your day if their code poops on you. That's the gold standard for open source. You see anything else, read it and understand it. And just because you aren't selling something doesn't mean you won't get into trouble or have unexpected things happen to you if you abuse the license, misunderstand or ignore it.

In short:

GPL 2: you can make derivative works and modify or extend the source code but any derivative works must also be distributed under GPL 2 (or later)

GPL 3: as above with extra conditions e.g. allowing licensed use of related patents

CC0/Public Domain: do whatever you like.

CC-By-SA: give credit and also release derivative works under the same license which can include giving source code.

There are lots more but these are the ones you might come across often.

hope this helps!

Advertisement

This topic is closed to new replies.

Advertisement