Come for the Language, Stay for the Community
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Part Number | 77 | |
Number of Parts | 169 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/21198 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
EuroPython 201677 / 169
1
5
6
7
10
11
12
13
18
20
24
26
29
30
31
32
33
36
39
41
44
48
51
52
53
59
60
62
68
69
71
79
82
83
84
85
90
91
98
99
101
102
106
110
113
114
115
118
122
123
124
125
132
133
135
136
137
140
143
144
145
147
148
149
151
153
154
155
156
158
162
163
166
167
169
00:00
Formal languageWhiteboardGoodness of fitGraph (mathematics)WhiteboardLecture/ConferenceXMLUML
00:50
Formal languageWhiteboardBitLink (knot theory)InformationSlide ruleWebsiteNP-hardCASE <Informatik>Multiplication signLecture/ConferenceComputer animation
01:31
Group actionLecture/ConferenceMeeting/Interview
02:11
Open sourceTerm (mathematics)SoftwarePoint (geometry)ExistenceLecture/Conference
02:52
Formal languageCore dumpCore dumpOpen setCanonical ensembleSoftware developerComputing platformCASE <Informatik>QuicksortFormal languageBitComputer animationLecture/Conference
03:31
Formal languageCore dumpBitLevel (video gaming)MathematicsComputer animationLecture/ConferenceMeeting/Interview
04:25
Java appletPascal's triangleComputerForm (programming)Virtual machineText editorUniverse (mathematics)Line (geometry)Web pageBuildingElectric generatorMultiplication signTouchscreenMacro (computer science)Server (computing)Lecture/ConferenceJSONXMLUML
05:20
Classical physicsMultiplication signComputer scienceLine (geometry)File formatComputerWeb pageUniverse (mathematics)Electronic mailing listState of matterSet (mathematics)2 (number)Lecture/Conference
06:41
Easter egg <Programm>Visualization (computer graphics)Process (computing)Student's t-testComputer programmingMultiplication signComputerWindowStorage area networkJava appletLecture/Conference
07:42
Formal languageFormal languageComputer iconOpen sourceDomain-specific languageOptical disc driveComputer animationLecture/ConferenceMeeting/Interview
08:31
String (computer science)Moment (mathematics)Programmer (hardware)Multiplication signPlanningFormal languageJava appletPower (physics)Lecture/Conference
09:13
Student information systemFormal languageStudent's t-testInformationRow (database)Cartesian coordinate systemLecture/ConferenceMeeting/Interview
10:09
Formal languageResultantFormal languageError messageNamespaceMessage passingVideo gameLecture/ConferenceComputer animation
11:01
Power (physics)Formal languageSinc functionMultiplication signMereologyAlgebraic closureLecture/ConferenceComputer animation
11:55
Multiplication signGodSoftwareLecture/Conference
12:54
SpacetimeSoftware developerCuboidMereologyWordLaptopPrototypeQuicksortGodComputer animationLecture/Conference
14:01
WordQuicksortMultiplication signMereologyFormal languagePower (physics)Lecture/ConferenceMeeting/Interview
14:44
Open setBitLecture/ConferenceComputer animation
15:44
Open setGodEvent horizonFormal languageLecture/ConferenceComputer animation
16:43
Order (biology)MereologyNP-hardGroup actionLecture/ConferenceUMLComputer animation
17:39
Event horizonCore dumpMultiplication signSoftware developerProjective planeProcess (computing)Turtle graphicsDemo (music)QuicksortState observerCodeModule (mathematics)Proof theoryNP-hardLecture/ConferenceComputer animationMeeting/Interview
18:41
CodePatch (Unix)Revision controlEuler anglesRegulator geneLibrary (computing)Electronic mailing listLecture/Conference
19:29
GenderSoftware testingPoint (geometry)QuicksortView (database)TheoryFault-tolerant systemMereologyMathematicsVideo gameJSONXMLUMLLecture/Conference
20:49
Latin squareMultiplication signTwitterPresentation of a groupLecture/ConferenceXMLUML
21:30
Computer programmingPresentation of a groupQuicksortSelf-organizationGroup actionMultiplication signLecture/Conference
23:12
Electronic mailing listLattice (order)Ultraviolet photoelectron spectroscopyElectronic mailing listDiagramPiNumberComputer iconEmailCountingDisk read-and-write headWordWebsiteLecture/Conference
23:58
Computer iconMultiplication signLecture/ConferenceComputer animation
24:43
Formal languageComputer programmingSoftwareBitSelf-organizationOnline helpMultiplication signQuicksortProgrammer (hardware)Computer programmingWordProgramming languageLecture/Conference
25:22
SoftwarePoint (geometry)AreaCategory of beingElement (mathematics)Lecture/ConferenceComputer animation
26:05
EmailMultiplication signSoftwareWhiteboardLecture/Conference
26:45
SoftwareGreatest elementSlide ruleSymbol tableINTEGRALMathematicsGame controllerMereologyComputer animationLecture/Conference
27:23
MereologyWordLink (knot theory)PasswordElement (mathematics)Computer animationLecture/Conference
28:06
Element (mathematics)NumberVotingWhiteboardLecture/ConferenceComputer animation
28:48
Element (mathematics)WhiteboardCASE <Informatik>Online helpLecture/ConferenceMeeting/Interview
29:26
NumberLibrary (computing)Cartesian coordinate systemOpen sourceInternetworkingForm (programming)SoftwareVotingFraction (mathematics)Lecture/Conference
30:24
VotingVotingFraction (mathematics)SoftwareGroup actionDigital rights managementElement (mathematics)Lecture/ConferenceComputer animation
31:24
Element (mathematics)ExistenceQuicksortMathematicsVotingMultiplication signWhiteboardLecture/Conference
32:26
SoftwareOrder (biology)Combinational logicComputer configurationLecture/ConferenceMeeting/InterviewJSONXMLUMLComputer animation
33:17
ComputerHypermediaLecture/Conference
34:10
Software developerUltraviolet photoelectron spectroscopyMereologySelf-organizationSoftware developerPoint (geometry)Lecture/ConferenceUMLComputer animation
35:10
Goodness of fitMultiplication signFormal languageComputer programmingBitLecture/ConferenceComputer animation
36:26
Formal languageNP-hardCore dumpData managementDistribution (mathematics)BuildingFormal languageData miningAreaMobile WebSpacetimeInternet der DingeLecture/ConferenceComputer animation
37:20
QuicksortFormal languageComputer programmingReal numberRuby on RailsProgrammer (hardware)Lecture/Conference
38:02
Formal languageLocal GroupQuicksortSound effectImage resolutionTerm (mathematics)WordDialectPhysical systemGroup actionRight angleLecture/Conference
39:09
CodeSystem callGroup actionMultiplication signElement (mathematics)Lattice (order)HypermediaArithmetic meanXMLUMLLecture/ConferenceMeeting/Interview
39:57
CodeLecture/ConferenceComputer animation
40:37
Category of beingElectric generatorFunctional (mathematics)Different (Kate Ryan album)Formal languageLecture/Conference
41:38
CircleFormal languageLecture/Conference
42:19
VotingCASE <Informatik>SineDependent and independent variablesMathematicsWhiteboardOperator (mathematics)Point (geometry)InformationGroup actionDecision theoryElement (mathematics)Term (mathematics)Peer-to-peerLecture/Conference
43:57
DigitizingMultiplication signGroup actionDifferent (Kate Ryan album)Mereology1 (number)Electronic mailing listLecture/Conference
45:05
WebsiteDifferent (Kate Ryan album)TelecommunicationSlide ruleGroup actionRight angleLecture/Conference
45:43
NumberMechanism designMultiplication signWhiteboardMereologyInformationDirection (geometry)Self-organizationoutputTelecommunicationOnline helpProcess (computing)Lecture/Conference
46:43
Multiplication signLocal GroupAssociative propertyLocal ringVarianceWater vaporDistanceConcentricLecture/Conference
47:38
Multiplication signBitLocal ringRepresentation (politics)WhiteboardDialectPoint (geometry)Touch typingLecture/Conference
48:55
Lattice (order)Right angleEngineering physicsArmTheory of relativityLecture/ConferenceMeeting/Interview
Transcript: English(auto-generated)
00:00
Please welcome Naomi. She's going to talk about community, so please give a hand to Naomi.
00:26
Okay, good morning. I know that at least I find as the conference goes on, it gets harder and harder to get up for morning keynote. It's my confession. So I appreciate seeing you all here.
00:41
I'm Naomi Cedar. This year is my second year on the Python Software Foundation board, and it's the second year that I have been the vice chair of the PSF. So I want to talk to you today a little bit about community. Before I go any further, I should say there is a Google link to the slides, so you can have a look at those.
01:07
As usual, they contain very, very little real information. There are some links to the PSF site, though, that you might want. In the speaker note, there is an occasional smart remark, but that's about it. But in case you want those, that will be showing up on all the slides.
01:23
So talking about community these days strikes me as a bit of a challenge. We seem to be in hard times for community. There are people protesting in the EU. There are people protesting in the UK. Back in the US, there are people who seem to be against almost
01:43
everything involved with community, if you've been listening to the political news from there. So in some ways, it seems like the idea of community is almost under siege. And yet, as I've talked to people these days, it seems to me that this is probably the most important thing to most people here.
02:04
I certainly know it's important to me. What is the group of people that I'm going to be working with like? And if you think about it, none of what we do in terms of writing software, in terms of open source software, in terms of the Python ecosystem,
02:20
none of this would be possible without community. And so I think this is kind of my first point here is that people make a distinction between technical and community work. I think that's a false distinction. Without the community work, the technical work cannot exist.
02:42
Community work is technical work. In some ways, you can actually affect more people by the community work than you can by the technical work. So the title of this talk comes from something that was said at PyCon 2014 in Montreal.
03:00
In the opening remarks, Brett Cannon, who's one of the Python core developers, got to kick off the conference. And he took advantage of the platform to say something that he had wanted to say. And it was something that resonated with a lot of us, I think. And what he said was, I don't know about the rest of you.
03:21
I came for the language, but I stayed for the community. And that really is sort of the case with me, and that's what I want to talk about a little bit today. Before I do that, though, I'm going to make a confession. It's not like I've never made a personal confession to this audience, is it?
03:43
And that confession is, I am actually quite, quite old. Now, you're laughing, you don't believe me. And normally I don't talk about this, but in fact, in 11 days, I will turn 60.
04:02
Okay, that's six-zero. I have not disclosed that in public before. That wasn't why I told you that, though. I just didn't want you sitting there working out the math as I go through this next bit, all right? I was trying to save you because you're going to be there. What? She started her career at age six? This doesn't work.
04:26
So, that's what I did. So, to give you a little background, I actually had been working with computing in some form or another for not quite 20 years before I learned about Python.
04:42
So, I actually started back in the old days. The first machine that I ever interacted with was a UNIVAC 1108. It was one of these things that was down in the bowels of a building at the university. I never saw it personally. We had line and page editors. It's kind of weird to even think about this,
05:02
but basically you could do a screen at a time and then save, and it would send it to the server. Or you could do a line of text at a time, then save, and it would go to the server. If you wanted to do these, there were these weird things called macros. Wow. Where you could actually go ahead and do multiple things at once with a line of text.
05:24
I'll confess, I was not actually a computer science person. As some of you may know, I actually was working on a PhD in classical literature at the time, but I think sort of as a stunt, they actually had some of us from the humanities department
05:40
in to work on our dissertations and use the computer to actually format the dissertation and everything. So, that was how I got my start. There was this wonderful device. I think there were only two of them on campus at the University of Wisconsin that saved me at the end. It was amazing. It was called the laser printer.
06:00
It was really great. So, that was how I actually printed out my dissertation. After that, I learned things on the Apple IIs. So, these were very big in the states, the Apple IIe, the Apple IIc. For a couple of years, I was actually teaching at a school in Athens, Greece. So, I had an Apple IIc with the Greek character ROM, and in the heat it would get flaky
06:25
and occasionally switch back and forth between Greek and Roman character sets, which is kind of interesting. I learned basic. I learned 6502 assembler. I used to have the published, printed out, 400 page listing of the assembly for the Apple IIc ROM.
06:45
Okay, you could poke around in it and find Easter eggs and all of that. Sadly, I got rid of it, I think, about 15 years ago. I think it might actually be a curiosity now. Eventually, I learned Pascal, CD base 3, C++, Visual Basic, Delphi. Yes, I suffered through the Windows 9x era, and I even did Java.
07:06
I even was faced with the possibility of teaching Java, because by that time, again, I've mentioned this before, I was the technology director and main computer teacher at a private school, and we had a policy that all students had to learn how to write a program before they graduated.
07:26
Alright, so I was faced with the possibility of teaching Java to every 14 and 15 year old in the school. This was a frightening, frightening time for me.
07:41
So, as it happened, and this was about 15 years ago, there was a Linux world in San Francisco, which was, I think Linux world is still going on, but it's a much different thing now. Then it was, in some ways, I guess, kind of like what PyCon is today.
08:04
There were thousands of people there, but everyone was an open source enthusiast. And this guy, who I'd never heard of before, named Guido van Rossum was there, and he was doing a day-long tutorial on this language of his that not many people knew about, but it was being touted as this interesting kind of odd little language called Python.
08:27
So I went to this tutorial all day long, and I recall asking some painfully stupid questions, because I was coming at this as a C programmer, so there were a lot of surprises for me at the time.
08:43
It's like, you mean strings are immutable? I can't just stick a character in where I want? This just doesn't seem right. But I found, actually, that day that this was a very powerful moment for me. In fact, as I was flying back from San Francisco on the plane,
09:03
I rewrote our school curriculum so that I could teach those 14- and 15-year-olds Python rather than Java. And that was actually pretty easy to do. I liked the fact that it was such a readable language. I liked the fact that it could do a lot of things. In fact, the summer after that, I started writing a student information system,
09:26
tracking all of our students' records and things like that, using Zope. Maybe you haven't heard of Zope. Some of the old-timers, yes. Some of the old-timers here have. We talked about it the other night. In some ways, a lot of what we're doing on the net today wouldn't be here if it weren't for the whole Zope ecosystem.
09:46
So I wrote an application in Zope 2, which I started in 2002. Last fall, the school finally retired it. So it ran for 14 years. Even better, I had been gone for four and a half years before they retired it,
10:03
so it had to have run essentially unmaintained for four years. So, as I say, this was a very cool language. It was something that really was a powerful thing. So I would agree with Brett that I came for the language.
10:21
This was what actually really got me in the door. And I would say that even though I started with Python 2.1 and I'm now on Python 3.5, that I still love the language. In fact, I will admit that about the only religious text I have is the Zen of Python.
10:42
Okay? And you will find me muttering to myself in various situations, you know, it's like, beautiful is better than ugly, yes, yes. Simple is better than complex. Errors shouldn't pass silently unless explicitly. I haven't quite worked more namespaces into my personal life yet,
11:00
but that I am working on. Okay. So that was in fact a very powerful thing for me, and it still is. However, I think that was not the only thing. I mean, it's been 15 years since I've been working on Python.
11:22
And in that time, a lot of languages have come and gone. And you hear a lot of things. So, you know, people tell me, you know, you must learn Clojure, you must learn Scala, you must learn Ruby, you must learn this or that. And for a while I was actually wondering, you know, what language is going to come along and actually make me move away from Python.
11:43
But there was something else going on, I think, that is the reason that I was never really tempted by a lot of those languages. And part of that is the community. So in 2003, the guy who was working for me discovered that they were announcing this first conference for the Python community.
12:09
Now, there had been Python conferences before, but they were put on by a professional conference company. They were expensive, they were not a community-based conference.
12:21
But for the first time in 2003, they were going to put on this thing called PyCon. And the tickets were relatively cheap. It was a small conference in Washington, D.C. If you could get there, you could get in. We put in a talk proposal, and much to our amazement, we were accepted.
12:43
We went there, we found that, you know, it was really a very nice and open community. We were there representing a private school. We were at a software house, we were in engineers. And yet, you know, the developers were willing to talk to the people from education, we met other people in education.
13:00
We had open spaces. Back in those days they were called BOFs, birds of a feather, sessions. And usually it would be in the evenings, so you'd go to talks all day. And then we would get around and spend a large part of the evening talking about Python and education, or the latest new thing. If you remember the one laptop per child, the EXO.
13:25
When that first came out, actually months before it was released, we had a BOF where we spent the evening passing around and playing with one of the prototypes. So it was just a lot of fun. And eventually there were other things that we got involved with.
13:44
I once asked Steve Holden, who is the chair of the Python Software Foundation, what I could do to help out. And he said, oh, we need a poster session at PyCon. I had never been to a poster session, but I suggested one, we put one together,
14:00
and I've been sort of spreading the word about poster sessions ever since. In other words, the whole PyCon experience was something that was, as this one is, a great way to come together as a community. And I liked that a lot. I spoke a lot about teaching and education because I was in education at the time.
14:22
And I was eventually elected as a fellow of the PSF. So what I'm trying to say with all of this is that over the years, the language has been a powerful thing for me. But I would have to agree that the experiences I've had as a part of the community, working on PyCons, working on other things, has been probably more powerful.
14:45
And that led me, particularly since I was going to be talking about it, it led me to think a little bit about what it is that makes the Python community a good community in that way. What is it about the Python community?
15:01
And I came up with a couple of things. So for one thing, this is a hard one to define, and I'm not sure I'm totally happy with this definition, but it's always been an inclusive place.
15:20
And by that, I mean a few things. Certainly, as we have gone on and as we have advanced, we have worked on this and we have improved it. But from the very beginning, it had three qualities that I think are pretty important. First of all, it was safe. It was not a place where, even in the early days,
15:43
you were likely to be belittled or attacked or something like that because you didn't know something. And again, my experiences there go all the way back to 2001 and asking Guido some really, really stupid questions from the audience as we were having these tutorials and him answering quite patiently.
16:02
It was respectful in that everyone was treated with respect. And it was also open in that you could, and this is something that still happens at a Python conference, at any of these events, you could go up to any of these people who are just the gods of the language
16:26
and talk to them and they would talk to you back. So this also, I think, was a good thing. And if you do not have these qualities, if you feel threatened, if you don't feel respected, if you're unable to talk to people, it's very hard to engage with the community.
16:45
So the second thing, that's the first part, and that at least has people come to your community, but I'm not sure that it keeps them. The second part, the part that I think you need in order to keep people in the community
17:00
is the fact that contributions are welcomed. And it doesn't matter if you're new or if you've been around for a while, making meaningful contributions is something that we as a community encourage people to do even if they are new, even if they are perhaps not part of some special group.
17:21
This is a hard thing for communities like ours to do. It always is. Because it is always, or not always, but it's quite often much easier rather than enabling somebody to help. It is quite often easier to just do it yourself, even though you have a lot of things to do. And that's whether or not you're a core developer on a project
17:42
or if you're organizing an event or whatever it is. So it is not always easy to take the time to enable people to contribute. But in general, I would say we have always done a good job with this as well. My first example of this was, and I think it's been about ten years now,
18:01
I gave a talk at a PyCon. I was using the turtle module at the time to do some teaching. And at the time, the turtle module was just really kind of a proof of concept demo, and there are all sorts of things that made it really irritating to use for teaching. And so I mentioned in the course of my talk, you know,
18:21
these things are really irritating, and they should be fixed. They're not that hard. And after the talk, Ray Hettinger, who is, was one of the core developers, came up, and it wasn't a confrontation. It wasn't a, oh, put your code where your mouth is or anything like that. It was very polite. It's like, well, you know, those are good observations.
18:41
If you put together a patch, we'll try to get it in. And I gathered some other people from education. We put together a patch. It went in. It was, for like a glorious year, my contribution to the Python code base. Then, of course, sadly, the next version of Python, they replaced it with Gregor Linger's external library,
19:01
and the whole thing was gone. But I'm there. I'm there on the list. So it was, but it's the attitude there that rather than being shot down, rather than, you know, being turned away, I was gently encouraged to make a contribution. When you let people, when you encourage people to make contributions,
19:24
that is when the community becomes theirs. That is one of the things that I think gets people to stay. And, of course, I'm not just sort of talking about this in theory. In fact, I've kind of put the Python community to the test over the years.
19:43
No need to dwell on it, but I am, as I now tell people, in many ways a living A-B test. I have seen the Python community from both a male and female point of view. I have then, you know, not had the good grace to keep quiet about it,
20:04
but I've talked about it. I have seen the Python community from the U.S. community. I've seen it from the point of view of the U.K. community, from both sides of the Atlantic, back and forth. And I think that the things that I'm saying have been kind of, amazingly,
20:24
have been uniformly true across that. Out of all of the communities that I have known, as I have made these changes in my life, the Python community has stayed one of the places where you are safe, and if you are respected, you are able to talk to people,
20:42
where your contribution is always welcome. And, in fact, part of this has led me to understand that when I'm talking about the Python community, what I'm talking about is, in fact, a global community.
21:00
And this also is one of the things I learned. The first, I think it was the first week or two that I was in London, someone from the Python community that I had only ever met on Twitter took me out to have a drink and a welcome to London meal and things like that so that I sort of would at least know somebody in person.
21:22
In fact, by the time I had moved to the U.K., Nicholas Tallerby had already recruited me to help him do something at PyCon U.K. to do a presentation. I already knew one of the organizers of PyLadies there. And it's not just in North America and Europe.
21:43
That's where, historically, there have been more people doing Python, but it's very exciting these days that there is a lot of growth that this same community spirit is growing rapidly all over the world. So I know that in South America and Central America,
22:01
there are groups springing up and developing all the time. I know that we've got a sizable group from Brazil here. And in Africa, you may have heard Daniele to do a lightning talk about Python Namibia. I also, because I promise,
22:21
I also have to talk about my friends in Nigeria who did not have a community at all at the beginning of this year. At the beginning of 2016, they have now done four or five Django girls with at least one more in the works. They're getting themselves registered as a non-profit. They're going to see if they can figure out a way to have a PyCon Nigeria.
22:44
They are organizing an after-school program that they're going to be teaching some people at. Just a tremendous explosion of this kind of community spirit. And the same is true in Asia, in Australia, New Zealand, all around the world.
23:03
And even as we mentioned here, some of the things running Python have gone to Antarctica, which is a continent I don't usually mention too much. So all of this, we've got this sort of community growing. And it's got so much going on.
23:22
So there are a lot of these things, mailing lists, IRC, Slack, Telegram, meetups, PyLadies, Django girls, there are sprints, there are PyCons. I was trying to count up the number of PyCons, and I don't think you can actually do an accurate count.
23:42
On the Python.org website, there are 30 PyCons listed. I know this is wrong, because off the top of my head, without thinking about it much at all, I could come up with at least five more that weren't listed. So my guess is maybe there's 40, maybe there's 50.
24:06
I know that last fall, Larry Hastings and I joked about whether or not you could do a PyCon every month of the year. I think it's probably almost possible now to do a PyCon every week of the year.
24:21
This will be a great challenge for somebody who has a lot of time to travel, I guess. So there's a lot of things going on. And who is behind all of this? Who's organizing all of this? Well, us. You, me, all of these people around the world
24:44
are doing this organization. And, of course, there's a little bit of help from the PSF. And I wanted to spend a little bit of time here sort of filling you in on what the PSF does, what role the PSF plays in the community.
25:04
The mission, in fact, of the PSF is both to promote, protect, and advance the Python programming language, but it's also to support and facilitate the growth of a diverse and international community of Python programmers.
25:21
In other words, exactly what I have been talking about to you. And it does that by dealing with three things. And I'm just going to go through these kind of briefly because I think some people don't know what the PSF does and what it doesn't do. So it's got three areas that it works in, really.
25:42
It's got money, it's got intellectual property, it's got a membership, and it does do some things with money. Intellectual property, somebody needs to hold all of the licenses for this entire thing that is Python. And, in fact, that is the PSF.
26:03
That is one of its key roles. And, in fact, as a member of the board, from time to time, we will get these emails from corporate lawyers saying, you know, dear PSF, we are very interested in using your software, Python, and it's usually something like 2.6.5
26:21
or something like that. Please send us the licensing agreement so that we can sign this and use your software. And it's like, well, we are the people to ask, and we then have to go back and explain, no, you really don't understand how the agreement works. But it's the PSF that deals with things like that.
26:41
We also hold the trademarks. So, in fact, if you want to use the cute little logo I've got down on the bottom of my slides, that belongs to the PSF. If you're gonna use it just as a symbol for Python, kind of as I've done here, that's okay. If you're going to put it on something
27:01
that you're going to sell, like a T-shirt, you really should check with the PSF. If you're gonna change it at all, you really should check with the PSF. Because if you do things to the trademark, we have to protect that. If we don't protect it, we lose our control over it. So this is something that the PSF does.
27:22
We have members, and this is kind of part of my commercial here. We changed the way that we do members a few years ago. And it seems to some of us that we have been telling people, except that it seems that we also haven't been very good
27:41
at getting the word out. So anyone in this room can become a basic non-voting member of the PSF. All that you must do is go to python.org. There's a little membership link at the top. You click on that, you create a username, password,
28:01
create an account, and you are a non-voting basic member of the PSF. And it would be very helpful for this. This is a way you can formally declare your membership. It helps us have an idea of who is in the Python community around the world.
28:20
And if you do that, and you can do it today, if you do that and see me, I will give you a cute little sticker that says you're a PSF member. Just find me, I've got them. So you can declare this. There are supporting members. This costs about $100 a year, $99 a year.
28:43
By giving that donation, you are a voting member of the PSF so that you can vote for board members and any other things that come up for election to the PSF membership. I have known people who sort of told me, you know, I work with Python, it helps me make a good living.
29:03
I feel that I should do this as a way to give back to the Python community. So you can do that. You can be a contributing or a managing member. In this case, how many of you here, just out of curiosity,
29:21
how many of you here organize something in the Python community? Help organize whatever. Okay, that looks like about a third maybe? I don't know. There are quite a number of hands. If you spend more than five hours a month or more
29:42
working on an activity, on a community activity, a meetup, you're a Python, whatever it might be, you can become a voting member of the PSF. Okay, if you spend that five hours or more
30:00
working on software that is released in the Python ecosystem, so not just core Python, but you have a library or an application or something that has been released as open source that people are using, you can also self-declare that on a form and be a voting member of the Python Software Foundation.
30:24
I know that we do not have even a tiny fraction of the people who should be voting members as voting members. So once you become that basic member and I give you your sticker, I'm probably going to ask you, do you do enough work here? You should go be a voting member
30:42
because we want you to be voting members. We also have some Python software working groups. If you're on a working group, then you're a managing member. And we haven't done it for a while. We need to talk about doing this again. Some people get elected then as fellows. Basically, the membership votes on people who are elected as fellows.
31:04
They're also voting members. So that's what we've got going on. But more important, let's talk about money. So the PSF actually does have a fair amount of financial obligations. Money coming in, money going out.
31:21
Donations, you may have, over the course of the past couple days, been approached by Harry, who would let you not get a massage if you gave him money. Okay? And that's sort of donations. The PSF gets something like $50,000 a year in donations like that.
31:42
We have companies that give us money as sponsors. There's been a little change there. It used to be that these companies were sponsor members and they had votes. It turned out that, for one thing, they didn't really care that much about the voting.
32:01
And for another thing, it was really kind of a problem because that meant the entire membership had to vote every time somebody wanted to become a sponsor, which seems sort of cumbersome. So we changed that now. We asked the existing sponsor members, do you really want the vote? They said, no, we don't care. Bylaw's committee changed that and the board approved that a few months ago
32:21
so that sponsor members are now just sponsors of the PSF. And they provide a substantial amount of money, something on the order of $180,000 a year. And then finally, finally, PyCon US is a big conference and it provides probably more than the other two combined.
32:43
Depends upon the year. In 2009, we had a very bad year and it did not do so well. But in general, PyCon US provides a lot of money and we use that money to go back into the community. So of those 30 to 50 PyCons,
33:03
we end up giving grants to help support those regional PyCons. It seemed to us that it was a better way to spend that money. Our other option with the extra money we got from PyCon US could of course be to just support PyCon US. But in fact, it seemed a much more responsible thing
33:22
to use this to help start other conferences. So roughly $100,000 a year gets distributed to other conferences, including this one, but all around the world. And about that much money, again, goes for things like Django Girls,
33:40
various workshops, meetup fees. So if you're starting a Python meetup and you want to use meetup.com to organize it, it depends upon the market you're in. Some places meetup is really cheap, other places where it's a more mature market, it's not that cheap at all. It doesn't matter. The Python Software Foundation will reimburse you for meetup fees
34:03
if you're using it to run a Python meetup. And then we have to support infrastructure, things like PyPI to download packages. A lot of our infrastructure is donated from various companies,
34:21
but there are still expenses that we need to meet there. We now have, Python Software Foundation now has four employees to help us manage things, so of course we need to take care of them. So that's some of the things that we do. Now, I wanted to fill you in on that
34:41
because I want you all to become part of the PSF and support us, but to kind of return back to my main point, the PSF is not the community, and I don't want to suggest that. The PSF is there to support the community, and the community is the collection of meetups,
35:02
PyCons, developers, organizers, communities, all of us, all of you around the world. And I think, in general, we have a lot of good things going for us. The community itself, many times I've talked to people
35:22
who have said, you know, if I could choose a language just based on the community, it would be Python. I've heard this from Ruby people, from Scala people, from JavaScript people. We actually are a leader in this regard. People from, say, the Ruby community
35:40
are a little bit amazed that we even have this Python Software Foundation that is giving this amount of money to have other conferences. It doesn't happen very often elsewhere. Education, I think of all the programming communities, we are the most devoted to education. We have a lot to do. There are many things that we could and should be doing in education,
36:00
but we're still one of the leaders. Another thing is data science. I mean, today is officially more PyData. A few years ago, everybody was using R. Now if you talk to somebody who does data science, they will go, oh yeah, I used to do R, but now I'm getting into Python. And it's the same thing as actually with science.
36:23
We had a keynote about astronomy yesterday. Six years ago, a friend of mine who is an astronomy professor, I tried to talk him into trying Python. He's like, no, we have our languages for handling data. Don't bother me. Then about three years ago, I heard from him, and he was like, you know, I'm actually doing Python now.
36:43
So we're actually moving into that area. Those are great things to be involved with. But I think we have some things that we're not doing as well at, some things that we could do better. In the embedded, in the IoT space,
37:02
MicroPython is a great start, but we're not what people think of when they think of IoT. I hope that it will be what we think of. The more that IoT becomes a thing, Python should be the thing on it. We still have a lot to do in the area of mobile.
37:21
I'm completely with Larry in that we have, you know, the gill is an issue here. Godspeed the gallectomy, or something like that, that's an issue. And here's another one that I have found lately, and you may not believe me on this. I've talked to people at a lot of meetups and sort of general programming things,
37:42
where they'll say, well, yeah, I've done some CSS, and I'm doing JavaScript now, and I'm gonna learn Ruby on Rails, and maybe one of these days I'm gonna do a hardcore language like Python. And that kind of, I mean, I remember when it was the C programmers talking about how we were scripting language
38:00
and not really programming. This is kind of strange. But I also think it's not the place we want to be. We don't want to be what people think of as the hard language. This just isn't right. Community. I've been praising our community. I meant every word I say. We have made some great strides
38:21
in making a more inclusive community. But honestly, if we think we're anywhere near done, we are sadly mistaken. We have much, much work to do there. And then finally, as we continue to grow, how are we going to manage this? We've already moved away from the way that the PSF did things with the Python community 10 years ago,
38:41
but we have a long way to go there, too, in terms of sort of enabling the communities, the regional groups, and everything like that to do more, and having the PSF be there just sort of supporting and in effect doing less. This will be a hard problem to solve. It's one the PSF can't solve alone,
39:02
nor can the regional and local groups solve it alone. We need to work together on that. So, there's a lot of things that we need to do. And we need as many people helping us do these as possible. And what I would suggest, my call to action,
39:22
basically comes down to this. You should, and I'm going to repeat it one more time, I'll even give you a sticker, remember, you should join the PSF, okay, whether that's just a basic membership or whatever you might choose to do. You should seriously consider engaging
39:42
with your local or regional community. Okay, you will have that opportunity at the EuroPython meetings this afternoon, for one. You may have a local meetup. If not, you can consider starting a local meetup. It's not that impossible to do.
40:02
And then finally, contribute. That's the last piece that I talked about, as you recall. Whether that's organizing, whether that's mentoring or teaching, whether that's writing code, make the contribution. You will indeed be happy that you did.
40:21
And what, if you do all of those things, what is in it for you? Well, I expect, I hope that what you will find there is the same thing that Brett found, that I found, that I think many people in this room have found. Community, so thank you very much.
41:02
Thank you very much, Noam. Questions, if you have questions, please try to come over here, because I'm too tired to walk. Thanks very much, Noam. Do you have any idea why Python might have a better,
41:20
or a better functioning community than other languages? Because they're not different kinds of human beings in those who use those other languages. They're not from different places in the world. They're not from different generations. How did we get here? Yeah, I think that it does actually have a lot to do
41:44
with the people who were behind it initially. So, even in the early days, Gido has always been very much in supportive community. So, it may just be the happy accident
42:00
of who came together in the early days to start the community. That would tend to be my guess. There's nothing magical about the language, I don't think. But it is one of these things, I think, where you get a virtuous circle going.
42:32
So, about the voting members of the PSF, because it seems a cool thing to be, but when I hear that I could be a voting member,
42:43
it sounds like a responsibility, and it sounds like I should know a lot more about the community and what goes on around it. So, can you say something more about being a voting member? It's important. It's not a thing that requires a lot of work, honestly.
43:05
The main thing at this point that the voting members do is decide upon a board of directors. We are working to make sure that we can get as much information both about what the current board is doing as well as what potential candidates have done.
43:24
So that they can select that. In terms of other day-to-day things, we found in general that the membership does not want to vote a lot. Oh no, we have to vote again? So, it's largely doing that.
43:42
But it is still the group that will decide if a change in bylaws or something needs to be done that would affect the way the PSF operates. That would be the group that will make the decisions. So, it's not a lot of day-to-day things. But it's still something.
44:03
Whoa, you alright? So, in an ideal world, in ten years time, what's the Python community going to look like? Pardon me? In an ideal world, in ten years time, what will the Python community look like? In my opinion, in ten years time, in an ideal world,
44:24
the Python community will be larger but much more devolved so that there will be things like this conference, probably two or three of them in Europe. I mean, these will be all over and they will be supported by local ones in a lot of places.
44:42
Sometimes people will contact, I've had over the years people contact me saying, I'd really like to be part of a Python community, but there's nobody else around. I hope that we don't have that problem. And I hope that looking out over a group like this in ten years time that I will see a lot more different kinds of people than I do now.
45:02
So those would be the two things that would be on my list. Hi. Thank you for your talk. You mentioned on one of your slides that not all conferences are on the Python official site and there are many different communication channels.
45:22
I also noticed that I sometimes feel like the community is getting fragmented and you have a big Django community and a big PyData community. Is this also something you talk about with the PSF and is this a concern or is this a good thing?
45:42
I think it's good that we've got a lot of things going on. I think that we're having a real struggle in getting the information, communication, transparency, those are all relatively hard problems to solve. Part of the problem I think is actually the way that the PSF is organized right now
46:02
where there is not enough mechanism to devolve these things down and then bring the stuff back together so that everyone can find it. It's an organization problem that takes a lot of time to solve and the members of the PSF board, for example, we all have other jobs so we can't spend endless time doing this.
46:23
So this is a problem. As I say, we'll need input, we'll need help, we'll need people actually stepping up to do this from a number of places to work on that. I don't think anybody really likes the notion that Django sometimes looks like it's going completely off in its own direction.
46:40
That's not the greatest. So it's kind of a question and a consideration. I'd especially like to hear your thoughts. Last year there was a lot of new growing local communities, local associations, and in the years in the PSF
47:03
we talked about improving the PSF presence, especially in local groups where new people coming to the community could feel like a first step, not having to travel or not having to be in big events.
47:23
What the PSF and how the PSF could start doing this? Wasn't it time to start making a strong presence and at least feel that the PSF is in local groups? That's a good point, and it is something that has been discussed from time to time.
47:45
It's hard to decide what that would look like in a way. One suggestion that was raised on the board not long ago was that we make a much more organized effort to track which local conferences or regional conferences have had a PSF board member attend
48:04
and then actually even allocate a little bit of funding specifically so those that have maybe had two or three conferences and never had any representative of the PSF attend actually be supported to go ahead and make sure that we get in touch with them. That's still not going to scale necessarily.
48:23
There are 11 board members. We can't just go. So there have to be other things that would probably involve other people in the PSF doing that kind of role as well. We have talked a little bit. We've experimented a little bit with the idea of a PSF ambassador in South America.
48:47
And there's a lot of work that needs to be done there, too. Yeah, all right. Talking about community, again, I would like to mention our
49:00
EuroPython Society meetings at two o'clock and half past two, the EPS meeting. And thank you very much, Naomi. Big hand for Naomi. Thank you.
49:22
Thank you very much.