ShipTalk - SRE, DevOps, Platform Engineering, Software Delivery

The Brass Tacks of Open Source - Tracy Miranda - Continuous Delivery Foundation

Tracy Miranda Season 1 Episode 7

In this episode of ShipTalk, we are joined by Tracy Miranda who is the Executive Director of the Continuous Delivery Foundation which is part of the Linux Foundation. Tracy has been leading open source communities prior to her time at the CDF at Cloudbees and has spent time on the governing board of the Eclipse Foundation. 

Tracy chats through her experience creating thriving open source communities and practices from inception to maturity. Open source projects especially at their inception run like a start-up. Learn in this episode how to build a sustainable, robust, and inclusive community and more from Tracy. 

Ravi Lachhman  00:06
Hi, everybody. Welcome back to another episode of ShipTalk. I'm very excited to talk to you with one of our buds, Tracy Miranda, who's the Executive Director of the Continuous Delivery Foundation, which is part of the Linux Foundation. Now, Tracy, for those of our listeners who actually don't know who you are, unfortunately— can you tell us a little bit about yourself, Tracy?

Tracy Miranda  00:25
Yeah, sure. Thanks for having me on this, Ravi; that was a good description. I work at the Continuous Delivery Foundation; I've been there for about four months. But before that, I was leading the open-source community team at CloudBees, where I got to work very closely with the Jenkins and Jenkins X community and also help launch CDF. Prior to that, I've always kind of stayed around open source; [I’m] a veteran of the Eclipse Community, where I worked with developer tooling around Eclipse IDE. So yeah, definitely passionate about all things open source and community. 

Ravi Lachhman  01:09
Tracy has this a myriad of open source experience. In this podcast today, I’m going to be talking about the cloud or the curtain of open source, but there's just there's great people behind it like Tracy.  

I’ll kind of talk about my personal experience. I'm really excited that Tracy spent some time in the Eclipse Foundation; pretty much the first piece of technology I was super excited about and worked with was Eclipse. I like tooling; I like helping the engineers [solve] problems, and so I used to build IDEs for IBM, for Rational. The Eclipse Foundation was one of the first foundations I participated in. But fast forward outside of that professional organization, I think there's this curtain of open source. One or two of the other communities— not the one that Tracy runs currently— really [were] exclusive. The ideas weren't really shared; it was kind of disheartening that [it was] hard to join, hard to get ideas across. Whereas it was certainly a breath of fresh air joining the CDF— just how inclusive the community had been and continues to be. 

But Tracy, why don’t we talk about community building. How do you start chipping away at that curtain of exclusivity and making it more inclusive?

Tracy Miranda  02:28
Yeah, I'm super happy to hear you've had that experience. It's certainly something we tried to be very deliberate about at Continuous Delivery Foundation. No two open-source communities are the same, but unfortunately, you do get the set which tend to see themselves as priesthoods— kind of exclusive or closed off. 

I think our approach has always been to be very deliberate about it. [With] all the leaders we have, we're constantly trying to get that message across to be welcoming, to kill people with kindness. I think the Eclipse Community was very welcoming to me when I first started participating it, and it means a lot. 

One of the ways I like to think about it is that there's these particular moments of truth. And it's when someone chooses to engage with your community, how are you going to respond? And that’s either when they put in a pull request, or file a bug, or they come along to an event—it’s kind of “this is their first interaction,” and it's often make-or-break based on that interaction. So I think we're keen to always make sure that we capture those moments of truth, and people have a good first experience, and then just stick with us and appreciate that this is a good group to be part of and really want to share knowledge and have fun and have great ideas. It’s just exciting all around to be part of.

Ravi Lachhman  04:10
Yeah, absolutely. I like how that's ingrained like in the DNA. And the culture— you said it really well— there's definitely priesthoods that are like, “Oh, this is my project. I'm the core contributor. It's my way or the highway. I’m just getting free resources” versus gathering ideas. Because I think the big benefits of open source is the ideas of many. You have to be open to taking those ideas, which can be difficult as an engineer. It’s something I had to get better at as I climb my career, was taking almost constant feedback. It used to be [that] I [didn’t] want to get feedback every month during code review. Then we went to agile, and now as a people leader, I get feedback every day. It takes a little bit of a little bit of evolution. 

But let's walk through a fictitious scenario. Let's say that a person was starting this cut the fog— like, let's say a person was starting their very first open-source community today. What would be steps you would take? Let's say, Tracy, you made up some foundation— like my fake project name is called Hibiscus. So [let’s say] Project Hibiscus— if we were working on Project Hibiscus and we wanted to start a community, what do I or what do we have to do?

Tracy Miranda  05:32
Yeah, the first thing is just maybe set out with yourself and the folks who are building out— what is the goal here? What do you want to achieve? What would success be? Is it about bringing a specific idea to life, or is it about creating kind of a diverse group to see this project through a long term thing? So I think starting out in having that kind of shared vision of where you want to go will see you through the difficult times. That will act as your North Star. 

And for some people, doing an open-source project is sometimes very personal— it has to be about their vision coming to life, and they don't necessarily want something that will evolve in a different direction, which is fine. For other people, they're not necessarily committed to the core of the project. It's like okay, we’re trying to solve this problem and we think this is how to solve it, but we're not committed to this code base; we're committed to solving the problems so things can evolve and change in shape. So I think start with that vision and then look for like-minded folks. 

I think that's pretty much how CDF, the Continuous Delivery Foundation, started. We had this idea that Continuous Delivery is bigger than just one project, and we should be working together to make things inter-operable and better for everybody. Then as we went around talking to people for that idea— when it resonated with other people— they really became fans, and they would be like, “How can we help? What can we do? This is how we build up on it.” So find that core set of folks who will be enthusiastic, and will get you through the honeymoon period. In the beginning, there's always excitement, and then go through this dip of the shine [being] worn out— maybe you've done a big launch or something. And now, it's just work and pushing it through. 

But yeah, have that vision, have people who share it, and then hang in past the initial fun bit— and you're probably most of the way there. 

Ravi Lachhman  07:46
That's really practical advice. Like [with] any sort of technology project, there's a honeymoon phase, there's the quintessential valley of despair that you get into. [Chuckles] There's ebbs and flows. 

[This] might be a little bit more of an abstract question, but how do you actually find like-minded folks? So here we are in our fictitious Project Hibiscus, and I don't know who I can connect with. What are some ways that here at our fictitious Hibiscus project that we start to find people? The argument would be build it and they will come or…?  How do you advertise, or how do you go find people?

Tracy Miranda  08:24
Yeah, I think the whole “build it and they will come” is kind of a myth that needs to die. Maybe once upon a time when the space wasn't so crowded, and there were few people doing it, that would be a reality. But now, community building is hard. It's going around to people in the beginning, one by one, not dissimilar to starting a startup. Just a lot of legwork. 

But I think tech communities are pretty clearly organized by kind of different criteria. One is always going to be programming language; people identify very strongly programming languages. And then there's other different types of communities. So I think it's about finding a fit or a starting point to tackle— like, okay, is this going to appeal to Python developers who are into machine learning? Or is this going to appeal to Go developers into Cloud Native? [It’s] just picking a niche to start with and going into those existing communities to find who might be the folks who appeal most.

Ravi Lachhman  09:34
That's perfect advice. I really liked how you summed it up— it's like starting a startup right? I actually didn't think of it like that. I was focused for my fake project on how I'd find people, how to use it, and that's exactly right— there's going to be some legwork involved now.  

[Jokingly] So continuing on our Project Hibiscus journey because I have such an expert with that with me that this might be some more coaching now. So [let’s say] Hibiscus [now] has a couple people contributing to it and using it. Now it’s time for the intrinsic stuff. How can I ensure that I don't sound like a priest, and how do I make sure that I'm being inclusive? These are two very hard questions to answer, but in your years of experience, how can I be deliberate about ensuring those two things? 

Tracy Miranda  10:25
Yeah, I think in the beginning, if you've got that core group and you've got a little bit of bandwidth, then it's always good to start off on the right foot of looking around… and if you're welcoming people who are in your network, which is how open source in the early days grew, that tends to be pretty limiting and one of the contributing factors. So we have these great programs like Google Summer of Code, and Outreachy, and looking to ways to connect with folks at Hacktoberfest— that gets a bit of a bad rap these days because the spam— but using things like that, having really good newbie first issues and giving these good entry points are likely to set you up to reach a wider pool of people and have a more diverse set of contributors. So I think just taking advantage of a lot of this programs that are out there waiting for folks to use.  

Ravi Lachhman  11:33
I really like that idea, and I actually never heard it like spoken about before in terms of [wanting] diversity and ideas. So to your point, my network is actually like-minded people— that might be in my network, but if we want to find folks that are diverse in ideas, using non-traditional ways like Google Summer of Code or Outreachy or whatnot…. Those are excellent ideas. 

Taking it away from Hibiscus [now]… [Aside] It’s an open source mobile security container management solution that made for I try to get every single buzzword. A very quintessential question, and we'll turn it back to (maybe instead of a founder or contributor) the average engineer. If an average engineer wants to contribute to an open source project, what would be some advice you would give him or her around start[ing] to contribute?

Tracy Miranda  12:49
I guess it would be why; I would say get paid for it first of all. [Laughs] I think I'm trying to fight this myth we've had for a long time that open source is something that you do in your spare time, or only because you're passionate about it. But the reality is, for me, open source is this biggest career tool you can use to push your career forward to meet folks who set themselves a high bar of excellence. So, you can get started with open source through some programs like Google Summer of Code or Outreachy or others, but certainly working for companies who understand and will support you in working for open source. I recommend that as a good route, and then matching that again with your interests— or picking a specific domain to specialize in always kind of works well.

Ravi Lachhman  13:50
Yeah, very pragmatic advice. If you're good at something, don't do it for free— as my parents would say. And you bring up a good point, right? It's actually why I got into this job. Previous to this role, I was a principal engineer, and so part of being a software engineer depend[s] on what you work on. Your accomplishments don't follow you around. You probably would never see any of the work I've did before because a) it's in the federal space: you can't see it, or b) it was behind several service layers, that you wouldn’t even know what I did. Maybe I know what I did, but it's hard to bring that to be tangible. 

And so going from career to career, it’s partly about building your brand or portfolio. Do you see a little bit of that open source, like can you maybe elaborate on how it helps you build your career?

Tracy Miranda  14:43
Yeah, absolutely. I think if we get into careers and things, you always have a narrative that you're building. We see often people in tech will pivot or they'll change. I know certainly over my career, I started off more on the developer side—well, actually started off more in embedded software— and then switched to being a Java developer. Then, [I] kind of moved to a point where I was like, “actually, I don't want to write code anymore; I want to deal with people. I don't know why, but that's what kind of gets me excited.” So throughout that, open source was the theme. 

But what I would say for folks getting started with it, it's good to build up some domain knowledge. Open source will expose you to a network of folks who are super supportive, who will move around the industry themselves. And sometimes people tend not to break out of their companies— like, they'll network with people in their companies and hang out there— but open source through the people and through being able to demonstrate what you've done in a very kind of transparent way and point to it. gifts you really good experience. Also, [there’s the] cutting edge tools. I think a lot of open-source communities, especially new ones, are always kind of looking to push the boundaries. So I think it's a it's a nice way to kind of future-proof your career.

Ravi Lachhman  16:15
Awesome, and that makes perfect sense. The work that you can show externally is always valuable as a portfolio that you can take place to place. It's like going to a wedding; you kind of hang out with the people you know at the beginning, and hopefully you can make yourself known or walk around table to table. There’s a lot of analogy to that. [Jokingly] Since I’m such an expert, I'm just coming up with just any sort of question; this is great, I'm learning so much. These are extremely pragmatic answers, stellar answers. 

Have you seen any anti-patterns? Maybe not for just open-source software in general, but kind of keeping it on the focus of community, and then if you want to dip into just open source in general…. What are some anti-patterns, and how do I avoid them when building a community or participating or contributing to a project?

Tracy Miranda  17:10
Yeah, all sorts of things. It's always complicated, because people are different; they have different personalities; they come in with different cultures. So getting to a point where you start to close off and being less transparent about certain things…. Oh, I had a good one that's escaped.

Ravi Lachhman  17:37
It'll come back eventually.

Tracy Miranda  17:42
Yeah, and I think it just ties back to that motivation of why are you doing it? Sometimes people will come into open source not looking for this common way to bring people together, but they have a different agenda. Or sometimes that comes in with company objectives conflict[ing] with open source. And I think it's important to always kind of be clear— I think there's lots of companies that work really well with open source, and then they always keep things straightforward. 

So just making sure that there isn't this hidden agenda. Hidden agendas where folks aren't kind of being forthright with the reasons why they're doing things tend to be kind of the biggest sources of problems. 

Ravi Lachhman  18:32
That makes sense. With any well-run open source community, there's lots of ideas, [and] lots of people participating. For those who are in the know, it can be easy; but for the majority of people who are not in the know [or] if you're not part of the core contributing group, it can definitely be a slippery slope. I think that was my experience early on— certain projects were controlled by certain companies, and my voice did not get heard.

Tracy Miranda  19:01
Super frustrating, yeah. That's always a tough thing.

Ravi Lachhman  19:04
So coming towards the back third of the podcast here. One of the questions that I had would be— not so much for participation— but how do you deal with so many different opinions? One thing I really admire about Tracy— when I first heard Tracy on the call, you were extremely diplomatic. To be upfront like Harness, my employer, we're part of the Continuous Delivery Foundation and we're with all our competitors, so it's this odd dichotomy. And to be fair, Tracy used to work for a competitor of ours. But separating all of that out with this common goal, very diplomatic approach— how do you manage that? You did it probably the most well of anybody I've heard before.  

Tracy Miranda  20:07
That's, that's great to hear. I remember I used to be part of this different community where we had two strong personalities, and every so often on the mailing list, they would start [and] go. People would always be like, “Oh, God, aren't you going to first step in?” And I was like, “What am I the mother here?” I think it's a bit like that. I think I've gone through the phases in my career as well, where I've been that person at loggerheads with somebody else and frustrated that nobody [saw] things my way. But just over time, having a bit more self awareness and really appreciating that often people aren't out to get you— they just genuinely see things a different way. And I don't know, maybe being a parent has been the ultimate— if I can get my two kids to get along, well, open source doesn’t look different! [Jokingly] Oh, wait, did I just call them kids? No offense meant. But yeah, it's just important for folks to see things the right way. Ultimately, I believe we often have more in common anyway, so it's just figuring out how to get there together.

Ravi Lachhman  21:30
Yeah, very diplomatic answer there. We can't forget that there's people behind the technology. Being an engineer, you kind of lay your hat on trying to be right, and those personalities certainly come out. For those of you who are not part of the CDF, I have not seen any of that. It's been more diplomatic than I could imagine. Competition is fierce between all of our organizations, but that kind of goes away. We'll have diplomatic discussion.

I'm not sure if you (the listener) caught the last podcast, or the other Tracy— Tracy Ragan. She summed it up very well: you have to love the problem. And so I thinl we are fairly lucky (I don't know if I Hibiscus is going to be this lucky, poor Hibiscus.) There's a lot of people who love the problem, and so we look past in company balancing, [and say] okay, this problem is bigger than all of us.  

Tracy Miranda  22:29
I think that's good. I think we are lucky, as you say. A lot of the folks who have come to the table with the Continuous Delivery Foundation— they really understand that mindset that the rising tide helps all boats. So we just need to get this done, and it works for everybody. There's no shortage mindset or scarcity mindset. 

I think there’ll always be flare-ups with open source community and people in general. There's a reasonable amount of finessing behind the scenes to get and we see flare ups, and it's just like, can we just get people talking or mediating? But I think so far, we're very lucky and fortunate to have such a great group, yourself included, be part of the community.

Ravi Lachhman  23:23
Awesome. Last few questions here for the podcast. The first one will be a very easy question, but then the second will be a very abstract question. 

So the first one will be: how do people get involved with the Continuous Delivery Foundation if they haven't?

Tracy Miranda  23:37
Yeah, I think it's a great question. I was trying to get better at the paths for entry points. We have a host of different projects. So either through one of our projects, like Jenkins or Spinnaker or Tekton. But really the best way I would say is to come and meet the community at cdCon— that's our annual event. We're running it in June; it will be virtual this year, but we do a good job of trying to make it more interactive and a good place for newcomers to come in. So yeah, just joining us at our community meetings like cdCon is probably the fastest way to get to know people and quickly navigate which project or which special interest groups, or whether you want to be more involved with outreach— because we really do have lots of different ways and welcome all sorts of contributions.

Ravi Lachhman  24:33
Great to know. We'll be sure to catch everybody at cdCon this coming year.

Last question, [a] very intrinsic question. It's also an abstract question. Let's say that you were walking down the street [as] current Tracy, and you ran into yourself Tracy coming out of university. What would current Tracy tell university-graduating Tracy in terms of real life advice. Good, bad evil, any technology, not technology, life advice? What would you tell your past self?

Tracy Miranda  25:06
Probably for me [there’s] two things I've kind of learned that make a big difference to me— they're hardly groundbreaking things. One is [to[ not to take on too many things. Because it's always this, like, “Oh, that looks fun. I'm going to do that. Oh, that looks fun; I'm going to do that. I'm going to get involved with this” So staying focused on a few things. 

And then patience. I can be super impatient when I want something to happen quickly. It’s just like, “Why hasn't this happened yet?” And everything seems to work itself out, but maybe not as quickly as you hoped it will. So just staying focused and being patient— just super boring mom advice. 

Ravi Lachhman  25:59
Stellar pieces of advice! Patience has its virtues in this modern day and age, and we can certainly forget that. But Tracy, thank you so much for being on the podcast today. I really enjoyed our conversation. I'm sure it'll be eye opening for folks [and] will clear the fog about open source. 

Tracy Miranda  26:17
It's been super fun. I really enjoyed talking with you, and good luck with Hibiscus! Let us know.

Ravi Lachhman  26:22
[Chuckling] The CDF-incubating project. 

Tracy Miranda  26:24
[Jokingly back] Yeah, do it.

Ravi Lachhman  26:26
Thanks, everybody. Thanks, Tracy.

People on this episode