Learn Python with Talk Python's 270 hours of courses

#170: Guido van Rossum steps down Transcript

Recorded on Tuesday, Jul 17, 2018.

00:00 This past week, we've had a passing of the reins for Python leadership.

00:03 Guido von Rossum, who created and has been shepherding the language for the last 30 years,

00:08 has stepped down from decision-making around the Python language.

00:12 Join Carol Willing and Brett Cannon, both longtime core developers and Python leaders,

00:17 along with my co-host at Python Bytes, Brian Okken, as we discuss what the future holds for

00:23 Python and how this change will affect how Python is created and how it evolves.

00:27 This is Talk Python to Me, episode 170, recorded July 17th, 2018.

00:32 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the

00:51 ecosystem, and the personalities.

00:52 This is your host, Michael Kennedy.

00:54 Follow me on Twitter, where I'm @mkennedy.

00:57 Keep up with the show and listen to past episodes at talkpython.fm, and follow the show on Twitter

01:02 via at Talk Python.

01:03 This episode is sponsored by Linode and Rollbar.

01:06 Please check out what they're offering during their segments.

01:09 It really helps support the show.

01:10 Hey, everyone.

01:12 Michael here.

01:13 Just want to add a quick editorial note before we get to the main content.

01:16 This episode was originally recorded under Python Bytes, my other podcast that I do with Brian

01:23 Aukin.

01:23 If you don't listen to Python Bytes, you should.

01:25 It's pretty awesome.

01:26 The format normally is cover a bunch of really quick topics to talk about the news of the

01:31 week.

01:31 Well, this news item was so big, we decided to dedicate a whole episode to it, and it's really

01:37 a good fit for Talk Python.

01:39 And I wanted to make sure everybody got the whole story behind what's going on here, at

01:44 least as best as the four of us can present it.

01:46 So what you're hearing today is the show that we recorded for Python Bytes also played in

01:52 Talk Python.

01:52 If you haven't heard it over there, I think you'll really get a lot out of it.

01:55 If you have, honestly, it's the same thing.

01:57 Just a heads up.

01:58 Thank you all for listening, and I hope you enjoy the show.

02:01 And just one more time, thank you to Guido for everything he's done.

02:04 It's been really amazing.

02:05 Now let's get to the story.

02:07 I'm Michael Kennedy.

02:09 And I'm Brian Okken.

02:09 And Brian, we've got a really special episode for some big news here.

02:15 Yes, and we've got some great guests helping us with this.

02:17 We do.

02:18 We have Carol Willing and Brett Cannon both joining us to get somewhat of an inside perspective

02:24 on this big, somewhat sad announcement.

02:27 And we're going to dig into that.

02:29 Hello, Carol.

02:30 Welcome to the show.

02:31 Hi.

02:31 How are you doing?

02:32 Great.

02:32 Thanks for being here.

02:33 Hi, Brett.

02:33 Hello, everyone.

02:35 Thanks for having me.

02:35 Yeah, absolutely.

02:36 It's great you're here.

02:37 Brian, you want to tell us what the big news is?

02:39 I think I'm just about as clueless as everybody else.

02:42 I'm just in shock.

02:43 Last week, we heard an announcement that Guido was stepping down as the BDFL.

02:49 Yeah, that is a big deal.

02:51 So there's been a little bit of debate about exactly what he meant when he said this.

02:57 You know, was it he's just taking a break?

02:59 Is he actually stepping down?

03:00 So let me just read the salient parts of the announcement.

03:04 So this was an email sent to the Python mailing list, Python dev mailing list.

03:08 And the title was Transfer of Power.

03:12 And here's Guido's words, bits and pieces taken from his email.

03:15 Now that PEP 572 is done, I don't ever want to have to fight so hard for a PEP and find

03:22 that so many people despise my decisions.

03:24 I'd like to remove myself entirely from the decision process.

03:28 I'll still be here for a while as an ordinary core dev, and I'll still be available to mentor

03:32 people, possibly more available.

03:34 But I'm basically giving myself a permanent vacation from being BDFL.

03:39 And you all will be on your own.

03:41 I'm not going to appoint a successor.

03:43 The decision, he says basically, summarizing that the day to day stuff is going to be fine.

03:48 But the decisions that matter that may be affected are how PEPs are decided and how new

03:52 core devs are inducted.

03:53 And then finally, sort of on the parting thought, said, I'll still be here, but I'm trying to

03:58 let you all figure something out for yourselves.

04:00 I'm tired and need a very long break.

04:01 So that was the announcement.

04:03 And that's the big news.

04:04 And that's what we're going to talk about today.

04:05 And first, I just want to say thank you to Guido for doing so much for so long, creating

04:11 one of the most popular programming languages in history.

04:13 I have publicly said this, like, I am personally forever indebted to Guido and the team, because

04:18 they basically taught me how to program for real.

04:20 Like, I have an official education in all this, but I have always stated that how to actually

04:26 develop in the real world is entirely down to Guido and the team.

04:29 Yeah.

04:30 Yeah, that's awesome.

04:31 And I think, you know, Guido has done so much, not just for the language, but also for the

04:35 community as well.

04:36 And I know I appreciate from the earliest days when he was designing Python, how he was

04:43 made it accessible for learners and for people to actually use the language.

04:49 And, you know, when I'm teaching people, whether it's with Jupyter or high school students, like

04:55 I'm teaching this week, it's just a pleasure to do it in Python.

04:59 And personally, I have a lot to thank him for, but even more so for the greater group of people

05:05 as well.

05:06 Yeah.

05:06 I don't know if he specifically set out to set the tone as he did, or if it was, it's just

05:12 Guido being Guido.

05:13 But I think he definitely deserves a lot of credit for setting the tone that this community

05:18 has ended up with as being inclusive and welcoming and just basically what makes this community

05:24 as amazing as it is.

05:25 Yeah.

05:25 And it's not just technical.

05:26 I think one of the special things about Python, unlike many languages, is they're sort of professional

05:31 programming languages that can build high-end stuff.

05:34 And there's learning languages that are super basic, but you got to stop to go build real apps

05:38 with something else later.

05:40 And this is one of the few languages that you can start simple and finish big with.

05:44 And so that is really, I think, part of its magic.

05:46 But also, you know, you go to PyCon and these other conferences, and you look around, and the

05:51 people around you look like more like general society and less like a bunch of white guys.

05:57 You know what I mean?

05:58 And to me, that is a really special thing.

06:01 It really is.

06:02 It's not as far as it should be, but it is on the path to where it's on a good path.

06:07 It's unlike other communities that I've been involved in.

06:09 So I think that's also really important.

06:11 When I think Kim as a person, I think he has, his personality has so much to do with it.

06:16 You mentioned PyCon, and one of the things that Ito did at PyCon was I had asked him if he would

06:23 meet a young man called Joshua Lowe, who does EduBlocks, which is this really cool user interface

06:30 that lets you go from scratch to Python code.

06:35 And we were talking about how Joshua had made it over dinner.

06:40 And then the next day, Guido probably spent an hour just hacking with him and made this

06:47 young man's PyCon experience more amazing than it was just the day before.

06:52 That's really awesome.

06:53 Yeah.

06:54 And Brian, you got to have lunch with him at the last PyCon, right?

06:57 That was really fun.

06:57 They did a drawing of people that donated to the Python Software Foundation.

07:03 They drew a handful of names, and I think there were like six or seven of us have lunch with

07:09 him.

07:09 And one of the things that was really interesting at that lunch was we were in around the table

07:15 and talked about what everybody does and what their contribution or not to Python was.

07:20 And it talked about some of the things I was doing.

07:23 I mentioned I have a full-time job, but I also work on trying to teach testing and pytest and

07:31 other development processes to people.

07:33 And he looked at me and said, so you have got a full-time day job.

07:39 How do you have enough energy to deal with all the negative feedback you get from contributing

07:44 to Python?

07:45 And I haven't really got that negative feedback.

07:49 And I guess that was a bizarre...

07:52 I thought of it as a bizarre question, but now in context, it makes a lot of sense.

07:56 He was at the center of the pressure points, right?

07:59 That's tough.

07:59 So let's maybe talk about what some of the root causes for this.

08:04 Like, he specifically calls out Pep 572 in his letter that he sent out.

08:10 But I feel like there must be more to that.

08:13 Like, Pep 572 was the straw, not everything.

08:18 But Carol and Brett, you guys are more on the inside.

08:20 You probably have more exposure to this.

08:22 What do you think?

08:23 Honestly, it was the last straw.

08:26 I don't know what Carol thinks, but I personally figured Guido was probably going to retire in

08:32 the next, I don't know, two, maybe three years.

08:36 Just because he's joked so long about retirement.

08:39 And I think he was just getting ready to just not do it.

08:43 And he's been working on making the projects self-sustaining for quite some time.

08:48 But admittedly, from my perspective, Pep 572 got really nasty.

08:53 It was so much negativity that I think he just got fed up and said, like, look, I've been doing

09:00 this for 28 years.

09:01 I've been putting up with general negativity as well.

09:04 And this groundswell was just too much to bear and just like, forget it.

09:09 I don't want to put up with this anymore.

09:11 I'm going to, as he said, he's going to retire.

09:13 He's still the BDFL.

09:15 That for a life bit is true.

09:16 But he's basically said, my last dictatorial declaration is I am not going to make any more

09:22 dictatorial declarations ever again.

09:24 Have fun.

09:25 Yeah.

09:26 Yeah.

09:27 But no, it got extremely negative.

09:29 Like when Guido announced the acceptance of the Pep, the very first tweet at him was

09:33 too bad.

09:34 It's a waste of time.

09:35 And that was just a very common occurrence of just nothing but negativity.

09:40 There wasn't constructive feedback or anything.

09:42 And it dragged on forever.

09:44 There were some missteps in terms of how it was communicated in terms of a technical aspect

09:49 of how it was communicated through the list, like reposting the Pep.

09:52 But people just really just piled it on.

09:56 And it was just unnecessary.

09:58 It was just not constructive.

10:00 And that's, as Brian pointed out, that's why he asked that question.

10:04 How do you handle the negativity?

10:05 Because there can be a lot of negativity anytime you touch this language.

10:08 People love it for a reason.

10:10 And if there's any hints of you changing something that they don't like, some people really overreact.

10:14 And if you saw my keynote at PyCon US, it was entirely on this topic because it can get

10:21 so overwhelming sometimes when people just jump on you and expect on a part of you so widely

10:27 as Python.

10:28 There's not a small number of people who feel the need to share their opinion and unfortunately

10:32 share it in a unconstructive way.

10:35 And I think it just finally made him just go, yeah, you know what?

10:38 I don't need to ever put up with this ever again.

10:40 Forget it.

10:40 And just said, I'm retiring.

10:42 One thought that I had when we were getting ready for this show was, you know, it's kind

10:47 of related to what Brian said as well.

10:49 Like, you know, has a full-time hectic job at Dropbox, right?

10:54 He's already fully committed to working on stuff.

10:56 And then he's trying to bear the, you know, significant portion of the weight of people

11:03 not wanting changes or demanding changes to Python in various ways.

11:08 And, you know, do you, Carol, think it would have been different if the PSF had made a space

11:14 to sort of employ, you know, to be in that role and not make it, you know, there's the

11:21 stress of the experience and there's the stress of these are my final two hours of the day

11:24 and I'm already exhausted.

11:25 Now I'm getting this.

11:27 You know what I mean?

11:27 I can't speak for Guido, but I mean, I don't know that that would have solved it.

11:32 I mean, I think he has been doing what he wants to be doing.

11:35 And I think if he had said, hey, I want to do this, people would be, you know, very happy

11:41 to accommodate him.

11:42 I think largely what Brett had said, you know, we were talking in the office here at Jupyter

11:48 the other day and we were saying, we can't believe how long he has shepherded

11:54 the language and dealt with, you know, people's comments and fostered, you know, the direction

12:02 of the language.

12:02 And in many ways, any maintainer will feel over time some burnout when there's negativity around

12:12 a project.

12:13 And I think it's unfortunate that people choose to make things personal when they don't need

12:21 to be personal, that they view things with black and white as opposed to wanting to compromise

12:28 over something.

12:29 And I remember when I was facing some burnout and he was one of the people that said to me,

12:35 well, do the things that you really enjoy, electronics and teaching and is really helpful

12:41 advice.

12:42 So I think maybe he's taking some of his own advice.

12:45 Yeah.

12:45 It has been a really long time that he's been working on this.

12:48 I've never worked on a single project for 30 years, right?

12:53 I've not been programming for 30 years, honestly.

12:55 But it just seems like, you know, it's pretty natural for him to step down.

12:59 One thing I really wish, and I, Brian, I think we spoke about this last time.

13:03 I wish he would have just sort of gone into a more, just, I'm kind of stepping back for a

13:09 while and hung in there until after 2020 and Python 3 becomes the one and only Python.

13:15 And sort of that could have been like a celebratory stepping down rather than a, I'm frustrated

13:19 and I'm giving you guys the reins.

13:21 I would have liked to see him retire in some sort of celebration, mission accomplished type

13:26 of experience, you know?

13:28 It would have been nice, but the problem is, is there still the chance of another, I don't

13:33 think uprising is quite the right word, but an explosion of negativity between now and then.

13:37 And while I would like to assume the community has switched over to three and every number I've

13:44 seen has said that.

13:45 I also don't know if the people who are holding onto Python 2 are going to react reasonably

13:51 come January 1st, 2020 as well.

13:53 So I could also see him going like, you know what?

13:55 I don't want to risk having to put myself through that after what he's just gone through.

13:59 Yeah, that's possible.

14:00 I totally get the perspective of it would have been an amazing party January 1st or at PyCon

14:06 in 2020 going like, yeah, we've moved on to Python 3.

14:09 Guido's getting the well-deserved retirement he wants and it would have been an amazing party.

14:13 But instead, we're just going to have just the amazing party for Python 3.

14:16 And I'm personally fine with that.

14:18 We can invite Guido.

14:19 I'm sure he'll be there.

14:21 I don't think that that.

14:23 I mean, he's still the president of the PSF.

14:26 So he obviously is still going to be involved.

14:30 And, you know, it's up to us as the community.

14:33 Much like the SciPy community did last week, they did a really nice thank you, Guido.

14:38 Like they got everybody from the conference together and gave them a very thoughtful thank you, which I've never seen them do for anything before.

14:47 So it was really cool.

14:49 And I think he has touched so many people in so many different ways that that celebration will come.

14:56 I think looking at it, I don't know that there's ever an easy way to change how you make decisions and governance when you have many personalities involved.

15:08 And it's unfortunate how it came out.

15:11 But I think there had to be something that would give us a catalyst in the developer community to really take some of these issues on that are not necessarily new issues to us.

15:24 He's been asking us to do it for quite a while.

15:27 And we just haven't either had the bandwidth or the sort of kick in the pants to actually go and do it.

15:33 So we're all kind of like the 29-year-old kids still living at home.

15:36 And Guido's like, get out.

15:38 Go live on your own.

15:39 Take care of yourselves.

15:40 A little bit.

15:41 Yeah.

15:41 Yeah.

15:42 This portion of Talk Python to me is brought to you by Linode.

15:48 Are you looking for bulletproof hosting that's fast, simple, and incredibly affordable?

15:52 Look past that bookstore and check out Linode at talkpython.fm/Linode.

15:57 That's L-I-N-O-D-E.

15:58 Plans start at just $5 a month for a dedicated server with a gig of RAM.

16:03 They have 10 data centers across the globe.

16:05 So no matter where you are, there's a data center near you.

16:08 Whether you want to run your Python web app, host a private Git server, or file server,

16:13 you'll get native SSDs on all the machines, a newly upgraded 200-gigabit network, 24-7-friendly support, even on holidays, and a 7-day money-back guarantee.

16:23 Do you need a little help with your infrastructure?

16:26 They even offer professional services to help you get started with architecture, migrations, and more.

16:32 Get a dedicated server for free for the next four months.

16:35 Just visit talkpython.fm/Linode.

16:40 All right, so you spoke about governance and decision-making and stuff.

16:43 What do you think is going to replace Guido being the final decider?

16:48 It's actually still being actively discussed.

16:51 As the email Guido sent said, he's basically leaving it up to us.

16:56 He did not dictate how we were going to govern ourselves afterwards.

17:01 So he has left it up to us.

17:03 He actually didn't even dictate how we would even choose how we would choose to govern ourselves.

17:08 So there's not even a specific choice yet of how we would potentially vote for this.

17:13 Like some people have said PSF fellows.

17:16 Some have said core devs.

17:18 So there's, it's a completely open-ended question, honestly.

17:22 The current thinking seems to be around, and Carol can obviously correct me if my feeling doesn't jive with hers at all.

17:32 Either potentially another BDFL or a somehow council of elders or some such.

17:39 It seems to be the key thing is just trying to figure out how we want to steward the design of the language.

17:44 We've been managing ourselves daily for quite some time.

17:49 Guido's not directly involved with releases, so that's not even an issue.

17:52 It really comes down to how do we have someone make the final decision on PEPs?

17:57 Who says yay or nay?

17:58 Who makes the technical decisions?

18:00 Who chooses the paint color for the bike shed?

18:02 That kind of thing.

18:03 That's the really key thing we have to still make a decision on.

18:07 Yeah, and I think Brett kind of put it, you know, I think the emails that I've at least seen on Python committers have been very respectful and, you know, really trying to seek out what is going to happen from here.

18:23 And I think Guido's email mentioned four things.

18:26 Day-to-day decisions on the issue tracker and GitHub, how PEPs are decided, which to me is sort of like the direction of the language and who stewards that, how new core devs are inducted, and the code of conduct.

18:40 And if I look at all four of those, the day-to-day decisions, as Brett had said, you know, releases and things like that, we're in a good spot.

18:51 And we should probably just be doing what we have been doing.

18:54 How new core devs are inducted, I think that will fall out of whatever decision-making we have for the language.

19:02 I know that we've made some progress over the past couple of years, and I continue to see that we will make progress.

19:10 And the code of conduct, I think we're all recognizing that being professional and civil to each other and talking about issues as opposed to whether somebody's intelligence calls, it's called into question or whatever, is not the right way to do it.

19:28 It's better to be professional.

19:29 And, you know, how PEPs are decided, it seems as if, much like Brett had mentioned, that we're sort of converging on maybe three individuals as like a triumvirate or one and no more than five is sort of how I've read it.

19:47 Okay.

19:48 That makes a lot of sense.

19:49 It seems to me whatever the decision is, it should be odd, not even.

19:53 Actually, that came up already.

19:55 And Tim Peters, for those of you who've been in the language for a long time, might recognize the name, who's gotten active again, partially thanks to PEP 572.

20:02 So at least there's one very nice perk from my perspective from what happened with PEP 572.

20:08 pointed out that the odd number in voting typically is very important when you have an either A or B decision and you have to choose one or the other.

20:16 But if you have a status quo or a change, so more of a yes, no decision, having the tie go to the status quo is not quite so critical.

20:25 So we could theoretically go with a four and really not have too much of an impactful problem in that regard.

20:32 Yeah, I guess it would lead to stronger debates.

20:34 You've got to bring someone over to your side if it's a split decision.

20:37 And if they fail to decide, then it just stays the way it is.

20:40 Right.

20:41 Nothing new is adopted, I guess.

20:42 Yeah, exactly.

20:43 So there is a possibility of actually going with four, for instance.

20:47 Interesting.

20:48 I don't think anyone suggested two.

20:50 It seems to be pretty much one, three, four, five seems to be the running numbers right now.

20:55 Right.

20:55 Yeah.

20:56 Interesting.

20:56 Okay.

20:57 Yeah, that makes a lot of sense.

20:58 So I guess the final thing that we should spend some time on is, is this a problem for the community?

21:06 Is this going to hurt Python's fantastic momentum?

21:10 Is this going to hurt the growth or evolution or sustaining Python?

21:16 Or do you think it's just a little bit of change on how decisions are made and not such a big deal?

21:22 Do you want me to take that first, Brett?

21:24 Yeah.

21:24 Yeah, go ahead.

21:25 You go first, Carol.

21:26 So I think the language will continue to thrive and will continue to grow.

21:31 Will some things be different?

21:33 Yes.

21:33 But Guido's made it very clear.

21:35 He's still going to be accessible on mailing lists.

21:38 He's still the president of the PSF.

21:40 The PSF is largely, with the community's support, doing many of the outreach things and things to grow the community.

21:50 And then the core development side of things, I think what you've seen is sort of a shift in some ways away from strictly the language to also, you know, Python has a very rich ecosystem of libraries.

22:03 So things like Jupyter and scipy and scipy wouldn't have come about if Python, the core language, hadn't been so wonderful to work with.

22:14 And so, yes, there was going to be work to do to figure out how to continue the design of the language.

22:20 But I have every belief and commitment that that will happen.

22:26 I agree.

22:27 I think the way I don't think this is going to change the momentum for the language.

22:31 I don't think, honestly, anyone should really be worried at all.

22:35 There might be a slowdown in terms of new features for Python 3.8, which I know some people actually like the idea of.

22:45 Basically, I view it no more as a temporary pause in language-defining changes.

22:52 And honestly, we've had a language moratorium before back for Python 3.3, I believe, which I should know since I helped write the PEP for that.

23:00 So if anything, you can view it as basically just a moratorium on language changes for a little while until we decide how we want to govern those kinds of changes.

23:10 And then it'll just more or less go back to where it was.

23:12 Now, the pace might be slower than it was if, for instance, we go with a council versus another benevolent dictator who could potentially come to decisions faster and just do other things.

23:26 I guess it's potentially more nimbly in my personal view.

23:30 But I really don't see this really affecting the language long-term or even medium-term or basically short-term defending on your definition of short.

23:38 Yeah, for some definition of short, yeah.

23:40 I suspect we'll have this all worked out in the next few months.

23:43 I'd be really surprised if we don't have a solid plan of what our options are by the end of the year and if not already decided by then.

23:50 No, I've got hopefully a quick question.

23:52 I guess I don't know how, when there's discussions on peps, who can participate in those discussions?

24:00 Is it just core developers or?

24:02 I have to caveat this with this was the way it used to be.

24:06 We'll see if this continues.

24:08 But to answer that question, Brian, basically the way we suggest people do peps is they come with an idea to Python ideas, the mailing list, and they propose it.

24:17 And usually pretty quickly, people either go, that's been proposed before.

24:21 No, that doesn't seem very Pythonic.

24:25 Or that seems like a possibly good idea.

24:28 And Guido did on occasion come in and say, yes, there's a possibility for this or would shut an idea down quickly so people didn't waste their time.

24:37 And then usually they have a discussion, work out some rough details.

24:41 And then usually the proposer goes away and comes back with a rough PEP saying, all right, here's a more formal proposal.

24:47 And then more discussion on Python ideas to help that author refine it.

24:51 And then what they would do is they would then bring that to Python dev.

24:55 And then with more or less a finalized pep.

24:57 And then any final salient details would be worked out.

25:01 And then either Guido would name what we called a BDFL delegate, who would be someone he delegated the final decision to in terms of technical details and also whether the PEP would be accepted.

25:15 Or he would keep the BDFL vote himself and he would eventually make the call.

25:19 One change that has been floated, though, is to take a PEP from Python ideas to Python dev, you might start needing more of a co-sponsor from a core developer to help make sure that the idea seems solid enough to bring forward and also to make sure the PEP is in a good position.

25:36 Because one of the problems with PEP 572 was while the idea was there, the PEP wasn't fully, fully fleshed out to the level that we typically have peps out from Python ideas on dev as.

25:49 And so there was a lot of repetitious discussion of things that should have been recorded initially in the PEP to have tamped down on the repeated discussion.

25:57 Because the discussion on Python ideas actually was a bit more reasonable than it was on Python dev and less reactionary, funny enough.

26:05 So that's generally the process is idea to Python ideas, then a rough PEP and then refine it.

26:10 And then once it's fairly refined, goes to Python dev, final discussion.

26:15 And then either Guido or a named BFL delegate made a decision and the PEP either got accepted or rejected.

26:22 And that's basically the way it was.

26:24 This portion of Talk Python to Me has been brought to you by Rollbar.

26:30 One of the frustrating things about being a developer is dealing with errors.

26:34 Relying on users to report errors, digging through log files, trying to debug issues, or getting millions of alerts just flooding your inbox and ruining your day.

26:44 With Rollbar's full stack error monitoring, you get the context, insight, and control you need to find and fix bugs faster.

26:50 Adding Rollbar to your Python app is as easy as pip install Rollbar.

26:54 You can start tracking production errors and deployments in eight minutes or less.

26:58 Are you considering self-hosting tools for security or compliance reasons?

27:02 Then you should really check out Rollbar's compliant SaaS option.

27:06 Get advanced security features and meet compliance without the hassle of self-hosting,

27:10 including HIPAA, ISO 27001, Privacy Shield, and more.

27:15 They'd love to give you a demo.

27:16 Give Rollbar a try today.

27:18 Go to talkpython.fm/Rollbar and check them out.

27:24 Is there a point in that process where the rest of the community can, I guess, add to the opinion?

27:31 So yes, Python Ideas is a completely open mailing list.

27:34 Python Dev is also a completely open mailing list.

27:37 So none of these discussions are happening behind closed doors at all.

27:40 The only mailing list, honestly, that is in any way closed in any of this process is Python committers.

27:46 And that is more technical details that only affect Python core developers themselves and not PEPs.

27:52 So none of these discussions happen in such a fashion that outsiders, outsiders is a bad term.

27:57 People who happen not to be core developers are always able to bring forward their opinion.

28:03 The part of the trick, though, is not having people suddenly pop in and leave their opinion without checking what other people have said or coming in and not understanding how to be professional about leaving their opinion.

28:17 So there's always a balancing act of trying to ask too widely of people who don't quite understand the norms of how to communicate well, honestly.

28:26 But none of the conversation is closed off such that people can't participate.

28:30 So, for instance, Brian, if we had a testing-oriented one, you're totally happy to come in and participate, whether it's at the nebulous stage on Python Ideas or drafting up that PEP or on Python Dev,

28:41 where it's very much more finalized, like very honing into the technical details of how this would work and really thinking through the ramifications.

28:47 And really focus, focus discussion before our final decision is made.

28:51 But as I said, this is how it was.

28:54 I don't know how we're going to tweak it.

28:55 Yeah, that makes a lot of sense.

28:56 Yeah, and it should more or less be the same going forward.

28:58 It just might, we might start being a bit stricter about when PEPs move from Python Ideas to Python Dev to try to make sure the discussion doesn't get rehashed.

29:07 And as Carol pointed out, this has kind of brought forward some code of conduct issues that will probably,

29:13 I know I'm personally working towards refining and have been since PyCon to help try to push even harder to keep the discussion civil.

29:22 Right.

29:23 And I think in addition to just the civility of the discussions, one of the things that I want to look at is,

29:30 can we use some of the great stuff that we have in natural language processing and pull out like the most meaningful content when it comes to comments?

29:42 And, you know, part of the issue with 572, there were so many comments that you have to kind of read them all if you wanted like the full spectrum.

29:51 And not all of us have time to do that.

29:55 And so, you know, a way to condense or shorten the period of comments or something.

30:01 And that's as much a social issue and in some ways a conduct issue as it is a technical issue.

30:08 Yeah, that'd be something like in my own community, for instance, in like physical communities,

30:13 everybody is welcome to attend the open city council meetings, but hardly anybody does.

30:19 However, when there's a change that affects everybody, that's usually posted somewhere.

30:24 And then there's like a period of open for community comment or something.

30:29 I'm not saying we need to do that with Python, but I agree with this somewhat, maybe a curated or refereed or some Cliff Notes version of the discussion up till now before somebody can jump in.

30:41 Yeah, and that's definitely something that's been talked about.

30:45 All that puts work on the Python community itself also to do that.

30:50 That's work as well.

30:51 Yeah, and actually, historically, the PEP was supposed to capture all of these details, like the rejected idea and open discussion section, open idea section of every PEP was meant to act as a running summary of the discussion to help prevent that.

31:06 But for instance, in the case of PEP 572, it was a bit overwhelming on the volume, and it can be hard to do that.

31:14 So as Carol mentioned, there's discussion going on now about how we can potentially help alleviate that load on the PEP author whilst making sure that that kind of thing is taken care of.

31:26 Yeah, it sounds like there's some community stuff to do as well.

31:29 But I have faith that you guys will figure something out in terms of the voting and the decision making.

31:36 And I guess I want to sort of echo Carol's thought when I ask about the momentum.

31:42 So much of Python's momentum is with the ecosystem and the extra libraries and PyPI and all of these things.

31:51 And honestly, if the language didn't change one bit for five years, I still think there would be massive momentum in the community.

31:58 So I don't see a real danger here.

32:00 Not at all.

32:00 And honestly, I think the momentum is due to the community.

32:04 And Guido has helped shepherd it forward and bring it to where it is.

32:09 But I think at this point, the language and the community built around it is honestly bigger than Guido at this point.

32:17 So while we'll all miss Guido immensely and his contribution was very important, I don't think the community should worry because the community itself is going to be what carries this forward.

32:27 Yeah. And I think a lot of the core developers, as well as community members, are going to ask themselves, hopefully before they post messages and things like, what would Guido have said?

32:37 What would Guido think?

32:39 You know, put yourself, write your email messages like you're the BDFL and have to convince people.

32:47 I think there are some people that are very articulate and have great ideas and add a lot to improving it.

32:54 You know, I think the PEP didn't get improved from beginning to end.

32:58 But it's taxing when you have to slog through the negativity.

33:03 And I think what Brett is saying, like, hey, let's up our game so that the people who are doing the bulk of the work aren't getting negativity thrown at them when there should be collaboration.

33:19 And, hey, this is for the greater good of the language.

33:23 It's you don't have to use it or trust.

33:27 I think trust is a big part of it.

33:29 Trust that the people who are making the decisions are being good stewards for the language.

33:34 And I think the discussion that I've seen so far, I think most people are doing that and will continue to do that.

33:42 Yeah, I think that was already mostly there.

33:44 It's just it is sad that this put the final straw on to Guido.

33:49 But thanks to him for everything that he has done.

33:52 I think this may be a good place to leave it.

33:54 Brett, Carol, you guys want to have some final parting thoughts on this whole idea?

33:58 Anything else you want to add before we call it a show?

34:01 Not really.

34:01 I think we've pretty much, as we said, no need to panic.

34:04 Keep on coding.

34:05 I think we're going to move past this with no real issue.

34:08 Obviously, thanks to Guido, as we've all said.

34:12 And hopefully, while it's sad that Guido is retiring, hopefully we can learn some lessons from why it came about when it did and be better for it coming out the other end.

34:24 Yeah, absolutely.

34:24 Carol?

34:25 I agree with what Brett said.

34:26 And I also think the surprise may still come.

34:29 Guido is not going away.

34:31 He may be more focusing on things that rock his world that he sort of put on hold while he shepherded the design and decision making of the language.

34:43 And I think there's still some Guido surprises yet to come.

34:48 And I look forward to that.

34:50 And I just thank him for being an amazing person as well as a great language developer.

34:57 Yeah, I totally agree with that.

34:58 He actually has not disappeared.

35:00 He actually just replied to some emails yesterday and today about PEP 44, which is type hints.

35:04 So he's still actively engaged.

35:07 So he definitely has not disappeared off the map.

35:09 Yeah.

35:09 Nice.

35:10 Well, if I could throw some ideas out there.

35:12 Python WebAssembly browser.

35:14 I'm just going to leave that there if he wants to, you know, try something new.

35:17 Brian, anything else?

35:20 Yeah, I just want to just the obvious heads up of if you've got a negative reaction about something or some feeling of entitlement, you sleep on it.

35:31 You know, don't hit the keyboard right away.

35:33 Try to talk to people online as if you were talking to them in person.

35:37 And again, if you haven't watched the Brett's talk from 2018, Picon, go watch it because it was an eye opener for me.

35:46 How similar was that to your PyCascades one, Brett?

35:49 Pretty much the same.

35:50 It was my PyCascades talk became my PyCon US keynote talk.

35:56 Yeah.

35:56 So definitely people should watch that.

35:59 I think it sets the right tone for things.

36:02 I'll put that in the show notes.

36:03 Awesome.

36:03 All right.

36:04 Thank you all for being here.

36:05 It's really, I think it's important to spend some time talking about this and just sort of getting that inside information out for everyone in the community.

36:12 And I think we're going to be fine.

36:14 So let's carry on, huh?

36:15 That sounds good.

36:16 All right.

36:17 Bye, everyone.

36:17 Bye.

36:18 Bye.

36:18 This has been another episode of Talk Python to Me.

36:23 Our guests this week have been Carol Willing, Brett Cannon, and Brian Okken.

36:27 And this episode has been brought to you by Linode and Rollbar.

36:30 Linode is bulletproof hosting for whatever you're building with Python.

36:34 Get four months free at talkpython.fm/Linode.

36:38 That's L-I-N-O-D-E.

36:40 Rollbar takes the pain out of errors.

36:43 They give you the context and insight you need to quickly locate and fix errors that might have gone unnoticed until your users complain, of course.

36:50 As Talk Python to Me listeners, track a ridiculous number of errors for free at rollbar.com slash talkpythontome.

36:58 Want to level up your Python?

36:59 If you're just getting started, try my Python jumpstart by building 10 apps or our brand new 100 days of code in Python.

37:06 And if you're interested in more than one course, be sure to check out the Everything Bundle.

37:10 It's like a subscription that never expires.

37:13 Be sure to subscribe to the show.

37:15 Open your favorite podcatcher and search for Python.

37:17 We should be right at the top.

37:18 You can also find the iTunes feed at /itunes, Google Play feed at /play, and direct RSS feed at /rss on talkpython.fm.

37:27 This is your host, Michael Kennedy.

37:29 Thanks so much for listening.

37:31 I really appreciate it.

37:32 Now get out there and write some Python code.

37:34 I really appreciate it.

Back to show page
Talk Python's Mastodon Michael Kennedy's Mastodon