License Preference?

I am wondering what the best license is for a GitHub repo. I have put my first real project repo on GitHub, and I went with the GNU GPL 3.0 license. I know Parallax has stated that it is best to use the MIT license with OBEX files, but I am curious as to the differences between the two.


  • (note: I am not a lawyer, so take this as nothing more than my personal understanding. If you are really concerned about the legalities, make sure to read the licenses and consult an actual lawyer. That said...)

    The difference is that GPL is a "copyleft" license, meaning that if someone makes derivative work from GPLed code, then that code must also be GPLed. The argument is that, if someone is going to benefit from your hard work, then they must contribute back as well. Note, however, that this doesn't mean that someone using GPLed code for their own private purposes must publish their own code. Instead, it's meant to ensure that those who publicly profit from your work will turn around and contribute back in kind.

    MIT, on the other hand, is consider to be a "liberal" license, where it basically says you don't care what people do with it, except to make sure the original license is included any time your source is distributed.

    Note that there's also a LGPL (Lesser GPL) that is often used for library-type code. In that case, one is permitted to make use of your unaltered code without requiring their own code to be (L)GPL. However, is someone modifies your code, then those modifications are subject to the copyleft aspect of the license and must also be LGPLed. This basically falls between the other two licenses. If someone is just using the source as-is, then it's not much different than using unaltered code under MIT licensing. If someone does alter it, then it's basically treated as GPL.

    And, of course, there are a lot of other licenses out there. Consider looking at the following links for more information:
  • very well explained @Seairth,

    I had the same question a while ago, thank you

  • @Seairth
    Thank you! Am I correct in assuming that I cannot be copyrighted out of my own code if I have MIT or GPL? If both offer the same protection from that, then I will likely use MIT.
  • My understanding is that you still own/control the copyright to your own work in either case. No one can later claim copyright on your work. Note that the MIT licence does permit someone to copyright their derivative work under whatever license they want, but that license cannot supercede your license for your code.
  • Yes, the difference is that if somebody derives code from your work, with MIT he just need to mention you, with GPL he has to share his derived work.

    I personally prefer MIT because it is not restricting me or other users to use the code commercially without the hurdle to share the derived work.

  • Legal-beagle here. This is a good discussion to have, but please remember that if you lack the means or the will to enforce your rights, this means effectively that you dont have any rights at all, regardless of the model language you use. A retainer on even a basic copyright infringement case starts at about $20k these days. Additional charges should be expected.

    FWIW, I’ve discarded all of the standard model language and instead put the following notice: “Free to use for any and all personal, non-commercial uses provided simple attribution is given to the author. For all other uses, licensing is required and will be negotiated on a case-by-case basis. For more information contact the authors attorney of record at: (name/addr/etc).

    If you want to win in front of a civil jury, you need to keep it simple. None of the current models really do that. And none of them take into account the nuances of the different venues or regional judicial sensitivities. Doing things on a case-by-case basis lets you finely tailor the agreement to these realities and substantially increases your odds of winning at trial if you get into a scuffle.

    As a final point, I would suggest that if you want to be successful in any licensing or copyright endeavor, you really should get an attorney on-board from word “go”. Boilerplate agreements in the hands of a non-attorney have been largely responsible for putting my kid through college. :)

  • Heater.Heater. Posts: 21,233
    edited 2019-12-25 - 21:58:23
    As far as I understand...

    Copyright law in most of the civilized world is such that nobody can copy, use, modify, redistribute any software you publish by default. Short of being a government or dead for two hundred years there is no way to put your work into the "public domain".

    So, if you want your code to be useful to the likes of me you have to offer me a license.

    The questions then are:

    1) Do you want me to pay for it?

    2) Do you want to be sure that if I use it I can't take legal action against you when it fails to do what it claims to do?

    3) Do you care if I make money out of it and you don't get no cut?

    4) Do you care if I use your software for some evil purposes?

    5) A hundred other questions about your intent.

    Of course as the author of a work you can choose your license. You can also use a different license for different people.

    As for OBEX and the MIT, of course, Parallax want's to sell chips. Those buyers need software to make those chips work. Commercial buyers don't want to have to ship their source code with the products they make from Propellers. The MIT license is great for that case.
  • Gotcha. Thank you, everyone for the insight. I am going to try and switch over to MIT, as I like the way modified distributions are handled.
Sign In or Register to comment.