Since building the Trongate framework, a thought and a question have been burning through my mind.

The thought:

"Holy moly! That was easy!"

The question:

"How come nobody has done this before?"

Now, just to set the scene, Trongate is the only PHP framework that has been designed specifically to give the PHP community a credible alternative to the PSR / Composer / Packagist combo. Our decision to avoid that combo has resulted in a PHP framework that’s approximately twenty times faster than Laravel and Symfony. Trongate also outperforms Codeigniter (which is known for speed) and even popular micro-frameworks like Slim and Lumen. Benchmarks have not yet been recorded for Trongate vs Phalcon, however, we are confident of a win if that ever happens.

What most people don’t realise is that Trongate has a hidden 60% additional speed boost up its sleeve. So, even if there’s another PHP framework that somehow manages to catch up then at any given moment we are confident that we are a few simple tweaks away from making Trongate 60% faster. I can assure you, this number is not something that's plucked out of thin air. I say this thoughtfully and with the backing of a body of solid collaborative research. Even though Trongate is twenty times faster than Laravel, I’m telling you that Trongate can go 60% faster with a few minor tweaks. That, however, is a topic for another day.

If anyone who looks after another framework is reading and wondering how on Earth to catch up with Trongate then I’ll tell you exactly what you have to do. Let me give you the secret of Trongate's benchmarks right now. You are hereby invited to take this secret and use it in any way you see fit!

It’s very simple. If you want to build a PHP framework that can compete with Trongate in terms of speed, simply stop using anything to do with the initials PSR. That’s it! I can assure you, it’s as simple as that. Really! If every other PHP framework abandoned all of the PSR recommendations tonight, then Trongate would be irrelevant in the morning.

Of course, at the moment there appears to be no prospect of the other framework makers abandoning the wishes of their imperial masters - those unelected, self-appointed code police of the PHP universe. As long as other framework makers continue to use poor engineering decisions that have been decreed by ‘you know who’, Trongate will remain the fastest PHP framework in the world. You can take that to the bank!

Please don’t make the mistake of assuming that I’m some kind of genius for figuring this out. Such a delusion would certainly make me feel good for a while but I can assure you, it wouldn’t be accurate at all. I’m definitely not a genius. All I did was I took a look at Composer (specifically PSR-4 autoloading), realised it was over-engineered, then effectively stood up and said what everyone else was thinking:

“I disagree.”

It certainly didn’t take long for me to feel the wrath of certain sections of the PHP community for having the audacity to step out of line. Even before launching Trongate, I counted 165 venomous comments about Trongate (usually on Sub-Reddits). These comments included false allegations of security bugs, ‘spaghetti code’ and ‘huge overheads’. Trongate has even had the hosts of the appropriately named PHP Ugly podcast say things about Trongate that are demonstrably false and, in my opinion, malicious. Personally speaking, I receive personal attacks almost every day. Usually, it’s something along the lines of me being mentally ill, having an out of control ego or somehow being unethical.

Don’t worry. I’m fine. More than that, I’m grateful. I feel great and I’m certainly not playing the victim card here. The negative interactions I see are vastly and monumentally outnumbered by the positive interactions and the incredibly talented and growing community that we have. Quite frankly, I feel like the luckiest guy on Earth!

Nevertheless, I think it's safe to say - I found out the answer to my question.

Any PHP developer, from recent years, who has reached the same technical conclusions as me, will have surely known that they’d be opening themselves up to massive waves of ridicule from legions of naysayers, if they dared to say ‘no thanks’ to the likes of PHPFIG. More than that, I think any PHP developer who dared declare - what I’m now calling - ‘the bleeding obvious’ would have probably had their career damaged if they dared speak out against the so-called 'standard recommendations'.

On any given day, I can tell you - with URLs - the particular negative attacks I’ve received from other PHP developers over the last 24 hours. It’s just a fact.

Most people reading this might think I'm being alarmist or I'm over-reacting. You're probably thinking that somebody is taking all this frameworks business a bit too seriously. Let me assure you, I get that. However, I guarantee, most people reading this would be astonished by how venomous some PHP developers can become when something comes along that they see as a challenge to their way of doing things. That's why the PHP Ugly Podcast focused on portraying me as a bungling idiot instead of devoting a solitary minute to discussing the legitimate technical questions that Trongate raises.

The way that we, as a community, beat the naysayers is by simply giving Trongate a star on GitHub. It’s that easy. If Trongate becomes a top ten PHP framework then it will be virtually impossible for anyone to write us off as a bunch of nutters. This is why GitHub stars are so important for the Trongate framework - especially in these early days.

My first 'take-down' request

Today, for the first time in my life, I submitted a formal ‘take-down’ request on GitHub. It required some form filling and some oath swearing (usually ticking checkboxes that sit alongside sentences beginning with, “I hereby confirm that I understand that…”). It was all very legal and not much fun. Somebody from who-knows-where had put up a repo and named it ‘Trongate PHP’. They even had the word ‘official’ as part of the title of the repo. Then, they put it onto Packagist. So, at the time of writing, if you search for ‘Trongate’ on Packagist you see a link to this other repo.

Earlier this evening, I tweeted Packagist and asked them to take this misleading repo off of their listings. Packagist never responded. Thankfully, however, GitHub did respond. Best of all, the owner of that repo appears to have taken it down and - hopefully - the issue has now been resolved. Perhaps it was all a perfectly innocent accident. I have no idea. I'm just glad it's down.

What I’ve come to realise is that whilst 99.9999% of people are decent, good and honest there's a tiny but significant percent of people who have no qualms whatsoever about attacking your interests, your reputation, your means of earning a living and even your life’s work.

Take the PHP Ugly podcast, for example (I get the feeling I'm going to be talking about them for years). I have still not received a solitary apology from them for posting false and misleading information about Trongate - the framework - and about me, as a person. Is it good enough for those of us who feel passionate about Trongate to simply hang around whilst others behave in a malicious manner? Is it good enough to sit back while people - like the PHP Ugly hosts - dish out utterly false, made-up garbage that is designed to maliciously damage our chances of success? Is it good enough to write articles and emails like this - all of which essentially amount to, “better not do it again ...or else”?

To me, all of this feels disempowering and, quite frankly, weak.

So far, we’ve been lucky. So far, I don’t think anybody has posted anything that has a remote chance of causing serious harm to the long-term or short-term prospects for Trongate. The only reason we've been lucky - by the way - is because at the time of writing Trongate is still off the radar. Most PHP developers don't know about Trongate yet. Once they find out, there will be a lot of angry developers coming after Trongate - particularly, I regret to add, from the Laravel community.

Recently, I’ve found myself increasingly thinking about CakePHP.

CakePHP is a solid and competent framework with a great community. They also have a rich history, a fabulous assortment of tutorials and an outstanding library of community-contributed code. As far as PHP frameworks go, CakePHP is one of the best!

However, you never hear about CakePHP in any top five PHP frameworks lists. Do you? Sometimes it’s not even in the top ten!

Why is that?

The answer is, many years ago CakePHP was subjected to the same kind of treatment that Trongate is currently going through today. To cut a long story short, one or two YouTubers along with a few blog writers declared, “CakePHP is slow.” Unfortunately - for CakePHP, that label stuck! The web being... the web, it didn’t take long before everybody did a ‘Stef Mischook’ and started regurgitating the same, poorly researched information over and over again, saying ‘CakePHP is slow’. None of this was fair. Not a word of it. It wasn’t accurate then. It’s certainly not accurate now.

Just to state the obvious, CakePHP will almost certainly never be a top three PHP framework because the damage is done. Through no fault of their own, the CakePHP community got whacked by naysayers. Personally speaking, I dread the thought that I may have been one of the YouTubers who said "CakePHP is slow". I cannot remember saying it. I hope I didn’t. However, if I did then I’m eternally sorry. Quite frankly, I sometimes think that the entire PHP community owes CakePHP users an apology. My heart bleeds for CakePHP. They’ve got a great community, packed with talented developers. However, they have not been treated fairly by influencers and they appear unable to get the kind of traction that they deserve. To me, it’s all rather sad.

What happened to CakePHP must never happen to Trongate.

Tonight, after submitting my formal ‘take-down’ request, I had a solid three hours where I felt totally powerless. If the owner of the offending repo, GitHub and Packagist had all said, ‘no’, then what could I have possibly done? The truth is... probably nothing! Of course, this particular incident was unlikely to cause massive damage to anyone. However, what if that wasn’t the case? What if somebody from some huge conference or a massive YouTube channel said something or did something that caused nuclear damage to the Trongate framework or community?

I don't think I'm paranoid but I'm pretty sure that it's going to happen. When that day comes, I want to arrive with a large stash of cash ready, so that we can solve our problems with the best legal protection imaginable.

Recently, we had the hosts of PHP Ugly saying that ‘Trongate is for people who hate PHP’ (and oh, how I love talking about them!). Just a few days later some random on Twitter (no doubt a listener) tweeted, ‘Trongate is for people who hate PHP’. They also falsely claimed that the Trongate Desktop App installs updates without asking the user for permission. Then they said that I had been effectively ‘removed’ as tech lead of the Codeigniter project and then ‘got very angry and left’. ALL COMPLETE COBBLERS!

I’m glad that GitHub, YouTube and other content sharing platforms appear to be leaning in favour of the person posting the complaint whenever something malicious is posted. Even though I have not submitted a take-down request for PHP Ugly, I’m glad that I have that as an option and it’s something that I may take advantage of.

Nevertheless, I’m not content to hang around and leave the fate of Trongate in the hands of some faceless, possibly automated content sharing platform. Frankly, I don't accept YouTube's role of judge, jury and executioner whenever these types of situations crop up. There’s too much at stake.

For all these reasons, I have decided to start a Trongate Legal Attack Fund. This fund will likely be a cash reserve that will be set aside and put on hold specifically for influencers and bad players who do something that is malicious, potentially illegal and against the interests of the wider Trongate community. At the moment I don’t have the ten thousand or so dollars that this fund would require to be meaningful. However, now that Trongate is moving into a maintenance phase, I’m looking forward to re-entering the marketplace and I’m confident that I can raise this revenue fairly soon, perhaps even by July this year.

I understand that the phrase ‘Legal Attack Fund’ may seem a little alarmist and perhaps even confrontational. However, if the effect is to cause alarm then - in this instance - I think it’s a good thing. It's important for potentially malicious parties to know that we're not playing the game of patty-cake. If they say or do something that is malicious, potentially illegal and demonstrably false, then they should be held to account legally.

Let’s take a moment to clarify ‘the rules’ as far as talking about Trongate - or indeed any business or intellectual asset - goes:

The following are all examples of things that people are ALLOWED to say:

  • “I hate Trongate”

  • “Tronate is the worst framework ever”

  • “Trongate is garbage”

  • “Trongate is slow”

  • “Trongate is bloated”

  • “Trongate is terrible to work with”

  • “Trongate code is horrible”

  • “The guy who made Trongate is an idiot”

Regardless of how valid or invalid the above statements may be, people are allowed to make those kinds of statements. If critics can produce some kind of concrete example or case study to back up whatever they're saying - such as a code sample - then that's even better for the critic! We must all respect statements like those listed above - regardless of how strongly we may disagree.

However, the items below are examples of things that people are NOT ALLOWED to say:

  • “Trongate got hacked last week and is full of security bugs”

  • “The guy who made Trongate worked for Codeigniter, got fired then angrily left”

  • “The Trongate Desktop App forces you to install things without asking for your permisssion”

Those kinds of statements have an entirely different structure. The make specific claims about events that demonstrably did not or do not happen. I'm not a legal expert but to me, statements with that kind of structure are not acceptable. If anybody out there says those kinds of things then they had better bend over backwards to stay safely anonymous.

My overwhelming emotion, at this stage, is gratitude. I love what we’re doing. I love the journey. I’m blown away by all of the support. I am excited about everything that’s coming up. There are so many good, decent people out there. It’s fabulous and I’m grateful!

However, as the Trongate framework becomes more popular those of us who care about keeping the doors of web development open would do well to be on guard. Personally speaking, the next time I deal with some negative force, whether it be somebody launching an ‘official Trongate PHP’ repo on GitHub or some obnoxious podcaster maliciously dishing out false information, I want the world to know that I’m dead serious about ‘going legal’... and fast.

I cannot stress enough: it’s okay to say bad things about Trongate. It’s okay to say bad things about me, as a person. I'm fine! Nobody is required to like Trongate. Nobody is required to like me. However, when people behave in a manner that is malicious, damaging by design and potentially illegal then I promise, WE AS A COMMUNITY WILL DESTROY THAT NEGATIVE ENERGY WITH THE FULL WEIGHT OF THE LAW.

The goal, at this point, is to have the Trongate Legal Attack Fund ready by July this year. It's not something that I'll be discussing every day but I plan on letting the Founding Members know when that cash reserve is ready. There is no requirement for anyone to donate. To those who support Trongate, all we're asking for is a star on GitHub. That's all.

I would appeal to you, the reader, to please not be too concerned by what you've just read. The flags are flying. The human race is good. Everything is perfect. We have lots of friends. The future looks bright. However, I'm just letting you know that amidst all the high fives and the handshakes we do have a few people out there who would love us to fail. So, I just wrote this to reassure all of you that regardless of what the future holds, we're not going down the same road as CakePHP.

The good reputation of our community and our framework will be protected.

You have my word.