diff options
Diffstat (limited to 'content')
| -rw-r--r-- | content/blog/_index.zh-cn.md | 3 | ||||
| -rw-r--r-- | content/blog/introducing-writefreesoftware.org.zh-cn.md | 35 | ||||
| -rw-r--r-- | content/learn/participate/contribute.zh-cn.md | 26 | ||||
| -rw-r--r-- | content/learn/participate/copyright-ownership.zh-cn.md | 44 | ||||
| -rw-r--r-- | content/learn/participate/derived-works.zh-cn.md | 40 | ||||
| -rw-r--r-- | content/learn/participate/publish.zh-cn.md | 51 |
6 files changed, 199 insertions, 0 deletions
diff --git a/content/blog/_index.zh-cn.md b/content/blog/_index.zh-cn.md new file mode 100644 index 0000000..29a6ee6 --- /dev/null +++ b/content/blog/_index.zh-cn.md @@ -0,0 +1,3 @@ ++++ +title = "博客" ++++ diff --git a/content/blog/introducing-writefreesoftware.org.zh-cn.md b/content/blog/introducing-writefreesoftware.org.zh-cn.md new file mode 100644 index 0000000..579d1f8 --- /dev/null +++ b/content/blog/introducing-writefreesoftware.org.zh-cn.md @@ -0,0 +1,35 @@ ++++ +author = "Drew DeVault" +title = "编写自由软件:自由软件运动的综合教育资源" +date = "2023-05-17" +description = "writefreesoftware.org 是一个新的网站,用于传播自由软件的哲学与实践" +tags = ["meta"] +image = "banner-blog.webp" ++++ + +今天,我很高兴宣布,[编写自由软件](/)发布了!这个网站是提供给自由软件社区的新资源,目的是为自由软件运动提供完整且易懂的入门及参考。我们的目的是,将自由软件的哲学与实践教授给他人,帮助人们理解自由软件为何重要、如何置于实践。 + +网站内容有很多,比如说: + +- [什么是自由软件?](https://writefreesoftware.org/learn/) +- [自由软件许可证如何运作?](https://writefreesoftware.org/learn/licenses/) +- [Copyleft 如何运作?](https://writefreesoftware.org/learn/copyleft/) +- [如何选择自由软件许可证](https://writefreesoftware.org/learn/participate/choose-a-license/) +- [如何复用自由软件](https://writefreesoftware.org/learn/participate/derived-works/) + +还有其它[众多内容](https://writefreesoftware.org/learn/)! + + +“编写自由软件”的主要内容部分,就自由软件如何运转,以及如何运用它的准则这方面,提供了很多有用的资源,但自由软件远不止于此。这个[博客][1],尽管刚刚开始,但将提供更多独创资源,来帮助维护者及贡献者理解,如何更有效地与自由软件工作。 + +这个博客以后还会谈论到: + +[1]: /blog + +- 构建及管理自由软件社区 +- 特定自由软件许可证解读 +- 商业参与自由软件 +- 将 copyleft 付诸实践的重要性 + +想要在这方面帮忙,或者有其它想法? +[考虑帮我们写作!](https://sr.ht/~sircmpwn/writefreesoftware.org/) diff --git a/content/learn/participate/contribute.zh-cn.md b/content/learn/participate/contribute.zh-cn.md new file mode 100644 index 0000000..e483903 --- /dev/null +++ b/content/learn/participate/contribute.zh-cn.md @@ -0,0 +1,26 @@ +--- +title: 为自由软件做贡献 +weight: 1 +--- + +许多自由软件项目都需要帮忙。不管你擅长什么 -- 会编程语言、编写文档、管理社区、营销技能、设计和艺术技能 -- 总有你能帮上忙的项目。看看你每天都在用的工具:可能这些工具很多都已经是自由软件了。 + +这些社区等着你来呢!去找找他们的聊天室、爱好者论坛以及其它根据地,然后介绍下你自己。 + +## 注意事项 + +向自由软件提交改进的时候,这个项目发布的时候已经用了什么软件许可证,那你也要用这个许可证的条款来提供这些改进。看一看这个许可证,确定你同意在它的条款下对自己的贡献进行许可。 + +如果对你的贡献的作品,你没有所有权(比如说,你在用雇主的时间和设备来做贡献),那你需要确保有版权持有人的授权。如果你从另一个自由软件项目并入代码,那也要注意这一点 -- 详请参见 [复用自由软件][0]</nobr>。 + +[0]: /learn/participate/derived-works/ + +## 关于“贡献者许可协议” + +在提交贡献的时候,有些项目会要求你签署一份“贡献者许可协议(Contributor License Agreements)”,或者类似的文档。这份文档要仔细读,十分重要。可能这份文档只是用来验证你拥有这些改动的版权,或者你有权将它贡献出去。不过,许多这些协议可能还会要求你放弃自己的一些权利,比如说要求你允许发布者把你的改动并入这个软件的非自由版本。 + +你没有义务放弃你的权利。原发布者可能会要求你同意把你的改动并入到其自己的版本,然后以你的名义分发这些改动。但是,你总是有权独立于原发布者,而自己分发这个软件的改进版的。 + +强烈建议自由软件的发布者,不要使用贡献者许可协议来管理社区的贡献。详请参见[管理版权归属]。 + +[1]: /learn/participate/copyright-ownership/ diff --git a/content/learn/participate/copyright-ownership.zh-cn.md b/content/learn/participate/copyright-ownership.zh-cn.md new file mode 100644 index 0000000..2ce3a4a --- /dev/null +++ b/content/learn/participate/copyright-ownership.zh-cn.md @@ -0,0 +1,44 @@ +--- +title: 管理版权归属 +weight: 90 +--- + +自由软件的版权归属,它的性质是怎样的,这一点有必要澄清一下。如果不使用贡献者许可协议或者类似的文档(我们[强烈反对][0]这种做法),那自由软件的开发者和发布者,该怎么管理有关软件版权的法律权利呢? + +[0]: /learn/participate/contribute/#regarding-contributor-license-agreements + +## 自由软件项目归谁所有? + +向自由软件项目做贡献时,如果你没有将你的版权转让至其他人,那对你的贡献而言,你仍然拥有其知识产权。你的改动,是以这个项目首先分发所使用的许可,其相同的条款*许可*给他方的,包括其它版权持有人。 + +像这样的话,大多数情况下,任何自由软件项目的的版权,都是由向其贡献了知识产权的人所聚合起来的。这些人再在[自由软件许可证][0]下,将其授权给用户,并相互授权。 + +[1]: /learn/licenses/ + +## 证实来源 + +对部分项目,尤其是商业项目而言,建议对每个贡献都确立以下几点: + +1. 贡献者拥有其贡献的版权,或得到了版权持有人的使用授权 +2. 贡献者统一在本项目的许可证下,对其版权进行授权 + +如果你的项目可以以这种方式正式证实来源,我们建议使用[开发者来源证明(Developer Certificate of Origin)][2]。大多数项目为了这么做,都会要求作者对其贡献进行“签名(sign-off)”。[Git][3] 版本控制系统,使用“[git commit -s][4]”标志提供了一种方法,来表明所给贡献已经签名。 + +[2]: https://developercertificate.org/ +[3]: https://git-scm.com/ +[4]: https://git-scm.com/docs/git-commit#Documentation/git-commit.txt--s + +## 改变项目许可证 + +有时候,你可能想改变你项目的许可证。 + +[宽松型许可证]: /learn/participate/choose-a-license/#permissive-licenses +[copyleft 许可证]: /learn/participate/choose-a-license/#copyleft-licenses + +如果项目以[宽松型许可证]授权,那么一般来说,是可以用一个新的许可证来分许可(sublicense),并将新许可证用在未来的改动之上的。你仍然要遵守原许可证的条款,例如署名,但是后续更改可以在不同条款下授权。在这种情况下,改变许可证就类似于开始了一个新项目,并把原来的代码并入了其中。 + +然而,如果这个项目是以 [copyleft 许可证]授权的,改变许可证就要难一些 -- 而且经常不可能。这是 copyleft 许可证有意设计的特性:这么做是有必要的,这样才能防止项目北并入非自由作品之中。对一份 copyleft 项目,你一般不能像许可宽松型项目那样,对它进行分许可。 + +改变 copyleft 项目的许可证是可能的,但是你必须<nobr>**(a)**确保</nobr>得到了所有版权持有人的权限,或者<nobr>**(b)**重写所有贡献</nobr>。如果你想改变宽松型许可证,而不想受到原条款(例如署名)的约束,那么这种方法同样适用,但这么做通常不值得,因为宽松型许可证的条款相对没那么繁杂。 + +正因如此,在众多聚合而成的贡献中,选择把版权保留住,而不是将其转让给单一实体,是 copyleft 项目推荐的做法:这样能让这个项目更加难以切换为非自由许可证,进而牢牢保住的自由软件的状态。 diff --git a/content/learn/participate/derived-works.zh-cn.md b/content/learn/participate/derived-works.zh-cn.md new file mode 100644 index 0000000..486d36f --- /dev/null +++ b/content/learn/participate/derived-works.zh-cn.md @@ -0,0 +1,40 @@ +--- +title: 复用自由软件 +weight: 90 +--- + +自由软件最大的优点之一,是它有被复用的潜力。你可以把其它自由软件项目的代码并入新的项目之中,这样节省了时间,让你能站在巨人的肩膀上构建软件。当然,你需要尊重原项目的工作,这也就意味着,要遵守他们的自由软件许可证的条款。 + +{{< tip "warning" >}} +将他人的作品并入自己的软件时,一定要仔细阅读许可证。 +{{< /tip >}} + +## 将宽松型软件并入新作品之中 + +宽松型软件许可证的主要吸引力,在于它能并入任何东西之中,而对版权持有人基本没有什么义务。大多数宽松型许可证,只需要你在你的产品中包含许可证文本,或者只要包含版权声明。自由软件项目,在将宽松许可的代码并入自己的作品时,遵守这些义务通常简单到只需要再在源代码里包含一个许可证。 + +将宽松型许可的自由软件并入非自由作品时,你必须随同软件一起分发这份自由软件许可证和/或版权署名。许多宽松许可的自由软件,它们的商业用户会在自己产品的某个地方放一个菜单,从而列举适用的软件许可证,或者随同该产品附带一份许可证的打印版本。你也应该想出类似的方法。 + +## 将 copyleft 软件并入新作品之中 + +{{< tip "warning" >}} +Copyleft 软件**不能**并入非自由软件之中。 +{{< /tip >}} + +大多数自由软件,只要许可证**兼容**,都可以并入 copyleft 软件,反之亦然。一般来说,大多数流行的宽松型许可证 -- 但并非全部 -- 都兼容大多数流行的 copyleft 许可证。*部分* copyleft 许可证兼容其它 copyleft 许可证(例如,Mozilla Public License 2.0 兼容 GNU 家族的许可证),但许多的都不兼容。任何两个使用*相同* copyleft 许可证的项目,都相互兼容,可以自由分享代码。 + +{{< tip >}} +GNU 维护了一份许可证列表,列出了与 GPL 家族的 copyleft 许可证兼容与不兼容的许可证。 + +[0]: https://www.gnu.org/licenses/license-list.html +{{< /tip >}} + +将宽松型代码并入 copyleft 项目很简单,只要许可证相兼容:见前一部分。 + +{{< tip "warning" >}} +反向并入,即把 copyleft 软件并入宽松许可的软件项目,要困难一些。这种情况下,组合作品要遵守 copyleft 的条款。将宽松许可证和 copyleft 许可证混合到单个作品是可能的,但对你的项目有重大影响。如果不是专家,建议不要尝试:除非你准备好[切换到 copyleft 许可证](/learn/participate/copyright-ownership/#changing-a-projects-license)了,不然不要将 copyleft 代码混入宽松型项目之中。 +{{< /tip >}} + +## 管理单个项目中的众多许可证和版权 + +更加大型且复杂的项目,可能会从不同的来源并入软件,这些软件有许多不同的许可证和版权持有人。如果你的项目也是这样,那么我们建议你考虑在你的作品中,使用 [REUSE](https://reuse.software/) 标准。 diff --git a/content/learn/participate/publish.zh-cn.md b/content/learn/participate/publish.zh-cn.md new file mode 100644 index 0000000..b0f0312 --- /dev/null +++ b/content/learn/participate/publish.zh-cn.md @@ -0,0 +1,51 @@ +--- +title: 发布自由软件 +weight: 2 +--- + +想到了一个自由软件项目的好点子,已经迫不及待想发布它了?不错!接下来要走这些步骤: + +1. 写出来! +2. 选择一份软件许可证 +3. 发布项目 +4. 建立社区(可选) + +## 编写软件 + +这一部分,我们当然帮不到你。不过有一点建议:**趁早发布**。很多新的维护者,在发布代码的时候都会犹豫,害怕文档不好、功能缺失、漏洞百出或是代码劣质 -- 得把问题都修复了才能让它见光。未必!趁早发布很重要,这样能很快得到反馈,也能吸引他人来帮忙。尽早把代码发布出来吧! + +## 选择许可证 + +不过,发布之前,你得选择一份合适的许可证。你*可以*自己写一份,不过**强烈**建议你不要这么做,就算是聘得起律师来协助的大公司,也不建议这样。有很多许可证可以满足各种需求,在[选择一份许可证][0]部分,我们讲解了怎么选择一份适合你的许可证。 + +[0]: /learn/participate/choose-a-license/ + +选择一份许可证,是发布自由软件项目**必要**的一步 -- 如果没有许可证,你的作品就是非自由的。你的选择,后续会对项目有显著的影响,所以选择应当慎重。这一步至关重要。 + +## 发布软件 + +当你准备好把作品发布出去了,最简单的方法就是把它上传到一个**软件炉(software forge)**里。可供选择的平台有很多,每一个都提供了大量工具,能简化开发和协作流程。许多软件炉本身也是自由软件 -- 我们建议用这些,而不是那些非自由替代品。下面有一些建议,值得一看: + +- [Codeberg](https://codeberg.org) +- [SourceHut](https://sourcehut.org) + +你也可以用自己的基础设施来托管你的项目。最简单的,在网页服务器上弄一个 tarball 就能实现,但你也可以在自己的数据中心运行一整个代码炉,如果这样更适合你的项目。 + +<!-- + +Feel free to add forges here. Criteria for inclusion: + +- Reasonably feature complete and useful for hosting projects with minimal fuss +- Hosted on stable infrastructure (self-hosted forges will not be considered) +- Trustworthy and transparent maintainership +- Free software, of course + +Add new hosts in alphabetical order. + +--> + +## 建立社区 + +发布自由软件的一大优点是,比起一己之力,社区的参与更能帮忙改进软件。要把软件做到做好,管理社区是一大要诀。我们就一系列可能感兴趣的主题,[发布了文章][blog]给自由软件的参与者,其中就有社区建立和管理的建议。快去看看吧! + +[blog]: /blog/ |
