What typically happens with projects that is not fully under GPL, where some parts are commercial while the rest is not -is that people end up treating the entire codebase as GPL. This happened with the advent of Mono, where Miguel de Icaza (the author of mono and asp.net for Linux) put everything under GPL except for the machine-code emitter (codegen) for ARM and x86. So everything was open-source except for those two modules, which Miguel shared in the faith that people would financially back him.
This turned out to be a huge mistake, because the open-source movement have a somewhat unforgiving underbelly where taking something is regarded as a right rather than a courtesy. So where Miguel expected to receive fixes, updates and backing in return, he instead got stuck with the bills and working for free. At the same time his non-GPL code was shared without any reservation even by companies with deep pockets, fragmenting a project that desperately needed cohesion.
To avoid a similar situation Quartex Pascal retains it’s copyright for the author, Jon-Lennart Aasenden via a simple, traditional shareware license. A license that only applies to non-backers (who help fund the development of the product).
In my personal experience piracy is inevitable. I have written several applications that have done well, and pretty much all of them have been cracked at some point. The debugging and disassembly tools have reached a level of power that rival the development tools themselves, making it useless to come up with schemes and mechanisms in your code to protect yourself.
Such schemes risk ruining the codebase with unnecessary complexity, and make the user experience for paying customers unbearable. I have instead made the price of a license so reasonable that piracy makes no sense.
It is carved in stone that a single commercial license of Quartex Pascal, will never exceed €300 (or equal value to what €300 represents today) while we operate on a Patreon backing scheme. This sum defines a price roof, it does not mean that this will be the actual cost.
Free use in education and open-source
Object Pascal is a wonderful language, one that deserves to be easily available to young students and educational institutions without excessive fees.
- Free to use for open-source projects (non-profit)
- Free to use for educational institutions (non-profit)
- Free to use for students (non-profit)
Please note that training material and certification for Quartex Pascal is not automatically included in “free-use” unless explicitly stated.
Responsibilities and license clauses
While Quartex Pascal is easily available and free to use in education, open source and by students – there are some rules and responsibilities that must be agreed on when applying for a free version.
- Commercial use: If a developer currently using the freely available distribution of Quartex Pascal, creates a product that he or she gets paid for, the developer must obtain a commercial license. We have no problem with people using the freely available version to learn the language, but the moment the developer enters the commercial side of things, we expect the license to be honored.
- This rule exists purely to help fund future development of the tool-chain and is very reasonable (see above section on “avoiding piracy”).
- Backers who help fund Quartex Pascal on a monthly basis are exempt for this rule provided their backing exceeds 300€.
- Non-compete: Backers who have access to the full source-code must not create variations of QTX, or from any of its parts, with the purpose of selling or competing against QTX.
- Sharing code: Backers who have made changes to the IDE, RTL or libraries are expected to offer these changes back to the original author for potential inclusion in the main branch. The purpose is to maintain an open, friendly dialog between the backers and author – sharing good ideas and working towards a better product for everyone.
Access to the full source-code of the project has been available for the upper-tier Patreon backers since the start. Without their help the project would be dead in the water and would never have been realized.
The same rules listed above applies to everyone, in that altering the codebase with the means to create competing products is prohibited, and that modified versions of Quartex Pascal should be kept purely in-house. I have no problem with top tier backers altering the codebase for use in their company or to aid the development of a specific product, but spreading such a version (or even worse, the code) is a serious violation of the Patreon license, and will result in legal action.
We really don’t want 10 different versions of QTX out there. I have seen this happen with open-source projects where the original project tanks due to fragmentation. It is also a wet dream of pirates to rebuild and make custom versions that they spread, containing all kinds of nasty code — and the original author is left taking the blame.
As such, and as the developer behind the system, I retain the right to halt or stop source-code access at any time should it be abused, or should our situation change. The goal is to build a kick-ass development system, so I will do what is best for the product.
Ownership of the product in it’s entirety is reserved the author. As debated with backers openly on our Facebook group a couple of years ago, where we all voted on what to do if QTX was offered investment by a company, where I could work full time on the product – the response came back with an overwhelming 99.9% “go for it!”. In such a case the above license and backer infrastructure would change.
With professional backing or management Quartex Pascal would hold incredible potential for the Object Pascal community, and it would be an error to ignore such an opportunity.
Bringing QTX to the masses is the goal, and to ensure that Delphi and object pascal developers can re-apply their skillset for web technology. Professional funding would make that journey easier for everyone.