AMPlay Source License ~~~~~~~~~~~~~~~~~~~~~ Introduction ~~~~~~~~~~~~ AMPlay makes use of the Dr Wimp library, which is covered by its own license arrangements. The following license applies to the AMPlay source, excluding the Dr Wimp library. The AMPlay source code is copyright Mike Sandells. It is freely available, subject to the license below. Your permission to use the source code depends on your acceptance of these terms. If you accept the terms, but are subsequently in breach of them, then your permission to use the source code is revoked. Definitions ~~~~~~~~~~~ The 'Source code' is considered to include not only the BASIC source, but also the accompanying text files, window templates, sprites and documentation. It includes the equivalent files for AMPlay itself as well as the AMPlayCfg, AMPlayRCG and AMPlayAPI applications, and the command line program AMPlayCmd. A 'public release' is considered to be any arrangement whereby an arbitrary individual can obtain a copy, either by payment, free download, or some other mechanism. A public release may include freeware, shareware or commercial releases. [1] Application Categories ~~~~~~~~~~~~~~~~~~~~~~ All applications which use AMPlay source code in the process of their creation are considered to fall into one of two categories: 1. Applications which include AMPlay source code. Applications fall into this category if they do not fall into category 2, below. 2. Customised versions of AMPlay. An application is a customised version of AMPlay if some AMPlay source code is used in the process of creating that application, and either; - It purports to be a version (including a customised version) of AMPlay. Or; - It utilises 50% or more of AMPlay source code (either by file size, or by lines of code). Or both. Use of the Source Code ~~~~~~~~~~~~~~~~~~~~~~ The source code may be used to produce applications in either category 1 or category 2. If the application so produced is not to be released publicly, then you are not required to take any action in order to conform with this license. If, however, the application is to be released publicly, then the following requirements must be met. The requirements vary depending on which category the application is in. If producing an application that falls into category 1, defined above, the requirements are: - You must state in the documentation accompanying the application that you have made use of AMPlay source code. - If you have modified AMPlay source code in the process of including it in your application, the modified version of that AMPlay source code (or instructions for making the relevant modifications) must be made publicly available. [2] If producing an application that falls into category 2, defined above, the requirements are: - The application must have been created from the AMPlay source materials, not by modification of the AMPlay binaries. - The application must either continue to conform with the requirements of the Dr Wimp license, or must no longer rely on the Dr Wimp library. [3] - Documentation must accompany the application, with a prominent indication that the application is a customised version of AMPlay (it must also indicate what version of AMPlay was customised). - The 'About this program' window must indicate that the application is a customised version of AMPlay. (Including 'Custom' on the end of the AMPlay version information is sufficient). If porting AMPlay to some other platform, then use the equivalent mechanism (e.g. in Windows, it would be on the Help, About window).[4] - If the messaging API is implemented, the customised version should, at least, be able to respond to AMPlay_Request queries about the AMPlay version by setting bit 4 in the flags of its reply, to indicate that it is a customised version. (Refer to the AMPlay documentation, section 7) As supplied, the above two requirements can be met by altering the line in the PROCuser_initialise procedure from; a_customised%=FALSE to a_customised%=TRUE - Any modifications you made to the AMPlay source code must be made public. [5] - The AMPlay source documentation includes the specifications for the AMPlay saved state format, the API, and the format of various blocks of information (e.g. the search and export blocks). If your modified version uses different formats for these blocks or extends the range of values that particular fields may hold, then the details of these formats/extensions must also be made public. Expiry ~~~~~~ Further releases of AMPlay, and accompanying source code, may be made via my web site. If, at any time, the most recently released version is more than three years old [6], then the requirements above are revoked. In that circumstance, I retain copyright, but allow free use of the code with no requirements. If I so choose, I may waive the above requirements at some time prior to three years after the most recent released version. This will be done, if at all, by an explicit statement to that effect on the AMPlay page on my web site. Notes ~~~~~ 1: e.g. If the application were downloadable from a 'secret' URL (i.e. one that is not linked to from any search engine accessible page), and that URL were posted to an 'invitiation only' mailing list, then that would not count as a public release. If however, the mailing list postings could be viewed by any user without being invited, then it would be considered public for the purposes of this license. 2: This only requires you to release the changes you've made to AMPlay source code, not the entire source code of your application, although I encourage you to do that as well. 3: In particular, note that the Dr Wimp license makes different provisions for freeware, shareware and commercial applications. AMPlay currently falls under 'freeware', but if your customised version does not, then you will need to review the Dr Wimp license and ensure you conform with the sections that are relevant. 4: This applies even if there is no non-customised version available for that platform. In the case of a port, 'Derived from' is an acceptable substitute for 'Custom'. 5: Similarly to note 2, this only requires the release of the changes you've made to the AMPlay source code. E.g If your customised version of AMPlay comprises changes to AMPlay source code, and the inclusion of an extra library from some other source, then this clause does not require the source code of that extra library to be released, just the modified AMPlay source. 6: i.e. when three years have passed without a release being made. This does not mean that any particular version loses the requirements when it is three years old. Intent ~~~~~~ This section is not part of the license agreement, but exists to clarify the intent of this agreement. The intent in this license is to ensure that code that I have made available remains available, while at the same time allowing users to modify it for their own purposes and share that modified version with friends and family without being burdened with onerous requirements. However, if you want to release such a modified version, then I don't want it to be confused with versions that I release - i.e. it isn't 'official'. If you provide me with the modified source, I may be able to include it in future official versions (or I may not - some modifications are mutually exclusive). The expiry clause exists such that if I cease developing AMPlay, the requirement for customised versions to be so labelled ceases. ________________________________________________________________________ Copyright © 2008 Mike Sandells, mike@mikejs.com Last Modified: 31.05.2008