开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《蜘蛛足:spiderfoot》
今日推荐英文原文:《How key Python projects are maintained》
开源日报第681期:《蜘蛛足:spiderfoot》
今日推荐开源项目:《蜘蛛足:spiderfoot》传送门:GitHub链接
推荐理由:Spiderfoot 是一个开源智能(OSINT)自动化工具。 它集成了几乎所有可用的数据源,并使用了一系列数据分析方法,使数据易于导航。Spiderfoot 有一个嵌入式 web 服务器,可以提供一个干净直观的基于 web 的界面,但也可以通过命令行完全使用。 它是用 Python 3和 gpl 许可的语言编写的。
今日推荐英文原文:《How key Python projects are maintained》作者:Moshe Zadka
原文链接:https://opensource.com/article/20/2/python-maintained
推荐理由:python是当今最流行的编程语言之一,大部分编程爱好者都接触过这门语言。python有数量庞大的第三方库,这篇文章将告诉各位python的项目是如何被保存并重复利用的。

How key Python projects are maintained

Jannis Leidel is part of the Jazzband community. Jazzband is a collaborative community that shares the responsibility of maintaining Python-based projects.

Jazzband was born out of the stress of maintaining an open source project alone for a longer time. Jannis is a roadie, which means he does administrative tasks and makes sure the people in the band can play when they want.

Jazzband is not his first open source volunteer work—he is a former Django core developer, Django Software Foundation board member, has written many Django apps and Python projects, has been a pip and virtualenv core developer and release manager, co-founded the Python Packaging Authority, and been a PyPI admin. On the community front, he co-founded the German Django Association, served as DjangoCon Europe 2010 co-chairperson, has spoken at several conferences, and for the last year has served as a director and co-communication chair of the Python Software Foundation.

Moshe Zadka: How did you get started with programming?

Jannis Leidel: I got started with programming as part of the regular German computer science lessons in high school, where I dabbled with Turbo Pascal and Prolog. I quickly got drawn into the world of web development and wrote small websites with PHP3, Perl5, and MySQL. Later at university, I picked up programming again while working on media arts projects and found Ruby, Perl, and Python to be particularly helpful. I eventually stuck with Python for its versatility and ease of use. I’m very happy to have been able to use Python and open web technologies (HTML/JS/CSS) in my career since then.

Zadka: How did you get started with open source?

Leidel: As part of an art project at university, I needed a way to talk to various web services and interact with some electronics and found my prior PHP skills not up to the task. So I took a class about programming with Python and got interested in learning more about how frameworks work—compared to libraries—as they further enshrine best practices that I wanted to know about. In particular, the nascent Django Web Framework really appealed to me since it favored a pragmatic approach and provided lots of guidance for how to develop web applications. In 2007 I participated as a student in the Google Summer of Code for Django and later contributed more to Django and its ecosystem of reusable components—after a while as a Django core developer as well. While finishing my degree, I was able to use those skills to work as a freelancer and also spend time on many different parts of the Django community. Moving laterally to the broader Python community was only natural at that point.

Zadka: What do you for your day job?

Leidel: I’m a Staff Software Engineer at Mozilla, working on data tools for the Firefox data pipeline. In practice, that means I’m working in the broader Firefox Engineering team on various internal and public-facing web-based projects that help Mozilla employees and community members to make sense of the telemetry data that the Firefox web browser sends. Part of my current focus is maintaining our data analysis and visualization platform, which is based on the open source project Redash, and also contributing back to it. Other projects that I contribute to are our next-gen telemetry system Glean and a tool that allows you to do data science in the browser (including the Scientific Python stack) called Iodide.

Zadka: How did you get involved with Jazzband?

Leidel: Back in 2015, I was frustrated with maintaining projects alone that a lot of people depended on and saw many of my community peers struggle with similar issues. I didn’t know a good way to reach more people in the community who may also have an interest in long-term maintenance. On some occasions, I felt that the new “social coding” paradigm was rarely social and often rather isolating and sometimes even traumatic for old and new contributors. I believe the inequality in our community that I find intolerable nowadays was even more rampant at the time, which made providing a safe environment for contributors difficult—something which we now know is essential for stable project maintenance. I wondered if we were missing a more collaborative and inclusive approach to software development.

The Jazzband project was launched in an attempt to lower the barriers to entry for maintenance and simplify some of the more boring aspects of it (e.g., best practices around CI).

Zadka: What is your favorite thing about Jazzband?

Leidel: My favorite thing about Jazzband is the fact that we’ve secured the maintenance of many projects that a lot of people depend on while also making sure that new contributors of any level of experience can join.

Zadka: What is the job of a “roadie” in Jazzband?

Leidel: A “roadie” is a go-to person when it comes to all things behind the scenes for Jazzband. That means, for example, dealing with onboarding new projects, maintaining the Jazzband website that handles user management and project releases, acting as a first responder to security or Code of Conduct incidents, and much more. The term “roadies” is borrowed from the music and event industry for support personnel that takes care of almost everything that needs to be done while traveling on tour, except for the actual artistic performance. In Jazzband, they are there to make sure the members can work on the projects. That also means that some tasks are partially or fully automated, where it makes sense, and that best practices are applied to the majority of the Jazzband projects like packaging setup, documentation hosting or continuous integration.

Zadka: What is the most challenging aspect of your job as a roadie for Jazzband?

Leidel: At the moment, the most challenging aspect of my job as a roadie is to implement improvements for Jazzband that community members have proposed without risking the workflow that they have come to rely on. In other words, scaling the project on a conceptual level has become more difficult the bigger Jazzband gets. There is a certain irony in the fact that I’m the only roadie at the moment and handle some of the tasks alone while Jazzband tries to prevent that from happening for its projects. This is a big concern for the future of Jazzband.

Zadka: What would you say to someone who is wondering whether they should join Jazzband?

Leidel: If you’re interested in joining a group of people who believe that working collaboratively is better than working alone, or if you have struggled with maintenance burden on your own and don’t know how to proceed, consider joining Jazzband. It simplifies onboarding new contributors, provides a framework for disputes, and automates releases to PyPI. There are many best practices that work well for reducing the risk of projects becoming unmaintained.

Zadka: Is there anything else you want to tell our readers?

Leidel: I encourage everyone working on open source projects to consider the people on the other side of the screen. Be empathetic and remember that your own experience may not be the experience of your peers. Understand that you are members of a global and diverse community, which requires us always to take leaps of respect for the differences between us.


下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/