 So good morning everyone. Thank you all for coming to the community dev room. We will now turn the floor over to Deb Nicholson and Nitya Ruff who will be covering companies and communities. Why can't we all just get along? Thank you So I'm Nitya and I want to introduce my co-speaker Deb Nicholson. I think a lot of you know her She is the director of community for the software freedom Conservancy and I've known Deb for quite some time and She's such an insightful person She really works hard to connect issues and people and understand cultures and It's a pleasure to be speaking with her today And this is Nitya Ruff. She works at Comcast and runs the open source programs office there I met her a few years ago and she was like brand new and you soaked everything up so quickly and So it's been really exciting to get to where we are Co-presenting together So today we're going to talk about companies and communities. Why can't we just get along? Yep So I've spent almost 20 some years in open source But more from a company perspective and it's important to understand that while open source started with the community and with hobbyists and with people trying to solve problems Over the last 10 15 years or more Companies are adopting open source a great deal Everyone's consuming open source my company does and we're trying to contribute. We're trying to get involved in communities and They're very different companies are very very different from communities They've been set up for very different reasons and so there's clearly a natural cultural clash sometimes between companies and communities and We need to understand that in order to work better together. Oh Yeah, so one of the things that that we've noticed is that communities end up sort of with this problem of success. So It's like, oh, we had this great like kind of cozy unique thing with just a couple of people happening and then All of a sudden like large companies with like NDAs and copyright license agreements are like, hey Can we come to your party? And it's like we're still meeting at someone's basement. It's kind of feels weird for you guys to send a caterer You know and so so the challenge is to kind of keep the community spirit, but also be welcoming in new participants So let me talk a little bit about the nature of companies The legal structure of a company has been set up to raise money As much money as you can from stock markets and from investors, etc To create products to sell them for revenue and to make profits and the markets the stock markets in particular and Board of Directors, etc. I expect companies to continue to be predictable make money and To be built to last to kind of be long-lasting as a company and money through sale of licenses proprietary licenses or products is quite common and Companies are punished by markets if they are not Consistent and they deliver on their expectations and promises and that they continue to grow So companies are really set up and incented to make money and to grow and then you find that this need to please the markets to deliver on expectations and to Be consistent and to continue to grow then fuels the goals and the focus of the company So everyone from the CEO and the board of directors all the way down Is highly focused and has a single-minded focus on making sure that Everyone in the company is working towards a common purpose Towards common business objectives towards business goals to avoid risk to avoid uncertainty to deliver on promises And focusing on alignment across the company across business purpose So as an open-source person in a company Anything I do from an open-source perspective also needs to be aligned with business purpose and needs to serve the needs of the company and And companies have HR departments So they have people who advise managers who advise people on how to set your goals How to maximize your goals how to mitigate risk and the system of rewards and risks is set up to Reward you for your behavior for aligning with the purpose of the company for helping the company achieve its success and That then means that sometimes if you're an open-source developer inside a company you're really rewarded for Contributing to projects that help the company that help it He built its products faster cheaper better rather than doing your own personal work or you know following your passions Or following you know something that you want to do and and maybe company communities may not understand Why the developer is so single-mindedly focused on you know the kinds of things that he or she wants to do So unlike come communities the rewards and penalties for developers are often tight to avoiding risks Sticking to their goals in the US for example. It's higher and fired will and so employees can get two weeks notice that either the company business has changed or That their work is not up to par and they can be let go and and employees on the other hand also can say I'm going to leave and I'm giving you two weeks notice and I'm going to move on It's very different than communities where commitment could be non-contractual It's not based on you know giving notice so perhaps sometimes community members disappear and you don't know where they are but It is a little loser and more voluntary than it is in a company right, so The other differences like companies are can be reluctant to let their developers form casual relationships with people outside of the company when it's not clear that that participation in open source aligns with their business goals, so this this can be kind of tricky because You know developers from companies may show up in communities and not really be at liberty to say why they're there or what they You know what business goal they may be representing if any So that that can be kind of it doesn't it sets things off on a funny start Whereas hobbyists and tinkers and volunteers are like there to scratch an itch there They don't have like an underlying business goal Sometimes they just want to hang out with their friends or they want to learn new stuff Or you know build their resume add some like oh, I finally have youth pro five or or Even like less aligned with any kind of business goal to solve a really important societal issue like you know It's might be like I want to translate this into a minority language That is not going to make me any money, but I feel strongly that it should exist And so those different motivations mean different priorities And the projects that are community-based might never like ship or finish Or just turn into like a research kind of thing and You know you you find this sometimes Overtly and sometimes it's a little more subtle where there's just kind of this disdain for like marketing or anything That is part of a finished product like maybe documentation So this can be really tricky And then the different responsibilities between companies communities lead to like different ideas of what constitutes risk so For communities, it's not their livelihood like if you mess it up or you miss a deadline It's like well, whatever like I'll show up to do my unpaid fun time thing next week whether I miss deadlines or not In they Sometimes communities don't you know because they feel like they're existing in this volunteer space They can be really like oh all of that risk out there doesn't apply to me Like as if like something like the patent system or copyright law has no meaning once you're like well I'm not getting paid so obviously the lot doesn't apply anymore, which is not true So You know and this this is this is tricky for the getting ready to interact between companies and communities The other thing that happens is people highly identify with the project So they don't they don't care what happens to it when they leave. They're like well. I am the project And and this is really different than companies that they care about bringing in new customers and employees So like the projects are designed to outlive the individuals So, you know, so this is this creates different responsibilities and priorities Communities also may have like certain Current or historical peculiarities Because of maybe their benevolent dictator for life has got some specific things So this can lead to things that when companies come in they're like, oh, yeah No, we you know, you can care the event for us, but like no Coca-Cola products like or You know there there could be like kind of a resistance to things like professionalism, you know Which might manifest as like well, we don't have to start on time. Like you have to start on time But or codes of conduct some companies You know, I mean some communities have a real reluctance to adopt that because it makes it feel too formal or like the man is here or whatever and then You know, so it's you've got this thing where it's like Companies are like, oh, can we can we pay some people? Can we hire some people? Can we like run something with you and they're like, oh, no We're you know, we're pure and no one is accepting money for working on the software or You know or oh, you know our benevolent dictator for life had a bad run-in with company XYZ So we'll never take their money And it's like, you know, whether it's like real or perceived It's like it could be like an actual like huge like policy thing or it's just like I sent my resume in 1987 and didn't hear back. So, you know, they can be they can be like hard to like guess, right? so you know and then That leads to some other things with the lack of professionalism where a technical merit might outweigh civility as a value And I don't want to say this is only communities Like I don't know if companies got it from communities or communities got it from companies somehow it got contagious And so so you have this like I wrote the code so I get to behave however. I want like the the rock star developer and this is not like good for companies or communities and then you know and then we touch on this a little bit but because companies push developers to Behave in ways that will help them bring in new customers and employees. They want to see work tied to business outcomes and that That might limit company Participants as far as like what they can say and so You know, it's so I guess like as we kind of get ready to Collaborate between companies and communities. It's it's hard to set folks up for success when there can't be As much communication as there could be and then this is a big one finally Money like companies typically have it and communities typically don't So it can get like kind of weird like, you know, the the things that You know people people may work at one place Or on one project but move from company to company working on that project, which is great but then it makes it like kind of a weird loyalty and then companies have ideas about what is like what produces a good ROI and When they say like oh this person is on the Wikipedia article for this software like we'll pay them whatever Whereas the community is like we actually need to kind of bring up folks from the ranks and you know fill the benches like And also like nobody wants to work with the person on the Wikipedia article anymore So, you know, so so it can be kind of tricky when it's like we want to spend and it's like ooh Can we tell you on what and please don't just Google us? So So once you decide you're in it for the long haul and that there's more benefit in working together companies and communities These are a few places that we think would be good to start Absolutely, I think it's important that we work together because Companies are in it for the long haul and they are in open source We've all recognized as as company folks that Open source is a new way development happens and that we do need to work together One of the areas that we all agree is that diverse teams are good There's tons of business cases from a company perspective that it is good for business It is good for innovation. It is good for collaboration It is good to have people from all walks of life in a project And I think communities have come to the same conclusion as well that it's good for us to work together And to create a more inclusive and a diverse community Right and a little recognition can go a long way and not just for the coders So like when we we talk about diversity and sometimes we mean people's backgrounds But also like the tasks and roles that they fulfill and so people need to Feel valued in all of those roles and tasks and that means like companies can't just pay the one rock star coder Like consider paying the community manager and the evangelists and the people who are doing peer support It's Enthusiasm is a very scarce resource So if you've got someone who's excited to go out into the world and talk about this software all the time like Get them on the payroll too And so Yeah, one one's a real dog one's not But but people a continuity, you know when things are the same right that's what I was thinking here But it helps us all to build for the long term and you know like making it formal when someone is volunteering on a project and doing things Make sure that you have more people to work on stuff going forward and less competition more cooperation Which leads to more interoperability, which is great because interoperability can save lives even And so, you know once you've got people invested They feel insulated from like their rapid change when they don't know what's going on and the commitment to the project on behalf of the company seems intermittent It can you know as as much as you can kind of make a more long-term commitment It makes people feel invested and they know that they can you know really get comfortable So from a company perspective, you know my one of my first lessons learned was in 1998 was when I started working with communities from a company and one of the first Instructions I got was you need to understand how the community works and the community norms and you need to Understand how to work with the community in order to be part of the community you can just take your company culture and You know just expect the same to be the case when you work in a particular community and each community differs and part of respecting community norms to me as a company person is First of all respecting licenses Because we benefit a great deal from the code and we do need to respect the licenses under which the code is released whether it's doing compliance from a disclosure perspective or Buying a beer when I see the the maintainer the next time at a bar, right? I've got to respect the licenses The other thing is it's very easy sometimes as a company To use legal means to pursue something Because that's the way sometimes business is done in In businesses right in companies so not to use legal means But actually sit down be transparent talk sit and work things out and and as Deb said before API and documentation and investing in things that are not just code that are just not product But still improve the community improve the product improve how the products work with each other Is extremely important and more and more I know at our company we say We don't tolerate brilliant jerks, so it's not just about the code. It's about how this person behaves with each other So what we thought was now that we talked about some of the norms of why we need to work better together Conceptually, we'll actually deep dive into some tactics and some nuts and bolts of how to work better together So a common place to start I think is a common platform It's it's understanding that as company and community we have a lot in common as as Deb And I do though we work in extremely different worlds I have a tremendous respect for Deb and we have a common platform that we can build upon Example is code of conducts for example come as company people I know every year I have to take a class in the company's code of conduct I have to take an anti harassment class I have to take, you know, how to do ethical business class and so on and so forth It kind of sets the tone for how we will respect and work with each other And to me code of conducts allow communities to ensure that everyone feels safe everyone feels included and when people feel safe and when people feel a sense of support and Of sense of being valued as a human when I walk in the door I want to feel safe I want to feel valued and I do my best work when I and when I'm feeling like that and As companies another thing that we need to kind of think through is Especially if you're basing your business on an open source project It's very easy to think of it as a source of leads That as soon as someone downloads something that that is an opportunity to upsell them To something from a business perspective and we forget that it is Developers and that we need to use community norms of how to cultivate community How to cultivate volunteers how to work with volunteers how to recognize them how to be you know make them feel included in the project and As a company I also Take very seriously that it's not just about hiring the rock star developer You know and saying ah now I have influence in the project I can kind of move it in the direction that I want because my product is dependent upon that project Yes code is important and we do want to contribute code But code is not the only thing that we want to contribute for example Money and we have an innovation fund and we often look at projects that do need money and money does help Get things done Second is who doesn't like pizza and beer right or french fries and beer Especially in Belgium the beer is so good So you know paying for food paying for Things that make it easier to build the community and to keep people here is an important thing I do a ton of evangelization So my company pays me money to work in open source to volunteer my time to Evangelize projects and communities that I believe in and to attend events like this And to host events to provide Facilities to provide you know any means that I can to support open source from moving forward The piece that's been a little difficult sometimes at companies is Teaching teams that upstreaming is important Yeah, and that you just don't kind of consume modify and then move on to your next product and most Business teams are incented to finish the product and then move on to the next product and it's extremely hard to tell them that It's important to contribute to your patches back and your fixes back and not to fork and to Make sure that everything you do gets back into the upstream and that you work from the upstream So what we've been doing is talking about the fact that security you can use security patches, etc And that you don't have to carry technical debt when you You know upstream so that's been made easier to help people upstream another place that we've noticed is that Companies and maybe lawyers are kind of the last place in the company to kind of get colonized by the open source enthusiasm and so Looking for ways to bring your lawyers, you know Like bring a lawyer to a conference with you from your your company That they'll overdress the first time and but it's okay and They'll learn they'll learn So there's like scale in Southern California has a continuing legal education day For lawyers to learn more about how to do free and open source software And then you know making the legal policies Transparent and easy for engineers to work with so it's sort of like hey Here's a whole bunch of stuff that you don't have to come every time you pick up a piece of MIT code You don't have to come down to legal and spend a week like so those kinds of things We also encourage if your company is consuming and hoping to patch back And having questions about how to do that from a legal standpoint or how to work with the licenses or Which licenses are compatible with which other ones? We really encourage companies to ask communities To help them with the legal stuff so they can get a little bit more of the context and grounding before they just kind of plow forward Another thing that I think is really important is you know, we talked about it It's not just code, but it's like when you're doing road mapping. It definitely is not just code You can't you can't have the business department and the legal department and engineering come up with three plans that will somehow magically merge together in two years and create a coherent strategy the the thing that is You know can be a little bit of a learning curve for companies is that like oh Actually open source like comprises all three departments and they have to work together and the earlier They get together and start talking about making those plans The better off it is And it has to include you the way that you intend to interact with the community like it's That's like that whole thing is part of the roadmap So so building a fast future together is good for everyone But not just for today we're kind of looking at the next steps and some of the things that I think would help us do less remedial work for You know over the next decade and like supporting efforts to teach collaborative models and computer science classes so that You know learning how to use a repository and version control is just part of computer science classes now It's or it should be including fast licenses into the law school curriculum and Building business partnerships around open source and not just around proprietary So there are some great orgs that are already doing some of these things. I'd love to see them inspire more You know replicators there But teaching open source, which is a conservancy project develops curricula for colleges to teach open source right there in the name There's a lot of amazing work at the Rochester Institute of Technology, which has a fast minor Carnegie Mellon's got a cross where they are bringing Students and the business world together to create open source projects So so you know each of us could look for opportunities Sometimes the way it starts is you just meet someone from the local school and you say like oh you're doing computer science Or you're doing like I could come in and talk one once a semester about open source licenses I love speaking at Carnegie Mellon and RIT good people and cross. Yeah, and and I just want to come back to diversity and It's it's a big big focus at companies and it's a big focus more and more at communities and We from a company perspective can shift the needle can make a difference in How we demonstrate support for communities and how we incent them to focus on better community building So I you know state just spoke about our tree tree I think hiring out reaching interns is a huge way companies can show support And say I need to work with you on making that happen from from what we are doing Companies can encourage diverse participation in events. They can send their best Diverse candidates to speak at events and to you know attend events Sometimes we just go back to the same old list of people that we need to send to events instead of thinking Broadly about who do I need to send to these events? I Personally and from our company perspective When I use my sponsorship money, I love to spend it on scholarships diversity scholarships doing lunches dinners for Inclusion for welcoming new candidates into open source creating safe spaces That's the way. I want to spend my money I'm not trying to spend my money to get a keynote speaking slot at an event I'd rather spend it on you know diversity scholarship because for me as well Attending an event was the door opener My one of my first events I got to meet you know people like Deb and Dawn and you know So many others who kind of taught me the ropes and who helped me get better integrated into the community Okay Um, and and it's so important to have these types of conversation sometimes from afar We judge companies we judge communities as being the stereotypical view of something And we need to make sure that You know when we meet people is when we realize that they're different. We're Closer than oh, which is all right because we're here So Basically, yeah more conversations come with as much Authenticity and and leeway to be honest as possible if it comes a travel funding, right? Yes Yes, invite each other to stuff with crowdfunding. There are some resources. We'll put the slides on the internet and And I think we blew through our question time Okay, sweet, okay Sounds good. Mm-hmm Okay, oops So where does responsibility lie if a big company comes along and wants to give money to a community I Will say one answer and I know Deb will have some additional stuff to say I think companies can help you You know handle that money Safely it can help you set up a fund or something of that sort But I know a lot of foundations like the software freedom conservancy and Apache and Linux foundation Etc. I can set up a neutral organization as well and set up, you know legal constructs and funding Mechanisms such that it can be handled correctly So one of the things we help projects that come to conservancy with is like hey We just got money what do we do and we highly recommend that they create their own roadmap for what they would do Whether they had money or not regardless of who it's coming from And then have them, you know look at that money and say like hey if you're okay with us spending it on what we were Going to spend it on anyway, that's fine, but you can't cherry-pick Stuff on our technical roadmap and get that done. We're not doing a sell patches type of situation Yeah, we have time for one more question Okay, perfect That's interesting so the nutshell here is like we talked about continuity With people staying with projects and what can communities do to incentivize maintainership? I would say the overwhelming thing that communities can do to incentivize maintainership is to get a good system of delegation in place because if your project is one person who does 90% of the things and then 10 people who wear the t-shirt to events That maintainer is eventually going to get sick of that So you've got to figure out how to share the work and that way even if your maintainer does need to step away for a little bit It's okay when they come back. There's something to come back to you. So that's my thought an additional thought is succession planning is Important and then from your perspective I know companies need to give notice if they're going to move on from one product to another Project and and pull their developers off of certain project. They need to make sure to Tell the community before they leave and and make sure that there's some yeah options for it Excellent so many thanks to deba nithya