© 2006-2008 Radicore Software Ltd
Latest news
RADICORE v1.38.0 released01 August 2008
RADICORE v1.37.0 released01 July 2008
RADICORE v1.36.0 released01 May 2008
Knowledge Base
The use of Cascading Style Sheets within Radicore22 April 2008
How to implement Two Factor Authentication01 February 2008
How to implement a Virtual Private Database01 October 2007
Articles
Creating an Oracle driver for RADICORE15 January 2007
Working with a stateless protocol10 March 2006
Performing client-side XSL transformations11 December 2005
Other Stuff
Object Relational Mappers are EVIL20 August 2007
What is OOP?03 December 2006
Stored Procedures are EVIL03 September 2006
License FAQ (updated 14th April 2008)
Why are there two types of license?
This software represents a considerable investment in my time and resources (not to mention skill and experience) and I would be perfectly entitled to charge a fee before allowing anybody to download it. However, I have decided to make it publicly available under the GNU Affero General Public License (AGPL) version 3 at no charge. This means that you can use it under the terms of the AGPL provided that any derived works that you create are also distributed under the AGPL, and you can use it for free provided that any derived works that you create are also made available to others for free. If you create a non-AGPL application, or an application from which you expect to make a profit, then I think that it's only reasonable that you pay for a commercial license, the cost of which is considerably less than what it would cost to write equivalent software (and documentation) from scratch.
Can I download RADICORE for free?
Yes. Everybody is permitted to download RADICORE, which includes all source code, completely free of charge.
Can I develop an application with RADICORE for free?
You do not need a license to develop an application. This means that you are able to evaluate the product and build prototype applications without the requirement for any sort of license. It is only when an application changes its status from prototype to 'live' that a commercial license may be necessary. If the source code for any 'live' application is not released as open source under the AGPL then it is classed as 'closed source' and will require a commercial license. If you charge a fee for allowing others to access the application then you will require a commercial license.
Can I use RADICORE for a personal web application?
Yes, provided that it is personal, private and non-commercial. If that application is used in any non-personal way, or for profit, then it will require a commercial license.
Can an organisation use RADICORE to develop an application?
Yes. If the application is not shared with anyone outside of that organisation then it will not be necessary to release the source code of that application. If, however, the application is made available to anyone outside of that organisation then under the terms of the AGPL the source code of the application must also be made available to them. If the source code is not made available then a commercial license will be required.
Note that a group of organisations is not classed as "an organisation" (singular). Each member of the group is a separate legal entity and therefore a separate organisation. Sharing the software with another organisation within the same group is still classed as sharing.
Can I use RADICORE to develop commercial web applications?
Yes. You do not pay to use RADICORE to develop an application, but as the runtime elements of RADICORE will be required to deploy that application then any recipient of that application will require a license for every server on which that application is deployed. Simply include the cost of any license(s) in what you charge your customer(s). When you consider that by using RADICORE you will be saving yourself months and months of effort it should easily be worth what you would charge for a few days of your time.
Do I need a separate license for each developer?
If you are developing a web application, commercial or otherwise, with a team of developers, you do not need any type of license for any of those developers. It is only when the application moves from development into production, and from developers into the hands of live users, that it may become eligible for a commercial license.
Can an educational establishment use RADICORE for free?
Yes. The software can be used as a training aid, and to build any AGPL applications. It is only non-AGPL or non-free applications that require a commercial license.
When do I need a commercial license?
If you create an application for the purpose of making money, or create and distribute, or share with others, an application and do not make the source code available under the terms of the AGPL then you will require a commercial license. You will require a separate license for every server (except a backup server) on which the application is deployed.
If others are allowed to interact with the software over a network then this is still classed as sharing, even though the others do not have their own copy of the software. This is known as "remote network interaction". In order to comply with the terms of the AGPL all these remote users must be given access to the application's source code. If this is not possible then a commercial license will be required.
What is defined as a "distribution" or "sharing"?
You distribute the software when you give access to or share the software with another person or organisation, or when you install the software on a server for another person or organisation (it does not matter if this server is at your location or at another location).
If others are allowed to interact with the software over a network then this is still classed as sharing, even though they are not running a copy of the software at their location. This is known as "remote network interaction".
If the software you create is not shared with anyone (i.e. it remains personal and private) then it is not 'distributed' and therefore you do not have to release the source, nor do you require a commercial license.
What is defined as a prototype?
A prototype is one that is used for evaluation purposes, or to demonstrate an idea, but it uses disposable, non-live data. As soon as the data becomes live and non-disposable it ceases to be a prototype and becomes a live application.
What does "per domain per server" mean?
If a single domain exists on multiple servers (e.g. a server farm) then that domain will require a separate license for each server, excluding a backup server.
If a single server hosts multiple domains then each domain will require a separate license.
What does the AGPL mean by "free software"?
When the AGPL talks of free software it means "free as in speech, not free as in beer". This means that you cannot place any restrictions on who may or may not access the software, nor can you place any restrictions on the applications for which it may or may not be used, but you can charge any price you like. Although I am making my software available at no charge I do so with the understanding that any derivative work that you make available to others is also done at no charge. Should you wish to make a profit from my work I think that it is only reasonable that you share those profits by obtaining a commercial license.
What happens if I violate the AGPL?
Using (A)GPL'd code in your product, then hiding that fact, is a violation of the AGPL. Some people seem to think that this does not matter as they can do what they like with (A)GPL'd code without any legal recourse. Wrong! The courts take a serious view of (A)GPL violations, as documented on http://gpl-violations.org/.

