历史
BeeWare 项目始于一个简单的问题:为什么我们作为 Python 开发人员使用的工具没有像我们日常使用的其他技术一样不断改进?
Python 已经证明了自己是一门能力超强的语言--对于新手来说平易近人,而在专家手中则功能强大。Python 正迅速迅速成为数据分析、科学计算和网络开发领域的重要组成部分。Django Girls 等活动已经证明,使用 Python 可以提供为期一天的培训课程,向没有编程经验的人介绍 Python,并在一天的课程结束时,学员们已经开发并部署了一个数据库支持的动态网站,部署到公开可见的服务器上。
然而,对于编写 Python 的人来说,开发者的体验有时的开发体验更多反映的是 90 年代初的情况,而不是新千年的情况。Python 的默认开发环境仍然是一个 80x25 的控制台窗口。对于用户来说,他们来自 Windows 或苹果环境,习惯于高度细致、精心设计的图形界面,这 30 年的时光倒流可能是一种完全陌生的体验。
是的,有一些集成开发环境(IDE)可以为编写代码提供原生应用程序体验。但这些工具要求你全盘采用集成开发环境的方式来看待项目。它们给开发过程带来的麻烦和解决的问题一样多的麻烦。
因此,我们面临一个有趣的分歧:在控制台窗口中进行 Unix 开发的“旧方式”和一体化 IDE 的“新方式”。
Unix 理念
然而,事实并非如此。Unix 哲学的核心原则是“每个工具只做好一件事”。它通过将一套极为专注、独立的工具组合在一起,从而形成了极为强大的工具链。
不幸的是,大多数 UNIX 工具都将此理解为“所有工具都必须使用控制台界面”。然而,在 UNIX 理念中并没有规定工具必须使用控制台界面,只是后来变成了这样。
BeeWare 项目的出发点是,我们可以两全其美。我们可以拥有一连串可组合的工具,每种工具都能做一件件事。但这些工具也可以使用丰富的图形用户界面来展示它们的功能。
不仅仅是代码
但这不仅仅是代码的问题。一个成功的软件项目需要文档、设计技巧、反馈和错误报告。BeeWare 社区认为,所有的贡献都是重要的,而不仅仅是在 GitHub 上提出的拉取请求。
即便如此,我们还是很容易把项目看作是真空中的项目,看作是所有贡献的总和。但事实并非如此。一个开源项目是关于社区的。
多样性和包容性
一个多元化的社区是一个强大的社区。这意味着接纳来自不同背景、不同种族、不同信仰、不同取向和不同表达方式、不同经验水平的人们。BeeWare 项目致力于发展和维护一个多元化、热情好客的社区。
我们对任何愿意参与贡献的人开放指导,并严格执行一份行为准则。任何违反行为准则的报告--即使是资深社区成员的报告--都会受到尊重并被采取适当行动。
健康和可持续
同样重要的是,要确保社区的可达性和可持续性。不幸的是,“真正的”开源项目必须完全由志愿者开发,这已经成为开源文化的一部分。这对许多团体来说是一个准入门槛--只有那些有空闲时间的人才能把空闲时间花在志愿服务上。
它还经常导致贡献者产生职业倦怠和其他心理健康问题。抑郁、焦虑和职业倦怠在软件开发社区中如此普遍的事实,不应被视为一种荣誉徽章,或证明开发团队有多么尽职尽责。这是一个需要正视和解决的问题,就像解决软件错误一样--立即解决方法,并制定长期计划,消除造成问题的系统性原因。
虽然我们非常重视志愿者的贡献,但我们也知道,仅靠志愿者的努力并不能建立一个健康和可持续发展的社区。因此,资金的可持续性是 BeeWare 项目运作的一个重要考虑因素。作为一个社区,我们不会忽视资金在提供资源,使人们能够开始并继续做出贡献方面所起的作用。作为一个社区,我们将为个人提供可接受的机制,以有意义的方式使他们的工作货币化,并在可能的情况下,为人们的工作提供补偿,而不损害开源开发的理想。