Transcript: PHP Web Frameworks - Roman Pronskiy
This episode is brought to you by Button Down, the easiest way to start, send, and grow your email newsletter.
Hi, welcome to another episode of Django Chat.
I'm Will Vincent, joined by Carlton Gibson.
Hello, Carlton.
Hello, Will.
And I'm very happy to be joined by my JetBrains colleague Roman Pronsky.
Welcome to the show.
Thank you, Will.
Hi, Carlton.
Hi, everyone.
Happy to be here.
Hi, Roman.
Thanks for coming on.
So I'm wanted to have you on for a long time because you are executive director of PHP, which we'll talk about that, but also very involved just in the PHP world, which we in Python Django can get a bit insular and not be aware of what Laravel and all these other things are doing.
So want to talk to you about your background and then web stuff.
Well, Carlton, you have another agenda?
Well, no, I'm just like half half of our guests, it seems, and I'm pretty sure half of our audience, certainly the older ones, got us start with PHP, right?
It was like, well, how did you get into it?
Well, I was doing PHP and then I found Django later on.
So I mean that was back probably PHP 4, PHP 5, back in the day.
It's come on a long way like that.
So one thing I'm really interested to talk to you about is how the language has evolved over that time.
And then the other thing I'm sure we'll top on is like we're always looking over the over the over the fence at the different frameworks, and particularly Larra it's got a great marketing effort, and we're always like, oh, we should do more in that that space.
So you know, talk about those kind of things would be amazing.
Absolutely.
Gone will anyway.
That was all I just wanted to say.
So I'll just you know, and and the audience can't see, but you're a bit younger than we are, so I'm not gonna assume you were using PHP and Django 25 years ago.
But maybe but maybe you were, so maybe that's a way to ask uh, how did you get into programming and find your way to to PHP?
Yeah, I'm uh I'm 37 actually.
So um um
Oh dang.
Yeah, I did for you.
I oh I must I must get your med uh your uh facial cream.
Yeah, maybe we should talk like about skincare routine.
No, I'm kidding.
Yeah, I'm kidding.
Um so I started uh I got into programming in high school.
I started with Turbo Pascal back then.
Uh it was just something available on our uh uh school class machines.
That and uh GTA 1, if anyone remembers that game, like uh with a top uh down view.
Um so I was a big fan of that one uh back then, and I was yeah, started programming the Strubo Pascal, and then uh I studied math in my uh uni, and uh my um one of my teachers uh was organizing a conference uh for math, and uh she asked me, Hey, can you uh program websites for us?
I was like, Okay, I need to Google what they do for websites because I was uh using it.
Yeah, I was using C most and Java uh for all the stuff uh the university and I I opened PHP and I was I was shocked how easy it was to to create a website.
Uh and I was like, oh my god, this is so cool.
Uh and then yeah, I've I was looking for a job after my uni.
I wanted to I wanted to do math, but uh uh I guess I was not very um I liked shiny things and just talking to people and I was not like uh maybe introverted enough to to do uh uh deep math.
Uh so um yeah I I um I was looking for a job and I found a position vacancy for PHP developer and I applied there.
They took me, although I the only website I built was this conference website, and that's how I started with PHP, and I stick with that for yeah, 15 years.
Um so um yeah, I was I was doing other languages um on the turn time.
So I was uh working as a software engineer in different roles, and I I used Python uh quite a lot, not Django, but just uh for APIs um and JavaScript, obviously, both on server side and uh front-end uh Java a little bit.
Also, uh some once I had to do uh Salesforce development, so I discovered that they actually have their own language sort of uh like built maybe or uh originated from Java, but it's their own ecosystem totally different.
So I had to do that and learn that.
So I had quite a
well what the list what the listeners didn't see, sorry to interrupt you.
What the listeners didn't see is the way you sort of rubbed your temples in pain as you recall Salesforce.
Like I'm seeing Salesforce and my eyes just going over there, uh blinking, yeah, because it was uh uh um I mean it was a job, like I had to quickly get into it and uh understand what's going on there, so it's like okay, I will do that, no problem.
Uh but I really loved PHP all the time, so uh whenever I was like away from PHP for a short time, I was like, I want to go back to PHP.
I for some reason I was just in love with uh PHP and um yeah, ever since.
One thing you said there was that um it that you you picked it up, you started playing with it, and you're like, oh wow, it's so easy to get the web page up or the website up, and it's just there.
And that was that's one of my lasting, you know.
I started off at PHP, it's one of my lasting memories of it really was like, yeah, let's just know nonsense, let's get it up, let's you know, include the header, let's include the footer, let's do all these things.
I can I ask you about how the language has evolved and has has PHP managed to maintain that that kind of ease that you remembered?
Is it is it still that joint?
Um well quick answer is I I think totally yes, and uh, but I will explain what I mean by that.
So uh obviously the the requirements to uh web applications has changed uh and uh the expectations from uh of users' expectations from websites are totally different these days.
These the the websites should be um very um dynamic and uh nice looking and uh a lot of functionality is uh is uh taken as given.
So you uh like the that website that I built back then for this conference, uh it was just uh like these days I wouldn't even use PHP, I would probably just create like static pages, I guess.
But um these days is uh very dynamic.
But quick example, I had to um I had to okay.
I hate I I had to vibe code a simple website.
Um just to
Yeah, it's it's not a new idea.
That's what I think non-developers don't realize.
It's like we've been you know half doing stuff since forever.
It's not a new thing.
Indeed, indeed.
And then and then but uh now right now I had to do uh this kind of the same thing, uh, and I vibe coded with uh using Juni AI assistant uh of JetBrains to um to create this.
Um I would I need I needed a simple demo application, and I used uh uh that simple simple demo application that uses some API.
So I was using first I was like, okay, I will try uh TypeScript and some JavaScript framework for that.
Um and um there are a bunch of those frameworks, and I uh I've I tried Next.js and then I tried some other framework, and um honestly it it didn't feel simple to be honest for me.
I mean I understand JavaScript ecosystem a bit, I know how to navigate, but it didn't feel simple and I wasn't able to get results real quick, so it was like okay, then I will just do the same with Laravel, and it was I get I got the result almost immediately.
For like not for the sake of this like Python chat uh or Django chat uh podcast.
Uh uh I tried actually doing the same with Python in PySharm, uh but I used uh not Django, I used um I think it's called Fast API, right?
Oh fast API,
yeah, yeah.
I used that uh and I was able to get results real quick as well.
So I re I really like that experience.
So I mean it's it's not just larval, but what I'm trying to say is that these days uh PHP experience is is the same as in it's very easy to build things, you don't need to to do you have uh simple blocks that you can reuse for simple applications, and then on top of that, you can add your thing and uh the ecosystem, like uh the number of packages and number of uh the things that people already created for you, and the quality of those things is uh amazing
So, for example, if I need ORM or if I need a library that uses a certain API in PHP, the quality is just is just so good.
I can be sure that it's working, maintained.
I'm super happy with the quality.
With JavaScript, I guess maybe if you're uh very much in the JavaScript or a Python ecosystems and you you know some things better, maybe it's also the same experience as in uh you know what to use and the quality is there.
But uh at least with JavaScript, I felt like there are many things that are nice ideas, uh and but not like deep enough to use it uh uh well for something real.
At least I mean I don't want to sound uh as as an old guy here.
It's not but uh that was my at least feeling um my impression yeah of touching it.
But we all have we all have our own impression, right?
And what what I was what you know, and it's not that you know one ecosystem is better than the other, one tool's better than the other.
It's where is your happy place?
And what I liked from your answer was you were like, I started PHP with this happy base, and my question was, did it maintain that for you?
And the answer is yes, absolutely has, as it's grown.
Yes, absolutely yes.
I'm yeah, I it has uh again, I'm not like uh completely blind, it has its problems, and we can talk about that as well, but uh um it's definitely my happy place, and I feel super productive with PHP and the PHP stack.
Um, and it's uh it's it's really easy to build applications really quickly with the PHP these days.
Um so I'm super happy with how it evolved.
Okay, so I'm gonna I'm gonna ask one more question.
I'm gonna let Will get to his background because the other thing that I really remember was just the deployment story was just perfect.
And it was you know, the the old joke was our sync in a can of beer, right?
You just put it up and it went.
And it's it's it feels like something when um because it was um built into Apache and because you know mod PHP and it was just like you know, just pick up the file and load it, there was no deployment story.
Um whereas when once you move to a kind of application server and then you've got a reverse proxy, and it it just becomes much more complicated.
And so my other my other sort of question is p has PHP managed to maintain a good deployment story there, or is it did it did it follow the you know is it very similar to say Python or Rust or um a Ruby environment where you're running two applications and it can be a bit difficult to swap in place?
I think um the the answer to this question is maybe more complicated.
So I think it maintained this simplicity for uh just deploying um files whatever wherever you want, like to just to a web uh server somewhere.
Uh and you can set up this web server however you like.
It could be a shared hosting, or it could be a um dedicated server, or it could be some cloud provider, uh like AWS or Cloud Player, whatever.
So in this sense, it's it's similar to other I guess uh web stacks.
So it's quite simple still, but it's not that much different, maybe from other stacks.
Well, with JavaScript, I guess you need uh uh it's a you need um the difference is that with JavaScript, you usually you have some kind of transpiling compilation uh stage, usually these days.
So you you have TypeScript or you have some other things, and um so this thing and also uh JavaScript model of running is that it's um is always running and it handles your requests asynchronously, where with PHP the model is very simple as in uh you serve the request and then you die.
Uh I mean this and uh that simplifies things very much.
So basically, you think about it as a serverless by design.
So it's a shared nothing architecture where it's you serve something, you throw out the response, and that's it.
So for for simple applications, applications like web applications or many APIs, it's so simple it and it simplifies things and it simplifies the development and uh deployment as well.
However, um we see that many uh many applications they use Docker, and uh for Docker, again, I can say it's simple, uh, but um maybe it's a little bit different from JavaScript again, because JavaScript comes with uh an HTTP server uh out of the box.
I'm I'm speaking about uh Node.js, which it comes with a uh HTTP server, so you can kind of have an isolated microservice with no like additional um um uh web server uh on top of it, like Nginx or whatever.
You can just have a a microservice with uh JavaScript uh and that's it.
With uh Python, I don't remember, but you kind of have additional tools.
It's similar.
Yeah, it's similar.
You'll end you end up running like um a an application server for your Python application, and then you'll put a web server in front of that so you'll have Nginx or whatever.
And it's that extra complexity that kind of it moving from PHP to Python.
It was the one thing where it was like, no, this is this is much more complex.
Yeah.
It was, you know, just drag up your FTP of your file and reload and it was done.
Yeah, yeah.
So I think with Docker is uh maybe PHP is uh slightly more complicated, but uh just a little bit, I would say, like because just because you you always need this extra uh HTTP layer on top of it.
Um if you want.
So one of the ways to um actually navigate this uh is um there are like application servers uh and one of for PHP, and one of them is FrankenPHP.
Uh it's an application server built-in Go language uh on top of Caddy web server.
So and this is now an officially uh PHP supported project, uh it's supported by the PHP Foundation.
And uh we we we see a lot of uh applications for this flow, and uh we assume that it's gonna simplify this kind of um developments uh or this kind of flows for users.
So it's not for all users, but um we see that for many users it might it might simplify things, yeah.
That's yeah, I saw I um heard heard tell of Frank and PHP on the you know on the butt on the grapevine.
It's the new hotness.
Yeah, yeah, yeah.
It's uh it's really getting the momentum and it's uh uh has a lot of uh like it gained uh user base real quick, and we see many um many PHP users as in uh companies using it in production uh very successfully.
So that's why uh we we kind of recognized it as a crucial project within the PHP ecosystem already.
And that that kind of gives it a seal of approval.
Right?
So again, yeah, so it's an additional like approval, uh, an additional signal to businesses that they can rely on it so that it's gonna be maintained.
If uh any security issues come up, we will fix them uh in like a timely manner, and uh yeah, so it it gives certainty and uh confidence.
Okay.
I think that's a good um good moment to segue into talking about the PHP Foundation and the work you do there.
So I'll let we'll
I I do want to ask about that, but I had one quick question just on web frameworks.
Um since you're neutral in that you're not from Laravel or Symphony, is it fair to say that Laravel and Symphony are the two dominant web frameworks for PHP these days?
Uh yeah, I would say so.
We see that uh on the statistics, um um, like PHP Storm statistics and in general surveys, we see that those two are most popular and dominant uh frameworks within uh PHP uh ecosystem.
The other uh framework uh-ish is WordPress, uh, which is uh not uh a framework per se, you can say it's a uh CMS, uh, but in fact it kind of works as a framework if you think so.
Uh if you like think like deeply about it, it's because it gives you uh again this uh certain um uh rules or uh guidelines how to build your applications and structure, uh and it comes with uh lots of um uh tools built on top of it uh and extra packages built on top of it.
So you kinda it's kinda as a a web framework as well.
So I would say these three platforms, uh, we can use this word maybe just to not confuse uh people or not trigger the the purists.
Uh so uh it's uh platforms, the most dominant, yeah, dominant platforms within PHP community.
So it's Larval, uh Symphony, and uh WordPress.
There are a few smaller players, smaller frameworks uh that have some maybe regional um let's say um preferences.
So for example, in the United States there is still Code Igniter, popular.
Um well, and um in uh in the uh Eastern European countries there is a E framework.
In China there is a uh it's called Hyper F or SWOL framework.
It's uh it's another story, it's very popular in China.
Um so there are some yeah uh the other uh players, uh but uh on a global arena we we can say totally that's Laravel, Symphony, and WordPress.
Okay.
And then
if you had to like if I came up to you at a conference and I don't know anything about PHP, how would you describe the why one should should use one of those three over the others?
So with uh Laravels and Symfony, it's um I would say they're very um similar in in uh way what you can achieve, and they both provide you like the way to build applications real fast.
Uh because they have uh uh actually one thing that m you may not know, um Symfony is a framework that um it comes as a set of um packages separate packages let's say um symphony console is uh is a package to to create like uh cli commands or for example there is um http kernel with which is um um just an uh a layer of handling http requests within uh symphony so the
the the fun fact is that larval is built on top of those components so is larval is like uh at least 30 symphony under the hood uh so they are very interconnected uh and that allowed um larval author to to build his framework real fast because he used reused symphony components uh so it's uh it's basically um the the what what i'm trying to say is that the quality will be very high
on both i think it's more about the taste uh as in if you prefer maybe uh more street standards um more nicer design and uh maybe less quick code kind of things then you would prefer symphony because it's uh I would say maybe more the design wise more uh correct in uh all they at least they try to make it more correct in uh many aspects and uh reusable by um
other frameworks as you can see uh whereas larval is uh um it's maybe um leaning towards quick development uh when you need to achieve results quicker um and so it kind of cuts the corner somewhere so it will be good for let's say 85% of stuff you are doing maybe if you're hitting this another 15% it will be not so convenient and you will have to work around stuff uh so um
yeah so I would say uh it's basically just a matter of your preference in terms of like code style or how you um prefer building applications so if you like uh kind of move quickly roughly I don't know um and then Larrabo is uh your choice and uh if you're like uh more strict design then symphony would be probably better so in this regard I don't know if um so I I'm into music production and uh in music production there is
uh these different tools as well so there is Ableton there is FL Studio there is um some other things so I like to compare it as uh these tools for those who are into music so FL Studio allows you to build stuff real quick uh it's a little bit messy uh but it allows you to build stuff real quick and get results real quick with Ableton it's more strict but you can build good apps with both it's it's better it's just a preference of taste with WordPress I think there is a more uh conc conc
rete or more specific uh um guide guidance on when to use it uh you use WordPress when you have very specific tasks for example you need to build um uh a web shop a very simple web shop then you would just go and use WordPress with WooCommerce because it's already there everything available there with all the payment systems all the delivery uh systems integrations everything is just built there you just need to combine it real quick and that's it or for example if you need um
just a block yeah just go use WordPress it does that real nicely basically any task you may think for a blog it's already uh prep done there so you don't need to rebuild it but if your requirements are not that clear or you're building something um more or less new um then you would choose framework not WordPress and uh then you can I think you can be successful with either Laravel or Symfony just uh the style is um the preference
and you can also like even if you use Laravel the good thing is again you can use symphony components for different things it's they're very like uh reusable so what what but it's not reusable actually uh vice versa so if you're using Symfony you cannot easily use Laravel components but you can if you're using Laravel you can use symphony components.
That tracks with what many of my friends who are very big on Laravel and constantly saying you know why don't you have you know hosted deployment why don't you have easy payments they a lot of them are consultants.
So they they hit that as you said that middle ground of it's not WordPress it's custom but it's I don't want to say standard stuff but it's not you know the the 80 85% is exactly what they want to do and they can do quickly and it's powerful.
You know when you were talking you know Django I teach to beginners and one of Django's challenges is if somebody says I want to have a blog and deploy it Carlton and I would say oh Django's perfect right and it can be but the reality is it takes more steps to build the blog than you would like and you have to do a lot more learning that if you only really just want a blog, why would you bother when you could use WordPress or Larivo or something el
se?
And that doesn't even get to the deployment story, which again it's possible like I have books and talks on this to deploy Django simply but it's still not as simple as anything in PHP land or even in JavaScript land.
So those are two big pain points for for Django in particular it's seen as I think more complex than it is because it is very customizable and you have the power to do anything you want but that means it doesn't fit these quick use cases that um newcomers
often want to use.
Indeed Carlton
what were you going to say?
Well I liked the the I liked the I didn't know that um Laravel was built or basically built around large parts of sympathy and it sounded it I guess I'd ask from your your your response there is would you is it fair to say that maybe you you could start with Laravel and then sympathy is something you could grow into
it can be yeah but I think uh we don't see at least I don't see these examples uh very often usually it's it's like religion you just uh start with uh Laravel and you stick to it and then yeah yeah ye
ah yeah right yeah it's yeah you just uh like it and you feel comfortable so we don't see switching very often uh as in developers switch in but the businesses uh sometimes switch to one way or another uh I think their motivation is uh mostly like how how easy it is to find developers um using this framework and um yeah so they they care about the the results not
much about the technology.
Yeah no developers were very tribal right yes yes that's button down.com email software for developers like you there are hundreds of email marketing software services out there and they all pretty much offer the same thing collect and clean addresses send out broadcasts or drip campaigns get analytics so you can see what's resonating and what's not button down is designed to hook into the tools that you already care about everything from static site generators like Jekyll or Hugo to payment platforms like Stripe and Memberful.
You can hook your site up to button down with just a form element or a simple REST call.
Write emails in Markdown and then get on with the actual work you're supposed to do.
New customers can save 50% off their first year with Button down using the coupon code Django and if you email support they'll white glove migrate your existing subscribers and archives for free.
Okay so PHP Foundation finally half an hour in we can ask about it.
So I didn't know that there was one until recently um I wonder like is that something you hear from people in other languages?
And then that's a a long way of asking how did it come about right because PHP obviously has been around for a long time.
So I'd love to get the story of the foundation but do you find when you you know introduce yourself to people and mention um executive director of PHP foundation, do people know that that exists?
Well Because people don't know about that Django Software Foundation for example like most Django developers have no idea there's a nonprofit behind Django.
I bet most Python developers also don't know about the Python Software Foundation.
So I don't mean to like you know put PHP on the spot here.
I think uh with the in uh with inside the PHP community I think they mostly know about the PHP foundation mostly um at least those who are just socially active those who I can see somewhere either online or uh at the conferences or events uh though those they they usually know about the PHP foundation they may not know the details or they may not know that I'm the director, but they know about its existence
And then when I talk to other people uh in tech industry, they sometimes they don't know even why it's needed.
They say like, oh, but it's the language is free, right?
And I'm like, oh yeah, it is, but uh how how do you get like security updates?
Do you do you like uh do you expect people coming like back from their full-time job and uh fixing some security issues uh at night, or how do you expect uh the the such uh technology to be maintained?
And then then they talk to them and they explain and they oh wow, that's what you do.
Okay.
Then they see the importance of this kind of uh foundations, and then they just realize there is a whole world about um supporting the uh open source, uh which uh to them is like oh, but this is free, right?
It's just free.
Well, but so the so the question is when they have that realization, do they get their checkbook out?
Well, yeah, it's uh more complicated, unfortunately.
Uh but sometimes it works, yeah.
Sometimes it works.
Um so um with the um I well
but I mean it's only uh I'm sorry to interrupt, but it's only four years old, right?
It's only 2021 that the foundation existed, is that right?
Even less, yeah.
So it's quite a young foundation quite uh compared to other uh ecosystems and languages.
So almost all of them had these uh foundations kind of.
So when I talk to, for example, someone from the Python community or JavaScript community, I I say so it's like let's say Python Foundation or Python Software Foundation.
Although the there are differences, but uh they immediately understand what's uh what I'm talking about, and um or Linux Foundation, uh which is uh also a big uh um organization.
Um so yeah, and uh it's the the reason for for that is um that for a long time there was uh a commercial company called uh Zend, uh which kind of was uh the PHP company that was actually in their uh model or the description the PHP company.
So uh PHP was developed by one developer, um Rasmus Lerdorf, started, and then uh two uh two students from um Israel, um Andy Gutmans and Zef Surahski, they they rebuilt the language, they rewrote it a few times, and they started this company, uh Zend, which is uh the name is comes from their uh their names, uh combined Zef and Andy.
So it's Zend.
Uh and uh they created this company and they were developing PHP most of the time um through the history, and um like basically it was taking um the the um it worked as as a main entity behind the the language, and it was fine until it stopped being fine, until until this uh it was uh uh Zen company was acquired uh a couple times.
So it was acquired first by Rogue uh Wave Software, uh which is uh some American company.
I think they didn't know what to do with PHP, and many people left, and then it was acquired by Perforce, uh, which is uh at least they know what is uh open source and they um were um doing better, but uh still the they shrinked and uh most of the people left the company and basically it's it had it lost the influence and lost the um um manpower.
Basically, it was just uh one they paid one core developer, just one developer maintaining the language, and that's it.
And then another developer was actually paid by JetBrains.
So there were only two uh developers paid to work on PHP.
Uh and uh the serious situation, this situation was bizarre if you think about it.
Like uh the whole like 80% of the web was working on PHP, so many businesses relying on PHP, and only two people in the world are paid to maintain the language.
That's it.
So uh and then
and I and I just want to mention it's also in JetBrains was one of the two because JetBrains has also been very generous to Django.
And I I I know this because I was the treasurer of Django for a while, but I feel like most people most definitely most people have no idea about JetBrains contributions to Django.
I I suspect most even in the PHP world, would most people know that JetBrains funded half of the language for a while?
I would I would guess not.
I I hope someone hope so.
Yeah, I hope so.
But uh but yeah, well main
like it's not Microsoft, you know, to pick a competitor of ours, you know, like it's not Google.
Yeah, they're not doing it.
Yeah, so yeah, so JetBrains paid for half of PHP.
Uh and then, but uh we well there there was uh uh one of the PHP uh community and people, uh one of the developers, one of the core maintainers, he wrote a blog post uh where he he said, like, hey, but do you know what is the bus factor of the PHP?
And he said, It's two.
Basically, there are just two of these people, and if bus hits them, uh then PHP is done, um, because they just have all the knowledge about the PHP.
And uh well, I realized this that problem as well, so I reached out to this guy and we started talking how to fix that.
And um yeah, we came up with this idea of the PHP Foundation.
So I started talking to other people in the community just to try to gather some uh people who are interested.
And then that's the time when uh we knew that we we we found out that this uh JetBrains uh this guy who was sponsored by JetBrains to work on PHP, that he's going to um leave uh basically PHP and JetBrains uh and uh go to Red Hat to work on um LLVM.
That was his another passion, and he was young.
We knew that this would happen sometime, so we kind of expected it, but it it's okay.
So it was uh um but it it's what I'm trying to say that this um this news it it amplified everything with the PHP Foundation and we had to act uh quicker.
So what I did is I reached out to um major uh PHP companies, so WordPress, Larval, Symfony, uh Packages.
It's a company that is building um package repositories, sort of like PyPy, but uh for PHP.
And um and a few other companies.
So I reached out to them and asked, hey, so this is the idea.
We want uh something sustainable for PHP.
Let's start the PHP Foundation, just give us money and let's go.
So we yeah, I outlined the plan, and uh all the companies um gave some money.
Uh some of them gave more, like JetBrains and WordPress, some of them gave less.
Uh and uh there was enough money to hire a few developers.
So what we did basically back then is we uh offered those who we started like uh an application form and those who already had some like uh history of contribution to PHP and wanted to do that uh basically as uh paid work.
We offered them contract and they it was uh four people uh at the beginning, I think.
Uh and they were they were like just part-time develop developers and uh at the beginning, and then slowly they some of them went full-time, then we grew the team to 10 developers.
So right now we are 10 developers, and some of them are part-time, some full-time.
Um, and um, yeah, so this is uh what we achieved in almost four four years, so it's a little bit more than three years.
So I think it's uh quite impressive, and I think uh we started as a very young and very not ambitious organization, as in our uh goal was very uh humble and very um let's say the scope was very narrow uh consciously.
So okay, we were like, let's get money from businesses and pay developers to maintain language.
Basically, pay and spray and pray, uh, as they say.
But that that sounds like you could go from quite a narrow um goal to keep the lights on, essentially.
We need to we need to make sure that language is at least sustainable.
And then when you're talking about where you've got 10 developers being paid, well obviously that gives capacity to think about pushing forward and new exciting um innovations.
Yeah, yeah, so uh absolutely that's that's uh exactly what happened.
So last year uh we we received investment from German government, and that's when we decided, okay, we we received the investment.
So and they give investment, uh it's not a grant, so they give money for very specific projects, and we were like, okay, so we can now be more proactive, we can plan projects uh consciously, maybe longer projects, and uh when we have this investment, uh, and investment is great because uh it's basically a guarantee that we will have money for this project.
Where with sponsors, it's uh always uncertain, we don't know the sponsor can drop out anytime.
Uh with this investment from government, we knew that okay, we will definitely have this money so we can expand the team and start these projects.
And uh we were yeah, we were very lucky to get this investment, and uh I mean it was not just luck, it was a lot of preparation to to get it, but uh it's still I think there is a uh a lot of luck playing role as well.
Um so we
lost 10%.
Yeah, so but we we found developers to work on those projects, so uh we we became less humble and uh maybe more ambitious, uh still uh trying to be um not not too ambitious because again, we are not a commercial entity, we are nonprofit, so we we very much rely on sponsors, and sponsors they the their business can change.
Uh sometimes it goes up, for example, like with WordPress.
So WordPress generously increased their amount of their donation to the PHP Foundation, which is super great.
We are like WordPress.
Uh they were giving money with no questions asked, asked from like first day.
They were like, Yes, this is the money to it.
And um so uh yeah, but some sponsors they their business changes for different reasons, and they um uh they stop uh sponsoring and it's it's normal.
So we we s we try to be very um careful with the expanding.
And uh even 10 developers is already quite a big team, so um yeah, no, it's massive.
Yeah, it's uh we're we are yeah trying to not expand um when we don't need to, we're just not to expand for the sake of expand.
Uh and that I and actually we one idea we are thinking about right now is maybe work more just like project uh on project basis.
So for example, we have a certain feature idea or a certain uh project, then we can sponsor this project or as and sponsor people to work on this project specifically, deliver it, and then see what we need next.
Um that works for things with uh very um uh with some isolated things.
So for example, uh one of the things uh we did is a security audit for PHP, and it was the the first external security audit in a long time, at least in 10 years.
Uh so and what we did is we um we found um uh an agency, basically like a penetration agency, uh security agency, and they uh analyzed uh part of the code base, not the whole code base, because our budget was limited, but part of the code base, they analyzed it and they provided report and uh actually they found a few severe security issues.
Um it took us uh almost half a year to fix those issues because uh those were very severe issues.
Uh, but it was the result is amazing.
Like uh the developers were like, whoa, well, we we didn't know we had these issues.
Um yeah, so it was um I think was this this is uh an example of a very nice project.
Okay.
So it's a blue skies.
What's the you know if you can if you think the funding horizon is nice and rosy for the for the for the medium term, what are your kind of headline things that you'd like to really, you know, if you could you could get those fixed over there?
Um yeah, well, uh we I think we're we're um we have a really nice uh sponsor, we have a really nice community.
Uh people like I think people that are using PHP are very productive with PHP.
So there are many companies that are using PHP that you might not know.
Um, for example, like before I met my girlfriend, uh I was um actively using uh dating apps, and one of them is uh Bumble.
Um Bumble is a PHP company.
So I was uh I was actually yeah talking to them.
They're very like their if you think about their load is very extreme.
The like they're very high load application.
Their response should be very fast because people like swipe in and doing stuff like the user base is insane.
No patience if it doesn't swipe quickly, yeah.
So and they use PHP and they are super productive with PHP.
And we we like with our sponsors, we have many of those who are like we are super happy with using PHP.
Our business grows, it allows us to move fast.
Uh, but I what I think is that people that are um that used PHP long time ago when they started, they their their perception of PHP remained the same.
So it was it's like that, like it was back then.
Um so we are we are trying to change this perception, trying to show like hey, you can do really cool things with PHP.
I mean, of course you can do it with other languages, but um if if you already know PHP, you can or you're want to move fast, or you have developers know who know PHP, you can be very productive and very successful.
Uh and the like time to market is something that is very important these days.
Like almost anyone can build anything, so you have to be quick, and PHP allows to do that.
So we're that's I think one of the our missions is to um show people the modern PHP.
Okay, so get the so your your just a wish list item is to get the message out better.
Yeah, yeah, yeah.
It's uh I think uh um uh I think we're good within the PHP bubble.
So people who use PHP are happy with PHP and uh they like how things go in and evolving, but people outside of PHP they don't know much.
So me coming to this uh podcast is also uh part of the strategy, let's say.
Yeah, yeah,
very good, very good.
We'll have to come and sneak into your newsletter with some Django stories there.
But the the the what you've described is very similar to the conversation we have in Django all the time, you know.
It's like you know, there are companies using it, exactly building great exciting things, every people inside the ecosystem are very happy with it, but how do we reach out beyond that?
It's you know, I think it's a standard problem that uh evangelism message.
And speaking like something that you you mentioned at the very beginning is the Laravel marketing, and uh it's insane.
So uh they are just really good at marketing, yeah.
So uh but I mean actually there there are uh Taylor Otwell who is the author of uh Larrel Framework.
He he built the framework uh just by himself, and uh there are a few podcasts that you can people can listen about, and he was talking about the marketing, how he was doing the marketing.
And it's when you listen to that, you're like, but those are like very obvious things.
Just I don't know, build documentation, talk to your users, uh be where your users are, make your users happy, uh do the things that bring the most value and uh have the least effort.
Um, like simple things.
Um and that's still need doing, right?
Yeah, yeah.
But uh yeah, I mean the guy's really good at marketing.
What can I say?
And uh yeah, yeah, but and then they received investment, so they are now backed by uh Excel uh venture uh capital.
So yeah, they're I guess they're super successful.
Well, fingers crossed, it doesn't all go wrong.
In the Django world, we look a little bit some degree of envy, but also just realization of you know a not an open source nonprofit versus you know taking VC money and especially with you know one person in charge.
So in the Python ecosystem, Fast API with Sebastian, you know, he started that, he just took a bunch of investment, um, maybe from Excel as well, or Sequoia, I think.
Um he also just raised a bunch of money.
He's gonna build he's building a hosting um pl platform similar to what Laravel has done.
I mean, it makes a lot of sense.
I I don't think you can say one approach is better than the other, but certainly Python and definitely Django, because there's one and a half people paid to work on Django, like total.
Carlton was one of these people for five years, you know.
So it moves a lot slower than you know some of these other ecosystems.
Um, but on the other hand, it's been around 25 years, it does all these great things.
There's not as much of a bus factor as, you know, Laravel, right?
If if Taylor something happened to him, there is a community, but there's these risks.
So, anyways, yeah, when you deal with these the technology, it always comes down to kind of the people and the business sides of it of like, oh, how can they move so fast?
And you know, well, you know, you're you're the executive director of a foundation, right?
It all comes down to people and
absolutely, yes.
I think one thing they did differently.
I mean, uh, I mean uh Larval.
So he started with building um commercial products around Larval from day one.
So basically he, he as you said, he built this um deployment tool, and then other tools, uh, and they were like paid tools.
Uh the framework was free, open source, uh, and all the ecosystem around the framework was open source and free, but he he built additional tools and that allowed him to basically work full-time on the open source.
Um which uh, for example, with Symfony, they they had different models, they didn't have company for a long time behind them.
So uh yeah, uh it's I think it can work different ways, both ways, you know, like going fully open source um and uh having commercial products.
Both ways can work.
Money helps, yeah.
Money helps.
Well, I I wanted to um so you were does the PHP Foundation work with open collective?
Can you talk about what that relationship is?
Because Django, for example, doesn't, but it's something we look at and think about.
Well, um, so yeah, uh we start when we were starting, we wanted to start as quick as possible and uh as uh was as less hustle as possible, just basically uh two things.
Uh and the open collective, uh I was in contact with the e framework um maintainer, an author, and uh I talked to him and a few other people who use different platforms and for uh collecting money.
And open collective had uh really great recommendations.
Um, so we started with Open Collective, they they basically work as a um an umbrella organization for different nonprofits, so you don't have to register your own uh entity or your own nonprofit to work as with Open Collective, they take care of uh that for you, and as well as they provide uh money, uh money platform, basically platform to collect money.
And uh we were we were and we are very happy with both.
One thing to mention is the fee, which is 10%, which is quite a high fee.
Uh in my opinion, especially for us, when our budget is uh almost almost a million per year.
So it's uh the fees are quite uh big as well.
Uh we could in theory hire a person for for that fee.
Yeah, extra developer.
Yeah, but uh, but on the other hand, they take care of everything for us.
So all the contracts, everything they take care of it.
Uh, one maybe disadvantage addition in addition to money is that uh the they provide you this uh non-profit um American non-profit uh entity that it's it has some code which is 500
501 3c.
Yeah, so and it's not three, it's six.
And the difference is that uh six uh uh uh was six.
I don't know the details, but uh the the difference is that the with six you the organizations that are five oh one three I forgot like numbers
five oh one c three versus five oh one c six I forget them too.
Yeah yeah so this uh the sixth one yeah I think it can do uh political um stuff in the US, and this is why sometimes you cannot uh apply for different open source programs.
Um, for example, you cannot get uh Google workspace for free with uh this kind of entity.
But if you were uh 501c3, then you can get so this is different, but uh for example, sometimes we when we cannot apply automatically, I just reach out to these companies and uh I tell them about the PHP Foundation and they're they're like, Oh yes, okay, no worries.
We can, of course, uh we are not a political organization, whatever.
So just yeah, for example, that worked with Slack, and Slack uh is a company built on top of PHP.
I mean, they don't use PHP these days, they use a dialect of PHP called hack, but uh it was built on on top of PHP.
Yeah, I think um well back in the day Facebook had their own PHP.
Was it like pop something?
Or I mean that's what these these big companies do, right?
They that's uh that's uh that's uh Slack is using the dialect uh from Facebook.
So basically uh Facebook was built on top of PHP, but then at some point they built their own um virtual machine for PHP called HHVM.
Hip hop uh VM.
And then they build their own uh PHP dialect called Hack.
And uh then they split completely and they said we we we cannot like support both anymore, so we will just focus on our own hack language.
And basically in the world there are just these two companies using hack.
It's uh Slack and uh uh Facebook.
I mean
Instagram is famously in our circles built with Django, and uh there's still a sliver of it within Meta now, but they have their own version of Django basically where they swap swapped in different things and um
Do they contribute back something or
that is a good question.
Um for two years, I think when Mike Krieg sorry, Carl for two years when Mike Krieger, one of the founders, um, was still there, they contributed, I think, $25,000.
Um and otherwise nothing.
Correct me if I'm wrong, Carlton, on that.
Yeah, I mean for a long time they the code has been branched um away, so they haven't contributed back.
But the um the work um into Python core and into C Python uh coming out of Meta was based off that.
Um based off Instagram's needs.
So it's not you know, it's not Django per se, but Python that's benefited from that usage.
Yeah.
Well, Karl Meyer, some some core Django people went to Facebook, worked on Python.
Um so yeah, something.
Could they do more?
Yeah, they could.
I mean of course they could do more.
You know, 20 odd billion last quarter, they could do more.
I mean, this is a thing, you know, so we're both at JetBrains.
You've been there quite a bit longer than I have.
I feel like it doesn't thump its chest enough about how generous it is.
I mean, I you know, I was the treasurer of Django.
I saw how much money JetBrains was giving.
It was a third to a quarter of the budget every single year.
And nothing from any other company of size.
You know, I mean, you were at P you know at JetBrains working on PHP Storm.
Like, you know, I feel like JetBrains, I don't know if it's cultural or it's marketing or what it is, but I feel like the actual contributions far exceed uh these other companies with trillion dollar market caps, but they, you know, we could do more to talk about what JetBrains does because it on the ground does a lot for many languages and frameworks.
Yeah, yeah, absolutely.
That's 100% true.
And we we had fun fact like we had an internal conference inside JetBrains, and I was giving a talk about the the work that I do for the PHP Foundation, and uh one of the marketing top marketing managers, uh, she was like, We should talk about this more.
We do so much for open source, we should talk about this more.
So JetBrains like is very generous, and uh, I think JetBrains could do much more of like just talking about that and speaking about that because uh and uh of course that that could probably maybe um help other countr uh uh companies to you know also do the same or just convince them.
Nothing like setting a good
example, yeah, yeah, yeah, exactly.
There is uh actually this open source uh pledge program.
It's it was launched by Sentry.
So basically they wanted to encourage companies to yeah to donate to uh open source and um but uh the rules that they have uh I think you you have uh they have like a certain threshold when you qualify uh for this kind of um for their program.
And unfortunately JetBrains actually doesn't qualify because uh um because it it the the head count of jet brains is quite big.
Uh so although that they donate a lot, uh it's still uh so it's it's easier for like smaller companies to to qualify for this, which is unfortunate because it would be um so for example, uh let me let me clarify.
So for example, if if Microsoft donates, let's say to Python or to Django or to PHP, uh let's say 100,000, for them it's like 0000.1% of their revenue.
Uh but um so they don't qualify sort of for this program.
But if for example a small company of three people donates one hundred one hundred thousand per year, that's for them like a lot.
So um uh so I I'm I'm trying to say that this is a great program to and to raise awareness of the problem and just to make companies to donate.
Um but it could be maybe a little bit better in kind of um shifting towards uh big corporations donating to uh uh ecosystems.
Yeah a linear scale is never gonna work as you go up right
yeah yeah yeah yeah exactly well I
we're coming a little bit up on time I do want to mention so people who want to learn more about PHP you have a number of resources you have the PHP annotated newsletter right we'll have a link to that you have a YouTube channel
can I just bump in can I just bump in I was looking at the the newsletter in preparation for the show there there was a recent there's an episode uh an article you linked in the latest issue which about from PHP version three to version
eight and how how it's evolved and that was perfect for me because I was like I didn't know about what had gone into seven and eight and so I I went back I was oh yeah I remember this I remember this I remember this okay that was a oh right and that was a really good article so link to that
perhaps yeah indeed that was a really good article yeah I think uh I it takes me a lot of time to prepare this um uh PHP annotated newsletter because it's it's handcrafted so I don't I I go through all the news and read all the tweets myself takes a lot of time but uh the
result is um that it's very uh they concentrated and I I usually find uh things that are not available anywhere else and uh I'm I'm happy that it helps the community to stay um like or to catch up on what's happened uh on what happened in PHP world and not like read through all the noise.
And I think uh there are a bunch of other resources um out there for example for Laravel it's um larval news it's their website it's uh quite an interesting website I think for YouTube uh I think there is a PHP annotated YouTube channel which is uh by made by our colleague Brent uh it's a really nice YouTube channel about PHP and um all things around it.
Um you have a YouTube channel I mean you talk about many things I mean I really liked your MCP server video.
Yeah we haven't even talked about AI in this talk in this talk but you know you and I on the ground PHP store and PyCharm all the or many of the jet brains IDEs are now rolling out AI features so
yeah so with the with mcp I was uh it was fun to discover that and this um the creator of uh mcp he now works at anthropic but back in the day he used to be a um PHP core developer and he was a release manager of
one of the PHP versions uh yeah his name is David Soria para so I was uh I actually invited him to come to uh PHP is gonna turn it's turning in 30 years uh so it's the birthday will be on June 8th yeah so I invited David uh to come to the celebration to Amsterdam office so we we're gonna have a celebration party um celebration event uh JetBrain's office um in Amsterdam um so we invited a
bunch of uh different people from the PHP community to come uh to mingle and uh we'll do we'll do some like uh online streaming um event just uh stream interviews and uh talks from them and I invited David and uh a bunch of other uh people who are not uh in PHP anymore but they used to be part of the PHP world uh unfortunately he he told me that he has a meeting with Bill Gates the same day so uh he
couldn't make it
okay what an excuse
yeah but uh I'm using I'm using PHP to build mcp servers um it's uh I was actually uh I tried both Python and um and JavaScript and Kotlin but I was like I really want to do it with PHP and I found um I really like the UVX so it's uh it's like a a runner for PHP uh for pyth
on scripts or uh it's super cool I really liked it uh so I built a small python package that allows you to run PHP scripts or php packages uh with UVX but basically what it does this is the way behind the scenes what it does it downloads PHP and runs php screen but it just works so fast so smoothly and I wanted my friends who don't have PHP installed just by they do have Pyt
hon I want them being able to run my MCP servers easily and so I can just give them one command and they can run it uh with UVX.
So UV's busy taking over the whole world and um in Python so it's nice to see but doing the same thing over there as well.
Yeah yeah yeah that was the big there was at PyCon US which just happened um I think it was I think it was Charlie from uh from Astral so UV Rough um they he had an the sort of an open space and it was unsurprisingly very very uh crowded they just released a type checker I think it's called tie so that's another case of small group of people got some funding doing really great stuff rewriting everything you know from the
ground up and yeah we've we've talked about UV on this podcast but I think most people would not have assumed that a package manager could you know in a year do what it's done in terms of popularity.
It seemed like an area that was just too difficult and too convoluted and they just blasted through and now they're kind of working their way through the Python ecosystem
doing that.
Yeah I I love it I uh I admire it very much it's such a nice tool and uh you know they there there are other people may have like you know take it for granted like okay we have uh we have already a package manager why don't why do we need another one and it's impossible to build another one but then they come and they just
can't it's that big part of money.
Well they they still they start they to be fair they started without the pile of money but yeah it they did they did they did um so if people want to connect or see more we you have a per we'll put links you have a personal site uh you have a YouTube channel PHP annotated people should obviously check out php storm if they need an IDE uh any other uh follow you on the socials we'll put links to that
I'm quite active on Twitter and LinkedIn uh I do have
accounts on Blue Sky and Mastodon uh but they those are more like in a read-only mode I reply to everyone so feel free to reach out yeah
well thank you so much for for taking the time I we've had some scheduling issues getting this in because you've been very busy but appreciate appreciate this we had one of our first episodes with was with um David Hennemyer Hansen from uh Ruby on Rails.
And uh so this is a tradition and I hope every year or two to have someone from the outside come in and shed some light on you know what else is going on in the programming world.
Thank you so much for having me I really enjoyed and I'm happy to collaborate with the Django world and the Python world.
Great thank you
thanks again.
So DjangoChat com links to everything in the show notes and we'll see everyone next time bye bye.
Bye bye bye bye
this episode was brought to you by Button down the easiest way to start send and grow your email newsletter