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.
@@ -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.