"A complex saga of developers scattered around the world, all living under the rule of the elePHPant technology."
PHP is going to die. We're all going to die. We've been around PHP for over two decades, and we've seen many concepts and tools gaining and losing favor. That's the knowledge we aim to apply for the support and advancement of the PHP language.
The PHP Foundation is a non-profit organization formed a year ago by well-known PHP folks as well as major companies from the PHP ecosystem. Come to this session to learn what we have achieved during our first year and what we are planning next. We’re eager to answer your questions and look forward to hearing your suggestions.
_ _SEBASTIAN BERGMANN:Thank you for the kind introduction, good morning, I am Sebastian.
I am Roman. Let me thank you for inviting us and giving you the opportunity talk about the PHP Foundation, and if you are already a sponsor of PHP Foundation, thank you for that. If you've never heard about the PHP Foundation foundation, or are curious do I really want to give these people money, can I trust they will do something useful, and hopefully we will be able to convince you to day. Okay, so the PHP Foundation. Our dimension here,
SEBASTIAN BERGMANN:I've been doing things with PHP Foundation, for a really really long time no, I started in 1998, with PHP Foundation 03.18. That was painful. I want to make the pain go away so I got into development in University, blah blah blah, I'm not supposed to talk about PHP today, and I don't want to talk about myself, hi I do PHP units and things, this is Roman, he's more interesting than me.
ROMAN PRONSKLY:Been around PHP for a long time, my first PHP is 5.2 I guess, I did my work at jet brain. I did marketing for PHP storm, and probably heard about PHP update news dealer that is also on me. And I hope with PHP Foundation.
SEBASTIAN BERGMANN:We will talk about that a lot before we get to PHP Foundation we need history. But anyone before anyone from the audience completes, yes, this is a photoshopped photo.
[LAUGHTER]
But of course it is probably a stock photo garage in Silicon Valley. I have been there, it looks like that over there but in every garage, do something meaningful happen. Those four people that they photoshopped into that photo, that's an article from 2004, if I remember correctly, there was open source and that is from Forbes or fortune, one of those magazines. And they photoshopped in their the creator of Lenox. Greg Steen from the Apache software foundation, a guy in the back with the long hair. Rasmussen is looking to the site, he created PHP, 27 or 28 years ago, and Martin, who was the CEO, I think of MySQL VP which was bought by son which was bought by someone else. And there is a fancy song in the open source world, we had joy we had fun we had seasons in the sun, then Oracle bought son, blah blah blah blah, it is sad what happened there but anyway. These projects have all been around for a really long time. The acronyms of those projects made up the land stack which was a pretty impactful term for at least a long period of time. I hope nobody uses Apache anymore, ASF has good open source software, but please do not use Apache. He something more modern like engine X or county or what have you, but I digress. So all of these at some point thought about, we are a big open source project, we want to find our development, we want to make sure we can continue to deliver maintenance and new features and so on. And we want to find a good way of actually doing that. So in 1999, the foundation was founded as a nonprofit to support development of Lenox. A year later the Apache software foundation was founded, so that happened, MySQL from the beginning was different than those other project because it started inside an existing company, so they had commercial backing from the get-go in the form of MySQL a B. And then Oracle acquired son, and then son became another foundation which was founded some 10 years ago. PHP started in 1995, did not have a foundation until last year. So how did that happen. Well, it happened because we are afraid of buses. Yes, poor little elephants on the street, a big bus comes along and runs it over. Yes, this is the bus factor. And, if you go to Wikipedia, you will see the bus factor is a measurement of the risk resulting from information capabilities not being shared among team members. Derived from the phrase in case they get hit by a bus. Applying to open source project, this applies not only to software projects, this applies to any project. If there is one team member and he or she is the only person who knows that the specific piece of information, and they are sick or they leave, or whatever, get lost to the brand, that information is lost, and what would happen if that person gets hit by a bus.
ROMAN PRONSKLY:I think in April, or March 2021, Joe Watkins is a contributor to PHP for a long time, you may have known him for extension, it was an extension for programming for PHP, and he duplicated that created parallels extension, so what we appreciate about Joe is he is really straight, and he expresses everything and he brings up all the problems, and here are the blog posts in March 2021 where he noted that the factor for PHP, they are literally two people that concentrate so much knowledge about PHP engine that at both of them for some reason decide to do something else, not PHP, then PHP will be in a very bad position, I would say. And I read his blog posts, and I reached out to Joe to start talking about this. But first we actually need to mention, who are those two people. And those two people are Demetri and Nikita. And I got my first real scare about the bus factor when Nikita finished his studies a year ago, because during his studies he was working a lot on PHP, and we wrote or reflected a lot on the compiler for PHP seven, and get performance improvements and so on and so forth and I feared what will happen when Nikita finishes University ants as well, I'm no longer a student, I no longer have time for this hobby project. And, now I need to make some money and what if he does not find a way to make money with what he is currently doing, and thankfully at the time my fear was made away by a company because Jack Barnes hired Nikita.
ROMAN PRONSKLY:I just saw his tweet, he said I tweeted I finish my studies and I am looking for a job. We message him, and asked what he was up to, you want to do PHP and he said, I want to do PHP. That's how he ended up at jet rains.
Those are those two people in a bus. In April we started this conversation about, what can we do about the bus factor and how to solve it. And the PHP Foundation foundation, it was not new, it was discussed by different people throughout 25 year history of PHP, there were a few attempts to create a foundation so we talked to Joe and we jumped on if you calls with Stephan about Sebastian, and Sebastian himself and Nikita, and we started you drove ideas about how this could work. I think initially we wanted to bring may be more full-time contributors, or maybe we didn't know what we wanted. We just tried to start conversation, just thinking about what can we do.
After lots of discussions, we figured out what we can do and what we want to do and of course you have to have a vision statement for something like a PHP Foundation. And what we came up with is we support, advance, and develop the PHP language.
I guess I need to mention at the time when we started, we did not know that the focus would change. In September 2021, last year, Nikita came to us,
It certainly accelerate things.
Yes.
Before that people like okay, we want to do this, we will take the time it will take, it will take one or two years to do this, and suddenly we had two months.
We knew Nikita would change his focus from PHP, after PHP 8.1 release, so this was our deadline basically by the release, we need to speed everything up and start working. So the primary task of the PHP Foundation is to fund developers to further advance the develop and maintain the language. The letter is actually very important to us. Because that means getting rid of technical debt and cleaning things up, improving things like the build system, the CI pipelines, making APIs less arcane and more intuitive to use. Not only to reduce the risk of bugs but most importantly making it easier to onboard new people.
As we said the bus factor is true, and the amount of knowledge that these two people have is insane. So, we need to somehow make that not happen in the future so it is shared with more members.
I remember Rasmussen at some conference before this pandemic thing started, I think it was in 2019 or 2018 actually, he said if you ask me what that PHP project needs, we need more Nikita's, that Nikita's do not grow on trees, and you cannot go to a store and buy more Nikita's. So we need to grow them ourselves. And in a larger scope, that's what we want to do. And also have to mention about the maintenance, the thing is there is a community around PHP, and you can see RFC's and future ideas, submitted from time to time, but the maintenance part, you do not see, but it is a lot of work, a lot of back fixing, and enormous amount of time. And people don't want to do it as a hobby.
Images not, it is a lot easier to get accepted to speak at the conference for instance if you say hey, want to talk about this fancy new feature in PHP, then hey, me talk about all the bugs I fixed in the last year, and how I made the life of everyone working on PHP easier, there's a disconnect there, and we are trying to close that gap. Of course, our developers and the developers we fund also work on new features but some maintenance needs to be done. One other important thing is that we, that the PHP Foundation does not interfere with decisions of the existing internal community. We participate, we present RFC, and we vote on them, but the foundation has no power above the RFC process.
And this was our model from the get go. That was clear from the very beginning, we do not want to interfere there. I can start with it. As we said before, we had a tight deadline, and we had to make it quick so we considered a few options on how we can start the foundation from a legal perspective. And as I said there were a few attempts to spin off a foundation and is a nonprofit organization in US or Europe, that would require a lot of paperwork and it would not happen really fast, and also, it had some disadvantages, but fortunately we came to, we found an open collective thing, you can think of it as a foundation service provider. So they take care of everything. It's a platform for taking money and distributing money.
To Texas and everything. And they basically, what we have to do is find people and do our work, we can do not legal things. They take a fee for them. But, I think it's perfectly fine. It saves us a lot of time.
We would not have been able to start the foundation in the two months that we had with this foundation as a service like open connect. Roman already talked about money and taxes and fees, and one thing I really liked from the beginning about open collective is that it is 100% transparent. Every cent they gets into the foundation is locked in on a trail that everyone can look at, if people are not contributing ants, so it is fully public. And every cent that is spent is also there. You can go to the website, the numbers today will look a little different because those are from 48 hours ago or so. Sorry about that. But, until two days ago, $664,000 were contributed for which we have to pay $84,000 in fees.
This includes the open collective fee, and that payment processing.
Payment processing and credit card payments, whatever, and fees for open collective, legal C services. Basically they are our legal entity and provide that as a service. That leaves is $580,000 that actually are in our accounts that we can spend. If you look into where this money is coming from, it is 77% from what open collective calls an organization which in most cases is a company or corporation or enterprise and 23% from individuals.
I want to stop for a minute and just say thank you to all companies and individuals who donated to the foundation.
[APPLAUSE]
We will not release all the names, because it's a lot of companies and a lot of people, you can find all of them on the website or the open collective page. Thank you to everyone who donates. About 60% of the funds we have raised so far are one-time donations and 40% are reoccurring donations. But, reoccurring only means that somebody has said okay, until I cancel this, every month please take this amount of money, there is no legally binding commitments there like for the next 10 months, years, I will pay this amount. So, I mean it is a lot of money that we currently have, but still, we are sometimes scared. If something bad happens, and suddenly all of the people cancel their contributions then that account will run empty rather quickly.
And as you saw on the previous light, the major part of the donations comes from big companies. And if some of them drop out, that would be really hurtful towards the foundation. So, what have we done with the money so far? We started in April of this year.
We took some time to prepare contracts and find the people and talk to them and convince them that they want to be employed by us. If you have any questions about that, talk to one of our developers here in the front. George. Thank you. And, we took our time and only in April started contracting developers like George. And, so far we've paid $104,000 for development. I think it is slightly more because we paid for September. It is a lot more, that was before the payout that I accepted on the train right here yesterday.
We sometimes get questions, why don't we spend everything? And there are two reasons for that, first, at the very beginning, there were not that many candidates, so we had six candidates who wanted to do this work, and we wanted to hire them basically.
There were a few more who expressed the will to do that, but they did not have a track record of contributions to PHP.
There was one medical he start later.
We consider them a candidate for the future when we have more funds, and we could teach them, in a mentorship program or something like that. And another reason is we wanted to do baby steps and be conservative, so, for the foundation, it is here for a long time, we don't want to distribute all the money in one year, and close everything, no. We are staying for years, that's why we need to guarantee that it will move slightly slower than probably we could. But we will be safe. This is what we keep in mind.
And we want to be sustainable and not blow everything and have one good year with a lot of stuff happened because we hired dozens of developers full-time, or whatever, and then afterwards we are at the same point that we were at the beginning because, so we want something sustainable for the future. And, so in case you are wondering, these are the six developers that we started with. As was mentioned, George is here at the events. He will present today or tomorrow. And in French even. You probably know Arnel, I think he contributed support, this is an aesthetic analysis that was his job.
Martin, and Derek.
Derek is an author. Ilia contributed a few things, I think that was from Ilia originally, and Jacob, he is basically our FPM guru. If you are using PHP FPM like you should, you are doing things that Jacob is responsible for, and he has fixed so many bugs, interesting and weird bugs recently. This is the board, the administration. Initially, the board was just people we thought could help, and they would do their job, they would not be talking and stuff like that, people that can do the work. They were basically cherry picked from the community. And this is Joe as I said, she is a manager of PHP eight and a longtime contributor, she is one of the architects of HHVM, and you know Nikita and Sebastian. From automatic and that WordPress foundation.
Benjamin is a doctrine contributor. And PHP attributes and
you know him from that, he has his own company called sideways, which is a major sponsor. Composer, we'll use composer. Composer
packages. Nicola Symphony. He is here. In Matthew from ZEBT. Project lead and framework.
We meet every two weeks in DC denies discussions.
That's what we use that money for, flight somewhere, of course not, these are online meetings. And we also have this community around the foundation as I mentioned, Demetri and Rasmus were blessed with the idea of the foundation, and help with some comments here and there. Writing a PHP blog post every month where he overviews what the team has done not only PHP foundation but the whole core team. If you do not have time to follow every discussion about what's going on with PHP, you can describe to the newsletter and blog post and have a short recap of what is happening. Tobias, he is our code of conduct elite. He overviews and make sure everything that follows code of conduct. Sergei is the risk manager, by the way.
We did not have numbers on the screen for far too long. So, if you look at all the commitments that were made to PHP since we started paying the six developers, all six of them are in the top list of contributions. And of course numbers do not mean much. Jacob worked as hard and did a lot of contribution at the same level that George and market Martin did, just in fewer commitments.
You can see it is a big part of PHP development currently.
And to give you an idea of what they have been working on, and they will talk about this at the event, right? So D and F types, true and false types, a lot of re-factoring and cleanup, documentation migration guides for PHP a two is when George worked on, working on bug fixes, bug fixes, and this is at the very core of what we want to do. This is reducing the bus factor. The bus the bus factor for op cash and the optimizer is now no longer two, it is not three yet, but it is like 2.5, maybe on the way to three. But, that is good, and it makes me very happy, and I feel safe. Reduce memory usage of a lot of stuff. And it also shows that it is okay to work on something that in the end that does not get accepted. It goes to show that we do not overrule what the internal community votes on in the RFC process, short closure RFC closures, implemented it, put it to the road, and it was voted against. From that foundation perspective, that is okay. We still paid him for the time that he worked on that, because why shouldn't we, it is research. We now know as a community how we do not want things. That is good. Marta worked on read-only classes improvements to the API structure generator which is very important again to reduce technical debt and make it easier to work on the core.
Derek worked on a lot of bugs in the daytime. And these are really hard bugs to track and fix, nobody wants to do them, thank you Derek for doing all of this. And for managing PHP sound .4 release.
I have known Derek for really long time now and I'm glad he is has his quarks, and he is fascinated by dates and times and time zones, and we are lucky to have somebody like him.
Ilia did a couple improvements and lots of bug fixes and he also handle CEI stuff which is very important.
We now have better CEI pipelines than we did before.
As we mentioned before, Jacob is our FPM guru. He takes care of FPM. He did some factor and improved SN things around it so other folks could pick it out.
It also focused on SSL security stuff cryptography, very important.
We almost got to the finish, and you can ask questions about the future, but you can also scan this code. And this is a survey that we prepared yesterday. Basically, it is some questions about PHP future development. How we want to see, just let us know, all the questions there, you can scroll and answer whatever you want or you can scroll until the end and just enter your email to take part in the raffle. That is also okay. And also in this server there's a picture of the PHP foundation elephant which is coming next year, we will see. So this is something exclusive that we are presenting here for you today. And yes, you can ask some questions now. Anything.
[APPLAUSE]
Thank you.
We can receive a standing ovation, because to maintain our work, actually.
[APPLAUSE]
So, do you have any questions? Thank you for this awesome presentation and the initiative in general. Thank you for helping us to keep on working. And I have a question about the current team and the future of the different projects you will work on with the foundation itself. You talked about on boarding new developers to allow them to contribute to PHP systems, and I would like to know if you have someone in mind that will contribute to documentation on boarding process, compilation process etc. on the PHP itself? Because here we are talking about fixing bugs, which is absolutely great, but since we need to somehow increase the bus factor, we need documentation and explanations on why and how PHP is compiled and stuff. Do you have someone in mind, or do you have plans for that?
Very good question, thank you for that. There is already worked being done on that. For some stuff that was cleaned up and re-factored and made easier, the documentation was updated and extended. That exist. Part of the documentation is PHP internal book. And, the documents how you write certain extensions, how do you extend the language and so on, that is far from where we would like to have it to make it really easy for people. But, it is definitely something that is on our roadmap to figure out how to best proceed there and then find the right person to fill that role.
We have an idea to create a boot camp for developers. But, this will take time to do. It is definitely on our radar, on our table to work on. Everyone is on the survey. Or, people want us to leave the stage so they can have coffee or something. Another question. No.
Some later question about the different person you recruited. It is mostly on the programming things today. Do you plan to open, maybe, two different persons like documentation people.
Yes, exactly, we were thinking about hiring a technical writer to work on documentation. We don't have exact plans of when this will happen. It depends how much donations we get. But, yes, this is a very important thing to do. And maybe if we have this person, we could participate in Google Docs, which is a campaign for a program for documentation teams to improve their documentation and open source projects.
The natural first step for us to start to see developers, because what we need them most of right now, to expand the knowledge, but it certainly, or, we don't want to keep it limited to that in the long run. We just need to keep it slow, sustainable, baby steps. There is one more question over here.
Sorry for asking a second question, I hope nobody has another question. I had a hot take as a question, Daniel from the software decided to introduce rust hyper, into the library. Also rust is in the.[INDISERNIBLE] Are there some plans to maybe try to make some research on introducing the rust to the PHP internals?
I do not think we discussed that.
Can you give George the microphone? Hop on stage.
Hello! I think with rust we have not looked into it because a lot of the extensions, and a lot of the language in the VM, it abuses C in ways you can't do with rust. It does stuff with memory, like memory layouts, a lot of all cash is having assumptions in how the layout isn't basically being able to extract it. That is personally why I have no idea how op cash works, because it is like black magic to me. I will not lie. Just working on it, even for me it is a big relief, it's like okay, with somebody who can work on it. But, I think for us, like, I don't think it's off the table, as is the typical joke, let's write everything in rust. Maybe for extensions. So keep the core for the time being, and provide a foreign interface for Russ to interact with. I know there are some projects that do that already on their own, but I have not had a look and I do not know rest yet. That is on my plan to do as well.
I think the development, Sebastian and I are more core developers, and more core developers will decide these things, the more they learn and figure out, what would be beneficial to the core and rust, seems to be beneficial. Yes, why not?
Thank you very much, it is done now.
[APPLAUSE]
Tweets