Hi everyone, I have just posted something about solving puzzles by programming and thought you could find it interesting. It is on http://arkocal.blogspot.com/2012/11/puz … s-abc.html
My question is, which licence fits such educational code? Thanks for any help and opinions.
You don't say what restrictions you would want to place on the code. Look for examples from similar blogs and web pages. For example, the text of A Byte of Python is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license, the code is licensed under the the 3-clause BSD License.
CC licenses are pretty nice, and I'm fond of the MIT license for code. It does depend on what you want to restrict as thisoldman said. Regardless, I would recommend using a license that has been thoroughly vetted by lawyers, and avoid writing your own or using obscure ones like the WTFPL (Do What The Fuck You Want Public License). This is because you can't be sure there isn't something they overlooked or some kind of legal loophole that will let someone sue you into oblivion.
In Zen they say: If something is boring after two minutes, try it for four. If still boring, try it for eight, sixteen, thirty-two, and so on. Eventually one discovers that it's not boring at all but very interesting.
~ John Cage
I agree with Nisstyre56 that you'll want to pick a license that has been thoroughly vetted by lawyers (who hopefully specialize in intellectual property). I've come across some interesting custom software licenses (CRAPL is particularly amusing), but they'll do little more than communicate your wishes.
Creative Commons (CC) licenses are great for protecting self published creative works (e.g. artwork, music, personal websites, instruction material, etc). However, they should not be used for software (see Creative Commons FAQ). There are a lot of technicalities associated with licensing software; many of which derive from the numerous forms in which "software" can exist on a machine and be distributed. For example, if you distribute your source code under a CC license, and then the end user compiles it on their machine using their compiler, do the terms of the original license still apply to the machine code (or byte code)? If so, in what sense? What about linking to other libraries under a different license? Specialized software licenses (e.g. MIT, BSD, GPL, Artistic Licences, etc) address these issues. See OSI for a description of many open source software licenses.
When selecting a license, you should be mindful of the difference between a copyright and a copyleft license. Roughly speaking, a copyright license (e.g. MIT) allows for derivative work to be put under a different license, whereas a copyleft license (e.g. GPL) requires all derivative work to be put under the same license. Both can have important long term implications. For example, if you release your project under a copyright license, then you may find yourself competing against a proprietary fork of your own project. If you choose a copyleft license, you may have difficulty reusing your work in projects that require a different license.
Based on what I saw on your blog, I didn't see any links to any source code. All I see is a tutorial with code snipets. As far as the tutorial is concerned, I would expect the CC license to be sufficient. If you're planning to release small, example ("toy") programs, then I would expect that any license that provides denial of warranty and liability to be sufficient. However, if you want attribution for your work (e.g. if someone uses your source code in their own blog), then I would expect that you may want to seek something more specialized.
Last edited by bsilbaugh (2012-11-13 04:07:43)
- Good judgement comes from experience; experience comes from bad judgement. -- Mark Twain
- There's a remedy for everything but death. -- The wise fool, Sancho Panza
- The purpose of a system is what it does. -- Anthony Stafford Beer
If you don't want to be super serious about it, then you can just use the WTFPL, the "Do What The Fuck You Want To Public License":
Maybe it was added later but look at the bottom of the page, the last word is a link to a mediafire download page.
Do you really need to use mediafire? Maybe github or something like that would be more appropriate? At least something with direct links. Also, some of the empty lines in the code are not actually empty but have several spaces.
While you can use the WTFPL, you might want to append an indemnification notice. I don't know if the need for such a notice has been tried in court but you might as well include it just to be safe.
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.