2 RUNE LANGUAGE COPYRIGHT
4 This software is (c)Copyright 1993-2016 by Matthew Dillon. Use of
5 this code and binaries produced by this code are governed by the
6 following stipulations:
8 (1) All files making up the Rune distribution are defined as "the product"
9 and subject to these terms.
11 (2) There are two Rune Language licenses: A commercial license, and a
12 free license. The license you need depends on the conditions under
13 which you use this program. Most open-source programmers and users
14 will fall under the free license.
16 The free license, when applicable, does NOT require registration or
17 a signed contract. Commercial licenses are negotiated on a
20 (3) All uses of the product are governed by these copyright terms PLUS
21 the license terms under the appropriate license. WITHOUT A LICENSE,
22 YOU HAVE NO RIGHTS AT ALL TO USE OR MODIFY THIS PRODUCT. IF THE
23 LICENSE IS DEEMED WHOLELY INVALID, YOU HAVE NO RIGHTS AT ALL TO USE
24 OR MODIFY THIS PRODUCT.
26 (4) NON TRANSFERABILITY: Unless otherwise stated, licenses are
27 non-transferable. This means that it applies to you and does not
28 automatically transfer to the people you distribute your product to.
29 In order to use the product you have distributed, those people will
30 be subject to the same copyright terms and MAY OR MAY NOT qualify for
31 their own separate, free, unregistered license.
33 (5) This copyright notice, applicable licenses, copyright notices in
34 all distributed source code and documentation, and copyright notices
35 embedded in object code and binaries, must be retained at all times,
36 even when codebase modifications are allowed. In particular, the
37 copyright and license must be retained and readily accessible in
38 the directory tree containing the the files it applies to. If you
39 are managing code with a repository (for example, git), the copyright
40 and license must also be retained in the repository.
42 (6) Any documentation referencing this work must refer to or contain
43 this copyright notice and the following acknowledgement: "This product
44 includes software developed by Matthew Dillon and contributors.".
46 ---------------------------------------------------------
47 The "FREE" Rune Language License
50 Synopsis: This license is designed to support and promote an open-source
51 and open-use environment while still protecting the author's interests
52 in preventing misuse. All use of this distribution not covered by this
53 license requires a negotiated commercial license.
55 (1) There are distinctions between using this product, porting
56 modifications, enhancement modifications, integrations, and
57 redistributions. This license may be used for these purposes
58 in the limited fashion covered in the clauses below.
60 Clause (1) covers binary derived works (below).
61 Clause (2) covers using the product.
62 Clause (3) covers porting modifications.
63 Clause (4) covers enhancements.
64 Clause (5) covers integrations.
65 Clause (6) covers packaging systems.
67 When you write a program in Rune, intermediate, library, and binary
68 files will contain some copyrighted Rune code simply by being linked
69 against the rune core and the runtime will also have dynamic library
70 dependencies against the rune core. You are granted a perpetual,
71 non-revocable license to be able to run such binaries as well as to
72 distribute such binaries and the related run-time support
73 infrastructure commercially or non-commercially, as long as your
74 application is not substantially similar to the Rune product itself
75 (e.g. not used to simply wrap our product, with or without enhancement).
77 Your own wholely written source files and the derived program binary
78 itself is yours, you can copyright and license them as you wish. The
79 specific elements of Rune embedded in these files (such as the Rune
80 grammar) are not yours, but operate under a perpetual license which
81 allows your program binary to use them.
83 (2) Using Rune is defined as downloading, compiling, installing, and
84 then using the Rune binaries and libraries to write your own
85 applications in the Rune language.
87 Just as with most computer languages, installing and using the rune
88 environment is unrevocably free and covered by the free license.
90 (3) Porting modifications. Any commercial or non-commercial entity can
91 make modifications to the Rune distribution for the purpose of
92 porting the distribution to an architecture under the following
95 * If you distribute your modifications or anything derived from your
96 modifications, including binaries, you agree to make all such
97 modifications available in patch or GIT form as an
98 internet-accessible publically available patch or GIT repo,
101 * You agree to relinquish all the rights releaseable under your
102 country's law to said modifications such that anyone else can use
103 your modifications, including any recopyrighting and relicensing,
104 almost as if they were in the public domain. In return, anyone
105 using your modifications agrees to attribute them to you. A
106 GIT commit message in the repo is considered sufficient, and
107 if the modification is significant enough the person using your
108 modifications (under his sole discretion) may also add the author
109 of the modification to the contributors list at the top of the file.
111 The Rune copyright holder (Matthew Dillon) will specifically use
112 this release to integrate patches into the main distribution under
115 * If the law does not allow the degree of freedom required to allow
116 others to use modifications as stipulated, then you may not make
117 modifications under this clause.
119 * Contributions to the project are assumed to be made as a good
120 faith donation as stipulated above. For example, if a patch is
121 mailed to us, posted on a public forum, or integrated into any
122 open-source distribution. We assume these to be contributions
123 that fall under these stipulations.
125 If you do this mistakenly and do not wish to contribute the
126 material, within a reasonable period of time of 6 months or as
127 allowed by law from when you published it, you must notify us and
128 we will withdraw it from the public. Your only recourse is that
129 it be withdrawn from the HEAD of the repo and no longer used in
130 ongoing distributions down the line. The repo history will remain
133 * The author of any modifications stipulates that they are entirely
134 his own work and that he or she agrees to the terms of the license.
135 If multiple authors, that all authors have read and agree to the
136 terms of this license.
138 * These stipulates remain in effect whether the copyright holder
139 of the product (Matthew Dillon) decides to integrate the
140 modifications into the base distribution or not.
142 * Again, as a clarification, you cannot apply your own license or
143 copyright to modifications, even whole-file modifications.
145 In the open-source world, authors typically name themselves in
146 source files via a copyright line near the top of the file. We
147 wish to allow authors to include their names in source files but
148 it cannot be done with a copyright line. Instead, you may add
149 your name in comments near the top of a source file using the
150 following example form:
153 * Contributor - Charlie Chan <charlie@backplane.com> - bug fixes
159 # ... other contributors ...
160 # Contributor - Charlie Chan <charlie@backplane.com> - bug fixes
163 (4) An 'enhancement' is defined to be the addition of any new feature
164 to Rune. As a clarification, features include optimizations,
165 grammar changes, additions to the core classes, and anything else
166 that adds functionality to the Rune language that isn't a simple
167 patch for porting purposes or bug fix to existing functionality.
169 This clause is meant to control the open-source forking problem that
170 can quickly destroy portability (particularly for a language), and
171 indeed can destroy the whole project. Enhancements can be made with
172 the following stipulations:
174 * All stipulations in section (3).
176 * Your enhancements are being made with the intent of getting them
177 back into the core distribution. The copyright holder and core
178 team for Rune have final say on whether features and enhancements
179 go in or not. We will probably say 'no' a lot, we do not want Rune
180 to become a kitchen-sink language and complex features have to be
181 extremely well-tested before they can be considered for inclusion.
182 On the otherhand, there is a huge amount of work that needs to
183 be done especially on the core classes.
185 * You cannot fork the project, meaning you can't take rejected
186 enhancements and start your own project up to support them.
187 That said, we need and expect contributors to maintain their
188 own GIT repos with all their work. Theoretically these repos
189 are a fork of a sort, but there is a big difference between using
190 a repo to hold side branches in a supporting role and using copies
191 of the repo in a primary role. We distinguish between these two
194 Using copies of the repo in a supporting role is fully supported
195 and allowed by this clause.
197 * SUNSET CLAUSE FOR FORK RESTRICTIONS - The restriction on forking
198 the project will be lifted on December 31 2018. The project
199 forking stipulation above will no longer be applicable and can be
200 removed on that date.
202 (5) We consider an 'integration' of our product to be any situation where
203 a substantial portion of the functionality of our product, such as
204 being able to parse, compile, assemble, link, or interpret a Rune
205 program (including JIT compilation), is repackaged into some other
206 distribution not under our (the copyright holder, Matthew Dillon's)
207 control. Integrations are governed by the following stipulations:
209 * Integration into any non-commercial open-source product is allowed,
210 defined as any product governed by the BSD or any GPL license whos
211 controlling entity is not also distributing (or associated with an
212 entity distributing) a proprietary form of the product.
214 For example, Rune could be integrated into most linux distributions
217 * Integration into any commercial product or by any commercial
218 entity who distributes a proprietary form of an open-source
219 product requires a commercial license. The Free license may not
220 be used in this case.
222 * A commercial license is required for any other integration of Rune.
223 Also, keep in mind that this license is not transferable so any
224 users of your distribution must separately qualify for the free
225 license or obtain their own.
227 (6) Packaging. Any packaging system which packages the core Rune
228 distribution, unenhanced, with only porting modifications which
229 follow clause (3), may use this license to generate the port,
230 maintain a copy of the sources, and build and host binary
233 (7) LIMITED-REVOKABILITY of the FREE license by Matthew Dillon. This
234 clause exists to protect the integrity of the Free License for both
235 the licensee and the copyright holder, protecting both sides from
236 extreme levels of liability should a conflict arise. This clause
237 does NOT prevent the copyright holder (Matthew Dillon) from filing
238 a lawsuit based on copyright law, but it does say in writing what the
239 intent of the copyright holder is and any judge is expected to take
242 By using this software the licensee is agreeing to the terms and
243 conditions of this license. The Free license is not revocable when
244 used in good faith. However, situations may arise where the licensee
245 does not act in good faith.
247 The copyright holder (Matthew Dillon) reserves the right to revoke
248 the free license if he believes the licensee is not using it in
249 good faith. Upon notification, the licensee is no longer able to use
250 the Free license and must immediately stop using the product. If
251 the licensee stops using the product and does not contest the
252 revocation the conflict is considered resolved.
254 The licensee has the right to contest the revocation by posting
255 bond within 30 days at the going rate (as determined by the mediation
256 company chosen by the copyright holder) for a licensed mediator to
257 resolve the conflict. If the revocation is not contested within
258 the time limit the mediation option is taken off the table and the
259 copyright holder (Matthew Dillon) may resort to a lawsuit.
261 If bond is posted within the time limit or as otherwise agreed to
262 by the copyright holder if past the time-limit, The copyright holder
263 (Matthew Dillon) will then hire a licensed mediator who will then
264 mediate the conflict within 30 days and render a final verdict.
265 The question to the mediator is solely as to whether the free license
266 was applicable to the licensee's use case or not, it is not meant to
267 adjudicate royalties or other payments (though such conversations can
268 occur directly between licensee and copyright holder).
270 If the copyright holder wins the licensee pays for the mediation via
271 the bond and the licensee agrees to stop using the product. If the
272 licensee wins the bond is returned and the copyright holder
273 (Matthew Dillon) pays for the mediation.
275 Note that 'good faith' is a matter of interpretation. It is not meant
276 to be a strict reading of the license, but it is meant to distinguish
277 between honest mistakes and intentional actions. Of course, given
278 notification of a mistake, an honest mistake can quickly turn into an
279 intentional one if the licensee does not quickly address it. The
280 mediator is asked to take this into account as well.
282 Once revoked, the person or entity in question will no longer be
283 able to use the Free license for Rune for any purpose, indefinitely,
284 and must withdraw any products already distributed or sold using
285 the license, and any future products.
287 (8) LIMITED LIABILITY. THIS SOFTWARE IS PROVIDED BY MATTHEW DILLON AND
288 CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
289 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
290 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
291 IN NO EVENT SHALL MATT DILLON OR CONTRIBUTORS BE LIABLE FOR ANY
292 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
293 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
294 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
295 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
296 IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
297 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
298 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
300 (9) Sunset provision for entire project. On December 31st 2030 the
301 copyright on the official distribution will be replaced with the
302 2-clause BSD copyright in its entirely. This license will no longer
303 be applicable at that time and instead of the almost-public-domain
304 BSD license will become applicable, allowing the codebase to be
305 used for virtually any purpose by virtually anyone, commercial or
308 ---------------------------------------------------------
309 Examples of Free vs Commercial use.
311 These examples are meant to clarify the intent of our copyright and
312 license. These examples are not part of the official copyright or
313 license, but may be used by mediator or the courts for clarification.
314 Generally speaking my goal is for Rune to be freely useable in
315 open-source-friendly settings but I want a piece of the pie if a
316 commercial entity integrates it into a commercial product. A commercial
317 license is generally required when you wish to make proprietary
318 modifications or extensions to Rune, or integrate Rune into a commercial
319 product. If you aren't sure, assume that a commercial license is required.
321 * Lets say you are FreeBSD or Debian and you wish to distribute Rune
322 as part of the base system or as a package, including hosting copies
323 of the repo and/or binary packages. The Free license will allow you
324 to do so. Keep in mind that any patches you place in the ports
325 system must adhere to clause (3).
327 * Lets say you are a commercial CD printing outfit and wish to include
328 Rune on one of your CDs, which you sell. The Free license will allow
329 you to do so under clause (5)... that is, if the CD printing outfit is
330 merely redistributing a wholely open-source product as a product and
331 not distributing its own proprietary version of the product, then it
332 may use clause (5). However if the CD printing outfit wants to
333 sell both a fully-open-source and a proprietatry product, then a
334 commercial license is required for both
336 * Lets say you are a company that wishes to make proprietary modifications
337 to Rune and sell the result. A Commercial license would be required.
339 * Lets say you are a company that wishes to create proprietary extensions
340 to Rune, for example by interfacing it to your own proprietary backend.
341 We consider this an enhancement (even if it operates as a separate
342 program) and not an application and you would need a commercial license.
344 * Lets say you are a company that wishes to incorporate Rune into your
345 proprietary commercial application in order to allow users of your
346 application to write code in Rune via the application. We consider
347 this a proprietary 'Integration' of our product and a commercial
348 license would be required.
350 * Lets say you are a company that uses Rune to develop an application.
351 You can distribute binaries of your application without having to
352 get a Rune Commercial License.
354 * Lets say you want to rebrand Rune and sell the result. We consider
355 this wrapping and a commercial license would be required.
357 * Lets say you wish certain negotiated rights to be transfered to the
358 end-user. Since the Free License is non-transferable you would need
359 a commercial license to be able to grant your end-users negotiated
360 rights. For example, if you want to give your end-users the right
361 to make proprietary extensions to Rune libraries you would need a
362 commercial license from us because the Free License does not provide