Transcript: PHP Web Frameworks - Roman Pronskiy
This episode is brought to you by ButtonDown, 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 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, you know, what Laravel and all these other things are doing.
So I want to talk to you about your background and then web stuff.
Oh, 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 a 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 php4 php5 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 oh yeah oh yeah um over that time and then the other thing
i'm sure will will top on is like we're always looking over the over the over the fence at the
different frameworks and particularly lara it's got a great marketing effort we're always like
oh we should do more in that space so you know talk about those kind of things would be amazing
absolutely gone well anyway that was i just wanted to say that 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 going to assume you were using
php and django 25 years ago but 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 oh dang yeah good for
you i oh i must i must get your your 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 school class
machines that and uh gta1 if anyone remembers that game like with the top down view um so i
was a big fan of that one uh back then and i was yeah started programming this turbo pascal and
then 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 program website for us i was like okay i need to google
what they do for websites uh because i was uh using of course yeah i was using c mostly in java
for all the stuff 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 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 um maybe introverted enough to
to do deep math 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 yeah i was i was doing other languages um on the during time so i was uh working as a software
engineer in different roles and i i used python quite a lot not django but just for apis
and javascript obviously both on server side and front end java a little bit also some once i had
to do salesforce development so i discovered that they actually have their own language sort of
like built maybe or 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 yeah i'm saying salesforce and my eyes just going
blinking yeah because it was a um i mean it was a job like like i had to quickly get into it and
understand what's going on there so i was like okay i will do that no problem uh but i really
loved php all that time so whenever i was like away from php for a short time i was like i want
to go back to php 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 with php it's one of my lasting memories if it really was
like yeah let's just no nonsense let's get it up let's you know include the header let's include
there's still all these things as 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
joy well quick answer is i i think totally yes and but i will explain what i mean by that so
obviously the the requirements to web applications has changed and the expectations from of users
expectations from websites are totally different these days these the websites should be um very
dynamic and uh nice looking and a lot of functionality is uh is uh taken as given so
you like 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 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 not a new idea that's what i think non-developers don't
realize is like we've been you know half doing stuff since forever it's not a new thing indeed
and then and then but 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 of jet brains to um to create us uh i need i needed a
simple demo application and i used uh that simple simple demo application that uses some api so i
was using first i was like okay i will try a 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 or django chat podcast i tried actually doing the same with python in pycharm
but i used uh not django i used um i think it's called fast right oh fast api yeah yeah i used
that uh and i was able to get results real quick as well so i i really like that experience so
i mean it's it's not just laravel but what i'm trying to say is that these days a php experience
is is the same as in it's very easy to build things you don't need to to do you have a simple
blocks that you can reuse for simple applications. And then on top of that, you can add your thing
and the ecosystem, like the number of packages and number of the things that people already
created for you. And the quality of those things is 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 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
very much in the javascript or python ecosystems and you you know some things better maybe it's
also the same experiences and uh you know what to use and the quality is there but
at least with javascript i felt like there are many things that are nice ideas
and but not like deep enough to use it uh well for something real at least i mean i don't want
sound uh as an old guy here it's not but uh that was my at least feeling 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 yeah and the
answers yes absolutely has as it's quite yes absolutely yes i'm yeah it has 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
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 asking can 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
built into apache and because you know mod php and it was just like you know just pick up the
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 just becomes much more
complicated and so my other my other sort of question is has php managed to maintain a good
deployment story there or is it did it did it follow the is it very similar to say bison 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 answer to this question is maybe more complicated so i think
it maintained this simplicity for uh just deploying files wherever when wherever you want like to just
to a web server somewhere and you can set up this web server however you like it could be a shared
hosting or it could be a dedicated server or it could be some cloud provider uh like aws or
cloudflare whatever so in this sense it's it's similar to other i i guess uh web stacks so
it's quite simple still but it's not that much different maybe from other stacks well it was
javascript i guess you need uh is that you need um the difference is that with javascript you
usually you have some kind of transpiling compilation stage usually these days so 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
And that simplifies things very much.
So basically, you think about it as a serverless by design.
So it's a shared nothing architecture where you serve something,
you throw out the response, and that's it.
So for simple applications like web applications or many APIs,
it's so simple and it simplifies things
and it simplifies the development and deployment as well.
However, we see that many applications, they use Docker.
And for Docker, again, I can say it's simple,
but maybe it's a little bit different from JavaScript, again,
because JavaScript comes with an HTTP server out of the box.
I'm speaking about Node.js, which it comes with a HTTP server.
So you can kind of have an isolated microservice
with no, like, additional web server on top of it,
like Nginx or whatever.
You can just have a microservice with JavaScript,
and that's it.
With Python, I don't remember,
but you kind of have additional tools.
It's similar.
Yeah, it's similar.
You end up running, like, 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,
moving from PHP to Python,
it was the one thing where it was like,
no, this is much more complicated.
It was, you know, just drag FTP up your file
and reload and it was done.
Yeah, so I think with Docker,
maybe PHP is slightly more complicated,
but just a little bit, I would say.
just because you always need this extra HTTP layer
on top of it if you want.
So one of the ways to actually navigate this
is there are like application servers for PHP
and one of them is FrankenPHP.
It's an application server built in Go language
on top of Caddy web server.
And this is now an officially PHP-supported project.
It's supported by the PHP Foundation.
And we see a lot of applications for this flow,
and we assume that it's going to simplify this kind of developments
or this kind of flows for users.
So it's not for all users, but we see that for many users,
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 on the
grapevine it's the new hot 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 a user base real quick and we see many um many php users as in
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 kind of gives it a seal of approval, right?
Again, yeah, so it's an additional approval, an additional signal to businesses
that they can rely on it, so that it's going to be maintained if any security issue
come up we will fix them uh in like timely manner and uh yeah so 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 well 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 Symfony are the two dominant web frameworks for PHP these days?
Yeah, I would say so. We see that on the statistics, like PHP storm statistics and
in general surveys, we see that those two are most popular and dominant frameworks within
PHP ecosystem. The other framework-ish is WordPress, which is not a framework per se.
you can say it's a cms but in fact it kind of works as a framework if you think so if you like
think like deeply about it it's because it gives you again this uh certain
rules or uh guidelines how to build your applications and structure and it comes with
lots of tools built on top of it and extra packages built on top of it so you kind of
it's kind of as a web framework as well so i would say these three platforms we can use this
word maybe just to not confuse people or not trigger the purists so it's platforms the most
dominant yeah dominant platforms within php community so it's laravel symphony and wordpress
There are a few smaller players, smaller frameworks that have some maybe regional, let's say, preferences.
So, for example, in the United States, there is still CodeIgniter, popular.
Well, and in the Eastern European countries, there is E-framework.
in China there is a it's called Hyper F or Swole framework it's a another story it's very popular
in China so there are some yeah other players but on a global arena we can say totally that's
Laravel, Symfony 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 use one of those
three over the others so with the larables and symphony it's um i would say they're very um
similar in a way what you can achieve and they both provide you like the way to build applications
real fast because they have uh actually one thing that you may not know um symphony is a framework
that um it comes as a set of um packages separate packages let's say um symphony console is a
is a package to to create like uh cli commands or for example there is a http kernel with which is
a um just an uh a layer of handling http requests within symphony so the the fun fact is that laravel
is built on top of those components so his laravel is like at least 30 symphony under the hood
so they are very interconnected and that allowed laravel author to to build his framework real
fast because he used reused symphony components so it's a is basically the what i'm trying to say is
that the quality will be very high on both i think it's more about the taste as in if you prefer
maybe more street standards um more nicer design and 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
Or at least they tried to make it more correct in many aspects
and reusable by other frameworks, as you can see.
Whereas Laravel is maybe leaning towards quick development
when you need to achieve results quicker.
And so it kind of cuts the corner somewhere.
So it will be good for, let's say, 85% of stuff you're doing.
Maybe if you're hitting this another 15%, it will be not so convenient
and you will have to work around stuff.
So, yeah, so I would say it's basically just a matter of your preference
in terms of like code style or how you prefer building applications.
So if you like kind of move quickly, roughly, I don't know.
And then Laravel is your choice.
And if you're like a more strict design,
then Symfony would be probably better.
So in this regards, I don't know if,
so I'm into music production
and in music production,
there is these different tools as well.
So there is Ableton, there is FL Studio,
there is some other things.
So I like to compare it as these tools
for those who are into music.
So FL Studio allows you to build stuff real quick.
It's a little bit messy,
but it allows you to build stuff real quick
and get results real quick.
ableton it's more strict but you can build good apps with both it's it's just a preference of
taste with wordpress i think there is a more uh con concrete or more specific uh um
guy a guy tends on when to use it you use wordpress when you have very specific task
for example you need to build um 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 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 just a
blog, yeah, just go use WordPress. It does that real nicely. Basically any task you may think
for a blog, it's already 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 can be successful with either laravel or symphony just
uh the style is 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 are very like uh
reusable so what but it's not reusable actually uh vice versa so if you're using symphony 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 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 is 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 Laravel or something else?
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 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 newcomers often want to use.
Carlton, what were you going to say?
well i liked the i liked the i didn't know that um laravel was built basically built around large
parts of sympathy and it sounded i guess i'd ask from your your response there is would you
is it fair to say that maybe you could start with laravel and then sympathy something you
could grow into it can be yeah 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 start with the laravel and you stick to it
and then yeah yeah yeah it's yeah you just like it and you feel comfortable so we don't see
switching very often uh as in developers switching but the businesses uh sometimes switch
to one way or another uh i think their motivation is uh mostly like how easy is to find developers
um using this framework and um yeah so they they care about 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 will 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 core.
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 JANGO.
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. I wonder, like, is that something you hear from people in other languages? And then that's 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 introduce yourself to people and mention executive director of PHP Foundation, do people know that that exists? Because people don't know about that Django Software Foundation, for example. 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 put PHP on the spot here.
I think inside the PHP community, I think they mostly know about the PHP Foundation.
Mostly, at least those who are just socially active, those who can see somewhere either online or at the conferences or events, 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.
uh 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 do you get like security updates do you like 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
such a technology 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 these kind of foundations and
then they just realize there is a whole world about supporting the open source which to them
is like oh but this is free right it's just free take it well 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
but sometimes it works yeah sometimes it works um so um with the um
well but i mean it's only 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
compared to other ecosystems and languages.
So almost all of them had these foundations, kind of.
So when I talk to, for example,
someone from the Python community
or JavaScript community,
I say, so it's like, let's say,
Python Foundation or Python Software Foundation.
Although there are differences,
but they immediately understand what I'm talking about.
Or Linux Foundation,
which is also a big organization. So yeah, and the reason for that is that for a long time, there was a commercial company called Zend, which kind of was the PHP company that was actually in their model or the description, the PHP company.
So PHP was developed with one developer, Rasmus Lerdorf started, and then two students from
Israel, Andy Gutmans and Ziv Suraski, they rebuilt the language, they rewrote it a few
times, and they started this company, Zend, which is the name is, it comes from their
names, combined Ziv and Andy.
so it's zend uh and they created this company and they were developing php most of the time
through the history and um like basically it was taken um the the it worked as as a
main entity behind the the language and it was a fine until it stopped being fine until
until this
it was
Zend company
was acquired
couple times
so
it was acquired
first by
Rogue
Wave Software
which is
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
which is
at least they know
what is
open source
and they
were
doing better
but still
the they shrink and most of the people left the company and basically it's it
had it lost their influence and lost the manpower basically was just one they
paid one core developer just one developer maintaining the language and
that's it and then another was actually paid by
JetBrains so there were only two developers paid to work on PHP and the
The serious situation, this situation was bizarre, if you think about it.
Like, 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, and then...
And I just want to mention, it's also, and JetBrains was one of the two, because JetBrains has also been very generous to Django.
And 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 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 hope some of them know.
Maybe, I hope so.
Yeah.
I hope so.
But yeah, well.
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
and then but uh we well there was a one of the php uh community and people 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
the bus factor of the php and he said it's two basically there are just two these people and if
bus hits them then php is done 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 come 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 we knew that we we found out that this uh jet brains uh this guy who was sponsored by jet
brains to work on php that he is going to um leave uh basically php and jet brains uh and go to red
had to work on 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's okay so it was
but it's what I'm trying to say that in this this news it it amplified everything
with the PHP foundation and we had to act quicker so what I did is I reached out to
major php companies so wordpress laravel symphony packages it's a company that is building
package repositories sort of like pi pi but for php and
and a few other companies so i reached out to them and asked hey so this is the idea we want
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 all the companies gave some money some of them gave
more like jet brains and wordpress some of them gave less and there was enough money to hire
a few developers so what we did basically back then is we offered those who we started like
an application form. And those who already had some like history of contribution to PHP
and wanted to do that, uh, basically as a paid work, we offered them contract and they,
it was four people, uh, at the beginning, I think. Uh, and they were, they were like just
part-time 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 and yeah so this is what we achieved in almost four years so it's a little
bit more than three years so I think it's quite impressive and I think we started as a very young
a very not ambitious organization as in our goal was very humble and very let's say the scope was
very narrow consciously so okay we were like let's get money from businesses and pay developers to
maintain language basically pay and spray and pray as they say that that sounds like you could
go from quite a narrow 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 well you've got 10
developers being paid well obviously that gives capacity to think about pushing forward and
new exciting innovations yeah yeah so absolutely that's that's exactly what happened so last year
we we received investment from german government and that's when we decided okay we we received
the investment so and they give investment 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 consciously
maybe longer projects and when we have this investment and investment is great because
it's basically a guarantee that we will have money for this project where with sponsors is
always uncertain we don't know the sponsor can drop out anytime 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 we were yeah we were very lucky to get this investment and
i mean it was not just luck it was a lot of preparation to to work to get it but still i
think there is a lot of luck playing a role as well. So we
last 10%. Yeah. So but we found developers to work on those
projects. So we became less humble and maybe more ambitious,
still trying to be not too ambitious, because, again, we're
not a commercial entity, we're a nonprofit. So we very much rely
on sponsors and sponsors, they the their business can change.
Sometimes it goes up, for example, like with WordPress or
WordPress generously increased their amount of their donation
to the PHP foundation, which is super great. The WordPress they
were given money was no questions asked, asked from,
like, first day, they were like, Yes, this is the money to it.
And so, yeah, but some sponsors, their business changes for different reasons and they stop sponsoring and it's normal.
So we try to be very careful with expanding.
And even 10 developers is already quite a big team.
Yeah, no, it's massive.
yeah it's uh we're we're trying to not expand um when we don't need to just not to expand for the
sake of expand and that and actually we one idea we are thinking about right now is maybe work more
just like project um on project basis so for example we have a certain feature idea or a
certain project then we can sponsor this project and sponsor people to work on this project
specifically, deliver it and then see what we need next. That works for things with a very
with some isolated things. So for example, one of the things we did is a security audit
for PHP. And it was the first external security audit in long time, at least in 10 years.
So, and what we did is we, we found an agency, basically like penetration agency, security
agency, and they analyzed 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 actually they found a few severe security issues.
It took us almost half a year to fix those issues
because those were very severe issues.
But the result is amazing.
The developers were like,
whoa, we didn't know we had these issues.
Yeah, so I think this is an example of a very nice project.
Okay, so it's a blue skies.
If you think the funding horizon is nice and rosy
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 or mad um yeah well uh we i think we're um we have a really
nice uh sponsors 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 bumble and bumble is a php company so i was uh i was actually yeah talking
to them they're very like they're if you think about their load is very extreme that like they're
very high load application their response should be very fast because people like swiping 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're super happy with using php our business grows it allows us to move fast but
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's like that, like it was back then.
So 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 if you already know PHP or you want to move fast
or you have developers who know PHP,
you can be very productive and very successful uh and 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 with that's i think one of our missions is to um
show people the modern php okay so get this so you'll just wishlist items to get the message
out better yeah yeah yeah it's a i think um i think we're good within the php bubble so
people who use php are happy with php and 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 a part of the strategy
let's say yeah very good very good we'll have to come and sneak into your newsletter yeah
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
people inside the ecosystem very happy with it but how do we reach out beyond that it's
you know i think it's a standard problem that evangelism message and speak like something that
you mentioned at the very beginning is laravel marketing and it's insane so they are just
really good at marketing yeah so but i mean actually there are a taylor outwell who is the
author of laro framework 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 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 it still need doing right yeah yeah but uh yeah i mean the guy is really
good in marketing what can i say and uh yeah but and then they received investment so they are now
backed by a excel venture uh capital so yeah i guess they're super successful well things
cost it and it'll go wrong in the django world we look a little bit some degree of envy but also
just realization of you know an open source non-profit 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 going to build he's building
a hosting platform similar to what Laravel has done. I mean, it makes a lot of sense. 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. 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 Taylor, something happened to
him, there is a community, but there's these risks. So anyways, yeah, when you deal with
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 the executive director
foundation right it all comes down to people and absolutely yes i think one thing they did
differently i mean uh laravel so he started with building um commercial products around
laravel from day one so basically he as you said he built this um deployment tool and then other
tools and they were like paid tools the framework was free open source and all the ecosystem around
the framework was open source and free but he built additional tools and that allowed him to
basically work full-time on the open source which for example with symphony they they had different
model they didn't have company for a long time behind them so uh yeah it's i think it can work
different ways both ways you know going fully open source um and having commercial products
both ways can work money helps yeah money helps well i wanted to um so you were does the php
foundation works 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 as
with as less hustle as possible just basically two things uh and the open collective uh i was
in contact with the e-framework um maintainer and author and i talked to him and a few other
people who use different platforms and for collecting money and open collective had the
really great recommendations um so we started with the open collective they they basically
work as a an umbrella organization for different nonprofits so you don't have to register your own
entity or your own nonprofit to work with open collective they take care of that for you as well
as they provide uh money uh money platform basically platform to collect money and uh we
we were and we are very happy with both one thing to mention is the fee which is 10 which is quite
high fee uh on my opinion especially for us when our budget is 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 one maybe disadvantage addition in addition to money
is that uh the they provide you this non-profit um american non-profit uh entity it's it has some
code which is 501 3c yeah so and it's not three it's six and the difference is that uh six uh
was six i don't know the details but uh the difference is that there was six you
the organizations that are 501 three i forgot like yes 501 c3 versus 501 c6 i forget them too
yeah yeah so this the sixth one i think it can do political stuff in the u.s and this is why
sometimes you cannot apply for different open source programs for example you cannot get
google workspace for free with this kind of entity but if you were 501c3 then you can get
So this is difference, but, uh, for example, sometimes we, when we cannot
apply automatically, I just reach out to these companies and I tell them about
the PHP foundation and they're, they're like, oh yes, okay, no worries.
We can, of course, we are not a political organization or whatever.
So just, yeah, for example, that worked with Slack and Slack 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 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 that's that's uh slack is using the dialect uh from facebook so basically
facebook was built on top of php but then at some point they build their own um virtual machine for
php called hhvm hip hop yeah you're right uh vm and then they built 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 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
sorry for two years when mike krieger one of the founders um was still there they contributed
i think twenty five thousand dollars 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 need so it's not you know it's not django per se
but python that's benefited from that usage yeah well carl meyer some some core django people
went to facebook worked on python um so yeah something could they do more yeah they could
Of course they could do more. Every 20-odd billion last quarter, they could do more.
I mean, this is a thing. 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 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 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 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 had fun fact, like we had an internal conference inside JetBrains. And I was giving a talk about the work that I do for the PHP Foundation. And one of the marketing, top marketing managers, she was like, we should talk about this more. We do so much for open source. We should talk about this more.
so yeah jet brands like is very generous and i think jet brands could do much more like just
talking about that and speaking about that because and of course that that could probably maybe um
help other companies to you know also do the same or just convince them nothing like setting
a good example yeah yeah yeah exactly there is a actually this open source uh pledge program
is 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 have a 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 the headcount of JetBrains is quite big.
So although they donate a lot, it's easier for smaller companies to qualify for this,
which is unfortunate because it would be... So for example, let me clarify. So for example,
if microsoft donates let's say to python or to django or to php uh let's say a hundred thousand
for them it's like zero zero zero zero point one percent of their yeah 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 100 100 000 per year that's for them like a lot so um
So I'm trying to say that this is a great program
to raise awareness of the problem
and just to make companies to donate.
But it could be maybe a little bit better
in kind of shifting towards big corporations
donating to ecosystems.
Yeah, a linear scale is never going to work
as you go up, right?
Yeah, yeah, yeah, exactly.
Well, 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 newsletter in preparation for
the show there was a recent there's an episode an article you linked in the latest issue which
about from php version 3 to version 8 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 7 and 8 and so i went back i was like oh yeah i
remember this i remember this i remember this okay that was a right and that was a really good
article so yeah yeah indeed that was a really good article yeah i think uh i it takes me a lot
of time to prepare this um 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 it takes a lot of time but uh the result
is that it's very concentrated
and I usually find things
that are not available anywhere else
and I'm happy that it helps the community
to catch up on what's happened
on what happened in PHP world
and not read through all the noise
and I think there are a bunch of other resources
out there
for example for Laravel
it's Laravel News
it's their website
It's quite an interesting website, I think.
For YouTube, I think there is a PHP-annotated YouTube channel,
which is made by our colleague, Brent.
It's a really nice YouTube channel about PHP and all things around it.
You have a YouTube channel.
I mean, you talk about many things.
I mean, I really liked your MCP server video.
Oh, thank you.
We haven't even talked about AI in this talk,
but you know you and i on the ground php store and pie charm all the or many of the jet brains
ids 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 entropic but back in the day he used to
be a 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 i actually invited him to come to a php is gonna turn
it's turning 30 years uh so it's the birthday will be on june 8th yeah so i invited david
to come to celebration to amsterdam office so we're gonna have a celebration party
celebration event jetbrains office in amsterdam so we invited a bunch of different people from
the php community to come uh to mingle and uh we'll do we'll do some like online streaming
event just streaming interviews and talks from them and i invited david and a bunch of other
people who are not in php anymore but they used to be part of the php world
unfortunately he he told me that he has a meeting with bill gates the same day so
he couldn't make it
hmm
okay
what an excuse
yeah but
I'm using PHP to build
MCP servers
I was actually I tried both
Python and
JavaScript and Kotlin
but I was like I really want to
do it with PHP and I found
I really like the UVX
so it's
It's like a runner for PHP, for Python scripts.
It's super cool.
I really like it.
So I built a small Python package that allows you to run PHP scripts
or PHP packages with UVX.
But basically what it does...
This is the way.
This is the way.
Behind the scenes, what it does, it downloads PHP and runs PHP script.
But it just works so fast, so smoothly.
and i wanted my friends who don't have php installed just but they do have python 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 and so it's nice to
see you but doing the same thing over there as well yeah yeah yeah that was the big there was
at PyCon US, which just happened, I think it was Charlie from Astral, so UV Rough.
He had sort of an open space, and it was unsurprisingly very, very crowded. They just
released a type checker. I think it's called Ty. So that's another case of a small group of people
got some funding, doing really great stuff, rewriting everything from the ground up.
And yeah, 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 love it.
I admire it very much.
It's such a nice tool and the, you know, the 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.
It's that big part of money.
Well, to be fair, they started without the pile of money, but yeah, they did.
They did.
They did.
um so people want to connect or see more we you have a 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 follow you on the socials we'll put links yeah i'm quite active
on twitter and linkedin uh i do have accounts on blue sky and macedon uh but 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 taking the time.
We've had some scheduling issues getting this in
because you've been very busy, but appreciate this.
One of our first episodes was with David Hennemeyer Hansen
from Ruby on Rails.
Oh, nice.
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 it
and I'm happy to collaborate with the Django world
and the Python world.
Great.
Thank you, Will.
Thank you, Carlton.
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 ButtonDown,
the easiest way to start, send,
and grow your email newsletter.