Skip to content

Commit 7c68fdd

Browse files
committed
[LICENSE] done
1 parent 649be30 commit 7c68fdd

File tree

6 files changed

+196
-133
lines changed

6 files changed

+196
-133
lines changed

chapters/01-start-project.md

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,56 @@
11
创建开源项目
22
===
33

4-
人们创建
4+
人们出于不同的目的来创建开源项目,可不论目的是什么,过程都是一样的。
5+
6+
1. 首先,我们需要为我们的项目取一个名字。
7+
2. 然后,为我们的开源项目选择一个合适的 LICENSE
8+
3. 然后再去创建项目
59

610
取一个好的名字
711
---
812

9-
### 保持命令规则
13+
取名字,从来就不是一件容易的事。
14+
15+
因此,我就长话短说,一般就是取一个有意义的名字,当然没有意义也没有任何问题。
1016

11-
个性化,如同 ID 一般
17+
通常而言,如果自己计划有一系列的开源项目,那么我们可以保持一定的命令规则
1218

1319
挑选好 LICENSE
1420
---
1521

16-
事实上,在我们看到的一些外版书籍上,如果拥有代码。那么作者一般就会在前言或者类似的位置里,指明书中代码的版权所属。
22+
> 在二十世纪而七十年代末和八十年代初,为了防止自己的软件被竞争对手所使用,大多数厂家停止分发其软件源代码,并开始使用版权和限制性软件许可证,来限制或者禁止软件源代码的复制或再分配。随后,Richard Matthew Stallman(Richard Matthew Stallman)发起了自由软件运动,他开创了 Copyleft 的概念:使用版权法的原则来保护使用、修改和分发自由软件的权利,并且是描述这些术语的自由软件许可证的主要作者。最为人所称道的是GPL(被z广泛使用的自由软件协议)。[^rms]
23+
24+
(PS:关于自由软件及 RMS 的更多信息、历史,可以阅读《若为自由故:自由软件之父 - 理查德 斯托曼传》)
25+
26+
[^rms]: https://zh.wikipedia.org/wiki/%E7%90%86%E6%9F%A5%E5%BE%B7%C2%B7%E6%96%AF%E6%89%98%E6%9B%BC
27+
28+
随后,便诞生了开源软件的概念,开源的要求比自由软件宽松一些[^gnu_gpl]。迄今发布的自由软件源代码都是开源软件,而并非所有的开源软件都是自由软件。这是因为不同的许可(协议)赋予用户不同的权利,如 GPL 协议强制要求开源修改过源码的代码,而宽松一点的 MIT 则不会有这种要求。
1729

18-
如:
30+
[^gnu_gpl]: https://www.gnu.org/philosophy/open-source-misses-the-point.zh-cn.html
1931

20-
> 也许你需要在自己的程序或文档中用到本书的代码,但除非大篇幅地使用,否则不必与我们联系取得授权。例如,用本书中的几段代码编写程序无需请求许可,blabla
32+
如下是不同开源许可证的市场占有率及使用情况
2133

2234
![License 使用情况](./img/permissive-vs-copylift-license-2.jpg)
2335

36+
又比如,在我们看到的一些外版书籍上,如果拥有代码。那么作者一般就会在前言或者类似的位置里,指明书中代码的版权所属。如:``也许你需要在自己的程序或文档中用到本书的代码,但除非大篇幅地使用,否则不必与我们联系取得授权。例如,用本书中的几段代码编写程序无需请求许可,blabla``
37+
38+
于是,选择一个合理的 LICENSE,就变成了一个有趣的话题。为此,笔者做了一个如何进行开源协议选型的流程图:
39+
40+
[![如何选择 License](./img/licenses.png)](https://github.com/phodal/licenses)
41+
42+
简单地来说,这些 License 之间是一些权利的区别,如当你把代码放置到公有领域,就意味着任何人可以修改,并且不需要标明出注;可如果你想要别人标明出处及作者,你就需要 MIT 协议;而你希望别人闭源的话,那么你就需要 MPL 协议等等。
43+
44+
那么,下面让我们简单地介绍一下不同的几个协议。
45+
2446
### 公有领域
2547

2648
> WTFPL(Do What The Fuck You Want To Public License,中文译名:你他妈的想干嘛就干嘛公共许可证)是一种不太常用的、极度放任的自由软件许可证。它的条款基本等同于贡献到公有领域。[^wtfpl]
2749
2850
[^wtfpl]: https://zh.wikipedia.org/wiki/WTFPL
2951

52+
这就意味着,对于拿到这些代码的其他人,他们想怎么修改就可以怎么修改。
53+
3054
这取决于
3155

3256
### GPL
@@ -39,23 +63,23 @@
3963

4064
因此,一般而言,我使用的是 MIT 协议。至少我保留了一个署名权,即你可以修改我的代码,但是在 LICENSE 里必须加上我的名字。
4165

66+
选用 MIT 特别有意思,特别是在最近几年里,发生过:
67+
68+
- [iView “抄袭” Element UI 事件](https://zhuanlan.zhihu.com/p/25739512)
69+
- [AndroidTVLauncher “抄袭” 事件](https://github.com/JackyAndroid/AndroidTVLauncher/issues/22)
70+
71+
等等。这告诫了我们,如果你不想要有这种经历,那么就不要用 MIT 了。
72+
4273
### Creative Commons
4374

4475
是的,当我写 Markdown 的时候,考虑到未来会以纸质书的形式出现,便会使用 CC-BY-NC-ND 协议:
4576

46-
- cc -> Creative Commons
47-
- by -> 署名(英语:Attribution,by)
77+
- CC -> Creative Commons
78+
- BY -> 署名(英语:Attribution,by)
4879
- NC -> 非商业性使用(英语:NonCommercial)
49-
- 禁止演绎 ->(英语:NoDerivs)。
80+
- ND -> 禁止演绎(英语:NoDerivs)。
5081

5182
即,任何人可以使用我写的电子书来自由复制、散布、展示及演出,但是不得用于商业用途(作者本人可以)。它可以随意地放在他的博客上,他的各个文章里。但是必须标明出自,并且不得改变、转变或更改本作品。
5283

5384
如果你不介意的话,你可以使用公有领域(Public Domain)。可是这样一来,万一有一天,别人直接拿的作品出书,你就骂爹了。
5485

55-
官方主页
56-
---
57-
58-
一个好的例子是 GitHub Pages
59-
60-
61-
然后,创建

chapters/03-build-github-project.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# 构建GitHub项目
1+
# 构建 GitHub 项目
22

3-
## 如何用好GitHub
3+
## 如何用好 GitHub
44

5-
如何用好GitHub,并实践一些敏捷软件开发是一个很有意思的事情.我们可以在上面做很多事情,从测试到CI,再到自动部署.
5+
如何用好 GitHub,并实践一些敏捷软件开发是一个很有意思的事情.我们可以在上面做很多事情,从测试到CI,再到自动部署.
66

7-
###敏捷软件开发
7+
### 敏捷软件开发
88

99
显然我是在扯淡,这和敏捷软件开发没有什么关系。不过我也不知道瀑布流是怎样的。说说我所知道的一个项目的组成吧:
1010

chapters/05-create-project-documents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ README通常会显示在GitHub项目的下面,如下图所示:
3838
* 如何参与贡献
3939
* 协议
4040

41-
## 在线文档
41+
## 官方首页与在线文档
4242

4343
很多开源项目都会有自己的网站,并在上面有一个文档,而有的则会放在[https://readthedocs.org/](https://readthedocs.org/)
4444

github-roam.md

Lines changed: 45 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -83,32 +83,56 @@
8383
创建开源项目
8484
===
8585

86-
人们创建
86+
人们出于不同的目的来创建开源项目,可不论目的是什么,过程都是一样的。
87+
88+
1. 首先,我们需要为我们的项目取一个名字。
89+
2. 然后,为我们的开源项目选择一个合适的 LICENSE
90+
3. 然后再去创建项目
8791

8892
取一个好的名字
8993
---
9094

91-
### 保持命令规则
95+
取名字,从来就不是一件容易的事。
96+
97+
因此,我就长话短说,一般就是取一个有意义的名字,当然没有意义也没有任何问题。
9298

93-
个性化,如同 ID 一般
99+
通常而言,如果自己计划有一系列的开源项目,那么我们可以保持一定的命令规则
94100

95101
挑选好 LICENSE
96102
---
97103

98-
事实上,在我们看到的一些外版书籍上,如果拥有代码。那么作者一般就会在前言或者类似的位置里,指明书中代码的版权所属。
104+
> 在二十世纪而七十年代末和八十年代初,为了防止自己的软件被竞争对手所使用,大多数厂家停止分发其软件源代码,并开始使用版权和限制性软件许可证,来限制或者禁止软件源代码的复制或再分配。随后,Richard Matthew Stallman(Richard Matthew Stallman)发起了自由软件运动,他开创了 Copyleft 的概念:使用版权法的原则来保护使用、修改和分发自由软件的权利,并且是描述这些术语的自由软件许可证的主要作者。最为人所称道的是GPL(被z广泛使用的自由软件协议)。[^rms]
105+
106+
(PS:关于自由软件及 RMS 的更多信息、历史,可以阅读《若为自由故:自由软件之父 - 理查德 斯托曼传》)
107+
108+
[^rms]: https://zh.wikipedia.org/wiki/%E7%90%86%E6%9F%A5%E5%BE%B7%C2%B7%E6%96%AF%E6%89%98%E6%9B%BC
109+
110+
随后,便诞生了开源软件的概念,开源的要求比自由软件宽松一些[^gnu_gpl]。迄今发布的自由软件源代码都是开源软件,而并非所有的开源软件都是自由软件。这是因为不同的许可(协议)赋予用户不同的权利,如 GPL 协议强制要求开源修改过源码的代码,而宽松一点的 MIT 则不会有这种要求。
99111

100-
如:
112+
[^gnu_gpl]: https://www.gnu.org/philosophy/open-source-misses-the-point.zh-cn.html
101113

102-
> 也许你需要在自己的程序或文档中用到本书的代码,但除非大篇幅地使用,否则不必与我们联系取得授权。例如,用本书中的几段代码编写程序无需请求许可,blabla
114+
如下是不同开源许可证的市场占有率及使用情况
103115

104116
![License 使用情况](./img/permissive-vs-copylift-license-2.jpg)
105117

118+
又比如,在我们看到的一些外版书籍上,如果拥有代码。那么作者一般就会在前言或者类似的位置里,指明书中代码的版权所属。如:``也许你需要在自己的程序或文档中用到本书的代码,但除非大篇幅地使用,否则不必与我们联系取得授权。例如,用本书中的几段代码编写程序无需请求许可,blabla``
119+
120+
于是,选择一个合理的 LICENSE,就变成了一个有趣的话题。为此,笔者做了一个如何进行开源协议选型的流程图:
121+
122+
[![如何选择 License](./img/licenses.png)](https://github.com/phodal/licenses)
123+
124+
简单地来说,这些 License 之间是一些权利的区别,如当你把代码放置到公有领域,就意味着任何人可以修改,并且不需要标明出注;可如果你想要别人标明出处及作者,你就需要 MIT 协议;而你希望别人闭源的话,那么你就需要 MPL 协议等等。
125+
126+
那么,下面让我们简单地介绍一下不同的几个协议。
127+
106128
### 公有领域
107129

108130
> WTFPL(Do What The Fuck You Want To Public License,中文译名:你他妈的想干嘛就干嘛公共许可证)是一种不太常用的、极度放任的自由软件许可证。它的条款基本等同于贡献到公有领域。[^wtfpl]
109131
110132
[^wtfpl]: https://zh.wikipedia.org/wiki/WTFPL
111133

134+
这就意味着,对于拿到这些代码的其他人,他们想怎么修改就可以怎么修改。
135+
112136
这取决于
113137

114138
### GPL
@@ -121,26 +145,26 @@
121145

122146
因此,一般而言,我使用的是 MIT 协议。至少我保留了一个署名权,即你可以修改我的代码,但是在 LICENSE 里必须加上我的名字。
123147

148+
选用 MIT 特别有意思,特别是在最近几年里,发生过:
149+
150+
- [iView “抄袭” Element UI 事件](https://zhuanlan.zhihu.com/p/25739512)
151+
- [AndroidTVLauncher “抄袭” 事件](https://github.com/JackyAndroid/AndroidTVLauncher/issues/22)
152+
153+
等等。这告诫了我们,如果你不想要有这种经历,那么就不要用 MIT 了。
154+
124155
### Creative Commons
125156

126157
是的,当我写 Markdown 的时候,考虑到未来会以纸质书的形式出现,便会使用 CC-BY-NC-ND 协议:
127158

128-
- cc -> Creative Commons
129-
- by -> 署名(英语:Attribution,by)
159+
- CC -> Creative Commons
160+
- BY -> 署名(英语:Attribution,by)
130161
- NC -> 非商业性使用(英语:NonCommercial)
131-
- 禁止演绎 ->(英语:NoDerivs)。
162+
- ND -> 禁止演绎(英语:NoDerivs)。
132163

133164
即,任何人可以使用我写的电子书来自由复制、散布、展示及演出,但是不得用于商业用途(作者本人可以)。它可以随意地放在他的博客上,他的各个文章里。但是必须标明出自,并且不得改变、转变或更改本作品。
134165

135166
如果你不介意的话,你可以使用公有领域(Public Domain)。可是这样一来,万一有一天,别人直接拿的作品出书,你就骂爹了。
136167

137-
官方主页
138-
---
139-
140-
一个好的例子是 GitHub Pages
141-
142-
143-
然后,创建
144168

145169
# Git基本知识与GitHub使用
146170

@@ -360,13 +384,13 @@ CLA即Contributor License Agreement,在为一些大的组织、机构提交Pul
360384
361385
他们都要求我签署CLA。
362386
363-
# 构建GitHub项目
387+
# 构建 GitHub 项目
364388
365-
## 如何用好GitHub
389+
## 如何用好 GitHub
366390
367-
如何用好GitHub,并实践一些敏捷软件开发是一个很有意思的事情.我们可以在上面做很多事情,从测试到CI,再到自动部署.
391+
如何用好 GitHub,并实践一些敏捷软件开发是一个很有意思的事情.我们可以在上面做很多事情,从测试到CI,再到自动部署.
368392
369-
###敏捷软件开发
393+
### 敏捷软件开发
370394
371395
显然我是在扯淡,这和敏捷软件开发没有什么关系。不过我也不知道瀑布流是怎样的。说说我所知道的一个项目的组成吧:
372396
@@ -1037,7 +1061,7 @@ README通常会显示在GitHub项目的下面,如下图所示:
10371061
* 如何参与贡献
10381062
* 协议
10391063
1040-
## 在线文档
1064+
## 官方首页与在线文档
10411065
10421066
很多开源项目都会有自己的网站,并在上面有一个文档,而有的则会放在[https://readthedocs.org/](https://readthedocs.org/)。
10431067

img/licenses.png

273 KB
Loading

0 commit comments

Comments
 (0)