- A Little Background About Leap
- Must-Have Features
- Integrations
- Framework
- Team
- Funding
- Localisation
- Questions
- Conventions
- Internal Notes
I'm the founder of katamaze.com and I've been using WHMCS since 2008. For plenty of time developing modules on this platform has been my main source of income. I used to love WHMCS but my opinion started to change when WebPros, a capital group, acquired in a very short timeframe WHMCS, Plesk, cPanel and some other hosting-related companies aiming to increase prices across the board.
The idea behind this is to milk hosting providers for as much money as possible by taxing their revenue with this new unethical method of charging costs based on the number of active customers. To make the whole thing even more disgusting, WebPros is acquiring all softwares that providers rely on. And they're pretty damn quick at doing this.
Plesk and cPanel are the perfect example. They're the best hosting panels the money can buy and they're both owned by WebPros meaning that they can freely increase prices without risking to lose customers. In fact, a part from Plesk and cPanel, there aren't many options left. Yes, there's DirectAdmin but it is not as complete as its counterparts moreover there's no guarantee that WebPros will eventually decide to acquire DirectAdmin too.
The same principle applies to WHMCS. In the middle of the COVID-19 crisis they increased prices up to 3154% just because they can and they have nothing to risk. In fact it is simply impossible for large and medium-sized enterprises to migrate on competitors because of the following reasons:
- Like it or not, WHMCS is the best software to run a hosting business. Alternatives exist but they offer inferior value
- Migrating takes months if not years of planning. WHMCS knows it and gave us less then 3 months to prepare to price increase
- As icing on the cake, they're forcing all owners of "life time" licenses to move to the new and expensive pricing structure
This is perfectly in line with their way of doing business with WebPros. Greediness, not giving a damn about fixing bugs and imposing new terrible features that no one asked for. They have no ears to listen to customers.
I know providers that will start paying 15.599$ per year instead of 479$. What options we have? Maybe you can think of moving to any of WHMCS competitors like Blesta, HostBill, ClientExec or Ubersmith but let's admit it. No one can prevent WebPros from acquiring them in no time. And it doesn't matter what Blesta or HostBill promise you today as we all learned the lesson that money can buy everything in this business.
Switching to another software to avoid yet another price increases, has been proved to be a bad strategy as WebPros can easily acquire every software that is worth their money. Not to mention that changing servers, panels and softwares every couple of years costs time and money.
In my opinion the only true solution is breaking this chain moving to a replacement of WHMCS that is open source and free. A software of this kind can't be acquired by anyone. Moreover unlike WHMCS that keeps releasing features based on their partners needs (the ones with deep pokets that dictate rules), the development of this software will always be focused on end-users: providers.
I know WHMCS enough including its many bugs, secrets, flaws and missing features. I exactly know what are the needs of providers and have the required skills to complete this project.
As you can see from the following paragraphs, I'm already working on things including forming a team and getting people involved. We need as many developers, designers and providers as possible to speed up the process but not at this stage as it would quickly turn the project into a bland wishlist. In this moment I prefer to lay the foundations of Leap only counting on people that I personally know.
If you want to partecipate, watch and star this repository. I will provide more details in the following months.
Keep in mind that every open source and free software still needs a way to fund activities. I will be using Github sponsors and donations (free choice and not forced) but I will not enable them till the software reaches the acceptable level. I don't like asking money only based on my good intentions that still need to be proved.
Let me conclude by underlining the fundamental differences between Leap and WHMCS.
Leap | WHMCS | |
---|---|---|
Source code | 🐣 Open | 💂♂️ Closed |
License | 👍 Free | 👊 Commercial |
Focus | 👋 Providers | 👔 Partners |
Revenue model | ❤️ Sponsors | 🐄 Milking |
Obviously I will stop selling my WHMCS modules as soon as Leap takes shape. In the meantime if you know me a little, you probably know that last year I have already stopped wasting my time with WHMCS. I no longer add new features to my modules, partecipate to whmcs.community, report bug and try WHMCS BETA. They don't deserve it.
Apart from WHMCS, I work a lot with Marketplaces (eg. Amazon, eBay etc.), blockchain, SEO/CMS so I will surely make Leap something more than just a software for hosting providers 😜 In essence I will try to make it a good alternative to things like Magento, Prestashop, WordPress, Joomla... and connect it to Coinbase Trading API.
If you think that I'm exaggerating and putting too many eggs in one basket, understand that over the years I managed to deliver more features in my WHMCS modules working alone than the entire staff of WHMCS combined. Let me give you an idea of what I'm talking about:
- Turned WHMCS into a CMS with blog, news, docs, feature requests, comments, bug reporting
- SEO for WHMCS including SEO URLs, sitemap, GeoIP, OG Tags...
- Track sales with Facebook Pixel and LinkedIn Insight Tag
- Reduce invoices by 80% and transactions fees by 18% with monthly invoicing
- Provide support based on Service Level Agreement
- Cash flow for tracking inflow and outflow of money
- Customer Retention and Churn Rate
- Advanced Invoice Data Snapshot that includes currency rates
- Perfect integration with VIES, Australian GST, Tax Stamp
- Issue Credit notes
- Stop issuing unnecessary invoices thanks to invoice suppression
- Automatic Batch Invoice Export. PDF files are sent via FTP and/or and email as attachments
- Affiliation Network with multiple Attribution Models
- SorTable, HereLang, MagicInput
The list goes on but I think you've got the idea. I even maintain documentation in two languages this is bigger than WHMCS one not counting a successful blog. All this working alone on this obstructive, buggy and encrypted platform that is WHMCS.
On the other hand, the average update of WHMCS contains (not counting bugs) microscopic features that I wouldn't even put in a changelog. One day they had the nerve to present us the CALENDAR picker as if it was something like going to Mars. It's a free jQuery library. Any decent developer can implement it in a couple of hours in any system.
They are slow and their commitment is non-impactful. We have bugs from years that whould take minutes to fix. Similarly we are waiting for missing features that any skilled developer could complete in a couple of days. I don't want to sound presumptuous but I must say it. I find incredible that a company of the size of WHMCS can't match the quantity and quality of features that one single developer manages to deliver consistently.
I sometimes wonder myself what would they do to integrate electronic invoicing. I know this article is written in italian but it still gives an idea the complexity of this project. Imagine the amount of code behind it. Let me make a quick comparison. I completed such a huge project in about 3 months working alone. To date, with God knows how many employees, WHMCS is still trying to fix GDPR they broke in v8 (November 2020).
Icon | Description | |
---|---|---|
Importance | ⭐ ⭐⭐ ⭐⭐⭐ |
Low Medium High |
Difficulty | 💣 💣💣 💣💣💣 |
Low Medium High |
Time | ⏰ ⏰⏰ ⏰⏰⏰ |
Low Medium High |
Status | 🟢 🟠 🔵 🔴 ⚪ |
Completed In progress Stalled Dropped New |
- Facilitator: Mercury.
- ETA (very tentative): 50 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
News | ⭐⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
Blog | ⭐⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
Docs | ⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
Feature Requests | ⭐ | 💣💣💣 | ⏰⏰⏰ | Bad idea | 🔵 |
FAQ | ⭐ | 💣 | ⏰ | ⚪ | |
Bug Reporting | ⭐ | 💣💣 | ⏰ | ⚪ | |
Comments | ⭐ | 💣💣 | ⏰ | reCAPTCHA | ⚪ |
Downloads | ⭐ | 💣 | ⏰⏰ | ⚪ | |
Widgets | ⭐⭐ | 💣 | ⏰⏰ | ⚪ | |
Page builder | ⭐ | 💣💣 | ⏰⏰⏰ | ⚪ | |
Service status | ⭐ | 💣💣 | ⏰⏰ | Like Coinbase Pro Trading (footer) | ⚪ |
- Facilitator: Mercury.
- ETA (very tentative): 20 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Meta tags | ⭐⭐⭐ | 💣 | ⏰ | ⚪ | |
JSON-LD | ⭐ | 💣 | ⏰ | ⚪ | |
Canonical URL | ⭐⭐ | 💣 | ⏰ | ⚪ | |
Sitemap generator | ⭐ | 💣💣 | ⏰ | Language/Country XML nodes | ⚪ |
Multi-language stuff | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | Fallback for missing translations | ⚪ |
SEO URL | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
Open Graph Protocol | ⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
HTML Semantic Elements | ⭐ | 💣💣 | ⏰⏰⏰ | ⚪ | |
Prevent SEO-bs (keyword stuffing, length etc.) | ⭐⭐ | 💣💣 | ⏰⏰⏰ | ⚪ | |
SERP preview | ⭐⭐⭐ | 💣 | ⏰ | Moz-like | ⚪ |
Blackhat SEO protection | ⭐⭐ | 💣💣 | ⏰ | ⚪ | |
Disavow tool | ⭐ | 💣 | ⏰ | ⚪ | |
Basic statistics (hits) | ⭐ | 💣💣💣 | ⏰⏰⏰ | Graphs | ⚪ |
- Facilitator: Billing Extension.
- ETA (very tentative): 80 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Basic engine | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
EU | ⭐⭐ | 💣💣 | ⏰ | ⚪ | |
UK | ⭐ | 💣 | ⏰ | ⚪ | |
AU | ⭐ | 💣 | ⏰ | ⚪ | |
DE | ⭐ | 💣 | ⏰ | ⚪ | |
IT | ⭐⭐⭐ | 💣💣💣 | ⏰⏰ | ⚪ | |
General-purpose e-invoicing | ⭐⭐⭐ | 💣 | ⏰ | ⚪ | |
Italian electronic invoicing | ⭐⭐⭐ | 💣 | ⏰⏰⏰ | Aruba. End of the story | ⚪ |
User-based billing cycles | ⭐⭐⭐ | 💣💣 | ⏰⏰⏰ | ⚪ | |
User-based billing modes | ⭐⭐⭐ | 💣💣 | ⏰⏰⏰ | ⚪ | |
Credit notes | ⭐⭐⭐ | 💣💣 | ⏰ | ⚪ | |
Overpayments | ⭐⭐⭐ | 💣 | ⏰ | ⚪ | |
Credit balance | ⭐⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
Cashflow | ⭐⭐⭐ | 💣💣 | ⏰⏰⏰ | ⚪ |
- Have to be created from scratch.
- ETA (very tentative): 40 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Standard suite | ⭐⭐⭐ | 💣 | ⏰⏰⏰ | ⚪ | |
Service level agreement | ⭐⭐ | 💣💣 | ⏰⏰ | Working hours, holidays etc. | ⚪ |
Emergency | ⭐ | 💣 | ⏰ | ⚪ | |
Premium | ⭐⭐ | 💣 | ⏰ | Paid support tickets | ⚪ |
- Facilitator: Mercury, Payments Bundle.
- ETA (very tentative): 60 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Whitelabel support with master (own company) and child (resellers and wannabes) brands | ⭐⭐⭐ | 💣💣 | ⏰⏰⏰ | Template, logo, names, emails | ⚪ |
Brand-based pricing | ⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
Multiple merchants (eg. paypal accounts) | ⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
Country-based payment gateways | ⭐ | 💣 | ⏰ | ⚪ | |
Geolocation: Auto-redirect (watch out EU regulations!) | ⭐ | 💣💣 | ⏰ | ⚪ | |
Geolocation: Auto-complete fields | ⭐⭐ | 💣💣 | ⏰ | ⚪ |
- Facilitator: Can re-use the structure from another project.
- ETA (very tentative): 30 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Basic engine | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
Scopes implementation | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | Owner, resellers, end-users | ⚪ |
Keyword-based requests | ⭐ | 💣 | ⏰ | ⚪ | |
lazy-API for idiots | ⭐ | 💣 | ⏰ | Nope | 🔴 |
- ETA (very tentative): 15 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Basic engine | ⭐⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
Entrypoints, NVP etc. | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ |
- Facilitator: Commission Manager.
- ETA (very tentative): 60 FTE
Importance | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Basic engine | ⭐⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
Last-click attribution | ⭐⭐ | 💣 | ⏰ | ⚪ | |
Interactive attribution | ⭐ | 💣 | ⏰ | ⚪ | |
Manual attribution | ⭐⭐⭐ | 💣 | ⏰ | ⚪ | |
Prevent cross-affiliation & exploits | ⭐⭐⭐ | 💣💣 | ⏰ | ⚪ | |
Unlockable rewards | ⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ |
Priority | Difficulty | Time | Thoughts | Status | |
---|---|---|---|---|---|
Migration tool from WHMCS | ⭐⭐⭐ | 💣 | ⏰⏰⏰ | ⚪ | |
Snapshot order details | ⭐⭐⭐ | 💣 | ⏰⏰ | ⚪ | |
Facebook Pixel | ⭐⭐⭐ | 💣💣 | ⏰⏰ | ⚪ | |
LinkedIn Insight Tag | ⭐⭐ | 💣 | ⏰ | ⚪ | |
Google Ad | ⭐⭐ | 💣💣💣💣 | ⏰⏰ | ⚪ | |
Google AdSense | ⭐⭐ | 💣 | ⏰ | ⚪ | |
Selling physical products | ⭐⭐ | 💣💣💣💣 | ⏰⏰⏰ | ⚪ | |
Selling on Amazon, eBay, Zalando etc. | ⭐⭐ | 💣 | ⏰⏰⏰ | ⚪ | |
End-users can sell on Marketplaces | ⭐⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
Admin roles | ⭐⭐⭐ | 💣💣💣 | ⏰⏰ | ⚪ | |
Logging | ⭐⭐⭐ | 💣💣💣 | ⏰⏰ | ⚪ | |
Lock Screen | ⭐ | 💣💣 | ⏰⏰ | For inactivity and via shortcut keys | ⚪ |
To-do List | ⭐ | 💣💣 | ⏰⏰ | With reminders and snooze | ⚪ |
Shout function | ⭐ | 💣💣 | ⏰⏰ | Broadcasting any message to everyone matching filters | ⚪ |
Google Calendar | ⭐ | 💣💣💣 | ⏰⏰⏰ | ⚪ | |
Feeds | ⭐ | 💣 | ⏰⏰ | For admins, childs and end-users | ⚪ |
File Manager | ⭐ | 💣 | ⏰⏰ | Internal use (eg. CSV transmissions) | ⚪ |
Chat | ⭐ | 💣💣 | ⏰⏰⏰ | ⚪ | |
Service status | ⭐ | 💣💣 | ⏰⏰⏰ | Like "Partially degraded" feature of Coinbase Pro | ⚪ |
Organization chart | ⭐ | 💣 | ⏰⏰ | ⚪ |
Avoid "exotic" solutions for now.
Priority | Hate-o-Meter | Notes | Status | |
---|---|---|---|---|
Internetbs | 1️⃣ | 😊 | ⚪ | |
eNom | 4️⃣ | 😡 | ⚪ | |
ResellerClub | 3️⃣ | 😕 | It's LogicBoxes. Integrate one to integrate many | ⚪ |
Hexonet | 2️⃣ | 😊 | ⚪ |
Priority | Hate-o-Meter | Notes | Status | |
---|---|---|---|---|
Plesk | 1️⃣ | 😡 | Most used | ⚪ |
cPanel | 2️⃣ | 😡 | ⚪ | |
DirectAdmin | 3️⃣ | 😊 | ⚪ |
Priority | Hate-o-Meter | Notes | Status | |
---|---|---|---|---|
PayPal | 1️⃣ | 😡 | ⚪ | |
Stripe | 2️⃣ | 😕 | ⚪ | |
Other | 3️⃣ | 😊 | ⚪ |
Approved | Notes | Status | |
---|---|---|---|
PHP OOP | ✔️ | >=7.2 | 🟠 |
PSR-1 | ✔️ | Coding standards | 🟢 |
PSR-4 | ✔️ | Autoloader | 🟢 |
PSR-11 | ❔ | DI-Container | ⚪ |
Composer | ✔️ | 🟢 | |
Dependency Injection | ✔️ | Need multiple containers | 🟢 |
Smarty |
❔ | ex-WHMCS users already know Smarty. Same for ex-WHMCS designers | 🟠 |
jQuery | ✔️ | ⚪ | |
Bootstrap 5 | ✔️ | 🟠 | |
Node.js | ✔️ | Overkill. No need | 🔴 |
ionCube | 🚫 | ⚪ | |
MySQL | ✔️ | 🟠 | |
MSSQL | ❔ | LIMIT OFFSET TOP |
🔵 |
Strict Mode | ✔️ | Avoidable? | 🟠 |
GTFO Mode | ✔️ | No js? R301 & bye bye | ⚪ |
Laravel | ❔ | What's the point? Raw PDO | ⚪ |
Bootstrap | ✔️ | 🟠 | |
FontAwesome | ✔️ | 🟠 | |
Sprite CSS | ✔️ | ⚪ | |
User authentication | ❔ | OAuth, bcrypt (custom) or framework-based (Zend?) | ⚪ |
TCPDF | 🚫 | Find alternative. Dompdf or mPDF | ⚪ |
Highcharts | ❔ | 449.55 € per developer | ⚪ |
DataTables | ❔ | Too basic and clumsy | 🔴 |
SorTables | ✔️ | Refactored in line with Material Design by Google | 🟠 |
Multi-stream support for browsers | ✔️ | Parallel downloads | ⚪ |
MagicInput | ✔️ | ⚪ | |
HereLang | ✔️ | ⚪ | |
Toolbar | ✔️ | Pre-toolbar and toolbar with Type to Search | ⚪ |
Sidebar | ✔️ | With Type to Search | ⚪ |
Footer | ✔️ | With service status | ⚪ |
Modal Generator | ✔️ | ⚪ | |
Installer | ✔️ | Classic. Zip, upload, enjoy | ⚪ |
Automatic Updates | ❔ | So and so | ⚪ |
Versioning | ✔️ | PHP version_compare compliant x.x.x | 🟠 |
Publicly advertised cycles | ✔️ | Alpha, Beta, RC | ⚪ |
Role | Effort | Notes | Status | |
---|---|---|---|---|
P1K | Backend | 6 hours | Overloaded | Active |
P2K | Frontend | 6 hours | RA | Active |
P3K | Fullstack | 8 hours | RA | Hiring now |
PXG | Dev team | Lot of hours | Doesn't depend on us | |
V1W | Backend | Don't know | Wait for now | |
V2Z | Frontend | Don't know | Wait for now | |
V3M | Dev team | Lot of hours | Surely not willing to work on app but modules |
Ask when there's enough code to show |
V4S | Frontend | Don't know | Wait for now | |
C13 | Tech, employees | Unlimited | Seed stage | |
P01 | Partner | Active | ||
P02 | Partner | Active | ||
C2F | Know-how, Beta-Tester | Provider | Active | |
C3P | Know-how, Beta-Tester | Provider | Active | |
C4R | Know-how, Beta-Tester | Provider | Wait for now | |
C5S | Know-how, Beta-Tester | Provider | Active | |
C6Q | Know-how, Beta-Tester | Provider | Wait for now | |
C7V | Know-how, Beta-Tester | Provider | Active |
Software is free but needs funds.
Status | Notes | Status | |
---|---|---|---|
P1K | ✔️ | 1 | Funding |
C13 | ✔️ | 3 | Funding |
P01 | ✔️ | 2 | Funding |
P02 | ✔️ | 5 | Funding |
VX | ❔ | ||
C1F | ✔️ | Ready | |
C7V | ✔️ | Ready | |
Github Sponsor | ✔️ | 7$ and 14$ a month (free choice) | Ready |
% on revenue | 🚫 | Absolutely not | |
Donations | ✔️ | ||
Partnership | ✔️ | Can only work with some registrars | |
Involve Data Farm | ❔ | Sell data and tracking | |
Ads | ✔️ | On our website (not in the software) | Ready |
Freemium | 🚫 | ||
Donation/Tip Goal | ❔ | "Goal: Feature X - Still 1.000 $ to go" | |
SLA | ❔ | Risky |
Also have the following:
- vBulletin license (we need a forum)
- 4x WHMCS licenses to start working on a migration script
- ionCube Pro & Special Edition GUI (2 seats) but I guess we don't need it 😆
- FontAwesome Pro Standard license (5 seats)
- All servers we need
- Office
- PE 4 seats (P1K)
- CH all seats you want (C13)
- MI all seats you want (P01, P02)
- PE new headquarter in 2022 (C13)
- Lifetime Nielpatel for SEO
- 2x approved Google AdSense account
- Approved Amazon SP-API & MWS developer accounts
- Tens of various developer accounts
- Lifetime TCAdmin 1x Pro Master, 3x Pro Remote Server in case we need to integrate game service providers
- Can contact thousands of providers
Team | Notes | |
---|---|---|
English | P1K, P2K, P3K | |
Italian | P1K, P2K, P3K |
- Crypto-something with locked funds in tokens/wallets ❔
- Old school notarial deed ❔
- Reputation ❔
- We can't ❔
- Stop selling WHMCS modules ✔️
- Github ✔️
- Stack Overflow ❔
- Forum ✔️
- Ticket ❔
- MIT 🚫
- GPL v3 ✔️ copyleft
- BSD ✔️
- Custom ❔
Basic idea. Free for personal and commercial use but "All rights reserved". Derived work? The whole work must be free and open source.
- Avoid nested
if
,return
instead - Stick to
AND
,OR
instead of&&
,||
logic operators. Many devs don't know anything about precedence - Classes
StudlyCaps
. Methods & variablescamelCase
- Same spacing for js and PHP
- Avoid
;
for last CSS rule - Data as
array
notStdClass
or you're a dead man - Logging must be
::
- Downlolad application/octect
- User roles: pages & actions
- Depended form fields
- Multiple language pickers
- Single-cron setup
- This theme is a good source of ideas
- We should be using ajax + json + react-like page load that works offline (change URI via js)
- Sidebar and action menu should be populated by json object/array to avoid nested ifs in Smarty