20th-year anniversary celebration of PyCon US 2023 is my first PyCon in the United States. PyCon US is the first and largest Python conference directly organised by Python Software Foundation (PSF). I want to join it for a long time. After I become a PSF fellow last year, I hope I will be there to celebrate its 20th year anniversary.
Why do I join?
Joining the celebration is just a happy feeling which doesn’t help anyone. In this trip, my main purpose is to look for the next opportunities that I can do for Python in both technical contribution and community.
Technical Contribution I made at PyCon US
I tried to include the development sprint in some of PyCon Hong Kong (PyCon HK) but it keeps failing to organise a good sprint in PyCon HK. I could only read the online content and 1-2 blogs about sprints in PyCon US, but never experienced it. So, with my limited budget, I decided to join on day 1 of the development sprint to experience it.
Before the conference, I found about 5 projects listed on PyCon US website, and I planned to join the GNU Mailman project at the sprint. I used Mailman for 10+ years before to run different mailing lists for communities and businesses. Although I didn’t use it now for years, but I know what it is and some of its file structures, it should be good for me to try to make my first contribution to the development sprint.
But during the conference, Cheuk told me that her colleague got an issue with his Python project regarding GTK. Currently, I am a board member of the GNOME Foundation and GTK is an important part of the GNOME project. So, I talked with Russell and try to find what I can help, but I am not familiar with GNOME HIG, and HI design is not my expertise. I tried the GNOME application development and gave talks on it.
In this conversation, it is my first time to know about the BeeWare project, Russell introduced it to me that he established it in 2014, and Anaconda supports his work since 2022.
Because I am involving in both Python and GNOME communities, BeeWare attracts me and I changed my mind to join the BeeWare sprint to see what can I help.
The sprint room is shared by different projects, but Russell sitting at the first table always welcomes newcomers to see what they are looking for. When I arrived at the sprint room at 8am, the first BeeWare table is almost full and I was sitting in the only spare seat just next to Russell. It is a bit nervous to sit next to him for me (LOL) because I am not sure whether I can make a good contribution. I know ZERO about this project before the sprint and PyCon US.
I spent some hours in the morning on my laptop to know more about BeeWare Toga from the website and GitHub. At lunchtime, I choose one of the enhancement issues labeled with ‘good first issue’ which adds diagnostic output to its test tool. I am not sure whether I can complete it but I gave it a try, it also helps me to know more about what the Python code in Toga doing. After my lunch and chat with other participants who randomly met in the ballroom, I started to study the source code of Toga, looking for missing pieces, how to fulfill the required coding standard of this project, etc, and finally, I contributed a hundred lines changing at 5pm and made a pull request (PR) successfully. And I received a BeeWare challenge coin from him!
Although I didn’t expect that I didn’t ask Russell to help me because his online documentation and tutorials are good for me to follow. But I saw that he is also a good teacher and mentor, he walked between tables and answered other newcomers’ questions with patience. It is not boring because sometimes we have small talk and are also busy doing our own work to contribute. When Russell did a quick check for a PR, he called the submitter’s name and give a challenge coin to them with a round of applause. So, I am really enjoying a day of the sprint with BeeWare, Russell, and other contributors.
Community in PyCon US
After settling down at the hotel on Thursday lunch hour, I went to the conference venue to go through the check-in process. I started to walk around in the hallway at 4pm, and I already feel the different atmosphere at other PyCons, we don’t know each others but many attendees welcome each others, so it’s out of my expectation that I can easily initialise talking to others in the hallway.
The length of my talking to others in the hallway and other booths is much more times and longer than my talking at PyCon APAC community booth. The difference is that I must commit myself to promote the PyCon APAC 2023 in Tokyo at the PyCon APAC community booth, and then promote other PyCon in the APAC region including PyCon Hong Kong if the booth visitors were still staying at the booth to talk with me. And in the hallway chat, I talked about Python, tech industry, open technology, Asia/APAC and Hong Kong, etc. which usually are open topics and people are interested to share & discuss.
Keynotes and Talks
I marked all key sessions and the other 6 talks on my schedule before my departure to PyCon US, it gives me a lot of spare time to do the in-person activities every day, keep talking with visitors newly met at PyCon APAC Community and other booths, hallway, and open space sessions.
All keynotes are delivered by famous speakers, but many of them gave non-coding related content which is more about human, and how should we communicate and collaborate with each other. These keynotes are different from our technical keynotes in PyCon HK. My Python contributions are more to the community rather than coding projects, and I got a strong feeling about these excellent keynotes and they inspire me.
I attend most of the other 6 selected talks, technical content and presentation skills are good. Sometimes their speech is so funny that I won’t feel asleep in this exciting atmosphere.
We are just the same as famous people
In past years, I watched some PyCon US video recordings on Youtube. As previously said, meeting the people in person is the most important for me to attend PyCon US on-site, and all of them are nice no matter their contribution to the Python community.
For example but not limited to @glnnlhmn, Paul Everitt from Jetbrains, Jython’s Jim Baker, speakers like Nick Muoh @OdinTech3, NumFOCUS’s James Powell, @nedbat, and some from the flask team.
Python APAC Organisation
The PyCon APAC community discussed forming Python APAC Organisation (PAO) last year, but it was no conclusion. It is great to see that Iqbal from PyCon JP raises the discussion again during PyCon US 2023.
Although I tried 2-3 times in previous years (before 2020) to convince the PyCon Hong Kong community to bet on hosting PyCon APAC in Hong Kong, but unfortunately we missed good chances and good old days to do it. I always think Hong Kong can handle it after we got the 2-year experience to organise a PyCon locally, we also got the APAC regional event experience to host GNOME Asia Summit 2012 in Hong Kong.
Personally, in 2021, I got some new missions to serve in the community: serving on the GNOME Foundation board, some open data advocacy & movement (now under Open Platform Society), and other works. Therefore I can’t involve much in PAO in the near future, but I will try to give some advice.
From some discussions during PyCon US, according to my notes, my latest points are:
- I prefer that the PAO will be established in a country with better laws & financial system, eg. Japan, Korea, Singapore, and Taiwan. And the bank account will be opened in the country in which PAO will be established.
- The funding/income source is another point we should consider, some big tech vendors got their sales office in Hong Kong for their APAC business, which they can easily contribute/donate their APAC marketing budget to PAO.
- APAC branch of some global open source organisations are headquartered in Hong Kong, for examples, Linux Foundation APAC, One Laptop Per Child APAC. In Hong Kong, forming a non-profit organisation (charity) is about USD 2,500-4,500 which should be good enough for its 1st year basic operation.
- EuroPython Society is an independent PyCon organiser. If PAO establishes as similar to EuroPython Society, we will change how will we select future hosts of PyCon APAC.
- Alternatively, PAO can start from the minimum. PAO may help to look for sponsorship (with a discount offer) for PyCons in APAC ? eg. 40% of annual income to PyCon APAC in the next year, 40% to other PyCons (or as a travel grant to other APAC), 20% to the PAO administration. The purpose of PAO will grow the development of Python in APAC, and PyCon APAC may attract more overseas speakers & participants which requires more financial aid funding for the local host.
- To fulfill active charity status, a charity should do a little charity or social service for the local citizen. In the case of PAO, a local Python education event for students is an example. Therefore, at least one active key member/staff in PAO should be a citizen in this country to help PAO organise this and handle other legal and finance work/contact.
- I prefer to remain “APAC” in the naming rather than changing to “Asia” because we got an excellent branding image with PyCon APAC for many years. We will lose the old branding image and we will rebuild it again if we change the name from APAC to Asia.