RADICORE v2.02.0 released01 February 2017
RADICORE v2.01.0 released01 November 2016
RADICORE v2.00.0 released01 October 2016
The use of Cascading Style Sheets within Radicore22 April 2008
How to implement Two Factor Authentication01 February 2008
Support for PHP4 dropped, support for PHP7 started01 October 2016
Why you should build your web application back-to-front06 January 2013
What is the 3-Tier Architecture?14 October 2012
On not using the "right" standards13 December 2016
Object Oriented Database Design01 November 2016
How NOT to Validate Data02 April 2016
License FAQ (updated 27th February 2013)
Why switch from the GPL to the AGPL?
The following statement is taken directly from Why the Affero GPL:
The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run the program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the program that it's running. If what's running there is your modified version of the program, the server's users must get the source code as you modified it.
This means that a derived work is not covered by the AGPL only when you give someone else a copy of the executables. If you allow them to access the executables on a server then this is still classed as sharing, in which case you must also share the source code.
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 and propagate are also distributed under the AGPL. If you wish to propagate a derived work WITHOUT releasing the source code under the terms of the AGPL then you MUST obtain a commercial licence.
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 without the need for a license?
Yes. You do not need a license to develop an application with RADICORE. This means that you are able to evaluate the product and build one or more private applications without the requirement for any sort of license. The need for a license only arises if you make any of these private applications available to others, in which case their use changes from "private" to "non-private". Under these circumstances you have the following options:
- Release the source code to the public under the terms of the AGPL.
- Keep the source code private by obtaining a commercial licence.
Can I use RADICORE for a personal web application?
Yes, provided that it is for your personal and private use. If you make the application available to others then it ceases to be private, in which case it will require a license, either the AGPL or a commercial license.
Can an organisation use RADICORE to develop an application?
Yes. An organisation can use RADICORE to develop a private application without the need for any sort of license. If the application is made available to anyone outside the organisation then its use changes from "private" to "non-private", in which case a license will be required. This can either be the AGPL if the source code is also released, or a commercial license if the source code is to be kept private.
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 if you create an application for non-private use without also releasing the source code under the terms of the AGPL then you must obtain a commercial license for each 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?
No. A license is only required when you deploy an application, not while you develop it. Even then the license is "per domain per server", not "per developer".
Can an educational establishment use RADICORE for free?
When do I need a commercial license?
If you create an application for non-private use, but you wish to keep the source code private, then you will require a commercial license. You will require a separate license for every server (except a backup server) and domain 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 are free to make modifications or additions to the software and use them privately without ever releasing those modifications. However, if you release or share the modified version to others in some way, which includes putting the executables on a network server for others to access, then its usage changes from "private" to "non-private", and under the terms of the AGPL you must also release the modified source code.
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 code, nor do you require a commercial license.
What does "per domain per server" mean?
If the domain on which the software can be accessed 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, and the software can be accessed from multiple domains on that server, 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.
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/.