3

I have created a small project with the primary purpose of demonstrating the use of a Makefile. The file in question may be useful for me in the future, but I don't want to be forced to distribute every version of it. Here are the criteria...

  • Anyone (including myself) should be able to use, modify, and redistribute it as their own, for either private or corporate use
  • The file should to be usable in any open-source project
  • I would like the license to be as simple and possible
  • Attribution is not required, since drastic changes may be necessary in order to make it work for a particular platform
  • It should probably have a NO WARRANTY clause

Currently, I am thinking of using either Apache v2.0 (the license used by mbed), MIT/X11 License, or licensing it as public domain. If public domain is the answer, please explain how to specify that the project is public domain.

2

but I don't want to be forced to distribute every version of it.

Anyone (including myself) should be able to

This is a common misconception. You are the copyright holder of the work, so you can do whatever you want with it. Only those to whom you distribute the work will be bound by the license.

For you, I would recommend Creative Commons' Public Domain Dedication. It's not as simple as the MIT or Apache Licenses, but it's about as permissive as you can get.

Edit

Based on OP's comments, I would instead recommend the Mozilla Public License. It does not require attribution, has a "NO WARRANTY" clause, and prevents people from "modifying the work slightly, copyrighting it, and then preventing others from using it" by requiring that modifications to MPL-covered source code be published.

  • 1
    After reading the CC0 license, I have a few questions: (1) How is CC0 different from the MIT license? It seems like they both do the same things. (2) What prevents a person from modifying the work slightly, copyrighting it, and then preventing others from using it? (3) Do I have to include the entire CC0 text in every file? Copyrights are confusing. – Caleb Reister Jul 28 '16 at 4:22
  • 1
    @CalebReister (1) CC0 is different because it attempts to abandon copyrights entirely, rather than simply grant a liberal license. It also does not require attribution (MIT's copyright notice requirement), which you have stated you do not want to require. (2) Nothing, as I assumed you wanted to allow that: "Anyone...should be able to use, modify, and redistribute it as their own". I have edited my answer to recommend a different license. (3) No, one mention of CC0 in the parent directory will do. – EMBLEM Jul 28 '16 at 4:36
  • Thanks for your help. I think I will probably use CC0. After reading some of the info in the Creative Commons FAQ, I think I understand it a little better. My guess is that no one will try to sue me for using something I created. – Caleb Reister Jul 28 '16 at 4:57
  • The MPL does not fit the bill of "can use/modify it without redistribution" – Philippe Ombredanne Jul 28 '16 at 8:51
  • 2
    @PhilippeOmbredanne In fact it does. You are not required to publish modifications to MPL code. You must publish the MPL-covered source code to any binaries you distribute and must always distribute source code under the MPL, but the right to make and use private changes is common to all FLOSS licenses. – EMBLEM Jul 28 '16 at 14:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.