PyDev of the Week: Kushal Das

This week we welcome Kushal Das (@kushaldas) as our PyDev of the Week! Kushal is a core developer of the Python programming language and a co-author of PEP 582. You can learn more about Kushal by checking out his blog or his Github profile. Let’s take a few moments to get to know Kushal better!

Can you tell us a little about yourself (hobbies, education, etc):

I am a staff member of Freedom of the Press Foundation. We are a non-profit that protects, defends, and empowers public-interest journalism in the 21st century. We work on encryption tools for journalists and whistleblowers, documentation of attacks on the press, training newsrooms on digital security practices, and advocating for the the public’s right to know.

I am also part of various Free Software projects through out my life. I am a core developer of CPython, and a director of the Python Software Foundation. I am part of the core team of the Tor project. I am a regular contributor to Fedora Project for over a decade now.

I co-ordinate https://dgplug.org along with a large group of friends and fellow contributors in various projects. We spend time together in learning new things and helping out each other on the #dgplug IRC channel on Freenode server. Feel free to visit the channel and say “Hi” to us.

I try to write about the things I learn regularly on my blog.

Why did you start using Python?

I started learning Python at the end of 2005. I wanted to write code for my new Nokia phone and Sirtaj Singh Kang suggested me to start learning Python for the same. While doing so I found that I had to write much less number of lines of code and also it was much easier to understand. I started talking more with the wider Python community over Internet and that hooked me into it more. As Brett Cannon said: “Came for the language, stayed for the community.” is true for many of us.

What other programming languages do you know and which is your favorite?

Through out my programming life, I kept learning a new language in every 8 months to a year. Before I started writing Python, I used to write C/Java/PHP based on what I was working on. Around 2009 I started spending time with functional programming, and loved Lisp a lot. I spent around a year to keep writing more Lisp and was trying to figure out how to use the ideas from there in my daily Python programming life. From 2013 I started writing Go and I do have many projects written in Go.

But, lately I am writing more and more of Rust. I really like the community and also the compiler 🙂

Just in case anyone wants to know how much we love Python in the family, our daughter is named “Py” 🙂

What projects are you working on now?

In my day job, I maintain SecureDrop project along with an amazing team of maintainers and community. SecureDrop is an open source whistleblower submission system that media organizations can install to securely accept documents from anonymous sources. It was originally coded by the late Aaron Swartz and is now managed by Freedom of the Press Foundation.

I am also working on various Python projects which will enable us to have a new Desktop client for the journalists on Qubes OS. Qubes Ansible is another project where I am trying to make sure that we can use Ansible to maintain our Qubes systems.

Which Python libraries are your favorite (core or 3rd party)?

I think I use json module from stdlib and requests module as third party almost everywhere. IIRC my first ever Cpython patch was about adding tests for json module.

In the Python world there are many other amazing libraries which I use regularly, most of them are the product of our amazing community.

What top three things have you learned contributing to open source projects?

  • People are more important than any code.
  • Be nice to everyone.
  • Communication is the key tool for everything in this modern connection world. We have to do a lot more communication over writing than video/audio calls.

Is there anything else you’d like to say?

I would suggest new programmers to look into more number of upstream projects. We need help in various level in all of the projects, so there is a chance to contribute not only by code, but in many different ways.

Last, but least, I would love to mention my wife Anwesha, who is being from a complete different background, helped me to contribute more to the upstream projects and also herself started helping out projects as required.

Thanks for doing the interview, Kushal!