forked from munificent/craftinginterpreters
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLICENSE
102 lines (81 loc) · 4.12 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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 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, and the look of the
site is part of its 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 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 ".html", ".scss", ".css",
".markdown", or ".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/
All other files, including (but not limited to) ".c", ".h",
".java", and ".py" 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.