 Well, hello everyone. Thanks for taking a few minutes to be able to sit with me and walk through this content. We're going to be talking about a concept that may be at least the terminology may be unfamiliar, but hopefully it is familiar at least in our common aim. It's called contributor-centric systems, and I'm Joel Warrell, senior director of open source from New Relic and glad to be walking you through this material today. So for starters, as is always the case, I got to start off here with my little safe harbor slide and just say anything that I'm talking about related to New Relic, I have to say, is related to that. So, okay, for starters here, just give you just a quick a moment about me. So I'm, I currently serve as the senior director of open source at New Relic, and previously I've worked at New Relic for about two and a half years in running open source for the last year. Before that, I ran a group inside our go-to-market organization called New Relic Labs. I've been a chief technologist for a nonprofit marketing firm. I've been a nonprofit executive and served at all sorts of different levels of engineering leadership in product companies. I'm also an open source maintainer and the co-founder of a project that actually, I was part of the second application-based project that I were actually joined the JS Foundation, which I'm going to talk a little bit about. I've run marketing organizations before, Solution Architect, I've been a teacher and developer, and I've also been a New Relic customer, which is the company that I'm working for these days. So throughout the interwebs, you can find me if you're interested at my handle, which is almost always available, which is why I use it, Tango Llama. Okay, so here's our agenda. We're going to talk about, first of all, before you get all the way through this talk, why this talk? So I'm going to give you just a couple thoughts about why this might be valuable for you. I'm going to give you some background, some context about how this concept came about from some of my own experiences. We're going to talk about a definition around contributor-centric systems. I'm going to talk about six principles that I believe have played out in the work that I've done around building contributor-centric systems and then offer just a few next steps for you as you're thinking about exploring this concept, applying this concept, hopefully learning with me in the process of building systems that invite and engage contribution and engage contributors. Okay, so for starters, I like this very pointed question. Why is this worth 30 minutes of my time? I'll never get back. So I want to just offer up these three potential outcomes. So first of all, to get better as a software professional, I think regardless of which particular discipline we're operating in, in the world of technology, whether it's architecting systems, engineering them, discovering product needs and fits, inventing, you grow your experiences from other people's journeys. And my hope is by presenting a little bit of my own journeys in exploring this concept, it could be beneficial to you. Second, there's a good chance now or sometime in the future, you will be working on a system that would benefit from some of these ideas and contributor-centric ideas. And so that doesn't that's not to imply that every project you do work on or even every open-source project necessarily should be what I would classify as like a contributor-centric system. But it's very likely that you will be and so perhaps this will be applicable from that perspective. And then the third thing is just to change perspective on the way you are doing your work. Just by thinking about how this type of concept applies to your own work, you might just find that you find just a little bit more purpose in your craft, which I think is one of the things that's happened for me. So without further ado, we're going to continue on. Okay, so we're going to talk about a couple stories. First of all, we're going to talk about an anti-pattern to this concept of contributor-centric systems from my own background, which happens to come from the enterprise learning management system space, which is certainly not to disparage companies that are doing good work there, but it is to say that there's some experience that I personally had that helped me kind of recognize that it felt like it wasn't aligned with some of the things we're really trying to accomplish. And then I'm going to point to three different examples of projects that I've worked on in my career over the last 10 plus years that have grown some of my own thinking about what a contributor-centric system is in the nonprofit space and the open source space and now working in a commercial entity leading open source. Okay, so item number one, our anti-pattern. And for this, we're going to point to, this is of course, you've probably seen this before, Gartner Manager Quadrant. This one I think is a little bit older, but it's meant to chart out all the leading players that exist in a particular sector of software. One of the things that, so I found myself working in leading in a learning management company decade plus ago, and one of the things I was always struck with was the relationship that we had with learners as a software vendor that was theoretically all about learning. We were a system that through choice or enforcement had been rolled out across large enterprises, so thousands, tens of thousands, in some cases hundreds of thousands of users are touching the software on a regular basis. And it was clear through the way we built features, through the way we did our product road mapping, through even frankly the way we were evaluating compared with other peers, that we were not building the software for the learners, for the people who were like the broadest audience of people that were touching the software. We're really building it for learning administrators who are trying to figure out how to justify their budgets to their executives. And that created this weird imbalance where there's just disconnect for me as an engineer and an inventor, a cognitive disconnect between like the power of what existed in our learning community and how it could serve the ultimate goals we had about retaining and conveying knowledge versus the way we were actually thinking about building the software. So I kind of walked away from that experience back 10, 11, 12 years ago now with these burning questions in my head about what would it mean to actually truly engage the people that you're trying to serve in a way that created more generous outcomes, not just truly in an altruistic way, but like ultimately about building more productive systems and accomplishing your tasks more successfully. I quit that job and actually ended up joining a nonprofit, actually an organization I've been given to for a number of years and I actually joined as their first technologist, the first person with any sort of technology background, and eventually ended up running technology and marketing for an organization called CURE. So this was an organization that operated a set of hospitals all over the world where the focus was on caring for kids with surgically correctable disabilities. And the key thing that we did there that we built a system that was my first kind of major learning and discovery around this idea of building contributor-centric systems. So we were building a system at the time when I joined the organization we had a problem which was we were doing all this great work 20,000 plus kids a year that are being served and radical transformation in the lives of these children and their families. But whether you showed up with $50,000 or 50, we couldn't connect those dollars to a direct human that was being helped. We had great numbers from a reporting standpoint on our 990 but ultimately there was a lack of connection and so that created not only kind of an opacity in who we were serving but even just a real anonymity on the side of the people who were funding the work and contributing as well. So what we did is we built a platform, we built a piece of technology called a system called CURE Kids that was able to connect donors and the people who were being served through an appropriate level of update and communication where we were able to actually broker two-way communication between families. So families that were helping fund care and then families that were receiving that care in very generous mutually beneficial relationships where they're both serving one another and we ended up becoming kind of the conduit for that. So creating some interesting scenario where we actually got the chance to help our donors feel like they were directly involved in our work and not just help them feel like it because it's the same beneficial from a fundraising perspective, although it was, but also to actually get them directly involved in some of the work that we did through the use of the technology system. I'll talk about that a little bit more. I want to get into some of the takeaways. The second thing, while I was in the middle of working for that organization, myself and two other co-founders started a project that's now part of the Linux Foundation, part of the JS Foundation called Hospital Run. So we, I was actually on a trip visiting our hospital in Kenya and had known for a while I was there actually checking the efficacy of this patient reporting system that I just talked about the CURE Kids system and was fully aware that like we had a problem from a medical record standpoint that we needed to supplement an electronic medical record system, but ended up going out on a mobile clinic and recognized and a mobile clinic just to be clear is like a situation where say one of these facilities would get in some hospital vans and then drive maybe several hundred kilometers away from their facility to do long-term follow-up and care and patient identification in you know some of their neighboring village in order to like ensure that continuity of care was maintained, but we had to carry the records actually out with us out in those scenarios. We recognized there was a really complex issue there if we were going to try to tackle this with a technology system and so what we needed to do was reluctantly after exploring a lot of different options and exploring a lot of the open-source projects that were out there, we started a project that made use of a technology concept called offline first development in order to allow you to interact with the cloud-based system even when the internet's off because we're using local storage and then some simple but clever synchronization capabilities to when you're in range of an internet connection then recognize where you are and know which network you can talk to and how to transmit the updates appropriately. What we ended up having to do was ultimately build a open-source project around that and then build some way to bake into the concepts of what we were building with Hospital Run a contributor centricity. So we had a number of practices that we started implementing in the way that we were managing that project that were all about make creating an environment that allowed potential contributors these developers that happened to be at that time building an ember-based application. Since then the projects continued on and it's now React-based app but they understood a particular framework and understood a particular set of technology and carried that knowledge into the conversation but didn't necessarily understand the domain perfectly so how do we find ways to help people feel connected and get connected to that work in service to this common mission and there were a lot of interesting challenges that we faced along that way you know what it meant to like discover what does it actually mean to be contributor centric what are the things that aid your ability to recruit and encourage and maintain contributors some of which are a little bit counterintuitive and I'll talk a little bit about those when I get into sections on Lessons Learned. A third piece of input here is actually on the work that I'm doing right now related to New Relic. So I joined New Relic as I said about two and a half years ago and then took over the open source organization actually really really started it back in October of 2019 and like a lot of other organizations there was a lot of tending work to be done in order to help us discover policy implement that policy create culture around what did it mean for us to open source more of our capabilities as an organization and nowadays we've open sourced basically our entire instrumentation library so all our agents and capabilities soon to be our capabilities from a browser and mobile perspective are all now out in open source and some of that was actually driven by a lot of the work that came out of the open source engineering team not that we had done conducted all that work that we kind of led the way on what does it mean to create a contributor centric culture and so we did things like release our open source website so you can go to opensource.newrelic.com this is a screenshot of it and that of course itself is an open source project right so our website that's focused on promoting these hundreds of projects that we have in our open source library on GitHub is itself an open source project built in Gatsby that invites things like direct contribution to the maintenance and management of the site so you'll find that on every page there are things like editing capabilities that drive you directly into an interface that you can quickly edit and PR all focused on this idea of like recognizing if someone's willing to take an action to contribute in say even a language change on something that could be a good basis to try to determine whether or not you've got someone who might be interested in being involved in some of the other projects you're involved in and ultimately all in service to the mission we have which is not about New Relics bottom line I mean that's sort of an outcome from executing our mission but we're really focused on making observability ubiquitous and accessible to all engineers and so we recognize that doing more work in open source was necessary to achieve that and that to create the kind of relationships with the community that makes it possible to build those sorts of things like we need to reflect that in for ourselves to change our or adjust our own perspectives and attitudes as well as in relationship with our potential contributors how do we build systems that invite that contribution so that leads me to some learning so having been in the nonprofit space in the open source directly in direct open source contribution working in a commercial setting leading open source I want to talk a little bit about some common ground that I've discovered between open source and nonprofits that I think can be beneficial in thinking about this concept of contributor-centric systems okay so item number one both open source and nonprofits or causes are and this is the case for foundations or you know for for any sort of 503 or if you're international based on the governance laws of your your locale whatever qualifies as a nonprofit that these two things are pursuing a larger goal than full-time central staff can achieve you're always tackling a mission that's bigger than you can staff up for that is a that's a that perhaps a challenge that's faced even in many commercial ventures but I would I would argue having lived on both sides of that equation that it is certainly far more challenging and requires far more invention and and necessary investment on the nonprofit side and definitely on the open source side you are trying to tackle something that's really difficult for you to hire up to solve the second thing is you're relying on participation where financial benefit is not a primary driver so in the case that you're you know perhaps like most of our work settings we probably are working someplace because we like to people working with hopefully we believe in the mission of the work that we're doing there certainly is a financial benefit that's a driver for our work that's not the case I mean there are in many countries tax write-offs related to nonprofit contribution and certainly there are some scenarios where open source contributors are paid but certainly not the sort of thing that's meant to make you rich and famous so that's not the primary driver and that creates a different sort of requirement in the way that you construct your project the third thing they both have missions that tend to be best served by a broader circle so the work tends to get better as more people are involved this is not the true of every single project or certainly not every project in a commercial setting but in this particular case these tend to be true about open source and nonprofit and therefore they need vibrant relationships with contributors and so you've got to build connections with people who you desperately need in order to achieve ultimately achieve the further extent of what you want to do with your mission okay so this leads us to a question of this this concept of a contributor-centric system so let's talk about what is a contributor-centric system so I've got a definition here so a contributor-centric system is a system of technology and processes built to support and align people who are in a sustained relationship with an organization that champions a mission the resulting system enables a virtual cycle a mutual service to a common cause so think about this as like a scenario where as opposed to you may build software to serve a customer but in this case actually the customer that you're serving is actually related to like a larger cause that you're involved in and in the the best definition and the best implementations of a contributor-centric system the technology systems that support these things the contributor the customer that you're serving actually feels like they are a part of the actual mission because of their engagement with the technology or contribution to the technology so that's a that's kind of a unique factor that that I would use as a definition for what a contributor-centric system is you're not just giving to the cause you're part of the cause because you're a part of it so what does this look like in the case of nonprofits okay so in a nonprofit setting this is a platform that moves a charitable conversation about that's normally related to time or you know some sort of time or finances that are being contributed from what you as your organization delivering this service do that the donor supports into what we as a community do to serve the common mission through our time retention and resources and if you're an engineer like me and like tend to be a little bit more skeptical so we'll really like what's it is and it's just semantics well no I mean there is an actual identification and emotional posture that contributors can feel towards a particular cause that can be enabled it's very common for a contributor to feel like they are sort of separate from the entity but there is a moment and that comes at a level that's about more than money right or about more than time it's actually about like participation really feeling like they're participating in the mission I've seen this play out in more than one scenario and it's definitely possible in an open source project it's about building a project and tooling and processes that encourage maintainers who are the primary people acting on the project to engage contributors in an ever-growing sustainable connection towards shared service of the project and I want to emphasize here indicate and I've got here as an example the New Relic Developer site which itself is also another open source project that invites contribution on every single part of the part of the site itself that I want to I want to highlight here that it is not my assumption and this is I suppose debatable but that I'm offering an opinion here not every open source project is a contributors or should be a contributor-centric project that many many open source projects are best served by a broader circle of contributors joining an ever-increasing relationship and commitment to the effort I'm not talking about you know scatter shot hundreds of thousands of people contributing to a project but continue to grow the circle of people that are invested and feel invested and feel that that's a good use of their time okay so the question is let's say if we if we can take as a given or at least as a hypothesis that contributor-centric system is a real thing and is a thing that we're interested in in investing in I want to offer up just six principles from that history that I just talked about from this definition that I'm offering around building a contributor-centric system or creating a mission-aligned experience that invites contribution so here are the like six principles some of these they blend between you know kind of marketing and positioning and then into the implementation of technology so here we go item number one so I just told a story just a minute ago about the invention of hospital run this this photo that I brought up here is actually directly related to that story so this was literally the hospital the day that hospital run as a concept really was going on was going out on this this mobile clinic we were going to drive a couple hundred miles kilometers away from the hospital the hospital building was right behind us there is bigger quite beautiful actually just such a lovely place but we we we dropped the these paper records those are doctors that are loading large heavy pieces of material onto their ambulances so that we could carry our best guests based on the region of the number of people that we might need to interact with and and let's hope that we got the right information with us and recognizing that if we wanted to carry those medical records on an electronic device out into the field and then allow a staff that was not profoundly technically gifted incredibly gifted capable people who were surgeons brilliant brilliant people but not necessarily technically gifted that we needed to put them in a position where they could just interact with the device and when they walk back into their own local network it just sinks up and works and they don't have to pay attention to it at all and that was really the focus of what we wanted to do with the hospital and so this this first point here is really all about remembering who you're serving and why so a contributor-centric system is we're building hospital run we recognize that we needed to bake a bunch of experiences into the way we ran the project that was actually focused on not these people but the contributors that were actually going to help us get where we wanted to go but we wanted to be really clear about who you're serving and why because the contributor isn't interested in feeling like this is all about them we were actually serving a larger mission which is to serve these people these people who are dedicated medical professionals taking care of children um or are any any folks that folks that happen to be operating in a in a majority world context um where maybe there's a resource constraints particularly related to healthcare system so those are the people we're serving our value uh valuing that precision about who that primary customer is was super important so as we started building hospital run we recognized this technology is pretty great and actually the interface was beautiful and so there was a strong pull to move it into like lots of other vectors of you know what you can do in western medicine and we would say well it's an open source project you want to do that fork it and go do whatever you want but we're hurt here for this mission that's the reason we're doing this work and so that actually um perhaps counter-intuitively focused what types of contributors we brought to the project and made it possible for us to build more cohesiveness and actually make a lot of progress in things like translation of the the original platform anyway that's the they're the reason they that primary customer these these in this case these positions were the reason that we had common cause with our contributors with the people we're actually trying to serve to the way we had constructed the project the second thing um communicate the mission clearly so um this again there's a couple counter-intuitive ideas here um that i that i want to really hammer home um often when we start particularly when it comes to not well nonprofit costs as well as open source projects you're kind of searching for an idea and i just say that like the the faster you can get to a place that you have conviction about the mission that you're on um again counter-intuitively it casts casting a broader net um it's actually unproductive you end up meeting a lot of people who kind of like your idea versus being super clear about what the thing you're doing is for um that actually helps people select and around to be a part of the journey that you're asking them to enroll in and so i just want to encourage like you've got to communicate that mission clearly have conviction now that's not to say that you can never evaluate like what what that mission is and adjust it but you can't do it haphazardly um you have to be intentional about that you you have to be intentional about the communication if it turns out you are changing that mission i would say anytime you do it's fraught with danger that you know the people who were there before have to select in or out like are they still on that journey with and so be be really clear about um item number three um contributors want norms and they want options so again this is um this may seem particularly when it comes to things like uh nonprofit donations um this may seem uh a little bit counter-intuitive and so uh people intrinsically understand when they're contributing to work that they can do whatever you're going to arrange whatever they want to help um so telling them that is not as useful as you might think actually the most useful thing to do is to tell people what we new people normally do so the phrase you know i've got borrowed here you know people people from from south godin is you know people like us do things like this this this idea that like it's unintuitive but in fact people want to be told this is what people regularly do you should do this too with of course the option that you know you can do whatever you choose to do to be a part of the project um and we can do this in the way that we set norms say in our open source projects around things as simple as project templates and you know how we enforce things like test coverage in the work that's submitted but really setting some real clarity around um around a generous posture towards the way we're communicating with one another but part of the generosity can be to be really clear about what our norms are again and lets people select self-select in and out of what you're doing from a project standpoint and it also gives some people handles on you know how do they fit into into the potential community that you're inviting me into so contributors want norms with options number four um contributor engagement has to be a primary requirement um it's not enough to just say we've got a great mission we're serving this group um don't you want to help you need to be intentional in the way you bake features into your project or into your into your project whether that's a nonprofit project or an open source project that make it really clear signal to users or potential users potential contributors that we want you to get involved so we make that easy we make a contextual so in the case of if you go to the open source website clicking on that edit edit page or create an issue doesn't just sort of randomly dump you into the github repo it takes you directly to the page you're looking at right now where i can now go into the edit interface and issue a change submit a pull request and then we've got systems about how we're going to validate that and check it and communicate back with you um and ultimately in some situations kind of reward you after that work as well so we're being really contextual and we feel like pulling some of those um some of those user experience issues um off the table as like additional complexities what we're trying to signal to the user is we want you to be a part of this um if you're interested we're interested in helping you along in that process and so the question is you know what can you do to make contributor experience a key feature make a sense of openness and welcome to the mission introduce every interaction as a chance for someone to self-identify that they're interested um number five make the experiences personal um so we built one of the best features we built when i was working at cure was we built a platform that was just a really simple concept it was all about just sending get well messages to someone in one of our hospitals and so we had a group of embedded bloggers when you wrote a message as a contributor it got sent through this embedded blogger they could review it for content and like and ensure that like there's you know everything's uh appropriate there but ultimately they'd be able to have use it as a tool to actually have direct engagement with some of our patients um and this was not just some gimmick it had a tremendous effect in the lives of these families who appreciated the fact that someone on the other side of the world cared about what was happening to them um and had been directly involved in it and were willing to take the time to communicate and often wrote back and so there was some two-way communication were capable of brokering and so there's a a natural sense specifically as technologists we tend to think about these efforts as like the technology sort of dehumanizes these experiences and i would just encourage that like i've seen in the very best scenarios of the contributor-centric system the technology actually enhances the human connection you can use the technology to shrink the world and make people talk to other people or engage with other people in ways that are appropriate meaningful um in ways that like help you just recapture and remember and and um and assert and welcome someone else's humanity um and so just want to encourage you like that needs to be a key thing what can you do to make the experiences personal and use the technology to shrink the gap and the last thing there's always a question when you're related to kind of these contributor projects around incentives is it okay to have incentives should you give things away in relationship to like contributing to a particular project and i would say absolutely but and the but here is that relationship is really the incentives um so you may have recognitions and rewards in your project um and you know uh sending someone you know a thumb drive or you know or anything you know a hat or socks or a t-shirt or you know even something more you know extensive um is fine but um you know there's there's plenty of hackathons where like you can win a lego set and someone enjoyed the fact that they did that thing and they liked the legos um you know but like that doesn't mean that they're in not really they hadn't really indicated much of anything what they indicated was that they liked winning or you know but there's there's not relationship that you're building there so what it encourages that like you have to recognize the relationship to the project and the cause and what you are collectively doing is actually the incentive that's the thing that you own and you're stewarding and anything you offer from a recognition or reward reward perspective needs to be about enhancing that you know so if you've got swag that swag's about tribal identity maybe it's something you can't buy on some store you can only get it earned like through your engagement with the project you know there's an ongoing relationship about what you're going to do with your open source contributors on an anal basis people that continue to stay connected to the project it all those rewards and recognitions are about feeling good about the fact you're connected to the community and so you need to remember relationships to be incentive so with those six ideas here's what I want to offer just to close our time just three questions to ask an answer on the journey of creating a contributor centric system and so here we go item number one the question to ask yourself are we communicating an opportunity that invites engagement what is it about the project that you're working on the mission that you're engaged in that leaves room for focused investment from a group of people that are aligned with the work that you want to do have you created that space and if you if you haven't is there space for it it could be that there isn't in which case then you know maybe that's just strategic miss it could be that that's just where your project is but this can help you kind of like discern if there's a place for more contributor centric features which leads to what features can we build or implement and invite contributors to grow in their direct participation so as we look across our project where are the places where we can invite contributors to grow in their direct participation how can we make it easier for them to do that so that they they get the win and feel connected and ultimately we use the technology to enhance the sustained person-to-person interaction with any of these things if like your entire flow of the work that you're building to help engage with contributors doesn't result at some point with some way whether it's through newsletters or engagement or meetups or you know or video conference calls or you know or even direct person-to-person interaction through the way you respond in issues and poor requests if it's not actually enhancing a sustained person-to-person interaction I'd say that like you've still got work to do and we do as well I mean in the work that I'm doing right now you have a lot of miles to travel four kilometers depending on where you are to travel in what means to build a contributor-centric platform okay so that's my talk and I just want to as a final kind of call to action I just say there's a Slack for New Relic users called NewRelicusers.slack.com you can join that Slack and we have a public channel called Contributor-Centric Systems if this content is something that's interesting to you I just encourage you if you're engaging further I'm in that Slack channel and I engage there on pretty regular basis love to talk to you about this further I built this presentation or the whole concept around this actually as a learning exercise for myself to think about a lot of the work I had been doing and to learn more in this this area and so perhaps I can we can learn together so that's that's it for my presentation and I just want to thank you for taking the last half hour or so to to go through it and I hope that you have great success in considering and building your own contributor-centric systems thanks bye