Using DevWheels-Licensed Works

This is a guide to when you must pay a fee to use a version of a package that has a DevWheels Licence, and if so, how to pay that fee. See the licence text for the precise rules.

Also read the Creator Guide if you are creating a package with a DevWheels Licence, either by choice or because your package is both ready to be used and has been derived from one or more DevWheels-licensed packages.

What is the DevWheels Licence?

A licence, to which a creative work can be made subject, is a set of legal rules for how that work can be used, including the ways in which your own work can be substantially influenced by that work, which is normally a copyright violation. A work without a licence could be in the public domain, meaning you can do anything (legal) with it, or is totally proprietary, meaning you can't do anything (unfair) with it without the owner's permission.

Users like permissive licences that impose few conditions on either using the work or making new works based on that work. We are free to try it and improve it and re-mix it and share it without getting permission. Authors can like sharing too, as long as that's not how they make their money, or they can attract sufficient donations.

But for authors who want to sell their works, permissive licences often allow those works, tweaked or not, to be appropriated under a proprietary licence and sold without giving a share to the original authors. Copyleft licences were developed to force derivative works to use the same permissive licence. That still makes it almost impossible to charge for your work, because anyone can copy and either give away or try to sell it, giving you unlimited easy competitors.

DevWheels is a licence that goes a step further to try to make it feasible to sell work while retaining the advantages of permissive licences. It does this by allowing unlimited sharing, improving, re-mixing, and try-outs, but, in a viral copyleft way, forces authors who get paid for non-evaluation uses of their work to forward some of those payments to the authors of each of the works from which that work was derived, fairly compensating all who contributed.

When is it free to use a work and when is it charged?

You can use a DevWheels-licensed work without charge to decide whether you want to deploy the work for your intended use, perhaps as part of developing your own work. You can even internally test the final work without charge. If a single use of the material provides much of its benefit, such as a book, you can freely evaluate a reasonable portion.

However if you wish to use a work that has DevWheels licence in your intended use (a production context), either locally or as a remote service, you normally have to first pay a fee. If you don't have to pay a use-fee because either you own the work or the owner has allowed you to make that use, the work's owner must still pay any other owners of works from which their work has been derived, as if they had received that use-fee.

A use-fee also applies to each DevWheels-licensed prerequisite work (dependencies) that must be present to make this production build or production deployment work, even if it's only used in some circumstances for your particular use, whether or not the central work being deployed is itself DevWheels-licensed.

Do I pay once for each work, or for every separate copy I use?

Each version of a work will define a unit-of-use, which is how much use is covered by one use-licence. It could be once per user, per hardware component, per software component, per amount of usage, etc. A licence may be perpetual or time-limited. For each separate use you must check whether you need a new licence.

If you are upgrading to a higher version of a work rather than licensing it for the first time, the fee you must normally pay is predetermined as the difference between the prices of non-upgrade full licences for the two versions. This may be zero, especially if there's been little improvement in features.

Can't I easily just pirate the work?

A work that's subject to DevWheels Licence can include an anti-piracy mechanism — DRM for media, or either nag messages or licensing keys for software. However because such works must make public an easy means to make derivative works, this openness does provide a way, if somewhat inconvenient, to make a free-to-use copy of a work. This is not so different to the easy-availability of cracks for works with proprietary licences, with proper use relying on a conscious and perhaps inconvenient choice to eschew the honour system. Vendors can still provide incentives for proper licensing through better support or perks.

It's worth supporting vendors of works that give you the peace of mind that you can both test the works out before paying, and get anyone to help you fix a problem or add a customisation, rather than being locked-in to what a vendor deigns to offer.

How much do I pay?

Licensing fees can vary depending on your current attributes as licensee and/or the current way you intend to use the work, which together determine your "use-case", which are numbered if there are more than one.

If the work you need to license is a piece of software, the software itself may include a means to determine the licence fee and allow you to purchase a production-use licence for both upgrades and for initial purchases. Note that unless the software knows about dependent works, you will have to do this for all DevWheels-licensed works that must be present to use or build your final deployment.

For works that aren't software with built-in licensing, there will often be a prominent link to a licensing service that will guide you to find and pay the correct fee once you decide to use the work in your intended way, including buying copies in bulk.

If you can't find any of that, the DevWheels Licence mandates a common manual-fallback way to describe licensing terms and pay licensing fees:

Look for either a file called sources.txt or a "Sources" Section (for non-file-based works), which is the "source tree" of that version of that work. This will be a list of specifications of works, which DevWheels calls package versions, each starting with "DEVWHEELS-PACKAGE" followed by a name that's unique to that package, and indented to mimic the (graph-derived) upside-down tree structure of how this work has been derived from one or more other package versions. A source tree could contain package specifications that do not start with "DEVWHEELS-PACKAGE". Such entries are for packages released under different licences, and should be ignored for the purposes of calculating DevWheels licence fees.

Look only at the top package specification, which should not be indented. If underneath the package "Version" line there is a line with "VERSION WITHDRAWN", this version has been withdrawn from the market, and can no longer be licensed unless the package vendor hasn't released a non-withdrawn version that encompasses nearly all of what the withdrawn version does, in which case you can deploy the withdrawn version without a fee. Even if that line isn't there, you might have an old copy of a withdrawn version. So follow the link on the "Location" line to see information about this version, including a source tree that may have the withdrawn line (the only change to a source tree that can be made). If this version has been withdrawn, try through the location link to find another version that hasn't been withdrawn.

Otherwise, if this version looks to be licensable (although a package owner can still refuse to license a use) look at the "Licensing Conditions" field. At the top of this field may be a link to an online service to guide your licensing. If there is no link at the start of the "Licensing Conditions" field, refer to the text of this field to determine your use-case and licence fee. Unless the licensing conditions specify a different method for calculating upgrade fees, the licence fee for an upgrade is the difference between the licence fees given for the same licensing period by the source trees of the versions you are upgrading between. If the new version's "Licensing Conditions Last Change Version" field shows that there has been no changes to licensing fees or use-cases since the old version, you know that no upgrade fee is owed.

Due to a change in your attributes or your intended use, your use-case may have changed since you licensed the old version, so make sure you use the new use-case when calculating upgrade fees. But if your use-case changes, don't wait for the next upgrade, but instead immediately pay any fee difference. Negative payments due to use-case changes or price decreases, including downgrades, by default become zero rather than refunds, but a version change must still be actioned by package owners. If you bought a perpetual licence that has now become a quarterly licence, unless an upgraders' use-case and quarterly fee has been specified, the full quarterly licence fee will be owed.

If your use-case has a non-zero licence fee, first choose a payment currency if more than one such price is given, multiply this fee by the quantity of licences you are buying and the number of use periods you are buying for each licence, then either continue to use a licensing app to make your payment, or use the instructions in the "Payment Information" field to make the payment in the requested way, paying heed of any discounts or surcharges for different payment methods.

Instead of single currencies, some package versions may give prices as the sum and difference of amounts in more than one currency. This is a way for an owner of a package version to pay the owners of its source package versions in various currencies without the risk of exchange rate movements. In this case, a licensing service will usually calculate a current price for you. But you may have to do the conversion yourself to your payment currency.

If you're not using a licensing service to help you, let the receiving package owner know the unique name of the package you are licensing, your use-case number, your requested licence quantity and period, either the version-ID of the package you are licensing or the version-IDs between which you wish to change, and any additional information that they ask for.

If you are using a collection of separately-licensed works, including dependent-works, you are now licensed to use this collection for the minimum period for which you've licensed one of these, unless a change in either your attributes as licensee or the way you're using the work has moved this use to a use-case with a higher fee, in which case you'll need to pay the difference before continuing this use.

What if I own the package I'm using, or if their means of accepting payment doesn't work?

Although you don't have to pay to deploy your own work, or pay when the work's owner has give you permission to make one or more uses, owners of works still have to pay the owners of any package from which that package version was derived in some way, as if they had received a fee from and end-user. So unless you're sure that you own every package version in the source tree of that package version, either use the provided licensing software or follow the manual procedure here to properly license a use.

Also, unless you've been refused a use-licence, if your reasonable attempts at making a required payment are unsuccessful by any method, you may use that package version for seven days without charge, during which time you should attempt to inform the licensor of your payment failure. Near the end of this seven-day period you should make another reasonable attempt at payment. Should this also be unsuccessful, you can make that unit-of-use of that package version without fee, but you also must attempt to purchase licences from all package versions from which this package version has been directly derived. Again, licensing software can guide you, or the manual procedure for doing this can be found here.

If a package owner has refused to accept your payment for a use, although you can't just go ahead and use that package directly, you can still license a derivative package that either you or others create. The owner of that package has to try to forward a portion of this licence fee to the owner of the original package. If this is refused, the owner of the derived package keeps that portion of the fee.

Transferring licences

You can often transfer a package version licence to either a different use or someone else, including selling your licences. Vendors must perform such a transfer if they can be satisfied that you're no longer making the original use, and the new use has the same use-case. Otherwise, it's up to them what they allow.

To assist with licence transfers, you can ask to be sent a digitally-signed licence document, which you can give to either a new owner or a new licensing service that you want to move to.