backend-skeleton 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMMERCIAL-LICENSE-AGREEMENT.md +399 -0
- package/COMMERCIAL-LICENSE.md +46 -0
- package/LICENSE +661 -21
- package/README.md +20 -8
- package/bin/bskel.mjs +32 -1
- package/contracts/completeness.mjs +35 -0
- package/contracts/emit.mjs +114 -4
- package/contracts/export.mjs +298 -45
- package/contracts/openapi.mjs +593 -17
- package/package.json +6 -3
- package/schemas/feature-contract.schema.json +56 -1
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
# backend-skeleton Commercial Software License Terms
|
|
2
|
+
|
|
3
|
+
> **Template status — not a signed contract.** This is the actual agreement text a
|
|
4
|
+
> commercial licensee would sign, adapted from a freely reusable template (see
|
|
5
|
+
> **Provenance** below). Bracketed fields (`[...]`) are deal-specific and must be
|
|
6
|
+
> filled in per licensee before execution — this file does not bind anyone by
|
|
7
|
+
> itself. For the plain-language offer and how to start a conversation, see
|
|
8
|
+
> [`COMMERCIAL-LICENSE.md`](./COMMERCIAL-LICENSE.md).
|
|
9
|
+
|
|
10
|
+
## Provenance
|
|
11
|
+
|
|
12
|
+
Adapted from the **Basic-Perpetual** template in
|
|
13
|
+
[lawndoc/dual-license-templates](https://github.com/lawndoc/dual-license-templates)
|
|
14
|
+
(MIT-licensed, freely reusable and modifiable). That project publishes two
|
|
15
|
+
templates specifically for open-source projects doing AGPL/GPL + commercial dual
|
|
16
|
+
licensing — the same model MySQL, MongoDB, and Qt have used. This is the
|
|
17
|
+
**Perpetual** variant (one-time fee, no renewal) rather than the Yearly variant.
|
|
18
|
+
Wording below is the template's own text with backend-skeleton-specific values
|
|
19
|
+
filled in and one drafting bug in the original fixed (the "customer" definition
|
|
20
|
+
in §1(c) of the source template incorrectly repeated the vendor definition).
|
|
21
|
+
|
|
22
|
+
This is **not legal advice** — backend-skeleton's own operator has adapted a
|
|
23
|
+
public-domain-style template, not a lawyer. Anyone on either side of an actual
|
|
24
|
+
commercial deal should have their own counsel review the filled-in version
|
|
25
|
+
before signing.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## backend-skeleton Commercial Software License Terms
|
|
30
|
+
|
|
31
|
+
### 1. Definitions
|
|
32
|
+
|
|
33
|
+
(a) "The software" in this license refers to **backend-skeleton** copyrighted
|
|
34
|
+
by **[VENDOR LEGAL NAME — TBD]**.
|
|
35
|
+
|
|
36
|
+
(b) "The new software" in this license refers to the customer's product or service
|
|
37
|
+
that will use the software as a component.
|
|
38
|
+
|
|
39
|
+
(c) The "developer" or "vendor" in this license refers to **[VENDOR LEGAL NAME —
|
|
40
|
+
TBD]**.
|
|
41
|
+
|
|
42
|
+
(d) The "customer" in this license refers to **[CUSTOMER LEGAL NAME — filled in
|
|
43
|
+
per order]**.
|
|
44
|
+
|
|
45
|
+
### 2. Versions
|
|
46
|
+
|
|
47
|
+
This agreement covers the specific version of the software on the order, plus any
|
|
48
|
+
new versions of the software that the vendor makes generally available, or
|
|
49
|
+
specifically provides to the customer, while this agreement continues.
|
|
50
|
+
|
|
51
|
+
### 3. Modifications
|
|
52
|
+
|
|
53
|
+
The customer may make changes to the software's source code, compile those
|
|
54
|
+
changes, and run changed versions of the software.
|
|
55
|
+
|
|
56
|
+
### 4. Billing
|
|
57
|
+
|
|
58
|
+
(a) **Invoices, Fees, and Payment.** The vendor agrees to invoice the customer per
|
|
59
|
+
the order. The customer agrees to pay the fees on the order, using the payment
|
|
60
|
+
method on the order. *(Fee amount, currency, and payment method: [PER ORDER —
|
|
61
|
+
not fixed by this template; contact **popixoxipop@gmail.com** to negotiate.])*
|
|
62
|
+
|
|
63
|
+
(b) **Billing Errors.** The customer agrees to give the vendor notice of any
|
|
64
|
+
suspected billing error on an invoice before the deadline for payment. Both sides
|
|
65
|
+
agree to resolve any potential billing errors promptly and in good faith. The
|
|
66
|
+
customer agrees to pay the undisputed part of each invoice by the original
|
|
67
|
+
deadline, and any part of the invoice resolved later within seven days of
|
|
68
|
+
resolution.
|
|
69
|
+
|
|
70
|
+
### 5. Term and Termination
|
|
71
|
+
|
|
72
|
+
(a) **Perpetual Term.** This agreement continues until one side or the other ends
|
|
73
|
+
it for reasons listed below.
|
|
74
|
+
|
|
75
|
+
(b) **Breach Termination.** Either side can terminate this agreement immediately
|
|
76
|
+
if the other side breaches and fails to cure their breach within fourteen days of
|
|
77
|
+
notice.
|
|
78
|
+
|
|
79
|
+
(c) **Harassment Termination.** Either side can terminate this agreement if the
|
|
80
|
+
other side subjects them to harassment, blackmail, or defamation during the term
|
|
81
|
+
of the agreement.
|
|
82
|
+
|
|
83
|
+
### 6. Use
|
|
84
|
+
|
|
85
|
+
(a) **Permitted Use.** The customer may use the software only as a component of
|
|
86
|
+
the new software. New code written by the customer is owned by the customer.
|
|
87
|
+
|
|
88
|
+
(b) **Prohibited Uses.** The customer may not:
|
|
89
|
+
|
|
90
|
+
(i) sell, lease, license, or sublicense the software or documentation;
|
|
91
|
+
|
|
92
|
+
(ii) allow access to the software by others not licensed under this agreement;
|
|
93
|
+
|
|
94
|
+
(iii) share modified copies of the software or documentation with others not
|
|
95
|
+
licensed under this agreement;
|
|
96
|
+
|
|
97
|
+
(iv) make so much of the functionality of the software available to others as
|
|
98
|
+
software-as-a-service that the service competes with the software for
|
|
99
|
+
customers;
|
|
100
|
+
|
|
101
|
+
(v) assist or allow others to use the software against the terms of this
|
|
102
|
+
agreement.
|
|
103
|
+
|
|
104
|
+
### 7. Licenses
|
|
105
|
+
|
|
106
|
+
(a) **Software Copyright License.** The vendor grants the customer and each
|
|
107
|
+
developer of the new software a standard license for any copyrights in the
|
|
108
|
+
software that the vendor can license, to copy, install, back up, and use the
|
|
109
|
+
software as allowed under this agreement.
|
|
110
|
+
|
|
111
|
+
(b) **Software Patent License.** The vendor grants the customer and each
|
|
112
|
+
developer of the new software a standard license for any patents the vendor can
|
|
113
|
+
license or becomes able to license, to use the software as allowed under this
|
|
114
|
+
agreement.
|
|
115
|
+
|
|
116
|
+
(c) **Documentation Copyright License.** The vendor grants the customer and each
|
|
117
|
+
developer of the new software a standard license for any copyrights in the
|
|
118
|
+
documentation that the vendor can license, to read, back up, and copy the
|
|
119
|
+
documentation.
|
|
120
|
+
|
|
121
|
+
(d) **Standard License Terms.** A standard license means a nonexclusive license
|
|
122
|
+
for the term of this agreement, for versions of the software covered by this
|
|
123
|
+
agreement, that is conditional on payment of all fees as required by this
|
|
124
|
+
agreement and subject to any use limits in this agreement.
|
|
125
|
+
|
|
126
|
+
(e) **No Other Licenses.** Apart from the licenses in Section 7 (Licenses), this
|
|
127
|
+
agreement does not license or assign any intellectual property rights.
|
|
128
|
+
|
|
129
|
+
### 8. Open Source
|
|
130
|
+
|
|
131
|
+
(a) **Open Source Compliance.** Some components of the software may be open
|
|
132
|
+
source software available under free, public licenses. If the public license terms
|
|
133
|
+
for any open source component, except for the software itself, conflict with the
|
|
134
|
+
terms of this agreement, only the public license terms apply to that component,
|
|
135
|
+
not the terms of this agreement. If the license terms for any open source
|
|
136
|
+
component require an offer of source code or other information related to that
|
|
137
|
+
component, the vendor agrees to provide on written request.
|
|
138
|
+
|
|
139
|
+
(b) **Dual Licensing.** backend-skeleton is also available under
|
|
140
|
+
[AGPL-3.0-or-later](./LICENSE) (see [`COMMERCIAL-LICENSE.md`](./COMMERCIAL-LICENSE.md)
|
|
141
|
+
for why a commercial license exists alongside it):
|
|
142
|
+
|
|
143
|
+
(i) While the customer's licenses continue, the customer and each developer of
|
|
144
|
+
the new software must abide by this agreement, not the public license.
|
|
145
|
+
|
|
146
|
+
(ii) The customer must abide by the terms of the AGPL-3.0-or-later license for
|
|
147
|
+
any versions of the software not covered by this agreement.
|
|
148
|
+
|
|
149
|
+
### 9. Delivery
|
|
150
|
+
|
|
151
|
+
(a) **Materials.** The vendor agrees to make the following available to the
|
|
152
|
+
customer within three days and for at least ten days:
|
|
153
|
+
|
|
154
|
+
(i) a copy of the software's source code hosted in a public open source
|
|
155
|
+
repository;
|
|
156
|
+
|
|
157
|
+
(ii) a copy of the software's documentation hosted on a public website or in a
|
|
158
|
+
public open source repository.
|
|
159
|
+
|
|
160
|
+
(b) **Method.** The vendor agrees to deliver all materials by e-mail or by making
|
|
161
|
+
them available to download online, without any additional charge. The vendor
|
|
162
|
+
agrees to make new versions of the software covered by this agreement available
|
|
163
|
+
in the same way.
|
|
164
|
+
|
|
165
|
+
(c) **License Keys.** backend-skeleton does not currently use license keys; if
|
|
166
|
+
that changes, this section's key-delivery and renewal terms apply as written in
|
|
167
|
+
the source template.
|
|
168
|
+
|
|
169
|
+
### 10. No Technical Support
|
|
170
|
+
|
|
171
|
+
The vendor does not agree to provide technical support for the software under
|
|
172
|
+
this agreement. Technical support may or may not be offered as a separate
|
|
173
|
+
subscription or agreement.
|
|
174
|
+
|
|
175
|
+
### 11. Warranties
|
|
176
|
+
|
|
177
|
+
(a) **Perform As Documented.** The vendor guarantees that the software will
|
|
178
|
+
perform as described in its documentation during the warranty period on the
|
|
179
|
+
order, except when:
|
|
180
|
+
|
|
181
|
+
(i) using an older version of the software than the latest provided under this
|
|
182
|
+
agreement;
|
|
183
|
+
|
|
184
|
+
(ii) using the software with modifications;
|
|
185
|
+
|
|
186
|
+
(iii) running the software using hardware or software different from that
|
|
187
|
+
required, according to the documentation;
|
|
188
|
+
|
|
189
|
+
(iv) combining the software with other software or hardware in ways not
|
|
190
|
+
described in the documentation.
|
|
191
|
+
|
|
192
|
+
(b) **Malware.** The vendor guarantees that the software it delivers will be free
|
|
193
|
+
of malicious code, such as computer worms and viruses.
|
|
194
|
+
|
|
195
|
+
(c) **Limiting Code.** The developer guarantees that the software it delivers will
|
|
196
|
+
be free of code that automatically limits or disables software functionality,
|
|
197
|
+
other than:
|
|
198
|
+
|
|
199
|
+
(i) code that limits or disables functionality on failure to validate license
|
|
200
|
+
keys;
|
|
201
|
+
|
|
202
|
+
(ii) code that limits or disables functionality based on automatic monitoring of
|
|
203
|
+
agreed limits on usage.
|
|
204
|
+
|
|
205
|
+
(d) **Software Dependencies.** If the software depends on, installs, configures,
|
|
206
|
+
or links to other software in order to function, the vendor guarantees that, at the
|
|
207
|
+
time of signing this agreement, those software dependencies will be either
|
|
208
|
+
provided in the copies of the software delivered to the customer or generally
|
|
209
|
+
available for the customer to download, free of charge, from a well known
|
|
210
|
+
website or Internet service, such as an open source software package repository.
|
|
211
|
+
*(backend-skeleton's own dependencies: the Node.js runtime and a handful of npm
|
|
212
|
+
packages, all freely available from the public npm registry.)*
|
|
213
|
+
|
|
214
|
+
### 12. Liability
|
|
215
|
+
|
|
216
|
+
(a) **Disclaimer.** Section 11 (Warranties) sets out the only warranties the
|
|
217
|
+
vendor provides for the software. The vendor disclaims any warranties the law
|
|
218
|
+
might otherwise imply, like warranties of merchantability, fitness for any
|
|
219
|
+
particular purpose, title, or noninfringement.
|
|
220
|
+
|
|
221
|
+
(b) **Unforeseeable Damages.** Neither side will be liable for breach-of-contract
|
|
222
|
+
damages they could not have reasonably foreseen when entering into this
|
|
223
|
+
agreement.
|
|
224
|
+
|
|
225
|
+
(c) **Liability Cap.** Except for Section 12(d) (Uncapped Liabilities), neither
|
|
226
|
+
side's total liability for breach of this agreement will exceed the amount of fees
|
|
227
|
+
the vendor received from the customer under this agreement during the twelve
|
|
228
|
+
months before the first claim is made. This limit applies even if the side liable is
|
|
229
|
+
advised that the other may suffer damages, and even if the customer paid no fees
|
|
230
|
+
at all.
|
|
231
|
+
|
|
232
|
+
(d) **Uncapped Liabilities.** Section 12(c) (Liability Cap) does not apply to:
|
|
233
|
+
|
|
234
|
+
(i) the customer's obligations to pay fees;
|
|
235
|
+
|
|
236
|
+
(ii) the vendor's obligations to indemnify the customer;
|
|
237
|
+
|
|
238
|
+
(iii) liabilities the law requires to be unlimited.
|
|
239
|
+
|
|
240
|
+
### 13. Indemnities
|
|
241
|
+
|
|
242
|
+
These indemnities apply as long as the customer has paid all licensing fees as
|
|
243
|
+
required by this agreement:
|
|
244
|
+
|
|
245
|
+
(a) **Scope of Indemnity.** Throughout this agreement, to indemnify means to
|
|
246
|
+
indemnify and hold the customer and its personnel harmless for all liability,
|
|
247
|
+
expenses, damages, costs, and reasonable attorney fees, as well as to defend the
|
|
248
|
+
indemnified party.
|
|
249
|
+
|
|
250
|
+
(b) **General Indemnity.** Subject to Section 13(e) (Indemnification Process), the
|
|
251
|
+
vendor agrees to indemnify the customer for legal claims by others alleging that
|
|
252
|
+
the software infringes any copyright, trademark, or trade secret right, or breaks
|
|
253
|
+
any law.
|
|
254
|
+
|
|
255
|
+
(c) **Patent Indemnity.** The vendor will not indemnify the customer for any
|
|
256
|
+
claims by others alleging that the software infringes any patent.
|
|
257
|
+
|
|
258
|
+
(d) **Only Remedy.** Both sides agree that indemnification will be the only legal
|
|
259
|
+
remedy for claims covered by indemnity.
|
|
260
|
+
|
|
261
|
+
(e) **Indemnification Process.** Both sides agree that to receive indemnification
|
|
262
|
+
under this agreement, they must give notice of any covered claim quickly, allow
|
|
263
|
+
the other side to control investigation, defense, and settlement, and cooperate
|
|
264
|
+
with those efforts. Both sides agree that if they fail to give notice of any covered
|
|
265
|
+
claim quickly, indemnification will not cover amounts that could have been
|
|
266
|
+
defended against or mitigated if notice had been given quickly. Both sides agree
|
|
267
|
+
that if they take control of the defense and settlement of any covered claim, they
|
|
268
|
+
will not agree to any settlements that admit fault or impose obligations on the
|
|
269
|
+
other side without their signed, written permission.
|
|
270
|
+
|
|
271
|
+
(f) **Repair, Replace, Refund.** If the vendor or the customer receives written
|
|
272
|
+
notice of a claim that the software infringes any intellectual property right or
|
|
273
|
+
breaks any law, or vendor reasonably anticipates a claim of that kind:
|
|
274
|
+
|
|
275
|
+
(i) The developer may provide the customer a new version of the software that
|
|
276
|
+
no longer infringes or breaks the law. That new version will be covered by this
|
|
277
|
+
agreement. The customer will not pay any additional fee for the new version.
|
|
278
|
+
|
|
279
|
+
(ii) If the problem is infringement, the developer may get licenses for the
|
|
280
|
+
customer so that the customer's use of the software no longer infringes.
|
|
281
|
+
|
|
282
|
+
(iii) If the problem is illegality, the developer may get the approvals,
|
|
283
|
+
licenses, or other requirements needed to abide by the law.
|
|
284
|
+
|
|
285
|
+
(iv) The developer may refund any fees the customer has prepaid under this
|
|
286
|
+
agreement for time remaining in the term of this agreement, on a proportional
|
|
287
|
+
basis, and end this agreement immediately by giving the customer notice. A
|
|
288
|
+
refund does not apply because this is a perpetual agreement.
|
|
289
|
+
|
|
290
|
+
### 14. Tax
|
|
291
|
+
|
|
292
|
+
(a) **Taxes on Fees.** The customer agrees to pay all tax on fees under this
|
|
293
|
+
agreement, except tax on the vendor's income.
|
|
294
|
+
|
|
295
|
+
(b) **Tax Withholding.** If the customer is located outside the United States and
|
|
296
|
+
local law requires the customer to withhold taxes on fees paid under this
|
|
297
|
+
agreement:
|
|
298
|
+
|
|
299
|
+
(i) The customer agrees to make the required tax withholding payments for the
|
|
300
|
+
vendor by deducting the right amounts from payments to the vendor and paying
|
|
301
|
+
them to the proper tax authorities.
|
|
302
|
+
|
|
303
|
+
(ii) The customer agrees to increase the amount of each payment made under
|
|
304
|
+
this agreement, to offset withholding, so that the vendor receives the full
|
|
305
|
+
amount owed.
|
|
306
|
+
|
|
307
|
+
(iii) The customer agrees to give the vendor relevant official tax
|
|
308
|
+
documentation and tax receipts showing that withholding was required and that
|
|
309
|
+
proper withholding payment was made, as soon as possible after making any
|
|
310
|
+
withholding payment.
|
|
311
|
+
|
|
312
|
+
### 15. General Contract Terms
|
|
313
|
+
|
|
314
|
+
(a) **Notices.** Both sides agree that notice under this agreement must be sent by
|
|
315
|
+
e-mail to the address the recipient gave with its signature, or to a different
|
|
316
|
+
address given later for notices going forward, in the English language. If either
|
|
317
|
+
side finds that e-mail can't be delivered to the e-mail address given, the sender
|
|
318
|
+
may give notice by registered mail to the address on file for the recipient with
|
|
319
|
+
the state under whose laws it is organized.
|
|
320
|
+
|
|
321
|
+
(b) **Governing Law.** This agreement will be governed by **[GOVERNING LAW —
|
|
322
|
+
default: California, USA, per the source template; adjustable per negotiation]**
|
|
323
|
+
law.
|
|
324
|
+
|
|
325
|
+
(c) **No CISG.** The United Nations Convention on Contracts for the International
|
|
326
|
+
Sale of Goods will not apply to this agreement.
|
|
327
|
+
|
|
328
|
+
(d) **No UCITA.** As far as the law allows, the Uniform Computer Information
|
|
329
|
+
Transactions Act will not apply to this agreement.
|
|
330
|
+
|
|
331
|
+
(e) **Dispute Resolution.** Any controversy or claim arising out of or relating to
|
|
332
|
+
this contract, or the breach thereof, shall be settled by arbitration administered
|
|
333
|
+
by the American Arbitration Association in accordance with its Commercial
|
|
334
|
+
Arbitration Rules, and judgment on the award rendered by the arbitrator(s) may be
|
|
335
|
+
entered in any court having jurisdiction thereof. Claims shall be heard by a single
|
|
336
|
+
arbitrator. The place of arbitration shall be the capital of the jurisdiction whose
|
|
337
|
+
laws govern this agreement.
|
|
338
|
+
|
|
339
|
+
(f) **Enforcement.** Only the parties may enforce rights under this agreement.
|
|
340
|
+
|
|
341
|
+
(g) **Forum for Disputes.** Both sides agree to bring any lawsuits related to this
|
|
342
|
+
agreement in courts in the capital of the jurisdiction whose laws govern this
|
|
343
|
+
agreement. Both sides consent to the exclusive jurisdiction of those courts and
|
|
344
|
+
waive any objection that they would be an inconvenient forum for a lawsuit. Both
|
|
345
|
+
sides agree that the other side can enforce judgments from those courts in other
|
|
346
|
+
jurisdictions.
|
|
347
|
+
|
|
348
|
+
(h) **Only Terms.** Both sides intend the terms of this agreement, together with
|
|
349
|
+
the order, as the final, complete, and only expression of their agreement about
|
|
350
|
+
the software.
|
|
351
|
+
|
|
352
|
+
(i) **Unenforceable Terms.** If a court decides that any part of this agreement is
|
|
353
|
+
invalid or unenforceable for any reason, and that enforcing the rest of this
|
|
354
|
+
agreement would not defeat the purpose of this agreement, then the rest of this
|
|
355
|
+
agreement will still apply.
|
|
356
|
+
|
|
357
|
+
(j) **Excuses.** Neither side will be liable for any failure or delay meeting any
|
|
358
|
+
obligation under this agreement caused by:
|
|
359
|
+
|
|
360
|
+
(i) failure of the other side or its personnel to meet their obligations under
|
|
361
|
+
this agreement;
|
|
362
|
+
|
|
363
|
+
(ii) actions done or delayed at the written request of the other side;
|
|
364
|
+
|
|
365
|
+
(iii) fire, flood, earthquake, and other natural disasters;
|
|
366
|
+
|
|
367
|
+
(iv) declared and undeclared wars, acts of terrorism, sabotage, riots, civil
|
|
368
|
+
disorder, rebellions, and revolutions;
|
|
369
|
+
|
|
370
|
+
(v) extraordinary malfunction of Internet infrastructure, data centers, or
|
|
371
|
+
communication utilities;
|
|
372
|
+
|
|
373
|
+
(vi) government actions taken in response to any of these causes.
|
|
374
|
+
|
|
375
|
+
(k) **Amendments.** Both sides may change or add to the terms of this agreement
|
|
376
|
+
only by signing a written amendment.
|
|
377
|
+
|
|
378
|
+
(l) **Waivers.** Both sides will waive terms of this agreement, if at all, only in
|
|
379
|
+
signed writing.
|
|
380
|
+
|
|
381
|
+
(m) **No Assignment.** Neither side may assign any right under this agreement
|
|
382
|
+
without the other side's signed, written permission. Neither side will
|
|
383
|
+
unreasonably refuse permission. Any attempt to assign against the terms of this
|
|
384
|
+
agreement will have no legal effect.
|
|
385
|
+
|
|
386
|
+
(n) **No Delegation.** Neither side may delegate any performance under this
|
|
387
|
+
agreement. Any attempt to delegate will have no legal effect.
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
By signing below, both parties agree to all parts of this document.
|
|
392
|
+
|
|
393
|
+
X_______________________ Printed: ________________________ Date: ____________
|
|
394
|
+
Vendor
|
|
395
|
+
|
|
396
|
+
X_______________________ Printed: ________________________ Date: ____________
|
|
397
|
+
Customer
|
|
398
|
+
|
|
399
|
+
The term of this agreement begins on the date that both parties have signed.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Licensing
|
|
2
|
+
|
|
3
|
+
backend-skeleton is dual-licensed:
|
|
4
|
+
|
|
5
|
+
1. **Open source: GNU Affero General Public License v3.0 (AGPL-3.0-or-later)**
|
|
6
|
+
See [`LICENSE`](./LICENSE) for the full text. Under this license you may
|
|
7
|
+
use, modify, and redistribute backend-skeleton freely, including in a
|
|
8
|
+
network service, **provided that**:
|
|
9
|
+
- Any modified version you run as a network service must offer its
|
|
10
|
+
complete corresponding source code to users of that service
|
|
11
|
+
(AGPL-3.0 §13).
|
|
12
|
+
- Any distributed derivative work must also be licensed under
|
|
13
|
+
AGPL-3.0-or-later.
|
|
14
|
+
|
|
15
|
+
2. **Commercial license**
|
|
16
|
+
If AGPL-3.0's copyleft/source-disclosure obligations do not work for
|
|
17
|
+
your use case — for example, you want to embed backend-skeleton in a
|
|
18
|
+
closed-source product, ship it inside a proprietary SaaS backend
|
|
19
|
+
without disclosing your modifications, or otherwise use it without
|
|
20
|
+
triggering AGPL's terms — a separate commercial license is available
|
|
21
|
+
for a fee.
|
|
22
|
+
|
|
23
|
+
Contact **popixoxipop@gmail.com** to discuss commercial licensing
|
|
24
|
+
terms and pricing. The actual contract text used to license
|
|
25
|
+
backend-skeleton commercially is
|
|
26
|
+
[`COMMERCIAL-LICENSE-AGREEMENT.md`](./COMMERCIAL-LICENSE-AGREEMENT.md)
|
|
27
|
+
(adapted from a freely reusable public template — not yet filled
|
|
28
|
+
in with a specific licensee's deal terms).
|
|
29
|
+
|
|
30
|
+
## Why dual licensing
|
|
31
|
+
|
|
32
|
+
Dual licensing lets individuals, researchers, and AGPL-compliant
|
|
33
|
+
open-source projects use the software freely, while companies that want to
|
|
34
|
+
use it commercially without AGPL's copyleft obligations fund continued
|
|
35
|
+
development through a paid license. This is the same model MySQL, MongoDB,
|
|
36
|
+
and Qt have used for their own AGPL/GPL + commercial dual-licensed
|
|
37
|
+
projects.
|
|
38
|
+
|
|
39
|
+
## Not legal advice
|
|
40
|
+
|
|
41
|
+
This file describes the licensing *offer*; it is not itself a commercial
|
|
42
|
+
license agreement. Actual commercial terms (scope, price, support,
|
|
43
|
+
warranty, liability) are set out in a separate contract negotiated per
|
|
44
|
+
licensee. If you are evaluating backend-skeleton for use inside a company,
|
|
45
|
+
please also have your own legal/compliance team review the AGPL-3.0 terms
|
|
46
|
+
in `LICENSE` before choosing between the open-source and commercial paths.
|