The Code Of Conduct

by Jesse Noller


Preamble

By now, if you're linked in to current Python / Python Software Foundation News you know that as of November 21, 2012 the PSF now requires that all conferences it sponsors, or provides grants to (and there are many), have a code of conduct in place. The exact wording of the reslution the PSF board ratified is this:

RESOLVED, that the PSF will only sponsor conferences that have or agree to create and publish a Code of Conduct/Anti Harassment guide for their conference. A basic template to work from has been generated by the Ada Initiative at http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy

Before I go much further; I'm going to state unequivocally that I am the one responsible. I proposed, argued for it, put it on the agenda and argued for it vociferously during our meeting. However, the board approved it overwhelmingly as a body with a single abstention.

Additionally, as you read this, do not assume anything about my personal politics, political leanings, etc. You would be wrong - trust me on that one. If you are assuming that a horrible event at a PSF / Python event triggered this, you are also wrong.

Community

Community is a broad term. In the case in which I refer to it - I refer to is as the constantly growing and evolving and diversification of the big-P Python community. The Python community is growing at an astounding pace. The number of Python related conferences and events is also growing at a pace which frankly floors me. We have "PyCons" popping up all over the world almost monthly. Canada and South Africa just had their first one this year for example.

Most, if not all of these events are put together by small teams of dedicated, passionate and kind teams of largely unpaid volunteers. This is both amazing, and heartwarming. The level of love and passion shown by so many in this community amazes me on a daily basis.

I once said this about the community in which I am honored to be a part:

Some of you may have met me - almost none of you have met my wife and family - and yet the outpouring of support from the Python community has humbled me and brought me to my knees in thanks. It brings tears to my eyes just thinking about the generosity that has been bestowed on us by people inside of this community. Something as small as a card - a box of crayons and a coloring book for my oldest daughter - it has helped my family and I and touched us in a way I don't think we've ever been touched.

It is amazing to me that I can admit to hurting or going through something like this and people all over the world will immediately start sending the resources on where to look for information or who to talk to or specialists that they know, contact information for family members that they know who have experience with epilepsy or seizures.

It has been amazing to me the amount of support that I've gotten from a community that's based on a programming language; we are all engineers and it is not something that you'd necessarily expect.

To this day; I stand by those words. Each day I get well wishes, each day I get a chance to call attention to others within our community who need help, or call attention to those who have fallen.

This passion I have, this love for the community, its ever-growing diversity and what it has done for me is exactly why I put this resolution up to the board. It's not because the Python community is broken. It's not because we've had a "trigger event", although Julia Elman's experience and call to action sticks in my mind like a road flare when thinking about this.

So no: I don't think our community is "broken" or has performed ill - but nor has it been perfect, nor shall it ever be. I am proud of it, I spend countless hours working on behalf of it, and I would not trade it for the world. It has made me feel welcome, it has supported me in my times of need. It has allowed and empowered me to do amazing things.

Oh yeah, and I'm totally in love with the language, even if I cheat on it sometimes.

But, like with code - there's a smell in the community - but it's the larger Programming community and its conferences and events as a whole.

D stands for Diversity.

We've seen enormous growth in the diversification and inclusion of the vast non-majority within our communities thanks to the hard work of many - this includes the PyLadies movement, Women Who Code, Devchix, CodeScouts, The Ada Initiative, the Boston Python Workshops, OpenHatch, RailsBridge and many, many others.

What we are seeing is a fundamental shift in the awareness that we need to be more welcoming, more open to those who do not make the majority of our community. We need to have workshops, we need to be more inviting. We need to lower the barrier of entry of contribution. We need to make safe havens for those who want to contribute but who are scared and intimidated by the status quo. This includes men, women - everyone.

Part of this effort is the social realization of one of the Zen of Python rules:

Explicit is better than implicit.

What I mean is this: no more unwritten rules or expectations. No more assumptions that we're living in a utopian meritocracy. We don't. Sure, OSS has been defined as "they with the best code and who does the work, wins" - but that ignores the frequent corollary of "those with the thickest hide, and ability to fight win". Look at any mailing list - look at the discussions on the relative merit of a given feature, bug fix, etc. You will see things that would make your hair turn grey. You will see people shouted down for naivety, you will see that even the most meritorious idea may not win against the establishment.

This happens everywhere. This is why I say "explicit is better than implicit" when it comes to social norms and expectations.

The idea that there's some unwritten guide on how to behave in society, at a conference, at a meetup, or anywhere is fundamentally absurd. Look around you for examples.

But what does this mean in the Python Community? It means we can do better! We already are on so many fronts - but just because we're seeing positive changes doesn't need we should stop the movement.

Back to Code of Conduct

A code of conduct is a set of rules outlining the responsibilities of or proper practices for an individual, party or organization.

That simple, right? Well, yes, actually. When it comes to a code of conduct for a mailing list or group or for a community such as Ubuntu and Fedora or for a conference it all boils down to the same thing. A set of rules that don't dictate what you can do, or who you must be, but what is not acceptable.

It's sort of like laws. Laws don't generally dictate your personal freedoms - what they do normally do is dictate where, given unlimited freedom, your "right to do whatever you want" ends. Laws are there not to stop crime. They are there to set rational expectations for rational people - they tell the rational actors in our story what they can count on. They set in place the rules of societal engagement and put in place punishments for when those rules are broken.

A code of conduct is no different - it is an explicit set of rules on what isn't acceptable! It's not there to take away your rights - unless you feel your rights include sexual harassment, putting pornography in talk slides, or making sexist or racist jokes in a large group of people (an event). It's there to show everyone what is not acceptable behavior, and to show what repercussions there are if anyone violates this behavior.

Quoting Jacob Kaplan-Moss on this (re: Code of Conducts/anti-harassment policies):

The criticism that’s usually raised at this point is that anti-harassment policies are unlikely to actually stop this sort of behavior. Someone who thinks that assault is acceptable behavior isn’t likely to be stopped by a code of conduct. Most people are fundamentally good and don’t need to be told not to harass their peers.

Just like laws; a code of conduct / anti-harassment policy is not going to stop bad actors. It won't. It can't. It might convince a person who acts in bad faith, or intends to do so to not attend the event - it is, after all, a signal they are not welcome, and there are consequences. Really though - again just like laws - it won't stop a determined bad actor. If I, the PyCon chair, choose to slip a bit of porn into my slides as part of the PyCon opening ceremony, I can. No one is going to know until they see it ala Fight Club.

However, should I choose to do so, instead of unspoken, unwritten rules about what's acceptable, or what consequences there would be (social shame, etc), we have a lovely document that outlines precisely what will happen to me.

If a participant engages in behavior that violates this code of conduct, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.

I will, simply put, be kicked out. As conference chair, I will be asked to leave the conference area, I will not be given a refund. I will, in addition to this, probably be publicly shamed by all of those people who I knowingly and willingly abused, I will lose my seat on the PSF board, etc. I would, in fact, support being asked not to attend PyCon, or other Python conferences for a period of no less than 1-2 years.

Quoting the Staff Guidelines:

Publishing an account of the harassment and calling for the resignation of the harasser from their responsibilities (usually pursued by people without formal authority: may be called for if the harasser is the event leader, or refuses to stand aside from the conflict of interest, or similar, typically event staff have sufficient governing rights over their space that this isn't as useful)

Take another hypothetical. Say that someone - anyone, man or woman, calls my phone number during the conference and say they are being harassed. That too, is covered explicitly in the Code of Conduct, including the Attendee and Staff guides to incident reporting.

  • I will immediately ensure the safety of the Attendee.
  • I will take a report on the incident.
  • If there is immediate danger; I will contact law enforcement.
  • I will call a staff meeting, and we will discuss the incident.
  • I, or one of the staff will approach the alleged harasser, their side of the story will be taken.
  • Should the report stand, based on the information, take further action against the harasser.

If you read the Staff Guidelines you'll note something interesting: there are protections in there for victims, and protections for alleged harassers/Code of Conduct violators. This is meant to protect everyone involved in the situation from false allegations, or knee jerk reactions.

This Code, this Guide, provides the explicit declaration of what is expected, and how we will react.

But Everyone is nice, we've always been cool

I know. Honestly, I do. Except for minor incident that I recall, PyCon US has largely been free of issues such as this. Every meetup, conference, etc I have been to has been filled with nice, kind people and largely jerk-free. This is a testament to the community as a whole.

So, you ask: if we're all chill cool people, and nothing bad has happened, why have one?

Because it won't always be that way.

If we continue to expand and grow (and we will), and if we continue to grow even more diverse - in sex, race, creed and geography - the chances of "an incident" will grow. In fact, I know incidents have happened and been dealt with.

So no, the unspoken rule of "don't be a jerk" doesn't scale very well. And that's what we're talking about - a scalability problem. The social norms and rules of a group of five people, or one hundred people may float. What about 200? 500? 800? How about 2300 people (the attendance of PyCon 2012)? No. "Don't be a Jerk" may be our unspoken, unwritten community motto; but its not enough for those on the outside looking in.

Those outside of these circles want clear lines on behavioral expectations. They want to know that not only are there unwritten rules about not being a jerk - they want to know what will happen if a Jerk Occurs. This sets their expectations, and it gives them comfort. It makes them feel more welcome, more safe. Especially when they're part of a group who has been put under constant objectification and harassment for decades in our industry.

The Social Signal Flare

A Code of Conduct is, in fact a social signal flare to "others" - it's a message to them on what to expect, that they can feel welcome and safe and most of all that someone cares. I have the emails and phone calls thanking me and the PyCon team for the Code of Conduct to show it. They all carry the common theme:

Thank you. Thank you for showing me you care, and that you are thinking of me

What has this triggered? Combined with this guide, and outreach, we have drastically increased the number of (for example) female speakers at our event. We have more female and varied attendees. We have people bringing their families with them. Not just because of a single document. But because they know that because of that document and the history and people within the Python community they can feel safe, and welcome.

This social signal flare; this written set of guidelines matters to them. And we're not the only ones realizing this http://radar.oreilly.com/2011/07/sexual-harassment-at-technical.html. OSCON, Ruby Conferences, JS Conferences and other events - all of them are realizing that having rules and expectations set out for all to see makes it better for everyone.

So why the Foundation?

Now we get to the beginning: why an "edict" from the Foundation board that states this is a must for any conference they are providing money to. Well, if you read this far, hopefully you're convinced of the basic case of having a document such as this in place.

Let's look at it from a brand perspective.

For PyCon 2013 I was asked by no less than four different sponsors if I had a Code of Conduct / Anti-harassment guide in place. If I did not, they would not become sponsors. Conference attendees are demanding conferences have one, or they will not attend, or speak.

For example, I applaud Caktus Consulting Group for taking a hardline, zero tolerance stand:

…Along with this blog post, Caktus is asking conference organizers and other sponsors to join us in the following effort: Moving forward, Caktus will require that a zero-tolerance sexual harassment policy is established and enforced by the organizers of any conference that we sponsor or attend. We want to ensure that our community events are safe, welcoming, and supportive for all of our colleagues…

Let us assume that the PSF is no different than a sponsor (it is, sorta): we provide you money, we give you our name and logo (and probably setup a booth too). We are, by our participation and funding, implicitly and explicitly endorsing your event.

This means that should something happen, the "PSF brand" - which to many, is synonymous with "Python" (duh) - would be tarnished. We would be seen as endorsing an event which did not deal with a situation/incident. We would be lobbied to pull our funding/sponsorship (and I would vote for it). We would probably, via social pressure, required to distance ourselves from the event and the organizers and probably even issue an apology of our own.

So. Starting for the idea that these documents, these guidelines benefit us as a community, and help us grow more diverse and inclusive, that they help in some way to make events more safe and welcoming - we end up in a place where from a pure business perspective it is in our best interest to put these protections in place as a mechanic of sponsoring an event or issuing a grant.

These protections provide social good; they are also smart business. Yes - it is a sign that we are growing up, but that's a good thing.

Finally

In closing, all I can say is this - no one is trying to be a fascist, or a nanny state. No one is trying to say you can't cuss like a sailor (I do, but mostly behind closed door). No one is trying to censor you, or tell you you are not welcome. This is not a perfect, or foolproof solution: it is a step in the right direction.

Quite the opposite. We, the Python Community, are trying to tell people who are scared, or who feel alienated that they are welcome. That they belong. That the community, the foundation and everyone cares about them. That we want to provide a safe place for collaboration and the free exchange of ideas.

We want to show everyone what they hopefully already know by now - that the Python community, despite its quirks, is welcoming, supportive and open to all.

Jesse Noller PSF Director


Adding a few more projects to the list...

by Jesse Noller


...Or wherein I figure out all the things, right?

In addition to cutting the cord on my previous webhost due to the utter meltdown they had when I announced the Python.org Redesign and rapidly swapping DNS providers and all of my years of data over into my new host (squarespace, fwiw) - I've managed to add a few more things onto the queue.

(Intentionally not talking about PyCon - let's just say that there's big news coming on Monday... Stay Tuned.)

First up is "From Python Import Conference" - this is me finally putting the wheels to the roads with a plan many of us involved in organizing Python (and other conferences) throughout the years.

I want to cover everything from the simple considerations (how many tracks, how many people) to the more complex ones like budgeting, hotel venue negotiation, marketing, sponsorship, etc. It's a tall task - and anyone who wants to help is very welcome.

All the code (sphinx) is up on github. Please, join in!

Next up, is something that has also been brewing in my head since I started working with the PyCon Program Committee awhile ago. What really triggered me on this is this tweet between Jacob Kaplan-Moss and Selena Deckelmann.

What started as a twitter conversation, rapidly turned into an idea burning my brain. So, a new social experiment was born:

Speak Up!

Speakup - I hope, will become a mentorship group for helping those wanting to speak, or become better speakers, or learn how to navigated call for proposals, etc for conferences. I wrote a pretty extensive Mission Statement. Obviously everything is a bit raw, but once again all the source is on github and I am adding issues to the tracker to help guide the project.

We already have 10 mentors! Please join us, file issues, give us suggestions - anything.

The idea behind making a safe, welcoming and guided area to mentor people from all walks of life, to help increase our diversity of speakers across the board is a good one, I think.

PyCon 2013? Well - let's just say things are going really well :)


The Great Python.org Redesign

by jesse in ,


Preamble

What follows is an edited-for-my-blog version of the blog post I wrote for the Python Software Foundation. I have maintained some of the structure and form but added my personal thoughts along the way.

It is with great pride that on behalf of the Python Software Foundation and the community as a whole, I am please to announce that the official Python.org website, subsites and back end architecture are getting a total makeover.

To me, personally - this has been a long labor of love. I became a PSF member in 2009, a director of the foundation in 2010 - it's been a long ride for me. Not as long as many others, but four, almost five years means a lot of change and a lot of plans, some coming to fruition, others lying in dormancy.

The complete and total overhaul of the Python.org front end, IA/UX/UI and the back end - moving to a modern and user friendly content editing and addition system, etc has been something I have privately been working on since early 2009 - actually, before I became a PSF member proper.

I have emails dated back to early 2009 conspiring/planning on the overhaul of the site. My sincere personal wish has not just to make something new and shiny. It has been to give Python, a language and community I love a whole new presence. The ability to make portals dedicated to the foundation, education, core development and more. The ability to easily and rapidly add new content or update the style to fit with the times and changing world around us.

This has been a project for me going on 5 years - for me, it's as old as my oldest daughter Abby. And it is with great humility, pride and happiness I get to announce that this plan is finally coming to fruition.

Introduction

Python has grown significantly in the last decade, both in terms of audience and the amount of information about it. This abundance of information has outgrown the current website’s taxonomy and fundamental design. You can see the growth of the site over time - for example 1997 19992006, and 2011. You can see the growth of focus, audience and information reflected in what was added, how it expanded. Since the last major update, not much has changed though.

When I sat and looked at this with my fresh, naive set of eyes, already inspired by the community and the language, I knew that more could - should - be done to showcase the wealth we have to offer. Education, the Foundation, everything. We could showcase the community user groups, conferences from EuroPython, to PyCon, to PyArkansas, PyTexas and more. 

The key goal of the redesign project is to update Python’s official web presence with an eye to better organizing the information we have today (and expect to add in the future).

The end result should help our audience find the information they need, whether it’s official information like downloads and documentation, or resources from our vibrant community.

That's my speak for what I outlined above - not to mention the fact we know how to tailor information to specific types of uses - see the audiences section of the RFP - Python is over 22 years old now, and some people might think that it's just getting old. I see it completely different. I program in Python because I enjoy it. It's what made me want to be a programmer. Now, with projects like the Raspberry Pi, and more and more Python in education, we can inspire a whole new generation with something clean, approachable and vibrant.

Although the current implementation of the Python web site has served its purpose over the years, the time has come for the site to progress and complement the growth and maturity of the language itself as well as the vibrancy of the community.

The back end has not aged well - though there is something be said about what-was-old-is-new-again - I think it's one of the first code bases I remember doing just regular old <input> to <static html> - go, take a look for yourself. If looking through that you're not slightly daunted at the prospect of adding sites, content, etc to it, you're a better man than I. And many better people have spent thousands of man hours doing just that to keep what information is there alive.

There’s a lot we - I - want to achieve

  • Modern design and experience
  • Concise and intuitive navigation
  • Showcase the simplicity and elegance of the language
  • Attract and convert potential Python users and Python Software Foundation sponsors
  • Represent our vibrant, active community
  • Make it easy for a wide range of contributors to add content
  • Enhance the visibility of the PSF and its sponsors
  • Provide examples of success stories
  • Enhance the visibility of alternate implementations
  • Stable and scalable infrastructure

The redesign involves some tall tasks. From the fresh and modern UI/UX to the online and offline content editing features, no aspect of the project is to be taken lightly, or even incrementally. Such approaches have stalled and ultimately failed in the past, and rapidly outstrip the free time our community of volunteers can dedicate to the project.

See my introduction - I've been involved in at least 6 skunkworks efforts to redesign the site and its back end. I went so far as to register python-lang.org/.com and others in an intent to fork it due to the constant uphill battle it became. Time and time again I would get friends to join me on my wild crusade and we would crash into the rocks on the shore of stop energy. Time and time again I would see people lose what free time they had fighting and discussing and debating rather than creating.

I could not, in good conscience do that, or ask that of anyone again. Hence, the RFP, hence, getting the board to accept the RFP for publishing publicly stating "we will do this" and eventually pushing through to a vote of approval.

The Process

This is a process that started over two years ago with the starting of the of the Request For proposals. This year we issued it publicly, and since that time the psf-redesign team including Nick Coghlan, Doug Hellmann, Idan Gazit, Steve Holden, Brian Curtin, Andrew Kuchling, Issac Kelly, Katie Cunningham, Noah Kantrowitz and others.

I can not thank the team and the board enough - everyone has put in countless hours of thankless work to help me scratch and itch thats been bothering me personally for 5 years. I can not say thank you enough to all those who helped me or supported me in the past skunkworks projects that died in utero. 

This was a herculean effort - and we're still not done.

The team received seven bids in total - all of them which included strong points and compelling stories. The team deliberated, ranked, discussed, and asked questions of the bidders, working through the bids for several months. We were constantly impressed by the high quality, well thought out, professional work that the community members submitted to us.

After the review period came to a close, we had a single bid which ranked higher than any of the others, based on experience, references, and overall quality of the proposal. They'll be working with the second highest rated bid, which contained UI/UX and IA that absolutely floored the reviewers.

The first bid, submitted by a joint effort between Project Evolution and Revolution Systems, was the overall highest ranked bid. The team was unanimous in our recommendation to proceed forward with this bid based on the credentials of the team, quality of the proposal, and their deep understanding of how to work with volunteer organizations, oversight and the community as a whole.

This bid provides a clear project management and accountability system as well as detailing how they wish to work with the community as a whole to achieve the project goals.

You might know of Revsys for example - Frank Wiles and Jacob Kaplan-Moss ring any bells? These guys know what they're doing when it comes to the back end architecture. Seth, and the crew from Project Evolution have been equally impressive in their front end work, working with the team and being understanding with us all along the way.

Second, we had the Divio.ch team bid. The IA/UX/UI work which they poured over 120 hours into as a company impressed us a great deal. We were quite literally floored by the amount of thought, planning, and work invested in the visual and IA aspects of the Divio bid.

Divio's proposal blew me away - the amount of work they put into rethinking the IA/UX/UI and consideration for audiences and so much more in a proposal stunned me. Without the team to keep me honest and pegged to the floor, I would have danced away. 

Together with Project Evolution and Revolution Systems leading the project, and the stellar Divio team consulting on the visual/IA aspects of the project the redesign team and the board is sure that we will be able to deliver a next generation experience and architecture that will achieve all of the goals we set forward when we went down the path of drafting the redesign RFP.

On September 26th, the Python Software Foundation board of directors unanimously approved the combined bids:

RESOLVED, that the Python Software Foundation accept the Python.org site redesign proposal set forth by Project Evolution / Revolution Systems and Divio with a budget not to exceed $70,000 in total without further board approval.

Overview of the Accepted Bids

The redesign project will completed by the three teams, Project Evolution, RevSys, and Divio, with a division of labor using the best aspects of each team. The project plan and the back end will be handled by members of Project Evolution and RevSys. Members of Project Evolution will handle the front end work, incorporating the guidance of the Divio team.

The accepted bids from the three entities can be found below:

Project Evolution

Project Evolution (PE) is a design driven development team founded in 1999 with clients ranging from school districts to Fortune 1000 fashion conglomerates with international holdings. The 12-person team includes creative leads, front-end and back-end developers and associated support staff all committed to open-source technology.

Revolution Systems

Revolution Systems, LLC., based in Lawrence, Kansas, was formed in 2002 by Frank Wiles to help businesses benefit from open source software. While many large orga- nizations use open source software internally (sometimes without their knowledge), he realized that many organizations did not know how to properly take advantage of this revolutionary type of software.

Divio

Divio, a web agency located in Zürich, builds web applications and is specialised in the areas of design and development. For the production Divio uses the modern Webframework Django and is heavily involved in the development of the successful open source projects django CMS and django SHOP.

The company relies on the agile SCRUM-methodology for its projects.

Screenshots, Maybe?

Since I can cheat a little - here's a bevy of screen crops/captures to expand on the next generation site we can look forward to:

Docs intro

Oh, what will it look like on mobile?

IDevices

Psf homepage

Super nav

Screen Shot 2012 11 27 at 10 09 00 PM

 

There's a lot more coming, obviously - we've just approved running with the color scheme and mocks we've gotten, and haven't started the next round of feedback. The back end is progressing - and man, do we have surprises there (with any luck). A full online CMS for people, plus an HG backed offline editing system with automatic updates to the site?

Heck. Yeah.

In Closing

I am sincerely proud, as both a Python Community member, and PSF director to have been part of this process. The entire review team, every single submitted bid and the Foundation's board works tirelessly for a great deal of time pulling together what is already turning out to be an impressive and surprising redesign. I'm sincerely proud to be working with this team.

This has been a long time in coming - but maybe 5 years isn't a lot in the grand scheme of things. Maybe it's just been me obsessing about this one thing for so long that's colored my vision and made me giggle like a little kid every time I see new mocks, or know that we're funded by the PSF and this thing is really happening.

By contrast, PyCon is almost second nature to me now - it's a ton of work, and I'm pouring more of myself into 2013 than I have any previous year, but seeing that come together like a well oiled machine, and then this dream of mine coming to fruition (it's one of a few … I've got some other big plans) is like Christmas day for the community member in me.

 So thank you - thank you to everyone that's making this happen. You're making a lot of people very happy, and very proud. 

We've got a bright future. Let's show it off.

Jesse


Rest In Peace: John Hunter, matplotlib author, father has passed away.

by jesse in ,


I was extremely sad in hearing about this this morning - John Hunter, author of matplotlib and tireless open source/Python community contributor has passed away after an intense and short battle with cancer. He is survived by wife and three daughters.

John hunter crop 2

Many of us - both professionally and personally have benefited from John's work in the open source and Python community. Just a few weeks ago he delivered a keynote at the SciPy 2012 conference, shortly upon his return from that he was diagnosed with advanced colon cancer and passed away from treatment complications.

It is, in fact, a sad day for all of us in the community - but most of all, a terrible day for his family. 

Fernando Perez has posted a heartfelt and detailed post on John and his contributions - Gael Varoquaux has also posted a moving statement on John's contributions, quoting:

A man who gave a lot, not asking for anything in return

And:

Many have benefited from the silent efforts of John, and are not fully aware of how he generously invested his time and talent for the benefit of others. Matplotlib, the Python plotting library that he created in 2002, has propelled Python as a major tool for scientific research and engineering. The impact of John’s efforts go well beyond Matplotlib.

And quoting Travis Oliphant from the memorial webpage:

Those who contribute much to open source, as John did, do so at the expense of something - often it is time with family.

I can not add anything beyond that this is a terribly sad day for many. 

Please consider donating to his memorial fund put together by the Numfocus group - All donations will be sent to a fund that will be established for the care and education of Clara, Ava, and Rahel. I encourage companies who have benefited from his works to do the same.

As a parent, and a Python programmer, I have no words except to pass my condolences on to his family and friends. I was never lucky enough to meet John except through his works, but I consider him a friend nonetheless.