AMPlayer Public License
~~~~~~~~~~~~~~~~~~~~~~~

1.  Definitions

    The Software means the AMPlayer module (all variants), the
    AMPlayerSelector module, AmpApp, AMPlayer front end. documentation, etc.

    The Developers means the developers of The Software or their
    nominated agents.
    
    A Test Group will be a designated group of testers not to exceed
    100 persons.

    A Dependent Application is a software application that makes
    use of The Software (or part of The Software) in its operation.

2.  Warranty

    The Software is free (*) software. You use it at your own risk. It
    comes with no warranty at all.

    No guarantees at all are made about patent infringement; if you
    wish to use this module in any system at all, you are responsible
    for ensuring that you have licenses for any patents that may be
    required.

    [* under the conditions outlined below.]

3.  Copyright

    The Software source code is Copyright (C) the Developers,
    and is freely available under the terms laid out below.

4.  Distributions

    The Software may be released in 3 ways, as a binary distribution, a
    source distribution and a binary distribution with an application.

    4.1 Binary Distributions

        4.1.1 Binary distributions will from time to time be issued by
              the Developers. These will be termed 'Official Binary
              Distributions' (OBDs).

        4.1.2 In addition anyone producing their own customised
              versions may produce their own 'Unofficial Binary
              Distributions' (UBDs), subject to the rules in section
              5.
              
              These must include all the documentation supplied with
              the preceeding OBD, but must also include a prominent
              notice stating that this is an unoffical release, and
              outlining the changes made since the preceeding OBD. The
              binary module supplied must clearly identify itself in
              its module help text and title string as an unoffical
              version.

              UBDs may only be produced AFTER the changed source has
              been passed back to the Developers, as per section 5. UBDs
              should be removed after an OBD that incorporates its changes
              has been produced.
              
              This license will apply to any UBD made.

        4.1.3 No charge (other than media costs) may be made for a binary
              distribution.

        4.1.4 Binary distributions may only be made from areas of a internet
              site which does not have public access if it is to a Test Group
              or if it is also accessible on a public access site.

    4.2 Source Distributions

        4.2.1 Source distributions will from time to time be issued by
              the Developers. These will be termed 'Official Source
              Distributions' (OSDs).

        4.2.2 In addition anyone producing their own customised
              versions may produce their own 'Unofficial Source
              Distributions' (USDs).
              
              These must include all the documentation supplied with
              the preceeding OSD, but must also include a prominent
              notice stating that this is an unofficial release, and
              outlining the changes made since the preceeding OSD. The
              binary module produced must clearly identify itself in
              its module help text and title string as an unoffical
              version.

              USDs may only be produced AFTER the changed source has
              been passed back to the Developers, as per section 5. USDs
              should be removed after an OSD that incorporates its changes
              has been produced.

              This license will apply to any USD made.

        4.2.3 No charge (other than media costs) may be made for a binary
              distribution.

        4.2.4 Source distributions may only be made from areas of a internet
              site which does not have public access if it is to a Test Group
              or if it is also accessible on a public access site.

    4.3 Binary Distribution with a Dependent Application

        4.3.1 Application authors wishing to ship the Software with a
              freeware Dependent Application into the RISC OS desktop
              market may include an OBD (or UBD until the succeeding
              OBD appears) unchanged.

        4.3.2 Application authors wishing to ship the Software with a
              commercial Dependent Application into the RISC OS desktop
              market may include an OBD (or UBD until the succeeding
              OBD appears) unchanged.

        4.3.3 Anyone wishing to ship the Software contrary to these
              conditions must contact the Developers for permission
              first.
              
              This includes shipping the Software on CDs (commercial or
              otherwise) or with computer systems (whether new or
              second hand).
              
              Anyone flouting these distribution rules agrees to pay 1
              million pounds sterling (or a lower amount to be agreed
              with the Developers) to a charity nominated by the
              Developers.
        
        4.3.4 The Developers reserve the right to grant permission to
              third parties for them to distribute source or binaries
              derived from the Software with Dependent Applications
              contrary to this license as they see fit. This permission
              does not release them from their responsibilities as per
              section 5.

        4.3.5 The Software may only be distributed (as an OBD, UBD,
              OSD or USD) with a Dependent Application via the Internet
              from areas of an internet site which do not have public
              access if it is to a Test Group or if the corresponding
              OBD, UBD, OSD or USD is also accessible on a public
              access site.

5.  Modifications

    5.1 OSDs will be made with the deliberate purpose of encouraging
        future developments. The Software source code is protected to
        the maximum amount allowable by law. Sections of the Software
        source code may not be removed from the Software and used
        elsewhere without permission of the Developers.

    5.2 Any changes made to the Software source code must be passed
        back to the Developers before any release of the changed code is
        made (other than to a Test Group).
    
    5.3 Copyright of these changes remains with the original author,
        and the Developers are granted a non-exclusive, transferrable,
        royalty free license to these changes.
    
    5.4 Once this transfer has taken place the author of the changes
        has the right to produce UBDs and USDs as required.
    
    5.5 After these changes have been passed back the Developers will
        consider incorporating the changes into the main Software source
        tree.
    
    5.6 If the Developers decide to incorporate the changes supplied they
        will produce a new OBD. Wherever possible UBDs (or USBs) should be
        removed in favour of the succeeding OBD (or USD).

    5.7 If the Developers decide NOT to incorporate the changes supplied
        (for whatever reason) then the author of the changes is perfectly
        entitled to carry on using the UBD (or USD).


Commentary on the license
~~~~~~~~~~~~~~~~~~~~~~~~~

This license has been designed with several aims in mind.

Firstly, we want to ensure that AMPlayer is and remains free. People
should feel confident enough to build applications that use it
without fear of having the right to use it removed from them.

Secondly, we want people to realise it has no warranty. If its useful,
great. If it eats your harddisc, tough. We've done our best, but we
make no promises.

Thirdly, we want a license that recognises the amount of work that has
gone into AMPlayer - we are quite happy for people to use AMPlayer in
commercial systems on RISC OS, but if you are going to take it to
another platform we want to have a say in that. Furthermore if you
want to pull AMPlayer to bits and build something else from it, we'd
like a say in that too.

Thats not to say we won't approve the idea, just that we'd like to be
consulted.

Fourthly, we would like to see AMPlayer continue to develop; people
should be granted the freedom to make changes and to distribute those
changes. But just because you make a change doesn't mean we should
lose our control over the software.

We would rather not see a huge proliferation of incompatible versions,
which is why we insist that code changes are submitted to us for us to
merge into the main tree. On the other hand, we don't want people to
feel that they are being unduly limited in producing versions of
AMPlayer that do what they want - hence the freedom for anyone to
produce UBDs and USDs. They just can't call them official releases.

This also protects everyone else if we (the AMPlayer developers)
suddenly stop work. There would still be a route for other keen programmers
to get versions out there (albeit unofficial ones).
