cutelyaware / magiccube4d

Automatically exported from code.google.com/p/magiccube4d
Other
71 stars 16 forks source link

Please add license #121

Closed 2mac closed 8 years ago

2mac commented 8 years ago

I can't see in the source tree what license this code is released under. Please include terms so that I may know my permission in using and modifying this software.

cutelyaware commented 8 years ago

Done. Thanks for pointing this out.

2mac commented 8 years ago

I don't mean to be a pain, but if you're going to call your project "open source" on your website, please use an OSI-approved license. If you're unsure what you should use, I recommend the Apache 2.0 License, since it is permissive in nature but covers bases so you don't get sued for some reason.

"Freeware" doesn't really have an accepted definition, and the definitions it might have generally are not "open source" in nature.

cutelyaware commented 8 years ago

The Wikipedia entry for Open Source Software begins with

/"Open-source software (OSS) is computer software with its source
code made available with a license in which the copyright holder
provides the rights to study, change, and distribute the software to
anyone and for any purpose."/

That pretty much sums up our intent. I can't imagine how anyone would sue me over damages related to my shared source code, but they're welcome to try. I mainly don't want to add obligations to users because often the developer who wants to use something is in no position to meet any obligations. Apache 2 adds all sorts of such requirements. If you know of another one that requires nothing but requests attribution, please let me know as that would be ideal.

On 4/30/2016 7:55 AM, David McMackins II wrote:

I don't mean to be a pain, but if you're going to call your project "open source" on your website, please use an OSI-approved license. If you're unsure what you should use, I recommend the Apache 2.0 License, since it is permissive in nature but covers bases so you don't get sued for some reason.

"Freeware" doesn't really have an accepted definition, and the definitions it might have generally are not "open source" in nature.

2mac commented 8 years ago

If you're looking for something more minimal, I recommend the GNU All-Permissive License:

Copyright (C) <YEAR> <NAME>

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.

You would insert that into each file as a header comment.

cutelyaware commented 8 years ago

Why does it need to be in every file? That's probably a non-starter. What if I use it in my license file but modified to request copyright and attribution be given?

On 5/11/2016 7:18 AM, David McMackins II wrote:

If you're looking for something more minimal, I recommend the GNU All-Permissive License:

|Copyright (C) Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. |

You would insert that into each file as a header comment.

2mac commented 8 years ago

The every-file standard exists in case someone wants to take only a portion of your program to use in theirs. Then, they can comply with the license by just not removing the header section. Many IDEs support automatic insertion of headers like that.

I don't know a good software license off the top of my head that explicitly requests attribution. I'd look at CC-BY to see how it requests attribution and then adapt that to a software context. The Creative Commons licenses are not designed to be used with software, but they have highly adopted definitions of attribution requirements.

The problem is that you'll probably have to be specific about the type of attribution. Will the program be required to have an information screen giving credit, or is a mention in the README good enough? etc. That is why these software licenses don't do this; it's too hard to find a fair way to request it other than just leaving in the copyright notice.

In whatever way you decide to request attribution, be careful not to breach the qualifications for an open source program. If you find this to be terribly difficult, I will consider helping you to make a custom license based on the GNU All-Permissive License which complies with the free software definition, but I hope you will put forth some effort before asking that of me.

I know all of this is a pain, but it's the nature of copyright. It makes trying to be a nice person difficult, especially if your ideal terms differ from someone else's.

The only other thing I can think of is the 3-clause BSD License which requires that binary copies of the software have to reproduce the license information, which is a type of attribution. If that meets your needs, then good. Otherwise, you'll have to make your own.

2mac commented 8 years ago

I stumbled across this license today. You might be interested in it.

cutelyaware commented 8 years ago

OK, I've used something of that format, left out stuff I don't care about and added clarification about our request for attribution. You may not like it but I think you'll at least feel that it's an improvement.

2mac commented 8 years ago

The only thing I'd request you add is explicit permission to modify and redistribute modified and unmodified copies in source and binary form. That would meet the open source definition. After that, I'll consider it acceptable.

cutelyaware commented 8 years ago

Done.

2mac commented 8 years ago

Sounds good. Thank you very much for your cooperation.

cutelyaware commented 8 years ago

My pleasure. Thank you for your persistence and flexibility.

khumba commented 9 months ago

Hi there,

Sorry to ask for some clarification, but do the license terms in LICENSE.md supersede the following notice which appears in a few files?

This code may be used for any purpose as long as it is good and not evil.

Unfortunately this clause is considered ambiguous and is not accepted as open source by the the various bodies (OSI/FSF/GNU) due to restrictions on use (and also seems to conflict with what is written in LICENSE.md). Would it be possible to remove it from the five files it's in please? Those are: Arrays.java, LinearProgramming.java, Poly.java, VecMath.java, NdSolve.java.

Thanks for this truly mind-bending puzzle!