Who's just here because they saw my name on the schedule? All right. So for those who are not core developers, I will give you fair warning in the tradition of open source, you're going to get to see the sausages made. So I don't look to scare you too much, particularly the clients of mine who are in the room. All right. Anyone not know who I am? Okay. Larry Garfield, Krell, and so forth, enough about me. First disclaimer, I've got a lot of external references in this talk. I'm going to explain them and what their relevance is, but I've also put links to all of them on the project page, on the conference website, on the session page on the conference website, and the slides will be posted afterwards, so all the links will be in there too. So you don't need to rush to find links I'm describing. That list is there now if you want it. So we're talking about managing complexity, specifically managing complexity in Drupal core. So let's start off with what do we mean by complexity? What does complexity mean? The definitions we're going to use come from a man named Rich Hickley, who's the author of the closure language, and a presentation he gave called Simple Made Easy. It's an hour-long presentation. I strongly recommend you all watch it and watch the sequel, which is from our own Sam Boyer at DrupalCon Austin, called Stomp Complexity. Hickley's version of this talks mostly about language design. Sam takes the same concepts and applies it to Drupal architecture. I'm going to be applying it to Drupal the project. So basic concept, simple. What does it mean to say that something is simple? Something is simple. The word itself comes from simplex, which is I think Latin, meaning one braid, one concept, one thing. It's not intertwined with something. It's just one braid. The opposite is complex. Easy, on the other hand, comes from the Latin ice, which means to lie near, and its opposite is hard. Important thing to note. These are not even remotely related to each other. If you try and use simple and easy as synonyms, that's not actually what we're talking about. Simple means few concepts. It means one concept. Easy means lying near. Lying near as in near at hand. I can easily reach for it. Sam's giggling at me over here. So these are very different things that we often colloquially confuse, and we need to un-confuse that. We need to separate these definitions. Another important difference between these two is that simple is objective. I can look at something, and you can look at something. You can both say there's one thing here. There's one thing going on. There's one concept. Or there are three concepts tied into each other here, which is different than something is easy, something is familiar. What's familiar to me and what's familiar to you may be completely different things. I find presenting easy. Lots of people find it incredibly hard. I find CSS ridiculously hard. John Albin breathes that stuff, and God bless him. But that's a very subjective measure. Easy and hard are very subjective, whereas simple and complex is an objective measure with a clear definition. Simple is effectively a synonym of decoupled. Simple means there's one thing and it is not tied up with something else. That's the same concept as decoupled. Easy is familiar. Is it familiar to me? Is it familiar to a given person? Is it recognizable? But is it recognizable to whom? Simple implies learnable. Simple things can be learned because the concepts you can take one at a time. Easy simply means I can recognize it. It's familiar. I've seen this before. It does not mean that the thing I'm talking about is simple. If you already know how to play the violin, learning to play the cello is easy. It's the same basic mechanics, just a bigger size. If you're coming from writing code to playing the cello, I've done both. It's very hard to jump from writing code to playing the cello. A couple more definitions. Complex. This is a fun word. It means to make complex as in braid together. To take two things that are separate and wire them into each other. And connect them and tie them in against each other. To decomplect, I don't know if this is actually a word, but Hickey uses it, so I'm going to, is to unbraid it. It's the opposite. Pull things apart. Take the various concerns, various concepts, and pull them apart. De-couple them. That's de-complex. To compose is simply to put them together. Hence, composer the PHP system. Not to mix them together, but to place them together. You put a variety of songs on a CD together. You're not overlapping them. You're not mixing them. You're just putting them together in a collection. They're not affecting each other. That's composing. And this concept of simple meaning one thing, or one thing at a time, is not new. Simplicity is a prerequisite for reliability from Edgar Dykstra, who is one of the founders of computer science as a discipline, who died a long time ago, which means this quote is, I don't actually have a date for it, but it's a very old one. Even older, simplicity is the ultimate sophistication from Leonardo da Vinci. Something that's sophisticated if it is simple. Not if it does a lot. Not if it has a lot going on. But if all of the pieces of it are nice and organized and separate from each other, if they are simple, if they are simplex. Programming, what we do, when stripped of the irrelevant mumbo jumbo, boils down to avoiding complexity, to making things simple, to a vigorous separation of concerns. That is programming. That is breaking things down to individual pieces that you can solve separately and avoiding complexity, avoiding complexity. That is programming. That is software design. One problem. We as humans are very good at making complexity and very bad at understanding it. We cannot understand things that are complex, but it's really easy for us to make it. And when you build something on something else, you inherit its complexity. You can't undo something's complexity by putting stuff on top of it. Complexity is only additive. You can abstract away, you know, paper over complexity. You can make that complexity look easy. But making complexity look easy does not mean the complexity is not there. It just means you've papered over the complexity. It's a different thing. When you break it down to it, the only way to manage complexity is eliminated. So for those asking, you know, who came here looking for a way to deal with their complexity, my answer is, get rid of it because you can't. You can only eliminate it. So how about scale? What is scale in computer science? Norse numbers. That's a fairly new concept that's starting to come around informally. And this link is to an article by Lawrence Kesseltut. Who is referencing John Cook, who was talking about a conversation he had with someone named Cliff Norse. These are all big computer science named people. And the basic idea is this.  You don't need to bother with architecture. You can solve the problem by just throwing code at it until it works.   And you can get it done. Unit testing is probably not worth the effort.  Once you get above 2,000 lines of code, you start needing classes, packages. You need to have some kind of separation of concerns. You need structure imposed on your thinking so that you can keep up with it. You need that divide and conquer concept to be able to deal with it, to be able to reason about it. Above 2,000 lines, you know, around there or so, you start needing to look at a much more vigorous approach. You need to take a much draconian approach to simplicity. Your approach to the problem changes when the scale changes.  In here, you start needing to organize your code to be able to keep up with it. You know, coming up here, you need to be vigorous and strict on how you're separating things. You need to discrete packages. You have to have unit testing. You have to do things like dependency injection. Otherwise, your code becomes unmanageable and impossible to reason about. And, you know, this article said, I'm really looking forward to seeing what the next order of magnitude difference is. You know, I'm going to speculate that's when, you know, if you're not using functional principles of purity that it's all going to fall apart, but I haven't written anything that's 2 million lines long, so I couldn't say. But the important thing here is that the approach you take at different scales to a problem is different. And this is true in programming, it's true in a lot of other subjects. And, you know, that complexity per size, it does actually vary a little bit. Simple code. Simple as we defined it a moment ago, of one concept, one thread, has linear complexity. So, the more code you add, the more, you know, the more difficult it becomes about a linear rate. Heavily-complexed code has geometric complexity. That means you had, in the first case, you had one line of code, you go from 1,000 to 1,001 lines of code, you've added with that 0.01, to your difficulty of dealing with it. If you have 1,000 lines of highly-complexed code, and you add one more line, that line could affect 12 different subsystems, and so you're adding 1 or 2% to your difficulty of maintenance. For the same line of code, because the code is more complexed. This is not limited to computer science. Think of democracy. Around a dozen people, maybe two dozen, consensus works.  That can work fine. It scales to that level. You get above, you know, that scale, and consensus just becomes far too problematic. It's far too unstructured, and you can scale it to direct democracy, where you actually have a vote to decide things, rather than consensus. But everyone gets a vote. And that can scale to a few hundred people, maybe a thousand. Do you remember the original democracies, you know, Athens and so on? Every citizen had a vote. Citizens were maybe 5% of the actual population, which made that work. But the actual voting population was a few hundred. Maybe a thousand. It was basically military officers, as all they had. Above that, and you start seeing republics. You start seeing elected officials who take over the governance responsibility and get replaced periodically and so on. You can see this all around the world. Even if you're dealing with a dictatorship, you have a small chieftain. He controls everything. He's the boss, whatever. Get up to a kingdom-sized system. Then most large-scale kingdoms, or dictatorships, have some kind of nobility. The structure may differ, but they've got some kind of internal organization to delegate authority. You get up to worldwide empires.  They delegate authority. Different scale, different governmental styles, just like in code. The approach you take at one scale, in anything, is different than the approach you take at a different scale, because the approaches don't scale up or down. Having an elected republic for 12 people is just way too over-engineered. For 12 million people is a necessity.  Thank you, Sam. So let's talk about structure. And let's go to Jo Freeman, a speech she was a prominent feminist, writer and activist. This is a speech she gave at the Southern Female Rights Union in May of 1970, called The Tyranny of Structuralistness, talking about radical feminist movements in the United States at that time, and in the past 10 or 15 years at that point, many of which prided themselves on being unstructured organizations, on not having leaders, on not having hierarchies. And the point that she was making, which my experience is completely true, is that you can't actually decide to have a structuralist group, only whether or not to have a formally structured group. Human interaction creates structure. The fact that you have more than two people working together or doing something together, interacting together, means structure will happen. Informal structure will emerge on its own. You will not have an unstructured group. That structure is inevitable. Now, that doesn't mean that informal structure is inherently bad. If the group is a local user group and your goal is to get together and share knowledge, then, cool, informal structure is going to work great. If it's an awareness-raising group and your goal is to get together and share experiences, either as women or as alcoholics or as whatever, if your goal is just pure communication, then an unstructured group works fine. But it doesn't necessarily scale. Formal structure is documented. You can look up what the structure is. You can ask someone and there's a definitive answer. It has clear change points. Who is responsible for X? It's written down, and there's a clear mechanism to know when the person responsible for X has changed. It could be as simple, as we defined it before, structure or complex. Formal structure does not inherently mean fill things out and triplicate with five different offices. That's a complex structure, but formal structure doesn't have to be that. Formal structure could be as simple as that's the person who's responsible for, you know, cleaning up the chairs at the end of the day. That's their job and they've got a name tag and everything. It can be very simple. And it leads to process. It leads to writing down rules. It leads to guidance and structure that you can reference, that you can look at, and put different people into. Informal structure, on the other hand, is very implicit. You learn it by becoming part of it, sort of. But everyone may have their own take on it and may have a different opinion about what it actually is. And when it changes, you don't necessarily know, or different people find out different times in different ways. And again, it could be a very simple informal structure or a very complicated and complex formal structure. But what this leads to is elitism, at least it clicks. And when I say elitism here, I'm saying elitism the same way that Joe Freeman did. It's not a conspiracy. It's not people, you know, not a cabal getting together and deciding to take over the government or anything like that. It's people who have some common attributes, some common interests, who are participating in your group, work together better so they form a click. They form a party. They form a faction. And when that happens, that group tends to take over because their communication channels are simpler. And that could be formed by, you know, people who have been friends and are friends outside of whatever this group is. It could be they went to the same school, so they know the same teachers, they were in the same fraternity. It could be they all work for the same company. It could be they're all men, they're all women. It's a common element that is not relevant to the organization, to the group, but that becomes a structure around, an attribute around which informal structures will form and elites will form. Again, this is not necessarily a bad thing. People being friends is not a bad thing. It's bad if you are governed by this kind of elitism because elites are informal structure. Informal structure is filling a vacuum in formal structure. If you do not have formal structure, informal structure will emerge to fill it. It will happen based on whatever. And informal structures may create informal qualifications. To be part of the leadership, you must be of the right age range. You must dress properly. You must dress improperly in the proper way. You must come from the right socioeconomic background. You must be of the right gender. You must be of the right race. You must know what the Drupal Way is. These are all things that are inherently irrelevant to the group, but around which these informal structures will form if there's a vacuum to fill. Informal structure complex structure of an organization with things that should be irrelevant. You can have successful informal structures. And this is again from Joe Freeman's article. To have a successful informal structure, informally structured group, the group must be task oriented. There's a thing that they need to accomplish that is very clear and obvious. That task is just readily apparent to everyone. The group needs to be small and relatively homogenous, which means that communication channels become really, really easy. It's really easy for the people to coordinate. There's very few communication channels, so information and knowledge can disseminate very, very fast. And low specialization. Good example here, organizing a Drupal camp. Not a Drupal Khan, a Drupal camp. You need five to ten people to organize it, and the person responsible for calling the venue to make sure that they have enough chairs, that's an unskilled job. That doesn't require special training to do. Anyone can do that. So anyone can do that. And so you have an informal structure that says, you know, Bob is responsible for calling the venue and making sure there's enough chairs, you know, Jane is responsible for sorting out speakers. And, all right, that works, whatever, we'll roll with it. And that can work out very well. Most Drupal camps work on that kind of informal structure, and that's okay. The problem, though, is when you get to questions like, who's actually in charge? If there is, in fact, a dispute that needs to get resolved, who's in charge? Who actually gets to make a decision if there is a problem? Who is responsible for something? Is Bob actually responsible for chairs? Who's doing chairs? Do we have that written down somewhere? Who's actually calling the speakers? Do we know? Who can veto? Who actually has the job of deciding, yes, the speaker is coming, yes, the speaker is not? Yes, we want this keynote. No, we're not going to go to this venue because, you know, that venue hates us or whatever. Who has the authority to say yes or no in cases where you need to say yes or no? What back channels are there? There's always back channels. There is always back channels when you have more than two people communicating. What are they? Are they public? Should they be public? Do we know that they're there and they're not public but we're okay with that? It's okay to have back channels that are not public as long as you know that they exist. But if you don't even know they exist, then you are inherently on the outside of that elite group. How do you get into the elite group by whatever definition that is? The people in charge informally, how does one become one of the people who are in charge informally? When does one stop being one of the people who are in charge informally? Retire versus fired. People are starting to catch on here. You know, how do you step down from a position of leadership you never stepped up into? How are you fired from a position you were never hired for? How do you know when the person in charge of a new person is running things now for some definition of things, how does everyone else know who is not the five people at lunch who decided that this person is in charge now? How does anyone else know that? These are the problems with informal organizations and informal structure. I love this quote. For movement continues to deliberately not select who exercises power, it does not mean that you eliminate power. All it does is abdicate the right to demand that those who exercise power be responsible with it. I'll say that again. All it does is abdicate the right to demand that those who exercise power are responsible with it. And if you keep power as diffuse as possible because you can't demand responsibility because you don't want to demand responsibility, it ensures that the movement is as ineffective as possible. Diffuse power is a very, very inefficient way of organizing power. Maybe you want that. The U.S. government was set up to be very diffuse and slow as a defense mechanism to try and keep it from going off the rails. It happened anyway, but that's another story. But you can deliberately design inefficiency into a system by diffusing power. But that's only if that's what you want. This applies to any group. There is no such thing as structuralistness. Informal structure will happen. And if left to its own accord it collects and inefficient. It's simply the nature of human beings. It's another prominent feminist, Ash Dryden. A lot of people here probably met her at some point. This is an article she posted last year called The Ethics of Unpaid Labor in Open Source Development talking about the problem with this idea of meritocracy. Meritocracy, as she defined it and pulled from Wikipedia for it, is the belief that those with merit for some definition of merit float to the top and are given more opportunities. Paid higher, more access, whatever the opportunities are. Problem with that, merit doesn't exist on its own. It would be lovely in a wonderful world if those most able to handle a problem are the ones who get to handle it and get benefits commensurate with that. I would love to live in that world. Unfortunately, merit doesn't exist on its own. You may have qualifications for something to volunteer for something, but if you have kids or a family that you're taking care of, you have a sick relative at home you're caring for, you have a child who has higher medical needs than someone else's child, that inhibits your ability to do something for reasons that have nothing to do with your skill at the thing in question. Maybe you're driving.  I don't have much time to drive so I can't be rewarded more for driving so I don't get the rewards despite the fact I'm the best driver around. You could have your own medical conditions that limit your ability to do whatever. You may have a long commute. You don't have as much volunteer time. My commute to work in the morning is a half hour or so each way. That's an hour out of my day that I can't volunteer for anything. Someone else works from home. I don't have to volunteer on something that I don't. Someone else has a two hour commute that means they've got four hours out of their day that they cannot donate to anything. You could have an employment contract that says you're not allowed to contribute to open source. You may have an employment contract that says we own copyright on anything you do even outside of work hours. Lots of people do, especially in the U.S. It's disgusting but they do. The problem here unequal opportunity the problem with meritocracy is that it complex merits and opportunity. These could be unequal. Asher's article talks mainly about racial and gender differences in opportunity but it applies to those. It applies to anything else as well. Any time there's an unequal opportunity it means meritocracy doesn't work right and we all have unequal opportunity on everything for a variety of reasons. Now in Drupal we don't call things meritocracy we use a different word, duocracy which roughly translates as one hour, one vote. You want something? You do it. You don't have time to do it? Sorry. What does this actually mean? What does duocracy actually imply? Ruled by those with nothing better to do at their time. I'm not actually the first one to say this there are people saying this after the Drupal 7 cycle too. This is what duocracy means in practice. It means ruled by those who have lots of spare time to do. People who don't have as much spare time for whatever reason are inherently at a disadvantage regardless of their actual ability to do whatever it is they're doing. So how does this apply to Drupal? Someone's giggling. Okay. Let me ask you this simple question. Who is Drupal's technical lead? Who is Drupal's lead architect? My life would be so much simpler. We'll get to that later. I'm an initiative lead. What does an initiative lead do? What does being an initiative lead actually mean? I've got another initiative lead. People can blame you. It means people can blame you. For decisions you did not make. This is what is actually listed on our website for what initiative lead means. It means we coordinate and communicate. Initiative leads are glorified secretaries. The only job description I have as web services initiative lead is glorified secretary. Note what's missing from here. Any sense of authority or power. As initiative lead, I do not have any actual formal power at all. That's true of every initiative lead. How about component maintainers? We've got 20 or so listed in maintainers.text. 70. We've got a lot of them. Listed in maintainers.txt. What do they do? According to the website, they do issue queue farming, mentoring. They review patches, answer questions, and write issues for other people to do. They're glorified secretaries. Note, nothing here about authority or deciding future of a module or a subsystem. This is what's actually on the website. This is the closest we have to a formal structure is this. Who here is a mentioned maintainers.txt somewhere? In writing, the only formal structure we have is you are secretary. How about branch maintainers? Do we have branch maintainers in here? I thought we had one. This is what it says on the website. Oversee the developments of a major version by making ultimate decisions in software and working with the community to set goals, priorities, and guidelines. We actually have someone here who has the word decision. We've got four people who have the word decision on their job description. For Drupal 8. Yeah. So branch maintainers for Drupal 8 is catch. I don't know if Alex is technically a branch maintainer or just a committer. What's that? Okay. Okay. So catch actually has ultimate decision making power on a patch by patch basis except when Dries is the one who has that authority. And as someone who's in the issue on a regular basis I only know one guideline by which to say Dries gets responsibility for something and that's when we're adding a new third party library. Other than that, I don't actually know what the policy is on when you assign something to another. I don't know that anyone does except them in formal structure. How big is Cornell? And we've got four people who are responsible for knowing enough of it to set direction for the entire thing as one big gigantic project down to the level of individual lines of code. So who is Drupal's technical lead? Remember we're a duocracy. This question was asked on Twitter and this was the answer. Harsh but true. It's either Daniel or Tim depending on the week. So that's our tech lead. Who used to be the tech lead? We don't know when a tech lead changes not even the person who is an informal de facto tech lead. What does it feel like to get edged out of that kind of position of authority informally without ever being told?  Ask this question. Who do I need to run this issue by? Who do I need to get sign off from for this patch or that patch or this recommendation or whatever? I couldn't actually tell you. The reviewer. So random other newbie who comes by the issue. Maybe? Depends on the issue. Some issues yes. Some issues you need to run it by someone else. Is this an issue that you need to run by Tim Plunkett? I don't know. Is this an issue you need to run by Daniel? Because I happen to know these things because I've been working with Daniel for the last year and a half but that's only because I've been working with Daniel for the last year and a half. You probably want to talk to Wim on that one or no, this one. You should probably go ask Cat Bailey because she hasn't been around for a year but she's still worked on that part so she knows what's going on. If you haven't had your hands deep inside the system for the past three years how do you know any of this? You don't. Selecting who exercises power does not abolish power. It's the right to demand that those who exercise power are responsible with it. We ignore component containers on a daily basis. Fact. Couple of examples. Just this week, I noticed actually how Daniel pointed out to me, a patch went into the database layer that's had a static call against the Unicode utility library. Which means we have now completed our database layer to our Unicode library with a static method call. As database maintainer I would never have approved that but no one asked. I'm the maintainer for the routing system. Six months ago another core contributor changed part of the API around route handling that I've written as part of a series of patches to go in a certain direction. And he changed it and I didn't find out about it until two days after it was committed. Six months later we haven't undone that damage yet because I spent the first five months of it trying to argue that point that this piece of this subsystem that I am the maintainer for and the primary author yes should be this way, stop arguing with me. And it's not just me. I'm not just complaining that I don't get my way. I've done this to other people too. And who here knows Khaled Bahilin? He was in one of the videos at the pre-note. He's the subsystem maintainer for the DB log module and the syslog module. Except we have gutted and rewritten both of those. Paris Diakos and I gutted and rewrote the entire logging system and used PSR3. I don't think Khaled even knows it yet. We didn't actually ask him. We just did it. And it got committed. I'm not sure if he even knows that it's happened yet. This is a regular daily occurrence. One hour, one vote. Being a branch maintainer or being a subsystem maintainer doesn't actually count. So why is Drupal 8 not done? Why was a certain part deleted? Well, Angie asked this question on Twitter a couple of days ago. Is it two weeks ago now? Three weeks? And I highly recommend reading the full thread. There's a link here and a link from the session page. But I want to call out a few of the responses. I have no desire to spend time attempting to disagree with someone who likes sleep less than me. Because the person who likes sleep less is going to win the battle. My mental health is worth more to me than Tor's release date. This is Greg Dunlap who was our first initiative lead and stepped down from the position after two years. Anyone remember J.C. and Louise? She was the initiative lead for the HTML5 initiative. She burned out badly within the first year because that was the most bike shuttable discussion we could possibly have is what markup do we use when moving to the HTML5. And she got slammed by everyone who had more time than skill arguing about every little detail. She never had the authority as initiative lead to say, no, we're doing X. We're going this way with it. Stop talking. And so it destroyed her. She quit the project. How many core developers have been a major significant mover and shaker for three or more years? Can anyone name them? I can name two. Chex and Stephen Wittens. In Drupal's what is it? 14-year history? Two. That should tell us something. Remember, we're a duocracy. Ruled by those with nothing better to do with their time. That's a constantly shifting population that we're making by attrition. Easy also means easily replaceable. If something is easily recognizable to a large population, it's really easy to find a replacement. If you burn out a volunteer, there's another volunteer just waiting who would love to help out and take the place of the person you just burned out. We have a huge burnout problem in core development. This is not a new statement. It's been said for easily six years. But we keep turning along because there's always another volunteer to take their place. Is that actually how we should be running core? Our result? No one actually has authority in Drupal. Everything, this structure begs for bike jets. We have bike jet discussions in issue Q daily because our structure demands it. Which means that the steamroller developers and I say this as someone who is one they win by doing things the easy way. And in this case I mean this gets a patch in that everyone can understand the feature at the end of it. The code inside it may be horribly complexed but it looks easy. It looks obvious. I understand this one patch and so good enough. Except easy is not simple. Easy papers over complexity but it is not simple. So we get lots and lots of code that is not simple. It may be easy but that's just building up complexity. It's building up complex thing. Informality at the scale that Drupal is is a horribly complex. We have nearly twice as many contributors to Drupal 8 as the Linux kernel had to version 3.10. We are huge. Informality does not scale to this level. So who has authority? It's not the initiative it's not maintainers it's not component maintainers. There isn't any. Drupal the code base remember we said before you can't inherit the complexity of everything below you. You cannot avoid inheriting the complexity of everything below you. Drupal the code base inherits all of the complexity of the Drupal community. All of the inherent complexity in the Drupal community and development process impacts our code. Drupal core is complex because Drupal the community is complex. And this is not something new that I'm saying this is Conway's law from 1968 which Harvard researchers have verified before. Organizations which design systems are constrained to produce designs which are copies of the communication structures of those organizations. Who's had the problem where you've had to explain to a client no your organizational chart is not the right way to design the IAA on your website. We've all had that experience. This is the exact same problem at work. The only way to manage complexity is to eliminate it. And I mean eliminate it in the code and in the community at the same time. We complex too much. The way to do that is clear decoupled structure. We need clear decoupled structure in the code and in the community. We are too complexed with each other and so our code is too complexed with itself. Now let's be fair. Drupal 8 has improved the situation. A ton of work has gone into improving that tight coupling. Drupal 8 is more decoupled than any version of Drupal before it by a wide margin. And yet we still are throwing static calls to random other classes in the middle of codes somewhere without talking to anyone because it's easy to do. Two steps forward, one step back. We still have a long way to go. How do we do that? This is not a framework versus application discussion. I'm not talking about splitting framework between each other or anything like that. Joomla actually tried that at one point. They split the Joomla project into Joomla framework and Joomla the CMS and they don't actually talk to each other anymore. So let's not do that. Learn from that. Let's learn instead from some of the other large open source projects. These projects, these nine projects are as of 2010 10 times larger in terms of the number of participants than any other open source project. We're in a pretty high level here. Drupal is among the elite of open source projects. To be fair, this is a really nice group of friends to keep. So let's look at some of them. I actually tried to reach out to some of these projects and their initiative leads or their representatives and they were all too busy to talk. But there are some commonalities that we do know about these projects. One is that they're all community projects. There are lots of successful open source projects that are backed by one company. MySQL, MongoDB, various others. But these big projects are not. They all have some kind of non-profit foundation at their core. This includes us, in our case it would be the Drupal Association. And they are all architecturally highly modular or their collections of software that come from different places. The emphasis is on this modularity. That is how you are able to scale is divide and conquer. It's break things up into distinct components. So I said I tried to reach out to some of these and didn't get much response. So we'll go with what we do know which is public knowledge. From Linux. Again, a project half our size. Linus Torvalds does not merge patches. He just doesn't do it. He doesn't deal with individual commits. There are component maintainers for different parts of the kernel or different drivers. They merge stuff. If you have a patch or a bug fix to the SCSI subsystem you don't talk to Linus. You talk to the maintainer of that subsystem. He doesn't enter the picture until a month later that subsystem maintainer sends a large change set all up to Linus. Once he merges that whole branch with contributions from 20 different people doing all kinds of different things. But he'll trust that subsystem maintainer knows what he's doing. And this works because most components in Linux are in fact fairly well decomplected. Two thirds of it is drivers. They are fairly standalone. As long as the API to the kernel itself doesn't change do what you want. You're not going to break anyone else. You may break the driver for this one little piece of hardware but you're not going to break the system. The core system, Linus will watch it more but there's still a lot of work to try and keep things separate from each other. Drupal needs to be a composition of different components. Right now we are a complexion of components. Our different subsystems are still too tightly coupled because we are too tightly coupled. Both our code and community need to be a composition not a complexion. Contribs sort of has this because you can mix and match those and those are independent of each other unless you have an explicit dependency you're not going to break someone else. But core getting bigger and bigger and bigger is less and less like this. Core needs that kind of benefit that Contrib actually has. My recommendation for this is that containers need to have actual authority over their subsystems. They need to be able to say no. They need to be able to say yes and have it stick. Give them responsibility and authority. And someone's going to ask, well how do we make changes that cross everything? Are we going to have to get signed off from 20 different subsystems maintainers? The fact that you're making a change that seems simple but needs to sign off is the bug. Make conflicting painful. That forces us to decouple. That forces the complexion. That forces us to break things apart because we have to. Right now everything is in one big pool because that's how we're structured. If we instead have a series of connected pools we'll have a series of connected components. This is forcing the issue. The fact that we need to talk to a dozen different systems to make a change is the problem. Yes, there is some pain in this. There's going to be pain in the new release cycle too. Where we look at it and go, hey, I want to make this change for 8.1 or 8.2 but I can't because that's an API change. But I can make this change over here because that was more loosely coupled. That development process in Drupal 8 is going to mean pain for the core developers as they realize, oh, this decoupling and simple thing actually matters. I'm going to experience it myself and actually get a respect for it. It's going to be an educational process for us. Exact same thing here. We need to force ourselves to see the problem and force ourselves to solve the problem. Another recent post from Sam called Keeping It Simple where he talks about many of these same concepts. He has some recommendations as well. I'll open for discussion. He sees a simplifier role. It's like the words he used. This is a person who is a keeper of simplicity and quality in a focused area. Possibly same as subsystem maintainer, possibly not. But they are not interested in release states or global strategy. They're interested in the forum module. They're interested in this module being good. This module being simple. This module not being 12 other things unless there's a very good reason for it to be. They're not interested in functionality. They're not interested in things that will sell to VPs. They're interested in code quality. They're interested in being responsible for the upkeep of this system. Responsible and authority. Responsibility and authority must always come together as a pair. They can partner with the easy people. By easy people I mean people who are interested in making things easy. If we've got we were talking, I think it was earlier today or yesterday, about they need to get designers more involved in the process. If every module, every subsystem had a person who was responsible for the code, authority and responsibility and they're not just, they don't deal with UI. They deal with code being good and they partner with someone who can talk about UI and make it easy. So you have someone guarding easy and someone guarding simple and they work together. Then you've got a path to a clean, good, powerful system. We need to have a brutal and I mean brutal focus on simplicity. I say starting as soon as we get 8.0.0 at all levels. Code UI and community. We need to have a heavy focus on simplifying on not on making things easier to do but on making things easier to understand making things less tied together in weird and undocumented ways. And if that means along the way we lose some easy or lose some features, that's necessary. You can build easy on top of simple you cannot build simple on top of easy. We need to focus on simple so that we can build the next generation of easy. Thank you. I now don my flame retardant suit. There's a microphone in the middle of the room. I think this distributed power of different subsystems it works if there's competition and the possibility to drop one solution and use another one instead. So at the top there's someone who just puts different stuff together and composes it and and then one person may have the power over one subsystem but if the power of other ways means that you also have the power to do the wrong thing or something that others don't like and then the others have the option to opt out of this thing and use a different solution or a fork or something. And in Drupal we have everything in the same repository so if one subsystem entertainer sucks or doesn't care about the project it goes in a different direction Okay. Okay. But then we have an explicit statement of this person has been replaced with this person. Uh-oh. So for the recording this is Jess XJM. My name is Jess and I'm XJM on Drupal.org For context my full-time job is doing release management for Drupal 8.  I'm going to read to you the actual language from the component maintainers page on Drupal.org. It says thank you also known as issue farming when a new issue is submitted that involves verifying that it's a valid issue taking appropriate action, tag as novice, change the status if more information is needed if it's not really a bug, change issue parameters, etc. That sounds like secretary work, sure. Mentoring new contributors who are working on issues related to that subsystem being the point of contact for that subsystem's contributors reviewing proposed patches on that subsystem acting as an expert on the workings of that system answering questions that come up and being involved in discussions of major overhauls and re-architecting and translating strategic thinking about their subsystem into actual issues. So I think what you put on the slide was misleading first of all and I also think it's extremely I will say not strategic to call that a glorified secretary because there's extremely valuable skills in there. Am I a secretary Larry? Is Kathy Faye the secretary? I think most of those roles and the contribution and the technical expertise that is required to perform those roles I think is a bad idea. So that's all. I just wanted to point that out. My point is it's responsibility without authority. What's in writing is responsibility without authority. Glorified secretary is not what it is. But then I did have two actual comments on the content of your presentation that I wanted to ask about. So the one thing that you said and I've come up a lot of times before is well I will just say that having every subsystem maintainer be responsible for their subsystem be the final authority and control that part of it sounds on paper like that seems like a fabulous idea you know every time people bring it up when I went to Drupal Kondenver and I heard a Cork Conversation presentation that day it sounds fabulous until you actually have to work with all the component maintainers all of the time and you see the varying levels and another thing that plays into that is I believe Sam's blog post he said something in there about not having a concern about the overall release date of the project as part of the thing that and well people ask why Drupal 8 is not out yet that's a big part is that there are a lot of people who have technical roles in the project who don't care when Drupal 8 comes out and that's part of why it's taking so long if there is and I think I've heard a lot of people say that that's a serious risk that they have clients or their own shop are considering moving to a different solution because of how long Drupal 8 has taken to get to even a beta I mean it's okay for an individual person to say you know I don't care about the release cycle that's not relevant to me but I don't think that we can put them in charge of Drupal's code base I think it's a different role it's not that there should be no one who's concerned about release date and I don't think what Sam was describing necessarily maps to a subsystem maintainer in all cases but someone there needs to be someone whose primary focus is keeping the code base simple keeping the quality up separate from what features can we check can we check off those are different roles and we need we don't have anyone who is empowered to focus on keep things simple we just keep making things more complex I would say that it's an overgeneralization and you're assigning motivations to other contributors that are necessarily there I don't think you're assigning motivations to contributors at all at least the microphone microphone microphone but the thing is that it doesn't get crap done that's the thing if someone if you're concerned about the fact that as opposed to simple I can agree with that and I don't exclude myself from that in the slightest so then the one question I do have is if we want you described a situation where a commit was made to the database component that added an unnecessary coupling an undesirable coupling and no one asked you about it and so the question that flowed across my mind then was well your answer will be I should just be able to commit to the database component optimally but the question is not necessarily and you don't have the availability though to every single time that there's a how much longer will it take to get a patch and if every single time there's a patch that needs to be in the data system it has to go through you instead of the core maintainers who have this between the four of them this extreme concentration of time available which ties into the resourcing questions and funding questions that have been happening all week these subsystem maintainers if we're going to make them local authorities we need the resourcing to be local authorities we also need to then defer to them when appropriate and right now we don't do either one of those and that's a problem part of your point was the complexity of Drupal maps to the complexity of the community your proposals address how we handle really leadership in the community and I'm wondering what the impact of those kinds of changes would have on the overall community because the communities the whole point of this was the complexity of the community and the leadership is just one small piece of that and I see it as building a clear and documented skeleton around which the organic community can still work I'm not saying we should get rid of organic contributors and drive by contributors those are great we have twice the size of Linux that's awesome but there needs to be a skeleton that they can latch on to who is in charge of X I want to work on this kind of thing where is the page that tells me who I should talk to to see what the current roadmap for that section is I don't have an answer for that question if someone says if someone comes into the IRC channel and says I want to help with Drupal I'm interested in this kind of thing I know personally who to send them to most of the time but that's because I'm in IRC far more than it's healthy for someone who is not or doesn't know what to hop into IRC how do you find out maintainers.txt is not actually accurate in terms of that answer I was just going to point out that the other thing with being a maintainer and actually maintaining that codebase is that we're kind of disincentivized around it right now so as someone who is a maintainer it's my job to actually know and facilitate the commits or whatever of new patches to the plugin system it's great I don't check that list though because a lot of times it doesn't really matter what I say there so despite the fact that I actually do understand how that's going to have an effect on the component in question it's largely just me saying hey you shouldn't do this because and then getting to undo it at some later date when people run into bugs because they did what I told them not to do and I mean this has happened time and again not just with that but there is a system in place that actively disincentivizes people who are in charge in many situations responsibility without authority I think we have time for one more comment if anyone else wants to disagree with me I've encountered the power vacuum that you're talking about in all kinds of different contexts outside of web development so you might have heard of Byron Bay in Australia famous alternative kind of area probably a bit like San Francisco in the States although I've never been there but the thing is when you get a large group of people who all kind of you know are simpatico in some way but and they have some kind of alignment but they don't have a power structure to sort of keep that in place then yeah things fall apart over time and it's really sad you see so many different contexts in companies and organizations and whole geographic communities so I really get what you're saying with this talk yeah and there I cited a whole bunch of sources here if I looked another two hours I could find a dozen more that observe this process elsewhere of trying to be informal and structuralist and it coming back to bite you so this is not by in any way shape or form a Drupal unique problem and just like the funding problem we need to be looking elsewhere and see how has this been solved, how does this work what has not worked and the model I'm looking at is Linux I opened other models but the current model is not scaling I just want to say from what I've heard it sounds I'm not a cool maintainer so sorry I'm here but from what I've heard you say it sounds eminently sensible so my question is what's the next step what do you ask people to do we have to convince the structuralist structure that Larry's right for the recording Chris just commented we have to convince the structuralist structure that Larry's right or has a point yeah I think keep this conversation going think about what kinds of structure do we want we have a structure now I would submit it's not a good structure what structure do we want instead let's look at other organizations if anyone knows someone who works on Mozilla, on Firefox or knows someone who works on KDE or knows someone who works on Nome talk to them, get information from them see what they've done with this kind of problem and blog about it let us know, I would love to know potentially I do think I know which project you're talking about oh no absolutely I agree okay I think next step is sorry David Wang was saying there are a project that we know but will not name that has adopted an Apache style governance model that we could look at and see how it works there and potentially learn from that too is that accurate summary sure and it's also possible that some of these other organizations haven't quite figured it out and have just the same problem or some related problem let's find out let's get off our governance island too as long as we're at it and figure out where we want to move to and do so deliberately and with that I think we're done and despite anything I said here I expect to see all of you at the sprint on Friday because we do still have a release to get out


Yksi tärkeintä statistiikkia normaali- ja regresson analysointi on R-squarella, jossa on kysynyt, miten se maailma on esiintynyt ympäristövalvella. Yksi tärkeintä linear- ja ympäristövalvella ja ympäristövalvella on ympäristövalvella, jossa R-squarella ei ole esiintynyt, tai jos se voi olla kalkoitu, niin se on ympäristövalvella, joka ei ole sama kuin normaali- ja regresson analysointi. Me katsomme nämä alternativista statistiikkia as Pseud R-squarella. Tämä video on tämän videossa näkyy ympäristövalvella Pseud R-squarella ja regresson analysointi. Tämä ympäristövalvella asaitaa vielä ympäristövalvella, jotta pitää olla ympäristövalvella. Joten, että sillä on ympäristövalvella, jotka coincidivista regresson analysointit ovat ympäristövalvella, joilla ne ovat ympäristövalvella ja regresson analysointit ovat ympäristövalvella. Let's take a look at first what R-square quantifies so that we can understand what so R-squares tell us and what they don't tell us. So this is the equation for R-square. The R-square is calculated, this is one of the ways, but it's calculated based on the residuals. So we have the residual variance here and we take the residuals. It's the sum of it's a difference between the predicted value, predicted value and observed value. We take squares and then we take sum of squares. Then we have a prediction calculated by the sample mean only. So this is a prediction from a model with intercept only. So this is the prediction from new model, how far they are from the observed values and this is the predictions from the actual model. So we compare for example how much better the estimated model is over a model that shouldn't really predict the variance in the dependent variable at all. So R-square has a couple of different roles. It can quantify the amount of variance explained in the data. If R-square is zero, then the model doesn't explain any variance in the data. If R-square is one, then the model explains all the variance in the data. R-square also quantifies model fit. So R-square of one means that it's a perfect model, fits perfectly. R-square zero means that it's equivalent to the new model that doesn't explain the data at all. And then we have a third interpretation which is how well the predictions from the model correlate with the actual observed values. We also have a couple of different two other features in R-square. One is the estimation criterion in normal regression analysis is maximizing the R-square. So you maximize the variance explained and then that will give you the OLS estimates. Also R-square can be used in estimable comparisons using DevTest. These last two criteria are not they're useful for pseudo R-square. So pseudo R-square only focuses on these first three aspects of R-square. Because pseudo R-square are typically calculated based on the maximum likelihood estimates and there is not always a straight relationship between the estimation criterion and the pseudo R-square. And also pseudo R-square can be used for model comparisons or model comparison, nesting model testing the same way that R-square can be used. You can use the likelihood, log likelihood statistic directly as the maximization criteria and for model testing. But for interpretation purposes the pseudo R-square tell us some information about these three characteristics. So they can tell us how much the model explains of the data, how much better the data is than the null model and how much better the model is than the null model and how well the model predicts. So we have three how much it explains the improvement of a null model and prediction. So these three characteristics and generally we can have only at most two in these in any pseudo R-square. So pseudo R-square are if it's meant to quantify prediction then it's not necessarily good for quantifying how much the model improves over the null model or it doesn't tell us how much the model explains the data. The reason why we have so many different pseudo R-squares is that these three objectives, different objectives are important and sometimes we want to emphasize one objective over another. So this is a list of some of the pseudo R-square values of pseudo R-square statistics for logistic recursion analysis. There are maybe a dozen more but these are perhaps the most common. So this is the normal R-square. We're just calculating R-square and using the normal equation. So we take the predicted values and we calculate the residual using predicted values. Then we calculate the difference from the mean value and that gives us the R-square that's attributed to F1. So that's but this is not very very useful because while it's the same equation than the normal R-square it doesn't really tell us anything that normal R-square does. Then we have the ones that are more commonly used. So McFadden R-square compares the likelihood, log likelihood of the model against the null model. The idea is that the log likelihood of a perfectly fitting model is zero and this will go to one and the log likelihood of the worst possible model that doesn't explain the variation of the dependent variable at all is the null model. So this ratio goes to one and the McFadden R-square goes to zero. So that quantifies the improvement over the null model. Another commonly used is coaxon-snale. The idea of this equation is that it's basically the same as this equation but calculated using the deviance residuals. So this is if you calculate max normal linear regression analysis using maximum likelihood and you apply this equation then you will get the normal R-square. The problem with this equation is that the maximum is less than one. It can be substantially less than one and another pseudo R-square that takes that weakness into account if you consider the weakness is the Nagelkerkes R-square which is basically just a scaled version of the coaxon-snale R-square so that the maximum is one. So it's coaxon-snale divided by one minus low likelihood null to the power of two divided by n which is the maximum of this equation here. So those are the ones based on the likelihood. Then we have McHelveny and Chavoina's pseudo R-square. This is an R-squaring in the sense that it's a how much variation is explained. So there is variation explained plus variation explained plus variation of the error term. So this is if you apply this to normal regression analysis you will get the normal R-square. The difference is that we are not looking at the predictions in the observed variable instead we are using the latent variable formulation of the logistic regression model and we are looking at how well the model explains the latent response variable. The latent variable that underlies the response variable instead of the response variable itself. I have another video that explains the latent variable interpretation. Then we have two simple statistics that quantify actually how well the model predicts. We have the count R-square and the count R-square simply classifies each observation into the number that it's more likely. So if I'm predicting probability for an observation is 51 percent then the predictive value in the count R-square for that observation is 1. If the predicted probability for observation is 49 percent then the predicted value is zero for the count R-square then you just calculate how many predictions you got correctly and you divide by sample size. If you predict randomly the count R-square will be 50 percent. So basically this R-square will always be really high. It's almost never below 50 percent and it could go up to close to 100 percent. Then we have a coefficient of determination or discrimination which is a bit more recent introduced by Ture in 2009 and this is also called Ture observed R-square. The idea is that we focus on the probability of the prediction. So we calculate the mean probability of those cases that had a value of one. The mean of predicted probability of cases that had a value of zero and then we calculate the difference between the means. So this quantifies whether the model predicts or successes and failures differently. If there's a large difference in how successes and failures are predicted then it implies that the model is good for prediction and it has a high coefficient of discrimination on high pseudo R-square. Let's take a look at examples because these statistics are quite different. So this is some data sets and we have the blue line is linear recursion model and the red line is logistic recursion analysis. We have a couple of scenarios. In the first case the model doesn't explain the data at all. So the R-square in all is zero and we can see that all of these R-squares are close to zero except our adjusted version of McFadden's R-square which is negative. So we have this adjusted R-square here as well. So if we had adjusted R-square for the OLS that would probably be negative as well. Importantly the count R-square is 52 percent. So model doesn't explain data at all but still we get half of the predictions correctly because if we predict randomly then we will get one or zero variable correctly with a 50 percent probability. Then we have a scenario here where the logistic recursion curve and the recursion line overlap. So this is the scenario where it wouldn't really matter whether you use logistic recursion analysis or normal recursion analysis because the predictive probabilities are between 20 and 80 percent. Ideally in this case an ideal pseudo R-square would probably agree with the OLS R-square which we can see here that the Coxson-Snell R-square does and the two R-square does but and also the difference because that's calculated the same way as the normal R-square. But for example the negative R-square is pretty high. McFadden's is too low and count 74 percent so that really tells us something very different than what the normal R-square does. So if you want to say that the model doesn't explain the data at all then you can pick the McFadden adjusted R-square if you want to say that the model predicts well then you pick the count R-square. So it's kind of like pick your own result scenario. Of course you should justify your choice and if you want to answer a question how much various data explains then the count R-square will be inappropriate for that. Then we have a model where the S-curve and the line start to depart. So the S-curve clearly bends down here and the line gives us invalid predictions. Predictions exceeding one predictions are below zero and this is a scenario where we really should not be using a linear model. Again we see that the values are quite different. So some of them are close to R-square from or less some or not and then we have the final which is a scenario which is interesting. This is the perfect prediction scenario. So the model predicts perfectly when the x is below a cutoff then y is always zero when the x is above cutoff y is always positive. The count and U-R-square interestingly both show that it's perfect predictions. This scenario demonstrates that the Cox's and Snell even if the model predicts perfectly the Cox's and Snell will not be one. So all these provide you a different value. So the question now is which one should you use and of course this is a balanced model where we have ones and zeros that are equally on with equal probabilities. We can have a model where the ones are three times as prevalent as zeros and then these R-squares will give us again a slightly different values. The problem is that people don't realize that these quantify different things. So when you take a look at our published examples, published papers how they apply pseudo R-squares quite often you see pseudo R-square reported in a regression table. In an ideal case they are two or three and then they are just there they are not reported. Sometimes they are not interpreted. Sometimes they are interpreted and typically researchers interpret them as if they were the same as OLSR-square. So there for example you are comparing that there is a 11.9 percent difference and that would be the difference between 22 and 35 here. It's not clear whether you can actually interpret the difference in the algorithm R-square and how you would do that. But nevertheless people think that you interpret these the same way as R-squares. So what's the R? How should these be used then? There is quite a lot of disagreements on the value of these pseudo R-squares. I have my opinions others have their opinions. There's an article in strategy management journal that goes over the use of logistic and profit models in this journal and in the end they have recommendations table and they're basically saying that a model fit you have to assess it somehow and there is a disagreement on whether you should have a pseudo R-square or not. If you have one you should really pay attention to it and report that it's not a normal R-square and it should not be interpreted as such and then they give some other advice. So what's my take? It's that I don't include pseudo R-square. That's my first recommendation. If you don't know what to do just leave it out. It doesn't really hurt anyone that you leave out the statistic that your readers don't know how to interpret properly and if you don't interpret it yourself. There are exceptions to this rule. If you have a good reason to include one for example if you want to know how well the model classifies. If you have a problem where you are interested in classifying cases then the count or the cure R-square could be very useful. But you have to have a specific reason for a specific coefficient instead of just going for the coxons in the lanagelkaker which are the two most common perhaps. Interpret the effects as graphically instead. So show other readers how does the logistic regression could go. That's much more useful than giving them a pseudo R-square that they don't know how to interpret. Then if you're asked to include pseudo R-square sometimes you write the paper and then you send it to review and the reviewer is used to looking at recursion results and they always expect to have the R-square for the recursion results but they have your logistic recursion analysis results without any R-square statistic. The reviewer thinks that there should be one. So what do you do about it? Or your co-author thinks that there should be one. In one of my articles a co-author of mine wanted to have pseudo R-square and I gave him a pseudo R-square of 20 and a pseudo R-square of 50 and I told him which one would you like to have. And that was the end of the discussion. We didn't include pseudo R-square because there was no reason to. But it's very common that people want to have an R-square because normal recursion analysis has one. I wouldn't argue against the reviewer. So I guess the co-author it's okay but I would just include a pseudo R-square of few if a reviewer asks me to. It doesn't really make that much of a difference. In that case I would use multiple. So I would have at least the McFadden, Cox and Snail and Tures. I wouldn't use the Nagelkärkä because it tends to overestimate the OLS R-square and you don't want to use statistics that make your model look more impressive than it actually is. So that's one rule. These will be conservative in what you present. And then if you are asked to interpret the R-square, I would interpret the Ture R-square. So that's my point, my take. This is the take from a person who wrote a paper to the Society of Management Journal. So what do the experts say? Let's take a look at the book by Hosmer and Lemerson or Sturlivan. This is the best book in logistic recursion analysis. It's a bit technical but it's a very, very good explanation and for example many of the diagnostics that we use for logistic recursion analysis are based on the ideas presented in this book. They basically say that pseudo R-squares are not that useful. They don't allow you to test whether the model is mis-specified or not. There are better tools for that and also people who are used to reading logistic normal recursion analysis results and they see that there are R-squares from logistic analysis results, they will be confused. So you have a statistic that is not very useful for model diagnostics or analyzing whether the model is any good and a statistic that is likely to mislead your readers, then the clear recommendation is that you probably shouldn't include those. But understanding the pseudo R-squares is important because oftentimes reviewers want you to include one and quite often when you read a paper it does include one.


When Denise and I planted our Third church about a third church. I think in San Luis Obispo in California We were about 40 so it was about a year ago and It was a beautiful church It was the morning service had about a hundred people similar to your age young families a little bit older families and then we started to win the Campus we started to win young people God put on our heart that we were to go for the next generation the next the next the next and we grew that church Well, God actually grew the church to to have about four to five hundred young people So our morning service was about a hundred and our evening services were up to about five hundred in them And it was exciting. It was dynamic. I mean we were a vineyard We were into the supernatural. We saw deliverance. We saw signs and wonders We saw healing the presence and the power of God was so amazing It was who we were for those of you that knew the vineyard our worship was off the scale People were coming from everywhere because there were no churches in that area in those days that were focused in That way nobody had young people When I asked the church when we took over where Where are the young people and they just said we don't know where they are and I was like But there there are the strength in the future of what we're meant to build our church on and So we began to reinforce our church with young leaders and and so forth But there came a moment where Denise and I began to feel a shift in our hearts We had a beautiful crowd You understand but we realized there was more That they weren't at the level of the church that we began to see in the acts of the Apostles and Quite often we think when we look at acts of Apostles that it's all about signs and wonders You know the power and the demonstration, but they were devoted To things that we don't necessarily see today in the church in the West and So we began to get hungry talk about hungry Jen, right? We began to get hungry for another kind of Christian Let me just say it that way We we saw so many people coming for prayer every week. They would come to the altar They would say give me a word from God pray for this problem to be prayed for this We pray for them, but they would come week after week the same ones Over and over and we were like Lord. What is it and then God began to show us that the That they had not been formed in Jesus Christ that the character their nature They're not being born into the things of Christ. They were born again and you can be born again and they invite Jesus into your life and and Receive his grace and your spirit can become born again and you become alive to God But you can never progress into the things of the kingdom. You can never really be born into the dimensions That and the blessings and the life and the character of Jesus Christ And so our lives are always like we're looking through a glass. We never really enter into it So some of us are like breach birth, you know, we never really get born properly and Some of us I mentioned in the first service are like we need a c-section to be born, you know We like rip that baby out of there. Let's get that baby born. So I want to talk to you today About mobilization That's the first word I want you to think about And God began to speak to us and said Terry your church has not been mobilized into the purposes of God Your church is not living For God's purposes It's like you remember when Jesus fed the five thousand And you know, they were there. They were hungry. They came for the bread. They came for the miracles and uh, God said Terry your church is a little bit like that But you remember what happened after the five thousand Jesus said I am the true bread and those who want to be my disciples Need to eat my flesh and drink my blood. Well, think about it. Jesus's church went from five thousand to 12 in one sermon Think about that Five thousand people were following him and they all said to him this teaching is way way too hard for us What does it mean to drink the blood of Jesus? Partake of his body means to become one in every single thing about Jesus We talk about hey, we want to be like Jesus that You don't know if you want to be like Jesus We think that's a very romantic, you know, Jesus laid down his life For people that hated him. He gave up everything. He gave up all of his glory For people who would treat him and step on him in the dirt and spit on him and crucify him To be like Jesus was to devote your life to 12 people So that they would touch the world I mean His obedience his yielding his prayer life his submission to the father to be like Jesus Is next level and we wonder why we don't have such a deep relationship with the lord is why because We're not following after the purposes of God. Our life is formed And shaped around our purposes Now if you want to be really honest with yourself and i'm going to ask you to be honest Okay It's not for me. It's not for pastor vlad. It's not for hungry gen. It's not for the person next to you It's between you and god, right? I want you to be honest with yourself today Are you living with a passion for the purposes of god? That your whole life your family your job your finances your time your evenings your private life is devoted and sent it around learning to do and to become And to fulfill the purposes of god And god is speaking to leaders today He's speaking to pastors and that's what I love about your pastors That's why I want to be friends Is because our church when we began to speak to our young people are all of our church Our church went from five six hundred people to 250 When we said we want to go to the next level we want to form characters We want to form the character of christ in you. We want you to be born into the ministry of jesus People were like this is too hard We're only here for the bread Give us some bread give us some sweet bread give us some sweet corn bread We're american come on. Hey, we're here right my accent's a bit weird, but I am an american citizen believe me me In fact most of you i'm looking out there a y'all american here We're american right, but we have this western mindset And the mindset is if it's hard it's from god it's from the devil If it's hard if it's not comfortable it must be from the devil So a church to grow to go to the next level everybody has to sacrifice You have to sacrifice your life on the altar if you want to walk where jesus walks If you're saying i don't experience the presence of god that much maybe you're not walking where jesus is walking Maybe you've buried the lord and he wants to be resurrected in your life So I want to just speak to you about a few things I've got a little time because there's so much to do and i'm gonna go for it. Are you ready? Put your seat belt on all right. Let's do it The first thing is that I want to talk to you from john chapter 3 very famous We all believe we understand this verse, but i'm gonna open it up a bit John chapter 3 verse 3 jesus replied very truly I tell you no one can see the kingdom of god unless they are born again Verse 5 jesus answered very truly i tell you no one can enter The kingdom of god unless they're born of water and the holy spirit Flesh gives birth to flesh spirit gives birth to spirit You should not be surprised at me saying you must be born again The wind blows wherever it pleases very key verse We don't preach this part You hear it sound, but you cannot tell where it comes from or where it is going So it is with everyone who's born of the spirit So jesus is saying you have to be born Into his kingdom born into his authority born under his power and rulership Before you can see and enter into So if we're not willing to be born into obedience born into yielding born into You know birthed into yielding our life completely. We cannot see certain things. We cannot enter into things Many of us have not really we born again Our spirits are born again, but we've not been born into ministry the ministry of jesus We're still on the outside We're still looking in Some of us have not been born into discipleship We're still sitting back saying well lord one day. I'll give you my life Completely when I have a a little bit more time or when my kids are grown up or when I finish my My youth, you know, I'll give it to you then right So there are things he says you cannot enter and in verse eight is the key The wind speaking about the holy spirit blows Moves has control has authority wherever it pleases So it is with everyone who's born again. In other words, if the holy spirit is in your life You do not own your life Wherever god wants to go you have to go Wherever the holy spirit blows you have to blow if he says pasco in the winters where you're gonna live Sorry, baby You know how many young people they say go to college where we're living and and I say oh great You've been with us for four years. They say yeah, I've got a job in LA. I'm going to LA now. I'm like When did the lord tell you that and they look at me like what? The lord who's he I'm like you're moving a whole city You're moving your life your job your focus everything about you and it's because you've got a job opportunity And they're like well, I prayed if god gives me the job, you know, it's mine No, the enemy can give you plenty of jobs So you're not born Into obedience you're not born into yielding so that wherever the holy spirit blows in your life or goes You're obedient right You're not mobilizing your life according to god's purpose And what I you know for churches to go to the next level They have to stop mobilizing their team their pastor their leaders their people their youth their children's work According to god's purposes.  Why do you come to church think ask yourself? Why do I come to church?  I mean a lot of people come because it's this is what we do I did it since I was a kid if I don't come the lord's gonna strike me would like me You know, it's just But I don't know about you, but I come to church my wife and I my family For the purposes of god So that we can learn the purposes of god That we can be taught the purposes so that we can do the purposes Together I don't want to come to church and listen to something and then leave and go that was good Or was it how many marks did did we give lad out of 10 this week? That's not why you come to church You come to church to ask him teach me the purposes of god so that when I stand before god on that day He will say what well you did you do with the life that I gave you Okay, so the number one purpose the number one purpose that you should be focusing and devoting your life to Is that number one you should be born Into worship Born Many people are not born into worship Many people will know it's time for worship. We're just standing They're looking the band is good. What's this? What shoes is he wearing this week? We're not in worship. Let me read a scripture to you in revelation chapter 4 11 For you created all things and they exist because you created what you pleased We've been created for the pleasure of god You have been created for the pleasure of god you did not create god for your pleasure And many in the west we believe that god exists for us Is it true Come on think about your life god. When are you gonna do this lord? I want a better job lord. I want an increase I want a tesla Just saying Of course we do lord. I want the best wife. I want the best kids God you were created to be a blessing to me. Of course god wants to bless us But there's a two-way partnership here right God has created us that we would be born into all of his realm all of his dimensions all of his blessings But also all of his requirements that we would partner with him Together we are Um the inheritance of jesus. We are brothers and sisters of jesus So you've been created now. I want to speak to you about worship your devotional life You cannot build a great family. You cannot build a great life. You cannot build Um a great church or a great leadership if the spiritual Level of your life is not high You can be prayed for a hundred thousand times And I have been But unless you're born into worship unless you're born into devotion unless you're passionate to be in the presence of god all day When I when you think about your prayer life, let me just challenge your mind right now What does it look like honestly? You had the relationship you want With jesus if you want it to be good, it'll be good But you have to be intentional you have to motivate you have to mobilize your life into god's purpose And it's number one purpose is that you would be one with him that he would say i know you I knew you we're one together Denise and I have paid a heavy price since we've been uh born again together and have been married for 43 four years We've worked really hard to develop our prayer life to develop a prayer life is very very difficult You have to die. You have to sacrifice. We get up at three o'clock or four o'clock every day We never used to weigh back, but now we do Is a sacrifice But if you want jesus, where is jesus? In the midst of a noise the family the 15 kids the four kids the everything How are you gonna find jesus? We have a lot of arguments. I'm super busy pastor. You don't know I have three jobs God didn't tell you to have three jobs That's your argument not the lord's Lord I have eight kids how am I meant to how am I meant to have a prayer life I feel for you girls honestly with all my heart, but you do have to know the lord didn't tell you to have eight kids It's a fact You cannot use he gave them to you because you prayed for them But now this is your life Okay, you're like wow And you guys who are married You know, you're like i'm married. I have to serve my husband God didn't tell you to get married In fact in the new testament Paul said don't get married so you can actually fulfill and mobilize your life around the purposes of god, right? So we have a lot of arguments. I have three jobs. I'm married. I have 28 kids And god's like You chose it I blessed you with and I answered your prayers, but now where are you? I feel for you moms honestly because your husband's asleep most of the time when you're taking care of the kids You're on your own But you can find a way in Denise and I used to always go to bed late. I was a late guy. How many of you are late nighters What an amazing excuse. Hey, hey lord, I'm a late nighter. I cannot get up at three or four in the morning I it's just not who I am.  You know, I just like to be cool late at night. No, it's dangerous So now we go to bed at 8 30. Wait a minute 8 30. Nobody cool goes to bed at 8 30 Am I right? I mean only boring people go to bed at 8 30 Old people go to bed at 8 30, right or something or moms that are exhausted But if you want to meet with Jesus when nobody's around No kids are screaming Do something is all I'm saying but get close to Jesus Hey man The second thing you need to mobilize your life around you need to be born into God's family So many believers are not part of God's family They go to church, but they bolt for the door lightning speed You don't know them. You don't see them Because they don't they're not known They're not part of the family And we you know, we think about it your family at home is so important to you, right? But you know the american family the american one of their number one idols is their family We hide behind our family. We use it as an excuse. I can't serve God. I have a family Think they have soccer. They have swimming. They have volleyball. They have football.   As you know, it's very Latino based My church is 95 latinos, right? And I'm the Denise and I one of the few pale skin gringos that are still in existence there But we are there Oh Dear Denise and I have how many cousins do you have? Two I mean, I don't even know. I don't even know who my cousins are. Right? I mean, that's that's gringos, right? We just like there But latinos they have like 50 60 cousins. Am I right? Come on. You guys know what family is all about So on sunday, I say to some of my young disciples you haven't been around for the last three weeks pastor My family What do you mean your family? Well, my cousin came to town Okay, your cousin came to town. Well, you know, it's tradition in latino families if your cousin comes to town There's a party and everyone has to I'm like, so you don't come to church because your cousin came to town I'm like, so for the next 40 to 50 weeks, you're gonna not be coming to church because your cousins are gonna be coming to town You see This is what you should say to your cousin Come visit my family, but between 8 and 10 on a sunday morning. You cannot find me I'll be at church worshiping the lord. You can come with me, but i'm not going to hang out with you Well, we eat tacos. You know what i'm saying Now for some of you, you're like Whatever Because you're like, no, no, no don't buy into that. It's a fact You can miss the purposes of god Because you're focused on things that are not eternal You're not focused on being and giving and being born into the family This family look the lord said you shall hate your father your mother your brothers your sisters You love them more than me You're not worthy to be my disciple I have things that you can enter that you need to be born into that you need to see You're not birthed into the family of god And I reserve some of my blessings and favor and presence and revelation for when you're part of the family of god I'm just saying that's a fact a lot of you like my relationship with the lord is thin because you're not in his family You're not worshiping. You're not praying is a price. I told you there was a sacrifice Number three. Wow time runs when you're preaching good. Sorry I wasn't preaching good in the first service. I was so nervous. I was like, man, I'm in postive ledge church. It's so freaky here I was like, maybe he's looking at me. He's gonna cast out a demon while I'm preaching I'm like, man, I won't look good in front of the cameras But now I feel good because he let me go through the first service without casting a demon out of me. I'm good All right, number three born to be a disciple, right born to be a disciple Are you a disciple? Do you know what a disciple really really really is? That's it.   You don't want to subject them to the lord I'm gonna just Quickly tell you a quick story about my daughter She grew up in my house pastor's daughter But she was a professional professional pastor's daughter professional christian many of you here would identify with her We show up. We've been dragged to church by our mother and our grandmother for the last 30 years But we're just here we do it, but we're not in My daughter was not saved and I knew it My wife used to say to me. Oh leave her. She's good. She's gonna. I'm like, no This girl is does not know Jesus. So by the time she was 14 Now i'm confronting her like wow And I don't mean badly. I mean we love I mean there's no one amazing our relationship But I went after her I pursued her like the father pursued me And I told her you don't know the lord She would weep and she would cry to whatever I've been coming to church. I was born in your family, of course I worship I wave my hands. I jump at the right time But in her heart She was not a disciple. She had a different plan. She was waiting until She was 18 19 and she would go to college in san diego And then she would just believe on the side bless a little heart But really fulfill her dreams And then one day When she was about 16 I made a decision, right? It's a make or break time It's a make or break time in my relationship So much so that I was willing to sacrifice everything if this went wrong. I would maybe lose my relationship with my daughter And I confronted her and I and we got to that point where we were sitting on my bed for a couple of hours And I asked her what is it That's holding you back She said my dreams I have seen the way the lord has worked in your life mom dad How you've suffered for jesus how you've given up your life you gave up your money you gave up being in whatever country You've suffered people have said things against you lied to you and I don't want to go through that I do not want to make that kind of sacrifice And I said honey, I understand She said I have dreams.  She cried for a week She came to jesus She became his disciple. She denied her future. She denied Anything and everything for the sake of jesus and i'm so grateful these days. She's posturing a church with her husband beautiful church a wonderful church I'm not saying that all of your kids are meant to be pastors No, I am saying all of your kids are meant to be pastors All I'm saying is is that don't quit on your kids. Don't Quit on your family Pursue your children, but if you're not a disciple, they will not follow you You cannot ask your children to be that which you're not willing to do yourself. Okay If you're not praying if you're not in the family if you're not modeling it Don't let your kids say my parents live two lives one at church and one at home. Don't let them say that So if we want to go to the next level if if hungry gen And god has set hungry gen up to go to the next level by the way, this church is ready to go This church is ready to impact his city. Okay, that's the difference so number four Are we late? Are we good born to serve god? We got at least another hour, right? Just kidding Born to serve god you have been born to serve god But have you been born and birthed into the ministry of jesus? You say yeah, well, I kind of do parking duties Well, okay, I love you I play the guitar. Okay good But there's more God has higher things for me. Those are good things that we do those things But god has called you to be a priest And a king To rule under the gods authority impact your city. Let's read a scripture in revelation chapter five verse nine This is about us now and in the future They sang a new song saying you are worthy to take the scroll and to open its seals They speak in about jesus because what did jesus do? He was slain and with your blood you purchased for god people from every tribe and language and people and nation You have made them to be a kingdom and priests to serve our god and they will reign on the earth Wow, so much there you can preach a year on this God has purchased you Many of you have an argument about that God jesus laid his life down for you. It's sealed He's purchased you. You are now Owned you belong to god. You cannot bargain with god about your life You can't negotiate about where you go who you live with what job you do All of all of your future it all belongs to god now if you have an argument about that You're going to be stuck In in your relationship with the lord, you will not be able to move on To the next level until that argument that stronghold in your mind and in your heart and in your will is broken Okay, he says you god has called you and made you a kingdom and priests In another translation that is he's made you to be a king and a priest A king is a ruler He's the salt He's the light He impacts he changes things around him. He sets the culture Okay, a king has authority Over the dark world we are the representation of the son of god on earth, right? You've made them to be a kingdom and priests. So priests serve at the altar of god They serve in the house of the lord So that others can be blessed To serve god and they will reign on the earth.  Now you raise up sons and daughters Priestly sons and daughters, right? What does that look like? I fought for my children. They're both pastors right now They're both are very very fruitful It was hard. It was a battle We came against demonic forces We came against everything from when they were born There were prophetic words over their life, but from the time they were born the enemy tried to steal them out They wanted to do other things And I want to say to you parents who have young children Some of you may be here, but I've heard people say this Oh, I don't know if I want to force my children to come to church And I say what? Are you seriously saying that to me?   You're 18 year old. You're 22 year old really knows what they're doing in this life They can figure life out That's why they're all in pornography That's why we're in this gender world right now Come on. Let's just be real. This is why we have a problem because the parents have gone. Sure My kids I don't want to go to church. You will go to church As long as you're under my house And I feed you and I pay for you until that day when you can leave But until that day you get to church. It's non-negotiable You parents your kids need leadership. There's no leadership in the world.  Oh, she's okay. She's okay. No You fight for your children you become a priestly family You not only raise sons and daughters spiritual sons and daughters in the faith But now you teach them to become fathers and mothers in the faith You know what's missing in the church today the number one thing Fathers and mothers in in the church spiritual fathers and mothers leaders to lead this generation But I know many of you are applauding but Are you a father and a mother? in this church Are you a father and a mother? Are you raising do you have fruit? Do you have disciples? You see that's what a father and a mother does they bear fruit They raise them to multiply to become all that Jesus is We're not just facilitators We're not just enablers. We are world changers And it starts in our house and we got to go for it and I want to encourage you. It's not too late It's not too late. And so when I look in the church past the vlad and number one thing that I grieve over In america There are very few men Very few men Who want to serve the lord jesus christ That if it wasn't for the women Our churches in america would not exist I'm telling you that may be hard for some of you guys in my church Most of the young people that we have we asked them Tell me about your father. I was praying for a young man the other day Tell me about your father.  You know what We need men To rise up Become leaders to take that place in the house of god in the kingdom of god to become real kings To lead their wives to lead their children To mobilize their life around the purposes of god not empty dreams that are just going to end up Eternal dreams. Let me finish quickly on the fifth one quick The final thing we're we're meant to Mobilize our life around is that we need to be born. We are born to bear fruit Born to bear fruit You are part of the vine you're a branch a branch exists to bear fruit To lay your life down You were born to lay your life down Love No one has greater love than that that they lay down their life so that they can bear fruit fruit that will last Eternal fruit In provibs 11 verse 30 it says the fruit of the righteous is a tree of life And he who wins souls is extremely smart the fruit your fruit Is a tree of life is eternal And If you are involved in being fruitful and caring and loving and Modeling your life after the purposes of god that we have the same mind the same attitude as jesus christ As he laid down his life for his friends.  We have such arguments So many arguments I can't do this for jesus. I'm busy Why don't you do it? I'm so I'm busy buster I have three jobs. I have a kid. I have a life. I have sports That's the argument. You got to cancel that. Let's stand.  Therefore Go and make disciples and teach them to obey Everything that I have formed in you form them In others so that they may form them In others So jesus is looking for disciples who multiply Disciples. I believe scripture teaches you are not a real disciple Unless you're multiplying yourself What does a branch do bears fruit? What is fruit to eat? now It has seeds when it falls on the ground. It's meant to multiply Of its own kind. We are branches. We bear fruit that multiplies Each time that we upload videos Thank you so much for being a part of this community If you're interested in learning more about hungry jen, our internship, our conferences, deliverance and so many other things Go to hungry jen.com for more information and as always remember Better is not good enough. The best is yet to come


The government of St. Lucia in fulfilling its obligation on the chapter 8 of the Treaty of Chagoramas to establish the necessary mechanisms to pursue consumer protection and competition law and policy was very instrumental in the establishment of the National Consumers Association, the NCA, which came into being in 2002. The NCA is a non-governmental organization and its role is one of advocacy. The NCA serves as the mouthpiece of consumers and works in close collaboration with the Ministry of Commerce. The Consumer Protection Act commends in January 2022. One of the administrative structures in the Act, the Consumer Protection Council, which deliberates over complaints investigated by the Consumer Affairs Department, requires representation of the NCA. However, the membership and drive of the NCA have diminished at a crucial time when the consumers are impacted by the effect of COVID-19 and the war between Russia and Ukraine. Consequently, a more vibrant NCA is necessary to represent and lobby on behalf of all consumers. It is against this backdrop that I, not only in my capacity as Minister with Responsibility for Consumer Affairs, but as a former member of the NCA, learn support to the efforts of the NCA to hasten the growth of its membership. I invite all consumers to consider joining the National Consumers Association. I thank you.