(Note in advance: this post contains links but you can probably write a meaningful response without following them.)
For the red spider project, we're looking for a liberal software license that is appropriate both in terms of legal safety and in terms of "xkcd style". It should be safe enough that we won't be sued because somebody blew up their computer with our software. Also, people who reuse our software should properly attribute it to the original authors.
We started out with the MIT license (Expat), which is widely used and which covers our basic legal requirements. Here's the original MIT license:
Spoiler:
Copyright (C) <year> <copyright holders>
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.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Next, I changed some wording in the top line and the middle paragraph, in order to make the license more suitable to be used as a separate file (the original MIT license is usually included directly in every source file). The new formulations were derived from the Boost software license, which should probably be OK since it's also liberal and they consulted a lawyer. Here's the original Boost license:
Spoiler:
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:
The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
And this is our first variant of the MIT license with adaptations from the Boost license, which we currently use:
Spoiler:
The Red Spider Project License - 27. March 2012
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 copyright notices in the Software and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Finally I added two xkcd-inspired witty elements, which I hope are unintrusive enough to keep the license viable. We hope to use this is as our license in the future, but we'd like to know the opinions of legally informed people first.
Spoiler:
The Red Spider Project License - 27. March 2012
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 (with or without emacs C-x M-c M-butterfly), 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 copyright notices in the Software and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, SAFETY FROM VELOCIRAPTORS AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please tell us what you think! And please indicate your level of relevant legal expertise when you do so.
Final note: I just spotted the Wikipedia reference to the ICS license, which seems to do the same job as the MIT license in even fewer words. We could probably use the ICS license as a template instead of the MIT license. Would that matter at all?
Hey, like coding? Perhaps you should check out the red spider project. Feel free to call me Julian. J+ is just an abbreviation.
1) Are you going to be suing someone over the software? 2) Really? 3) Are you going to be sued over this software (ie, distributing it)? 4) How can you be sure?
The Boost license removes the requirement to keep passing around the copyright file once you have compiled the source, and the copyright notice is stored in the source files, so the user of boost doesn't have to do much work to keep themselves in compliance (unless they go off and start cutting parts out of it). That is a very nice property for someone wanting to reuse some of your code in an actual product.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR
Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.
Note: it's sort of a toy project, and I think Yakk knows that, but it's probably good to make that clear to everyone.
Yakk wrote:1) Are you going to be suing someone over the software? 2) Really?
Probably not, but nothing's wrong with being clear about your opinion, right?
Yakk wrote:3) Are you going to be sued over this software (ie, distributing it)?
I sincerely hope we're not going to be sued, but the code is going to be distributed. In fact, it's now already publicly available on GitHub.
Yakk wrote:4) How can you be sure?
100% certainty doesn't exist, of course, but... what exactly is the question? We just want to be on the safe side.
Yakk wrote:The Boost license removes the requirement to keep passing around the copyright file once you have compiled the source, and the copyright notice is stored in the source files, so the user of boost doesn't have to do much work to keep themselves in compliance (unless they go off and start cutting parts out of it). That is a very nice property for someone wanting to reuse some of your code in an actual product.
Yes that's nice, but the Boost license is geared specifically towards C++ libraries (which tend to get compiled). We are creating something heterogenous, so far with zero parts in compiled languages. That might change, but still, I think the compiled source clause of the Boost license doesn't add much in our case.
Hey, like coding? Perhaps you should check out the red spider project. Feel free to call me Julian. J+ is just an abbreviation.
I think an important question you need to ask is whether you want to retain copyright at all. If you want, you could simply release the code into the public domain (Which can be done with a single sentence*), and maybe just put a disclaimer in the root of the github.
*From what I've read on the Project Gutenberg website, something like "I, <my name here>, the sole copyright holder of the following code, hereby release it into the public domain", is sufficient to release something into the public domain (potentially with a digital signature). If you want to see how they do it, you can look here at the bottom of the page.
Spoiler:
TheNgaiGuy wrote:god is playing a huge trick on us and wants us to use our brains to come to the logical conclusion, even though wrong, that he doesn't exist and will send all atheists to heaven for exercising said gifts and send all theists to hell for having faith.
If members of the Red Spider Project want to release their code to the public domain I don't mind, but I think there should be an option for those who want to keep their copyright. Besides, as far as I know "public domain" isn't legally recognized in many countries. In some cases, if it's possible to find out who wrote something originally then that person is the copyright holder, period.
Please note that I'm not so much interested in alternative ways to license our work anyway, as I'm already quite familiar with public domain, copyleft, copycenter, etcetera. My real primary (still unanswered) question is whether our humorous modifications of the MIT license would screw up its validity or not.
Nonetheless, thanks for your effort!
Hey, like coding? Perhaps you should check out the red spider project. Feel free to call me Julian. J+ is just an abbreviation.
Placing works in the public domain may not accomplish what you are trying to accomplish. Works placed into the public domain do not have the same legal standing as works for which copyright has expired. Care should be exercised. The Creative Commons has a public domain dedication you might consider, if you choose to go with PD.
In the hope of attracting new participants to the discussion, I hereby repeat my core question. This is our current license:
Spoiler:
The Red Spider Project License - 27. March 2012
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 copyright notices in the Software and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
It has most of the properties that we want: permissive, requiring attribution, and disclaiming liability. The only property that is still missing is some xkcd-style humour. In order to fix that we would like to make two subtle additions, resulting in the version below:
Spoiler:
The Red Spider Project License - 27. March 2012
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 (with or without emacs C-x M-c M-butterfly), 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 copyright notices in the Software and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, SAFETY FROM VELOCIRAPTORS AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Question: would there be any reason to expect that the latter changes might make us more vulnerable to claims of liability?
Hey, like coding? Perhaps you should check out the red spider project. Feel free to call me Julian. J+ is just an abbreviation.
In general, it's a bad idea to modify an existing license, just try to choose an FSF and OSI approved license that matches what you want, don't forget that it probably has to be GPL compatible as well.
If you modify a license it is no longer approved in any way, and unless you have a lawyer look over it, you don't even know if it's in any way valid.
Also, there are many places humor is applicable, the license is not one.
If you really want to write your own license, hire a lawyer.
Copyright (c) <year>, <copyright holder> All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Question: would there be any reason to expect that the latter changes might make us more vulnerable to claims of liability?
I am not a lawyer, and you would need to ask your lawyer if you want certainty (note: not a lawyer, but your lawyer, at least where I live you can only quote legal advice that you contracted).
Jplus wrote:(Note in advance: this post contains links but you can probably write a meaningful response without following them.)
For the red spider project, we're looking for a liberal software license that is appropriate both in terms of legal safety and in terms of "xkcd style". It should be safe enough that we won't be sued because somebody blew up their computer with our software. Also, people who reuse our software should properly attribute it to the original authors.
I'm not a lawyer. However, I'm also a software engineer who's never been sued over a project. I think it's pretty unlikely.
Here's the thing. If you're worried about something, use a plain language warning. That's it. Seriously, nobody reads the ridiculous eula anyway, and if you don't have the pile of lawyers to defend it, don't stress too much about it. If you want an open source license or whatever, grab the appropriate creative commons license or what have you. People have done this stuff before, utilize their work. But most of all, just be up front with people about your concerns, and let them decide what amount of risk they'd like to take.
Choosing a particular brand of license (GPL/MIT/BSD/WTFPL/public domain/insert your favourite here) is really not the issue. We happen to have chosen MIT, which covers our basic legal needs (mostly non-liability), and we're happy with that (I dare to speak on behalf on multiple people, because at this point nobody has complained about the RSP license).
The real issue is this: suppose I pick license [X] of your choosing, and imagine that it's normally supposed to be included directly in each source file. Now I make two minimal, subtle changes (modifying about one line in total) to adjust it for use in a separate file. These changes are completely derived from a related, compatible license. Finally I make two small, unintrusive, witty insertions (again about one line in total), one of them in the non-liability paragraph, in order to make the text comply more with the spirit of the project (it's about fun). Do I need to worry that my adjusted version of [X] will protect us less well against liability?
I suspect I don't, and Tyndmyr suggested the same. However, it's always nice to be a bit more sure. Villadelfia actually suggested the opposite: don't trust your license until you've contracted a lawyer. I'm quite sure the latter would be overdone for our toy project, but I've contacted a friend who studied law in case she might be able to refer to someone who knows more about the juridical aspects of software licenses.
In the meanwhile: any semi-experts, please don't refrain from answering my question. Thanks in advance!
Hey, like coding? Perhaps you should check out the red spider project. Feel free to call me Julian. J+ is just an abbreviation.
The real issue is this: suppose I pick license [X] of your choosing, and imagine that it's normally supposed to be included directly in each source file. Now I make two minimal, subtle changes (modifying about one line in total) to adjust it for use in a separate file. These changes are completely derived from a related, compatible license. Finally I make two small, unintrusive, witty insertions (again about one line in total), one of them in the non-liability paragraph, in order to make the text comply more with the spirit of the project (it's about fun). Do I need to worry that my adjusted version of [X] will protect us less well against liability?
The law is complex and it's always better to stick with the well tested contracts that have seen time in court. There is going to be a lot of case law in higher courts dealing with the original licenses. Lots of cases get decided one way or another because a higher court decided it in the past. If your federal districts court of appeals made a certain ruling on an interpretation of the MIT license you might not be able to use it. All you need is an incompetent judge at the state level (there are plenty of those) to make a bad ruling with a license that has no case law behind it and you're screwed.
Legal documents are not art, don't treat it as such.
However, this is all a theoretical situation I made to illustrate possible issues; I completely understand how implausible this is. But the whole point of licenses are for when the unlikely happens and you get sued.