David Murray and the Python Email Package
David Murray, a partner at Murray & Walker, Inc., is no stranger to the twists and turns of complex programming, and of life’s journey. What started for him as an interesting pet project developed into more than a decade of coding, collaboration, and continued maintenance – and a unique, powerful email package for smartphones.
Where It All Started
David says that he’s always been interested in open source programming, even before anyone knew what it was. Although he initially studied physics at the University of Pennsylvania, David quickly found that his true passion lay in the realm of mathematics and computers.
He learned computing by working on IBM mainframes before moving to Linux and eventually Python. Over the years, he developed extensive experience with open source coding, writing and debugging programs in Visual BASIC, FORTRAN, C, REXX, FORTH, Java, and LISP. Now, David codes primarily in Python.
Core Contributor
Python is an open source language, which means codes are not proprietary and (unless otherwise licensed) that the public can modify or build upon programs freely. Python programmers are encouraged to debug any applications they are working on. The CPython development community relies on core contributors to maintain the language.
“Core contributors are programmers who have the access and authority to push code to the expository,” David says.
According to David, approximately 50 percent of the patches in Python come from users not on the list of core contributors. Any programmer can pull down the code box for a package, debug issues, and write a patch in Python.
However, in order for the proposed code change to take effect, the coder has to propose their modification to the team of core contributors. It is then their responsibility to review the patch and collaborate with one another to determine if the code should be committed.
“There are about 150 people on the list of core contributors, of which only 30-40 are really active,” David explains. “In order to become a core contributor, programmers have to be active contributors that demonstrate an awareness of Python’s cultural knowledge and rules while assisting fellow programmers by answering reviews.”
Becoming a core contributor is an impressive feat. In addition to the above requirements, programmers have to submit a history of top-level coding that demonstrates their expertise in the language. With nearly 1,500 commits to the master, David is ranked at 17th in CPython’s list of top 100 contributors.
The Email Package
While first starting out in Python, David was an avid user of network news readers. He started writing code that would enable network news’ to incorporate mailing lists when he encountered an email list management system already written in Python. Developed by Barry Warsaw, the program was relying on one person for contributions and maintenance.
David describes the original package as a “tool box, or a library of tools.” While it was functional and useful, the package worked best with programmers who already had a wealth of knowledge and experience in coding. In other words, users had to already know how each of the tools worked before ever using the program.
He decided to build a more user-friendly version of the package. After unsuccessfully applying for a grant to support the project, David received his first big break. The team behind the Blackberry 10 OS needed a Python-based email package for their new phone, and knew that “they needed more expertise than they had.”
The programmers approached David with an offer for funding to develop their email application. He spent the next 3-4 months writing the new package, working both within his funding and writing additional code during his spare time.
Helpfully, his efforts coincided with PyCon, an annual conference for coders in the Python community to meet, discuss programming, and help one another with projects. During the conference, hackers join in a huge collaborative effort to help lead programmers flesh out their coding. David was able to quickly on-board a group of volunteers, who helped him advance and debug the codes he had written.
One major benefit of David’s newer email package is that it’s far more intuitive and user-friendly than its predecessor.
“If you wanted to design an email in the old system, you had to know how to decode and call special functions,” he explains. “With this package, anybody who needs to use Python can access it. For the most part, you don’t even have to know how the Request For Comments (RFC) works.”
Although the support for the Blackberry 10 is being discontinued in 2020 due to Blackberry no longer developing smartphones, the package David built remains a popular program for many different companies and applications.
Moving Forward
David has turned his passion for coding into a successful career. As a partner in Murray & Walker, Inc., David works as a consultant, performing IT support work, application development, and contract programming, among other business and information technology services.
He still finds time to contribute to Python by maintaining the email package and reviewing patches for the standard library.
As far as the future of the email package he’s created is concerned, David believes that it will continue to be a relevant, useful program.
“I’ve left a pretty good foundation for future programmers,” he says. “The API is clean, so there’s really no reason to write a new version of the package. I think people will probably just add features.”
Python’s open source nature will encourage those future coders to explore the program and “scratch their own itch.” And in the meantime, they’ll continue to keep David busy with maintaining the package.
“I know people are still using it because I still get the bug reports,” he laughs.
Recent Comments