/Leap

Free & Open alternative to WHMCS. Let's see if we can make it

Primary LanguageCSSGNU General Public License v3.0GPL-3.0

Table of Contents

A Little Background About Leap

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:

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).

Must-Have Features

How to read tables

Icon Description
Importance
⭐⭐
⭐⭐⭐
Low
Medium
High
Difficulty 💣
💣💣
💣💣💣
Low
Medium
High
Time
⏰⏰
⏰⏰⏰
Low
Medium
High
Status 🟢
🟠
🔵
🔴
Completed
In progress
Stalled
Dropped
New

CMS

  • 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)

SEO

  • 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

Billing

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 ⭐⭐⭐ 💣💣 ⏰⏰⏰

Support tickets

  • 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

Multi-domain

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 ⭐⭐ 💣💣

OAuth-based API

  • 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 🔴

Action hooks

  • ETA (very tentative): 15 FTE
Importance Difficulty Time Thoughts Status
Basic engine ⭐⭐⭐ 💣💣 ⏰⏰
Entrypoints, NVP etc. ⭐⭐⭐ 💣💣💣 ⏰⏰⏰

Affiliate Marketing

Importance Difficulty Time Thoughts Status
Basic engine ⭐⭐⭐ 💣💣💣 ⏰⏰⏰
Last-click attribution ⭐⭐ 💣
Interactive attribution 💣
Manual attribution ⭐⭐⭐ 💣
Prevent cross-affiliation & exploits ⭐⭐⭐ 💣💣
Unlockable rewards ⭐⭐ 💣💣💣 ⏰⏰⏰

Miscellaneous

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 💣 ⏰⏰

Integrations

Avoid "exotic" solutions for now.

Domains

Priority Hate-o-Meter Notes Status
Internetbs 1️⃣ 😊
eNom 4️⃣ 😡
ResellerClub 3️⃣ 😕 It's LogicBoxes. Integrate one to integrate many
Hexonet 2️⃣ 😊

Hosting

Priority Hate-o-Meter Notes Status
Plesk 1️⃣ 😡 Most used
cPanel 2️⃣ 😡
DirectAdmin 3️⃣ 😊

Payment Gateways

Priority Hate-o-Meter Notes Status
PayPal 1️⃣ 😡
Stripe 2️⃣ 😕
Other 3️⃣ 😊

Framework

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 or Twig 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

Team

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

Funding

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

Localisation

Team Notes
English P1K, P2K, P3K
Italian P1K, P2K, P3K

Questions

How to prove we won't roll over for clowns (cough WebPros) some day in the future

  • Crypto-something with locked funds in tokens/wallets ❔
  • Old school notarial deed ❔
  • Reputation ❔
  • We can't ❔
  • Stop selling WHMCS modules ✔️

Customer support

  • Github ✔️
  • Stack Overflow ❔
  • Forum ✔️
  • Ticket ❔

Licensing

  • 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.

Conventions

  • Avoid nested if, return instead
  • Stick to AND, OR instead of &&, || logic operators. Many devs don't know anything about precedence
  • Classes StudlyCaps. Methods & variables camelCase
  • Same spacing for js and PHP
  • Avoid ; for last CSS rule
  • Data as array not StdClass or you're a dead man
  • Logging must be ::

Internal Notes

  • 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