围绕软件的社区的重要性
The importance of communities around software

原始链接: https://lumi.codeberg.page/blog/software-community.html

作者认为,软件伦理应超越许可证,延伸到社区价值观。虽然作者曾优先考虑强著佐权许可证,但如今相信社区而非版权塑造项目真正的伦理。版权本身是压迫性体系;著佐权能做的有限。自由软件本身不能保证包容性、社区治理或拒绝生成式 AI 等榨取性技术。一个项目在技术上可能自由(例如采用 AGPL、CLA 与商业双重许可),却仍可能被公司控制且不道德。 评估项目时,应超越许可证:它是否有包容性的行为准则?是否禁止生成式模型?是否由公司控制?是否要求 CLA?是否认可专有平台?主要开发者重视什么? 最终,项目周围的社区决定其伦理。作者敦促读者加入、贡献(包括非代码工作)、对不道德行为发声,并考虑组建软件合作社。例子包括 The Starlight Network 和 Polyphony。

Hacker News 链接到一篇关于软件社区重要性的文章。讨论褒贬不一:一名评论者认为许可证优先,称开源许可证让任何人都能建立社区,而专有软件让用户依赖创作者;另一名评论者说真正的自由软件应使用 Apache 2.0。多条评论批评 AI 生成的代码,认为它取代人类贡献者并削弱协作,提到 Ruby 和“AI slop”。一条回复讽刺地为 AI 支持者辩护,反对 Codeberg。总体而言,该帖讨论社区与许可证哪样更重要,并对 AI 对开源社区的影响持强烈怀疑态度。
相关文章

原文
lumi's code spelunking adventures lumi's code spelunking adventures

As usual, the people are the important thing. Who could've guessed? :3


I've done a lot of activism for software freedom, over the years. At first it was purely for software freedom and related topics, (such as security, autonomy and privacy) but eventually this has evolved into something more holistic. I believe that the software I use should be held to higher ethical standards than only being free software.

My activism used to focus on strong copyleft licenses, these are licenses which require that the project stay free; that no-one can take the project and make it proprietary. This has taken a backseat, as I now believe that there is something more important than license: community. The community around a software project is what dictates the values of the project. A strong copyleft license does still signal that the project cares about software freedom, but, by itself it is not enough.

Copyright has always been a system that upholds the hegemony of the powerful, it enriches corporations at the expense of the working class. Copyleft licenses do use copyright against them, but can only do so much. We are using an abusive system against itself, which is not sustainable or desirable in the long term.

Software being free also states nothing about other ethical values of the project, such as whether it is inclusive and whether it is run by its own community, or by a corporation. It also states nothing about whether the project endorses extractive technologies such as generative models.

As an example of a project which is technically free software, but does not value software freedom at all, consider an AGPL-3.0 project that is dual-licensed under a commercial license and forces a contributor license agreement on its contributors. This project is not community-run at all and is only free software in a narrow sense of the word.

This is why I don't care as much anymore about a project being under a copyleft free software license or a non-copyleft free software license. It is still true that the software being available under a strong copyleft license sends a signal that the project cares about software freedom, but it is not a guarantee.

So, if the license is not the (only) thing we need to look at, what do we also need to look at? This depends on your own priorities, of course, but there are a few things I could mention:

  • Does the project have an inclusive code of conduct?
  • Does the code of conduct or contribution policy ban generative models?
  • Is the project completely in the hands of a corporation?
  • Is there a contributor license agreement?
  • Does it endorse proprietary and/or centralized platforms such as Discord and GitHub?
  • What are the values of the lead developers of the project? Do they care about ethics in software?

Try to join the communities of free software projects you use and care about, eventually maybe even try to contribute. Even if you can't code, there are many other tasks that need to be done: community management, documentation, artwork, triage, outreach, and many other tasks. In the end, it's the community around a project that shapes its values, so be a part of that community and push against anything unethical. Speak up, if you can. For every person speaking up, there will be many that can't or won't speak up; be their voice.

Getting together to build software is important. Like stated before, this can mean joining an existing project, but it can also mean creating a new one. It can also mean joining or creating a software cooperative. These are communities of people that develop software together. One community can span multiple projects and we can all help one-another out. Examples include The Starlight Network and Polyphony.

Meow. :333


联系我们 contact @ memedata.com