 Please give him a warm applause. Thank you. So today I'm going to talk about contributing to WordPress core. And this talk, though, will not focus on how to get started with contributing to the core. So I hope you've been at a contributor today before, or maybe yesterday, or in general, even if you haven't been to a contributor day yet, you can still go there later and maybe memorize something of what is part of this talk. Because this talk addresses what comes after a contributor day if you want to continue contributing. If you're interested in becoming a more long-term contributor, I will approach this after having worked on your first ticket or patch on the first contributor day. And the way I'm going to do this is basically I'm going to tell a bit of my own story and take out what I basically then share with you what I learned during that time so that you hopefully have a good path ahead of you. So first of all, when I started, my first WordCamp was WordCamp Europe 2015. And I went to the contributor day there and I joined the core table simply because I was a coder. And I thought, well, that's probably where I could help the most. At the time of the core table, it was led by Konstantin Oberlandt, who was the release lead for WordPress 4.3. That was the release that came out a few months or weeks after that WordCamp. And we just had one very simple task to test the heck out of the new site icon feature. You may remember WordPress 4.3 was the release with where the site icon feature was introduced which allows you to treat the FAP icon. So at the point of the WordCamp, that feature was almost ready, but we just had the task to test it. And at that day, I fixed a very small bug that only occurred when JavaScript was disabled, which is probably rare today but still exists and it needed to be fixed. It was only 16 lines of code out of the hundreds that were part of the whole feature. But at the end of the day, actually, this whole feature was committed and I got my first props. So this is what you get when something is committed to WordPress Core where you're contributed to. So it's just that list at the bottom. My username is Flixos90 and that made me super proud to be in the list of people who contributed to WordPress Core. It was very motivating for me back then to have contributed to a big feature. Even though my contribution was very minor, it was just so amazing that I was part of that feature. And I was actually so eager that I even worked on another ticket the same day while I was in the hotel room for an hour. So, again, I will not speak too much about Contributor Day. I would just recommend to all of you who are interested to attend the Contributor Day in the future, if you haven't already, because it's much easier to get started there than if you're just sitting at home or at your workspace and you have to go through the documentation, which is there, but it's very hard to find and figure out, unfortunately. And we're trying to improve that. So over the next half year, I occasionally worked on tickets here or there, sometimes at home, but mostly was still at WorkCamp that I attended. Like here, this is a picture from WorkCamp Berlin 2015. And this ticket was then the first one that I opened myself. It was a small book. It doesn't really matter what it is about. It was a small book that I discovered. And I got a very welcoming response, which was very important to me. But then the next response was that the ticket was closed. Well, at first of all, it was a bummer. After two responses, the ticket was already closed as invalid or what was it? It won't be fixed. Nice. So at least, but I got an elaborate response on why, what was the issue and why this can't really be fixed without breaking backward compatibility. And that's a big part of WordPress. They try to not break backward compatibility, at least in general. So there will be cases where you run into issues like that and you have to be able to deal with them. That's basically just an internal mental thing, I guess. But there are, of course, motivating parts. For me, that was at one point the introduction of the WP term class. You may know the WP post-class, which is a little more common to be used. But WP term is exactly the same thing. It's just a very simple class that only has properties and it's just an object model. For me, it felt very great to be part of introducing a class to WordPress core. But again, when you run into, you will run into frustration while on your path to becoming a WordPress contributor or evolving as a WordPress contributor. And there are a few things to be aware of to prevent that the best way possible. So don't patch immediately and discuss first. Contributing to WordPress core is not just about code. And by far it's not. You always have to discuss approaches, how to do things. Especially if it's an enhancement, first of all, it needs to be figured out, is this even viable to be in core before starting to spend hours and hours of writing code? Because if that gets rejected afterwards, of course, you're frustrated because you spend hours on it. So wait first and see what other people say and argue and all that. And even for bugs, sometimes bugs are actually very simple to solve. Then you can go write code immediately. But in many cases, even those can be fixed in multiple ways and maybe one way is better than the other, so that needs to be discussed as well. It's very important to over time get to know the WordPress philosophies. There is a page where you can find those. Well, this is a link. You can see the actual link, but the slides are online later, so you can actually click that link. So the WordPress philosophies basically define what belongs into WordPress and what doesn't. And you can, of course, you need to read them first, but over time you really can make them part of your mindset. And then also be open-minded. Listen to other people's opinions. Don't be stubborn and just try to bring through your own agenda. But of course, be stubborn enough when it actually makes sense. You also sometimes need to convince other people of your opinion. And especially when you feel you're being rejected, try to step back for a bit, because it's easy to feel insulted or offended. But when you come back later, sometimes you will actually see, oh, this makes sense what that person says. So there's also a great article on that, which is basically pretty much the rundown of this entire talk. Qualities of Being a Great WordPress Contributor by Andrew Nason, who is one of the lead developers of WordPress. And in case you actually have to deal with rejection, for example, when your ticket is closed with no reasonable response for what you, for your tastes, then please ask, you can ask, why was this closed? I don't understand this decision, and you will probably very likely get a response, and I hope you do. Because sometimes the people who close a ticket, they're busy like everyone, they forget to be elaborate. And so please ask, don't be rude, or don't just walk away saying, hey, they don't want me here. No, that's not the case. It can feel that way, and I know that for a cent, but try to assume the best in everybody else. And don't take anything personally, especially if you knew that other people don't know you, so why would they want to be mean to you? That just doesn't make sense. And on that part, there was another WordCamp talk at WordCamp US two years ago, which deals much more with these psychological issues, basically that are part of contributing. So next part, step for me, was WordCamp US 2015. At the time, I worked for a multi-network client, which is somewhat of a more complex multi-site. Doesn't really matter now, but I had watched a WordPress TV video about this topic by John James Jacobi, who is also one of, who is, for example, he is one of the main maintainers of ButtonPress. And so at WordCamp US, I briefly talked to him about this topic, I asked him some questions, and at the end of this conversation, he said, hey, the multi-site team there is really small, so if you're interested and you want to improve things, just go ahead out there. And I was like, okay, I'll try. So a few days later, I joined the multi-site channel on Slack, because this again was an area that I was dealing with a lot. I initially started following tickets. This is something you can do in your WordPress track preferences, so you get an email every time which ticket in that part of WordPress is changed or created. I only worked on a few things initially, but I generally kept an eye out on what was going on. At one point, though, I was working on a ticket where I didn't receive any feedback after weeks. So what do I do there? I noticed there are multi-site meetings, so I joined one of these meetings and I first just said, hey, I'm new, I want to help, what can I do? And of course, I also then asked for feedback on that particular ticket. So again, it doesn't really matter what this particular ticket was about, but my first response I got was this. I hope you can read this. Well, the second response was not great either. Oh, okay, it just says, this ticket brings back some bad memories. Yeah, the first comment is just... Well, this happens, but I actually also got a real response. But the gist was that this ticket is overly complex, it's very old, so the ticket number is something 15,000 and right now we are a ticket 43,000 or something, so it was probably seven years old. And if such a ticket is still open, it's probably open for a reason. So the ticket is super complex, people have been avoiding it. And yeah, these things happen and by the way, this ticket is still open as of today and if I had known this back then, I would probably have quit. But now I feel like there's still validity. So the point is that the ticket is still open, it's just very tough to rework on, to rework on, it's not a priority, but it is not closed at least. So this is the point where I have to be optimistic. At some point it will have its time. But the gist is be persistent. So ask for feedback if you don't get it and joining a Slack meeting is the best way to do so. About being persistent, there's a hilarious short film on YouTube which is very nerdy, you can just open a pull request and run. It's so nerdy, yeah. So for me, joining that meeting was basically where I found a focus for myself because you can't be an expert in everything, of course. So over the first more than half a year I just worked on tickets here or there and the problem was that because of that I didn't really get in touch with any particular people. I was dealing with random people all over the place and you can't actually communicate well because you don't actually get to know someone better. Of course, getting to know still means you're sitting behind each other's computers and nobody has ever met you. But you start to figure out what the other people are like and what their mindset is and something like all that stuff. And you also get more expertise, of course, over time in your particular components so I really urge you to try to find what interests you the most in WordPress core and start contributing mostly to that particular area. Participate in their Slack meetings and in case a component does not have Slack meetings you can go to the components page. There's a page that has all the maintainers and ask them maybe, why is there no meeting? Would it make sense to start one? Can I help to start one? You don't need to be the expert. You can be new and still start a meeting. You have to moderate the meeting. And I know if this can be tedious. It's definitely much easier if there is already a meeting but don't hesitate to ask, to directly send a message to one of the maintainers. So next, it's WordCamp Nuremberg 2016. Before that WordCamp, there has been a call for component maintainers. So component maintainers, again, those are the people that handle tickets for individual components and run meetings and all these kind of things. So I asked Dominic Schilling, who's also a long-term core developer, whether I could be the component maintainer for post thumbnails. So feature images in WordPress. This is the smallest component that WordPress core has. There were six open tickets. So I just thought, hey, maybe the smallest component is a good way to start. Eventually, I became also component maintainer for multi-site, which made much more sense because I was actually interested in that. So, please, while I did think initially I should try to start with something small, it didn't really make sense. You should really focus on what you're actually interested in. No matter how big the component is, if you're interested in the REST API, go for it. You just learn things by doing it and you don't have to start small. When you are a component maintainer, you get a few, technically, a few more permissions on track. You can milestone tickets and you have more responsibility to, basically, if someone opens a new ticket, make them feel welcome, give feedback to the tickets and generally try to focus on someone else's stuff, not only your own, that's very important anyway. Make new contributors feel welcome. When you're at a point that you're a component maintainer, you might already notice now you're on that other end a little bit more and you now have to accommodate new people. If you have made bad experiences, which you might have, just try to do it better, as always. Of course, do things reasonably. Don't just milestone a ticket because it's your own. The most important thing is just don't be overly critical, be welcoming. Put a small emoji here or there. It can really feel nice in that very digital world where you don't meet anyone ever. WorkCamp Europe 2016, what I just said is actually wrong. You meet people. When you go to WorkCamp, you can actually meet the people that you talk to on the computer for every week. For me, WorkCamp Europe 2016 was the WorkCamp where I met Jeremy Felton, Johnny Harris, who are the other two people that worked a lot on Multisite during that time in person for the first time. It was so productive. We do always work remotely and we always only chat, but it was so much more productive to talk in person about pain points and collaborate on Contributor Day while sitting next to each other. It's just so much quicker. You actually get to know the people behind the names and actuals. After all, you can also have a beer with friends and make friends from all over the world. Yeah, I really urge you to go to WorkCamp. It's great. After WorkCamp Europe, it was time for my bachelor thesis. I was still in college. I took some time of my regular work as a freelancer to focus on that, but what actually happened is I just focused on core. I still got my thesis ready and all, but yeah, I contributed at the time to core and I took on some new tasks. I started running some Multisite meetings. Sometimes there's a backup when someone of the other two wasn't there or something like that. For WordPress 4.6, I received a recent Rockstar status, which, up to this day, I have no idea what that means, but it was great to get recognition. Yeah, it's very important to be open to new tasks, run a meeting, document write recaps for meetings and post them on the Make WordPress a Core blog. Yeah, just be open-minded. Then, on my final thesis day, that's fast forward to end of November, 2016, I had a hard time falling asleep because I was thinking, did I do everything right? After hours of laying awake in bed, I opened up my phone or looked at my phone and I'd seen this message, which basically said, now you can be a core committer. I was like, whoa! I'd not expected this at all and, of course, at that point, I could just bury my thought of ever falling asleep. So, I stayed up and I read some related parts of the core handbook, which I guess is so German of me, and I went to college, handed in my thesis and had a wonderful day of sleep. It's very important to know that you don't have to be a co-genius. I felt like all these other people were so much more experienced than me, but somehow, just by iterating, learning from your mistakes, being persistent, improving skillset, being passionate, all these things, they're most important to make a difference. And you don't need to be a committer to make a difference. You can help out in so many ways on core development. So, WordCamp US 2016, I actually did my first commit and it was another great thing about this was that I gave someone else their first props. I noticed it. I met that same person later during the same WordCamp, so that person was also part of the continuity. And that felt really good to also give somebody else their first props. So, at the point I did the commit, I was suddenly, it suddenly made a click and knew exactly why some of the tickets stay around for so long because you really don't want to break anything. So, the people who commit things, they really don't want to break anything, so they want to make 100% sure that nothing breaks. So, initially, I sometimes was like, this is done. Why isn't that part of WordPress core? But that was probably because the more experienced contributors knew that this integrates in so many weird ways that you have to be tested very much in these kinds of things. So, in those cases, when that happens, trust the more seasoned contributors. But of course, ask why. Again, ask for feedback, be persistent. And, yeah, pay attention to details. I learned this mostly as a committer, but you should already be aware of that before the way before. Consider edge cases. WordPress is written very in a bad way and you probably know that. So, you have to look at 10 other areas to figure out whether something breaks. And of course, you don't know how all these things integrate, but this is something you learn over time. Well, at the beginning of 2017 then, I went on many more wordcams and it was just great to keep in touch with all the other people that you otherwise just chat to. I took on some new tasks and then at the middle of 2017 before work in Europe, I was part of the community summit. There were some very interesting discussions. The most important for me personally was that together with some other people like Alois Schleser, we created a PHP initiative and we are now aiming to inform more of the non-technical users about old PHP versions that they need to upgrade. So, well, that's it for now. I don't know where my path will take me, but I hope I could give you some hints at what you should be aware of when interested in being a long-term contributor and building that relationship. So, here's just a quick summary and that's it for during the questions. I'm just going to show some quotes by some long-term contributors and why you should even do this. So, here are some impressions of what contributing to CORE can also give back to you personally or professionally. But, yeah, please ask any questions. Any questions? Do you need to have technical skills when you want to contribute to the WordPress project? Or is contribution also open to people that are non-technical people? So, there are many areas which you can contribute to. I would say for CORE, which is the software WordPress itself, there needs to be some technical knowledge involved, but there are many other areas in WordPress where it is not as much like that. If you go to a contributor today, you will get to know all these different areas. There is a community team which helps organizing events like this. There is a translation support, WordPress TV, which deals with video editing, and there are probably, I think there are like 15 different teams and some of which require technical knowledge, but most of them actually don't. So, there are tons of ways to contribute. Also, if I can add to that, are you on Slack? Yes. Check the channels. You can find all the ways you can contribute on Slack channels and it's also very inspiring to see what people are doing to get started. Anybody else? I have a question for you. You put up these colleagues from other people how contributing enhanced their life. How did it enhance your personal life or your work life, or what did it do in your life? So, I think, for me, when I started, WordPress had basically given me a job and WordPress doesn't cost anything. It has given me new people and friends from anywhere and I think it's just, I want to give something back to the project and that's my main motivator, I would say. Great. Well, thank you very much. Big applause for Felix.