forked from munificent/craftinginterpreters
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LICENSE
86 lines (65 loc) · 4.29 KB
/
LICENSE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Copyright (c) 2015 Robert Nystrom
---------------------------------- Commentary ----------------------------------
The licensing story for this repository is a little complex. Here's my
motivation:
* I want you to get as much use out of the material here as possible. I wrote
this book to help you, and I don't want you to be encumbered when it comes to
making the most of it. That's also why I put it online for free.
* With my previous book, collaboration on GitHub was immesensely helpful. I want
to ensure people can fork the repo, send me fixes, etc. without violating the
license or feeling weird.
* When it comes to code, I'm completely comfortable with people redistributing,
remixing, changing, whatever with it. I've been using the MIT license for open
source stuff for decades.
This book contains two complete interpreters and I would be delighted for them
to be the jumping-off point for any number of real full-featured language
implementations.
* When it comes to my prose, illustrations, and the visual design of the site,
that feels a little more, I don't know, *me* than the code. The words are in
my voice, the drawings are literally my handwriting, and the look of the site
is part of the book's and, by extension, my brand.
I feel weird thinking about someone, say taking one of the chapters and making
significant changes to it to fit their writing style while still having some
of it read like it came from me. Likewise, I'd be sad to see another site
online that looked exactly like mine because it reuses my stylesheets.
* My previous book ended up being translated into several languages. I want to
be careful to not be so permissive that it prevents me from signing typical
contracts that give them exclusive translation rights to certain territories
and languages.
* If I allow the prose and illustrations to be redistributed commercially, there
is nothing preventing someone from slapping together a cheap print or ebook
version of the book and putting it up for sale. I'm not too worried about my
own sales being undercut, but I very much want to avoid readers finding
themselves with a low quality book that they incorrectly think is from me.
I worked very hard on this book. I want you to get the best possible
experience.
All of this is way more complex than I'd like, especially since my brain isn't
wired to care about intellectual property. I like thinking about making stuff,
not thinking about the legal rights around the stuff I made. (If your brain is
wired to think about legal stuff and you see that I'm doing something dumb,
please do let me know.)
The best solution I've been able to come up with is to use two licenses:
---------------------------------- License(s) ----------------------------------
Each file in this repository falls under one of two licenses. Files whose
extension is ".c", ".dart", ".h", ".java", or ".lox" use the MIT license:
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.
All other files, including (but not limited to) ".md" (except for
"book/appendix-i.md" which uses the MIT license above), ".png", ".jpg", ".html",
".scss", ".css", and ".txt" use this Creative Commons license:
Attribution-NonCommercial-NoDerivatives 4.0
International (CC BY-NC-ND 4.0)
https://creativecommons.org/licenses/by-nc-nd/4.0/