2020年8月

Safari 将采用 Chrome/Firefox 相同的 WebExtensions API

Chrome 有着庞大的扩展生态系统,而随着所有主流浏览器都采用 WebExtensions API,这一扩展技术已成为事实上的标准,这也方便用户从一个浏览器切换到另一个浏览器。Firefox 是从 v57 开始正式采用 WebExtensions API 的。

来源:solidot

拍一拍:主要浏览器能支持一致的扩展 API,这是一件大好事。

恶意 npm 软件包试图窃取敏感的 Discord 和浏览器文件

该恶意包是一个名为 fallguys 的 JavaScript 库,它声称提供了一个《Fall Guys: Ultimate Knockout》游戏 API 的接口。这段代码会试图访问 5 个本地文件,读取它们的内容,然后将数据发布在 Discord 频道里面。npm 安全团队已经从 npm 门户网站上删除了它。

来源:zdnet

拍一拍:即便是开源的软件包,也不能轻易相信一定经过了审查,也不一定有人替你做过审查。

苹果阻止了 Facebook 应用更新,要求征收内购的 30% 销售税

Facebook 表示,这次更新是“一种新的货币化在线直播活动的方式,通过一次性的访问费用,在客人注册参加时收取”。但苹果以“不相关”信息为由拒绝了这一更新。该公司要求苹果免除 iOS 应用内购买费 30%,这样所有收入就可以归活动主办方所有。然而,苹果拒绝了。

来源:zdnet

拍一拍:“甭管是谁,在我苹果上的地盘都得听我的!”

开放管理可能会让人感到恐惧。一位经理人解释了为什么值得冒这个风险。

 title=

在本期的“用开放的价值观管理”系列中,我和美国一家全国性保险公司的定价总监、人事经理 Braxton 聊了聊。

2018 年 6 月,Braxton 联系到了开放组织社区的红帽人员。他想了解更多关于他他的团队如何使用开放的价值观,以不同的方式工作。我们很乐意提供帮助。于是我帮助 Braxton 和他的团队组织了一个关于开放组织原则的研讨会,并在之后还保持着联系,这样我就可以了解他在变得更加开放的过程中的风险。

最近我们采访了 Braxton,并和他一起坐下来听了事情的进展。产业/组织心理学家和员工参与度专家 Tracy Guiliani 和 Bryan Behrenshausen 一起加入了采访。我们的谈话范围很广,探讨了了解开源价值观后的感受,如何利用它们来改变组织,以及它们如何帮助 Braxton 和他的团队更好地工作和提高参与度。

与 Braxton 合作是一次异常有意义的经历。它让我们直接见证了一个人如何将开放组织社区驱动的研讨会材料融入动态变化,并使他、他的团队和他的组织受益。开放组织大使一直在寻求帮助人们获得关于开放价值的见解和知识,使他们能够理解文化变革和自己组织内的转型

他和他的团队正在以对他们有效的方式执行他们独特的开放价值观,并且让团队实现的利益超过了提议变革在时间和精力上的投入。

Braxton 对开放组织原则的解释和使组织更加开放的策略,让我们深受启发。

Braxton 承认,他的更开放的目标并不包括“制造另一个红帽”。相反,他和他的团队是在以对他们有效的方式,以及让团队实现的利益超过提议的变革所带来的时间和精力投入,来执行他们独特的开放价值观。

在我们采访的第一部分,你还会听到 Braxton 描述:

  1. 在了解了透明性、协作性、适应性、社区性和包容性这五种开放式组织价值观之后,“开放式管理”对他意味着什么?
  2. 他的一些开放式管理做法。
  3. 他如何在他的团队中倡导开放文化,如何在后来者中鼓励开源价值观,以及他所体验到的好处。
  4. 当人们试图改造自己的组织时,对开源价值观最大的误解是什么?

收听对 Braxton 的采访:


via: https://opensource.com/open-organization/20/8/being-open-to-open-values

作者:Heidi Hess von Ludewig 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linux 命令可以提供文件的详细信息,也可以自定义显示的文件列表,甚至可以深入到文件系统的目录中,只要你愿意看。

在 Linux 系统上,有许多方法可以列出文件并显示它们的信息。这篇文章回顾了一些提供文件细节的命令,并提供了自定义文件列表的选项,以满足你的需求。

大多数命令都会列出单个目录中的文件,而其他命令则可以深入到文件系统的目录中,只要你愿意看。

当然,最主要的文件列表命令是 ls。然而,这个命令有大量的选项,可以只查找和列出你想看的文件。另外,还有 find 可以帮助你进行非常具体的文件搜索。

按名称列出文件

最简单的方法是使用 ls 命令按名称列出文件。毕竟,按名称(字母数字顺序)列出文件是默认的。你可以选择 ls(无细节)或 ls -l(大量细节)来决定你看到什么。

$ ls | head -6
8pgs.pdf
Aesthetics_Thank_You.pdf
alien.pdf
Annual_Meeting_Agenda-20190602.pdf
bigfile.bz2
bin
$ ls -l | head -6
-rw-rw-r--  1 shs     shs      10886 Mar 22  2019 8pgs.pdf
-rw-rw-r--  1 shs     shs     284003 May 11  2019 Aesthetics_Thank_You.pdf
-rw-rw-r--  1 shs     shs      38282 Jan 24  2019 alien.pdf
-rw-rw-r--  1 shs     shs      97358 May 19  2019 Annual_Meeting_20190602.pdf
-rw-rw-r--  1 shs     shs   18115234 Apr 16 17:36 bigfile.bz2
drwxrwxr-x  4 shs     shs    8052736 Jul 10 13:17 bin

如果你想一次查看一屏的列表,可以将 ls 的输出用管道送到 more 命令中。

按相反的名字顺序排列文件

要按名称反转文件列表,请添加 -r 反转 Reverse )选项。这就像把正常的列表倒过来一样。

$ ls -r
$ ls -lr

按文件扩展名列出文件

ls 命令不会按内容分析文件类型,它只会处理文件名。不过,有一个命令选项可以按扩展名列出文件。如果你添加了 -X 扩展名 eXtension )选项,ls 将在每个扩展名类别中按名称对文件进行排序。例如,它将首先列出没有扩展名的文件(按字母数字顺序),然后是扩展名为 .1.bz2.c 等的文件。

只列出目录

默认情况下,ls 命令将同时显示文件和目录。如果你想只列出目录,你可以使用 -d 目录 Directory )选项。你会得到一个像这样的列表:

$ ls -d */
1/     backups/     modules/       projects/     templates/
2/     html/        patches/       public/       videos/
bin/   new/         private/       save/

按大小排列文件

如果你想按大小顺序列出文件,请添加 -S 大小 Size )选项。但请注意,这实际上不会显示文件的大小(以及其他文件的细节),除非你还添加 -l 长列表 Long listing )选项。当按大小列出文件时,一般来说,看到命令在按你的要求做事情是很有帮助的。注意,默认情况下是先显示最大的文件。添加 -r 选项可以反过来(即 ls -lSr)。

$ ls -lS
total 959492
-rw-rw-r--  1 shs   shs  357679381 Sep 19  2019 sav-linux-free-9.tgz
-rw-rw-r--  1 shs   shs  103270400 Apr 16 17:38 bigfile
-rw-rw-r--  1 shs   shs   79117862 Oct  5  2019 Nessus-8.7.1-ubuntu1110_amd64.deb

按属主列出文件

如果你想按属主列出文件(例如,在一个共享目录中),你可以把 ls 命令的输出传给 sort,并通过添加 -k3 来按第三个字段排序,从而挑出属主一栏。

$ ls -l | sort -k3 | more
total 56
-rw-rw-r-- 1 dory  shs      0 Aug 23 12:27 tasklist
drwx------ 2 gdm   gdm   4096 Aug 21 17:12 tracker-extract-files.121
srwxr-xr-x 1 root  root     0 Aug 21 17:12 ntf_listenerc0c6b8b4567
drwxr-xr-x 2 root  root  4096 Aug 21 17:12 hsperfdata_root
              ^
              |

事实上,你可以用这种方式对任何字段进行排序(例如,年份)。只是要注意,如果你要对一个数字字段进行排序,则要加上一个 n,如 -k5n,否则你将按字母数字顺序进行排序。这种排序技术对于文件内容的排序也很有用,而不仅仅是用于列出文件。

按年份排列文件

使用 -t 修改时间 Time modified )选项按年份顺序列出文件 —— 它们的新旧程度。添加 -r 选项,让最近更新的文件在列表中最后显示。我使用这个别名来显示我最近更新的文件列表。

$ alias recent='ls -ltr | tail -8'

请注意,文件的更改时间和修改时间是不同的。-c 更改时间 time Changed )和 -t(修改时间)选项的结果并不总是相同。如果你改变了一个文件的权限,而没有改变其他内容,-c 会把这个文件放在 ls 输出的顶部,而 -t 则不会。如果你想知道其中的区别,可以看看 stat 命令的输出。

$ stat ckacct
  File: ckacct
  Size: 200             Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d      Inode: 829041      Links: 1
Access: (0750/-rwxr-x---)  Uid: ( 1000/     shs)   Gid: ( 1000/     shs)
Access: 2020-08-20 16:10:11.063015008 -0400
Modify: 2020-08-17 07:26:34.579922297 -0400 <== content changes
Change: 2020-08-24 09:36:51.699775940 -0400 <== content or permissions changes
 Birth: -

按组别列出文件

要按关联的组别对文件进行排序,你可以将一个长列表的输出传给 sort 命令,并告诉它在第 4 列进行排序。

$ ls -l | sort -k4

按访问日期列出文件

要按访问日期(最近访问的日期在前)列出文件,使用 -ltu 选项。u 强制“按访问日期”排列顺序。

$ ls -ltu
total 959500
-rwxr-x---  1 shs     shs        200 Aug 24 09:42 ckacct  <== most recently used
-rw-rw-r--  1 shs     shs       1335 Aug 23 17:45 lte

单行列出多个文件

有时,精简的文件列表更适合手头的任务。ls 命令甚至有这方面的选项。为了在尽可能少的行上列出文件,你可以使用 --format=comma 来用逗号分隔文件名,就像这个命令一样:

$ ls --format=comma
1, 10, 11, 12, 124, 13, 14, 15, 16pgs-landscape.pdf, 16pgs.pdf, 17, 18, 19,
192.168.0.4, 2, 20, 2018-12-23_OoS_2.pdf, 2018-12-23_OoS.pdf, 20190512_OoS.pdf,
'2019_HOHO_application working.pdf' …

喜欢用空格?使用 --format=across 代替。

$ ls --format=across z*
z              zip            zipfiles      zipfiles1.bat   zipfiles2.bat
zipfiles3.bat  zipfiles4.bat  zipfiles.bat  zoom_amd64.deb  zoomap.pdf
zoom-mtg

增加搜索的深度

虽然 ls 一般只列出单个目录中的文件,但你可以选择使用 -R 选项( 递归 Recursively )地列出文件,深入到整个目录的深处。

$ ls -R zzzzz | grep -v "^$"
zzzzz:
zzzz
zzzzz/zzzz:
zzz
zzzzz/zzzz/zzz:
zz
zzzzz/zzzz/zzz/zz:
z
zzzzz/zzzz/zzz/zz/z:
sleeping

另外,你也可以使用 find 命令,对深度进行限制或不限制。在这个命令中,我们指示 find 命令只在三个层次的目录中查找:

$ find zzzzz -maxdepth 3
zzzzz
zzzzz/zzzz
zzzzz/zzzz/zzz
zzzzz/zzzz/zzz/zz

选择 ls 还是 find

当你需要列出符合具体要求的文件时,find 命令可能是比 ls 更好的工具。

ls 不同的是,find 命令会尽可能地深入查找,除非你限制它。它还有许多其他选项和一个 -exec 子命令,允许在找到你要找的文件后采取一些特定的行动。

总结

ls 命令有很多用于列出文件的选项。了解一下它们。你可能会发现一些你会喜欢的选项。


via: https://www.networkworld.com/article/3572590/11-ways-to-list-and-sort-files-on-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

美国 AI 战机击败人类空军飞行员

近日,美国军事研究部门 DARPA 举办了一场人工智能 VS 人类的 “模拟空战比赛”,该比赛借助美国空军使用的飞行模拟器进行。最终,一个被称为 Falco 的人工智能战斗机在一系列虚拟空战中击败了一名战场经验丰富的美国空军教官。 Heron Systems 公司则表示,他们的 AI 空战模型通过模拟训练,已经积累了相当于一名人类飞行员 30 年的飞行经验。

来源:开源中国

拍一拍:AI 会逐渐在许多方面超越人类,令人担忧的“天网”或许不远了。

全球比特币挖矿电力消耗突破 7 千兆瓦

今年与比特币相关的电力消耗达到了历史新高,全球挖矿业使用了超过 7 千兆瓦(7 GW)的电力(约 63.32太瓦时)。这个功率大致相当于 7 座核电站或 2180 万块太阳能电池板的功率。中国处于领先地位,为全球平均每月哈希值贡献了 65.08%。

来源:cnBeta.COM

拍一拍:希望中国不仅仅是“矿产”大国,也在区块链技术和理论上取得更大成就。

AI 从 NASA 的旧数据里识别出 50 颗新行星

华威大学的天文学家和计算机科学家构建了一个机器学习算法,用 NASA 开普勒太空望远镜收集的数据进行训练,一旦算法学会区分真实行星和假阳性,他们将其用于分析尚未证实的旧数据集,识别了 50 颗新的系外行星。

来源:solidot

拍一拍:说不得可以利用 AI 进行更多的“变废为宝”。

作为一名 Linux 管理员,你可能已经注意到了一些开发者请求将文件从 DOS 格式转换为 Unix 格式,反之亦然。

这是因为这些文件是在 Windows 系统上创建的,并由于某种原因被复制到 Linux 系统上。

这本身没什么问题,但 Linux 系统上的一些应用可能不能理解这些新的换行符,所以在使用之前,你需要转换它们。

DOS 文本文件带有回车(CR\r)和换行(LF\n)一对字符作为它们的换行符,而 Unix 文本只有换行(LF)符。

有很多方法可以将 DOS 文本文件转换为 Unix 格式。

但我推荐使用一个名为 dos2unix / unix2dos 的特殊工具将文本在 DOS 和 Unix 格式之间转换。

  • dos2unix :将文本文件从 DOS 格式转换为 Unix 格式。
  • unix2dos :将文本文件从 Unix 格式转换为 DOS 格式。
  • trawksed 命令:这些可以用于相同的目的。

使用 od 八进制转储 octal dump )命令可以很容易地识别文件是 DOS 格式还是 Unix 格式,如下图所示:

# od -bc windows.txt
0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157
U n i x i s a f r e e o
0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164
p e n s o u r c e o p e r a t
0000040 151 156 147 040 163 171 163 164 145 155 015 012 123 165 160 145
i n g s y s t e m \r \n S u p e
0000060 162 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040
r c o m p u t e r s a r e
0000100 162 165 156 156 151 156 147 040 157 156 040 125 116 111 130 015
r u n n i n g o n U N I X \r
0000120 012 071 065 045 040 157 146 040 167 145 142 163 151 164 145 163
\n 9 5 % o f w e b s i t e s
0000140 040 141 162 145 040 162 165 156 156 151 156 147 040 157 156 040
a r e r u n n i n g o n
0000160 114 151 156 165 170 040 117 123 015 012 101 156 171 164 150 151
L i n u x O S \r \n A n y t h i
0000200 156 147 040 143 141 156 040 142 145 040 144 157 156 145 040 157
n g c a n b e d o n e o
0000220 156 040 114 151 156 165 170 015 012
n L i n u x \r \n
0000231

上面的输出清楚地表明这是一个 DOS 格式的文件,因为它包含了转义序列 `
`。

同时,当你在终端上打印文件输出时,你会得到下面的输出:

# cat windows.txt
Unix is a free opensource operating system
Super computers are running on UNIX
95% of websites are running on Linux OS
Anything can be done on Linux

如何在 Linux 上安装 dos2unix?

dos2unix 可以很容易地从发行版的官方仓库中安装。

对于 RHEL/CentOS 6/7 系统,使用 yum 命令 安装 dos2unix

$ sudo yum install -y dos2unix

对于 RHEL/CentOS 8 和 Fedora 系统,使用 dnf 命令 安装 dos2unix

$ sudo yum install -y dos2unix

对于基于 Debian 的系统,使用 apt 命令apt-get 命令 来安装 dos2unix

$ sudo apt-get update
$ sudo apt-get install dos2unix

对于 openSUSE 系统,使用 zypper命令 安装 dos2unix

$ sudo zypper install -y dos2unix

1)如何将 DOS 文件转换为 UNIX 格式?

以下命令将 windows.txt 文件从 DOS 转换为 Unix 格式。

对该文件的修改是删除文件每行的 \r

# dos2unix windows.txt
dos2unix: converting file windows.txt to Unix format …
# cat windows.txt
0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157
U n i x i s a f r e e o
0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164
p e n s o u r c e o p e r a t
0000040 151 156 147 040 163 171 163 164 145 155 012 123 165 160 145 162
i n g s y s t e m \n S u p e r
0000060 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040 162
c o m p u t e r s a r e r
0000100 165 156 156 151 156 147 040 157 156 040 125 116 111 130 012 071
u n n i n g o n U N I X \n 9
0000120 065 045 040 157 146 040 167 145 142 163 151 164 145 163 040 141
5 % o f w e b s i t e s a
0000140 162 145 040 162 165 156 156 151 156 147 040 157 156 040 114 151
r e r u n n i n g o n L i
0000160 156 165 170 040 117 123 012 101 156 171 164 150 151 156 147 040
n u x O S \n A n y t h i n g
0000200 143 141 156 040 142 145 040 144 157 156 145 040 157 156 040 114
c a n b e d o n e o n L
0000220 151 156 165 170 012
i n u x \n
0000225

上面的命令将覆盖原始文件。

如果你想保留原始文件,请使用以下命令。这将把转换后的输出保存为一个新文件。

# dos2unix -n windows.txt unix.txt
dos2unix: converting file windows.txt to file unix.txt in Unix format …

1a)如何使用 tr 命令将 DOS 文件转换为 UNIX 格式。

正如文章开头所讨论的,你可以如下所示使用 tr 命令将 DOS 文件转换为 Unix 格式。

Syntax: tr -d '\r' < source_file > output_file

下面的 tr 命令将 DOS 格式的文件 windows.txt 转换为 Unix 格式文件 unix.txt

# tr -d '\r' < windows.txt >unix.txt

注意:不能使用 tr 命令将文件从 Unix 格式转换为 Windows(DOS)。

1b)如何使用 awk 命令将 DOS 文件转换为 UNIX 格式。

使用以下 awk 命令格式将 DOS 文件转换为 Unix 格式。

Syntax: awk '{ sub("\r$", ""); print }' source_file.txt > output_file.txt

以下 awk 命令将 DOS 文件 windows.txt 转换为 Unix 格式文件 unix.txt

# awk '{ sub("\r$", ""); print }' windows.txt > unix.txt

2)如何将 UNIX 文件转换为 DOS 格式?

当你把一个文件从 UNIX 转换为 DOS 格式时,它会在每一行中添加一个回车(CR\r)。

# unix2dos unix.txt
unix2dos: converting file unix.txt to DOS format …

该命令将保留原始文件。

# unix2dos -n unix.txt windows.txt
unix2dos: converting file unix.txt to file windows.txt in DOS format …

2a)如何使用 awk 命令将 UNIX 文件转换为 DOS 格式?

使用以下 awk 命令格式将 UNIX 文件转换为 DOS 格式。

Syntax: awk 'sub("$", "\r")' source_file.txt > output_file.txt

下面的 awk 命令将 unix.txt 文件转换为 DOS 格式文件 windows.txt

# awk 'sub("$", "\r")' unix.txt > windows.txt

via: https://www.2daygeek.com/how-to-convert-text-files-between-unix-and-dos-windows-formats/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第一季(7):开启未来音频脚本。

想象一下,在这个世界上,开源从来没有流行过,没有人认为将源代码提供给别人是个好主意。在本期节目中,我们将想象这种奇异的可能性。而我们也会庆祝那些让我们走到今天的开源工具和方法论。

加入我们,我们将对第一季进行总结,高屋建瓴地来了解开源世界是如何形成的。下一季,我们将把镜头放大,聚焦于当今的代码英雄们的史诗般的奋斗。

配音

在一个没有开源的世界里,来自未来的执法者穿越时空去摧毁 Linus Torvalds 的计算机。

Saron Yitbarek

天啊。我又做了那个噩梦。在梦里,我有一些很棒的想法,但我不能上手开发,因为没有相应的开源技术可以使用。

Tristram Oaten

我认为一个没有开源的世界几乎注定是邪恶的。

00:00:30 - Saron Yitbarek

我想,如果软件(LCTT 译注:这里的软件指 MINIX)在 20 世纪 80 年代遭到闭源,而源代码再也没有被打开过,肯定会少很多创新。

Steven Vaughan-Nichols

那将是一个落后的世界。

Hannah Cushman

我认为智能冰箱肯定会变得更少。

配音

在一个没有智能冰箱的世界中。

00:01:00 - Saron Yitbarek

好吧,好吧。你懂的。我们正在想象一个没有开放源代码技术的世界,这并不特别美好。想象一下:你的在线生活由一些大型私有公司管理,为此你得向它们缴费。网络中的每一处都被它们看守着。对于我们开发人员来说,没有开源的世界意味着更少的自由和影响力。

00:01:30

在整整一季中,我们一直在纪录开发人员在开源世界中的角色。随着开源技术与工具的不断涌现,我们的工作也不断演进和扩展。无论是敏捷宣言,DevOps 的兴起,还是容器编排,我们宣称的力量和自由都与开源哲学紧密相关。

在本季的最后一集,我们将会回顾前几集中的内容。随着世界走向开源,这个词的原始含义能剩下多少呢?而我们,接下来,则将何去何从?

00:02:00

我是 Saron Yitbarek,这里是《代码英雄》,一款红帽公司原创的播客节目。第 7 集:开启未来。

Steven Vaughan-Nichols

没有开源的世界不是我想要的世界,也不是绝大多数人想在其中生活的世界。

00:02:30 - Saron Yitbarek

这位是 Steven Vaughan-Nichols。你可能在第一集第二集里谈论操作系统战争的时候记住了他。他是 哥伦比亚广播集团互动媒体公司 CBS Interactive 的特约编辑,从快速调制解调器的速度还是 300 比特每秒时以来,他就一直关注着科技。

Steven Vaughan-Nichols

除了 Linux 之外,你可能无法叫出任何一个开源程序的名字,但是你当前的生活是建立在开源之上的。

00:03:00 - Saron Yitbarek

如果不使用开源技术,绝大多数人甚至无法上网。开源技术几乎存在于地球上的每台超级计算机中。它运行在 物联网 Internet of Things (IoT)中。它存在于你的手机、你的 Web 服务器,你的社交媒体———以及,大型强子对撞机中。而且,并非只有我们开发人员了解开源的诸多益处。开源态度现在已经超越了技术的范畴,影响了其它行业,例如经济学、音乐、科学和新闻业。

00:03:30

如果建筑师以我们分享代码的同样方式分享建筑的蓝图会发生什么?如果一个记者打开她的档案,让任何人不仅可以检查她发表的文章,还能检查她的研究和采访记录,会发生什么?我们不应为此而惊讶,因为开发人员培育这份哲学已有多年。每个人都可以看到代码、注释代码、复制代码、提供补丁,这实际上是一件非常基础的事情,对吧?这就是分享。

00:04:00

自最早的人类分享膳食食谱以来,我们就知道公开分享指令集,或者说算法,对人类有净收益。在某些方面,开源技术现在能使我们重温这个基本事实。

Hannah Cushman

我认为,使更多的事物开源会促进和鼓励人们查阅原始资源,这总是很好的。

00:04:30 - Saron Yitbarek

这位是 Hannah Cushman,她是 DataMade 的一位开发人员,他们一直在努力使城市变得更加开放。将来自政府的大量公开数据进行整理并合理地处理,就可以让普通市民使用它来采取行动。他们使用的技术是开源的,同时他们对政治的态度也是如此。

00:05:00 - Hannah Cushman

我们在芝加哥与一个叫做 City Bureau 的组织进行了一个项目,和他们一起为公立学校测试铅含量。我们测试了这些学校中几乎全部的供水设备。这些全部公布的测试结果有 500 份 PDF 文件之多。

Saron Yitbarek

是的,这太好了。但这并不完全是一种使数据公开的有效方式。

00:05:30 - Hannah Cushman

在整个系统中,很难看到例如哪里发现了铅,以及哪里的铅含量更高。我们使用了另一个叫做 Tablua 的开源工具,可以在终端上运行;它能从 500 多个 PDF 文件中提取数据并将其放在一起,帮助我们把巨量信息转储到一个对人们有用的上下文中。

我认为查询源数据是一种非常有效的方式,这使人们可以了解信息的来源并验证其正确性。

00:06:00 - Saron Yitbarek

市民可以访问健康报告的详细信息,获取游说者的数据,还可以查看城市政治的整个组织结构,DataMade 为此提供了浏览门户。这使芝加哥人有更多机会对市政的方方面面作出改变。

加州州立理工大学 Cal Poly 的研究软件工程师 Carol Willing 认为,这种不断扩展的开源态度将给世界带来更广泛的变化。

00:06:30 - Carol Willing

就个人而言,我认为开源将从开源软件发展到开放硬件、开放政府、开放教育、开放协作、开放创新等等。开源会不断进化。

Saron Yitbarek

现在,开源逐渐变得更像是自然法则,而不仅仅是科技界的产物。

00:07:00 - Carol Willing

人们慷慨奉献自己时间的事迹古而有之。但令人耳目一新的是,开源深刻地改变了世界,因为它使不同的小群体联合起来,一起致力于他们中任何一组都无法单独处理的大型项目。

00:07:30 - Saron Yitbarek

“用全新的技术来践行古老的理念”——这个主意我喜欢。但先别急着高兴。随着开源这个词被越来越广泛地使用,它的定义可能会变得模糊。在某些场合下,它开始意味着“免费”,或者“众包”,甚至仅仅是“可定制”。

例如,如果我只是允许你选择在冰淇淋上哪撒些糖粉,这不代表我的冰淇淋是开源甜点。但是,如果我告诉你如何制作糖粉,让你改进我的糖粉配方——然后,如果你也想与他人分享糖粉制作的秘密,那么,恭喜你,我们得到了一些美味的开源。

00:08:00

那么,开源的原始定义又是什么?它很简单,但我们应当恪守。要实现真正的开源,你需要公开代码,或者蓝图,或者你的菜谱。换句话说,就是使任何人都可以随意研究、修改和重新分发原始数据。这种哲学将带来变革,不过对于命令行外的世界,一切才刚刚开始。

00:08:30 - Thomas Cameron

这是一种非常惊人的技术开发方式。无论是它的成功,还是我已经参与其中的这一事实,都让我感到震惊。

Saron Yitbarek

Thomas Cameron 在 1998 年“开源”这个词被发明之前就一直从事开源工作。今天,他是 Red Hat 的高级首席云推广人员。他完全有资格谈论开源在如今的进展,以及其发展的过程中发究竟生了多少斗争。

00:09:00 - Thomas Cameron

你知道,经理们不想承担风险,这是巨大的阻力。因为它是免费的,所以他们会想,“我没办法打电话寻求技术支持”,“我不得不依靠特定的开源软件”之类。这一类斗争还算简单,在部门服务器、群组服务器、小型 Web 服务器、小型文件服务器和打印服务器上,我们也赢过不少。随着时间的推移,在赢得这些简单的战斗之后,更艰难的战斗出现了。在每次“作战”中,你会发现,系统管理员和系统工程师对开源越来越着迷。

00:09:30 - Saron Yitbarek

尽管有这些斗争,你也无法否认一直以来的进展。

00:10:00 - Thomas Cameron

我目睹了开源给 IT 行业带来的改变,它最开始时用在某些系统管理员办公桌下私搭乱建的服务器里,并最终传播到家喻户晓的大公司之中——英特尔、IBM、AMD,每个你能想到的组织都开始为开源项目做出贡献。这绝对是一场斗争,我在不同的企业职位上都参加过如此多的相关争论;我曾说过,“我们需要把 Linux,或其他开源技术,引入数据中心。”

00:10:30 - Saron Yitbarek

Thomas 观察到,开源软件开发正逐步占据市场。但对于某些人来说,这很令人不安。

Thomas Cameron

我们能够分享信息与分析结果,这让那些一直占有信息并从中牟利的人感到害怕。这种模式使他们无法轻易获取利润,也难以哪怕得到对一个组织的完全控制,这是巨大的变化,随之而来的是恐惧。

00:11:00 - Saron Yitbarek

我们在本季开始时描述的支持开源的反叛者们现在领导着这个行业。但从更长远的角度来看,故事绝不会在这里结束。Christopher Tozzi 是 Fixate IO 的高级编辑。他将开源带来的颠覆视为某种根本性转变的开始,这种转变将使世界各地的人们都能协同合作——而不仅是在软件开发行业中。

00:11:30 - Christopher Tozzi

我认为,在过去的二十年里,开源变得如此强大的原因之一就是人们对去中心化一直保有兴趣。我认为,这也解释了开源如何影响其它技术创新。比如,区块链也建立在这样的思想上:如果我们摆脱集中的生产方式,去中心化的数据库或交易方式可能会更高效、更安全。重申一次,我认为今天的开源,自从 Torvalds 出现以来,就与开发工作的去中心化息息相关。

00:12:00 - Saron Yitbarek

全面的分权意味着整个世界都在走向开源。体现了这一理念的开发人员,他们是最能想象未来的人。

这是 Tristram Oaten,他是伦敦的一位开发者,他肯定在考虑这场漫长的比赛。

00:12:30 - Tristram Oaten

就像是 3D 打印机将通过在家生产零件来使我们的生活更轻松——而且多半能更环保一样。无论什么时候有东西坏了,你都可以在家里新制造一个。这是 星际迷航 Star Trek 式的未来的复制器,就和理想中一模一样。希望这样的生产方式能真正投入使用,这样,说不定,整座房子都能变得开源了。

Saron Yitbarek

Tristram 设想了一个世界,在这个世界上,开源是各个领域都遵守的规则。这意味着,开发者即使不是大师,至少也会成为人们的向导——这种向导是至关重要的。

00:13:00 - Tristram Oaten

在未来,我们作为开发人员的角色将越加重要,我们会变得越来越像“魔法师”——如果我们现在还不够像的话。

Saron Yitbarek

好吧,魔法师。我们会成为魔法师。

00:13:30 - Tristram Oaten

我们能用奇怪的语言驱使机器做奇妙的事,于是,我们会被高薪雇来做宫廷魔法师,或者公司魔法师。当每个人的身体中都有设备,并且无处不在的设备都可以通过互联网访问,还能被远程控制时,我们则需要作为一个团体,一个行会,以最好的信念行事,就像医疗行业要有不伤害他人的宪章等等。这非常重要。

我认为,开发人员需要共同决定不要制造杀手机器人,也不要在每个人的路由器和每个人的助听器中安置间谍软件。我们需要彼此确认,并向所有人保证,我们将为更大的利益而努力,而非为了伤害人类。

00:14:00 - Saron Yitbarek

让我们现在保证不会造机器人杀手,对吧?好。在此之上,我确实认为 Tristram 说得对。在某些方面,我们开发者已经看到了未来,这代表我们有机会在塑造未来上出一份力。

10 年后,开源开发的道德标准将会是什么样子的?

00:14:30 - Tristram Oaten

我们现在有着极大的特权,因此,我们有责任做正确的事。

Saron Yitbarek

那么,魔法师们,我们将去向何方?我们能为开源创造一个健康的未来吗?我想和一个对这一切进行了深入思考的人谈谈,于是,我找到了这一位。Safia Abdalla 是一名软件工程师,她一直在为 交互计划 Interact Project 做开源贡献。我们将会讨论,真正的“可持续的、广泛的开源”会是什么样子。听听看。

在你心里,未来的开源会是怎么样的,和现在有什么不同之处?

00:15:00 - Safia Abdalla

嗯,我想,我所看到的最大的新兴趋势之一就是对开源可持续性的高度关注,也就是关于如何让开源项目一直得到良好维护和更新的讨论。有一些项目对整个技术界生态都至关重要,讨论也集中于它们。我认为,在该领域,已经有了许多有趣的进展。

00:15:30 - Saron Yitbarek

Safia 让我思考,如果我们能够建立她所描述的可持续发展的方法,如果公司能够贡献时间、代码和资源,我们的工作能够得到多少改善?又会发生多少变化?所以我问她,这样可持续的方式会给我们所创造的产品,和我们建构的工具,带来怎么样的改变?

00:16:00 - Safia Abdalla

可悲的现实是,当你没有精力,时间和金钱来为每个人打造好东西时,你就会倾向于只为自己做好它。

Saron Yitbarek

嗯,确实。

Safia Abdalla

在这种情况下,你构建的产品会将把很多人排除在用户之外。因此,我相信,如果我们发现开放源代码的更具可持续性的模型,那么我们实际上将开始构建可供盲人、听障者或以其它方式残障的个人使用的软件。

00:16:30 - Saron Yitbarek

有趣,我喜欢。考虑到开放源代码的原则、流程、文化和社区,以及你提到的所有这些内容该如何适用于技术之外、软件开发之外的行业时,你认为真正可以从开源中受益的领域是哪些?你认为接下来开源可能会出现在哪里?

00:17:00 - Safia Abdalla

喔,这是个有趣的角度。我第一个想到的是,开源思维可以被用于科学界,使科学变得更加开放。之所以我会想到这一点,是因为,当你以开放方式分享软件时,你所分享的并不是一行行的代码 —— 好吧,你确实在分享代码 —— 但,更重要的是,你在分享知识和细节,在与其他人交流该如何做事。因此,你真正分享的是知识。

00:17:30

开源的方式可以相当直接地应用于科学界,因为研究人员也会花费大量的时间来探究特定课题,随后就此课题发表论文。而且,我认为,我们需要向科学界倡议更加开放的科研方式,以确保科研成果能够对所有人开放,使所有人都能理解、分享和参与,这将会提高社会对科学的理解,并在一定程度上促进科学研究本身。

00:18:00 - Saron Yitbarek

当我上大学时,我从事生物化学研究;我非常习惯于带着热情进行实验、研究、尝试新事物。然而,同时,你也不能让人随意插手研究,因为你需要做通讯作者。你需要信誉。这是学术界进步的一个很重要、很重要的组成部分。

00:18:30

因此,开源的原则——即分享原始数据、贡献劳动,以及将未完成的产品公之于众,依靠集体智慧将其完工的这些原则——和某些更具保护意识的行业必然发生冲突。你如何看待这种冲突?

00:19:00 - Safia Abdalla

这是个好问题。我认为这涉及一个更大、更复杂的问题。为了成功地将开源引入其他行业,外在的动机和鼓励在很大程度上是必要的。你不能依赖于鼓励人们只专注于自己的目标的现有体系,因为那样会牺牲他人的利益和社会的更大利好。

00:19:30

我认为,我们必须根本地改变我们看待很多事情的方式,并更改许多体系的运作方式,以使它们关注集体利益而非单一利益。很难撤销像终身教职这样对大学有很多负面影响的制度。很难消除其它可能损害生态、损害他人,或者阻碍社会进步的激励机制。不管是采用开源的思维方式,还是主动取消这些体系,我们都有极长的路要走。

00:20:00 - Saron Yitbarek

确实。如果你可以从头重新创造开源,那么,属于你的开源版本又会是什么样的?

00:20:30 - Safia Abdalla

哇噻。关于开源,我要改变的第一件事是它的公共关系和形象。我可能会尝试建立一种开源文化或社区,让人们认识到,你即使不是精英,或者精湛的开发人员,也能活跃并取得成功。现有开源文化中的精英倾向使我感到震慑。

00:21:00

另外,我也要重点关注开源的可持续性,增加公司的责任感和开源体系的健康程度。我认为很多人没有意识到的事情之一是,许多受欢迎的技术公司和平台都包含了开源要素。例如,有很多 Rails Web 应用程序是极其成功的,盈利能力可观。而且,我认为,对我们来说,重要的是确保这些公司对开源社区有管理权,认识到其价值所在,并给予回馈。

00:21:30 - Saron Yitbarek

好的,在 Safia 的开源中,企业将会负起责任,并对开源的可持续性做出贡献。项目的贡献者和维护者可能会因为自己所做的工作而获得报酬。这样的开源多半会是更加开放、更具有关怀之心的模式。

Safia Abdalla

是的。

Saron Yitbarek

听起来像是一个很棒的开源的版本,我喜欢它。

Safia Abdalla

谢谢。

00:22:00 - Saron Yitbarek

Safia Abdalla 是 交互计划 Interact Project 的软件工程师和贡献者。她是一位新一代开发人员。而她在平时也对开源抱有自己的期望。所以,我想向这支新的代码英雄军队大声呼喊:“你们都将会向我们展示未来,因为你们现在正生活在未来之中,而你们也将负责领导我们走向明天。”

00:22:30

现在,尽管我对开源革命心怀热情,但我也不想成为一个盲目乐观的人。开源也将会受到挑战。开源的存在越广泛,我们就越需要确保它的可持续性。我们找到了一种可扩展的方式来维护开源项目吗?我的意思是,虽然 Linux 内核的贡献者中有一些是全职员工,但是大多数的开源项目仍然是由志愿者维护的。

00:23:00

开源的工作并不会因为我们不再“反叛”而终结。市值数十亿美元的公司都在运行 Linux,而开源先锋们现在是技术领袖。我们需要跟随这条道路,并试着想象接下来会发生什么。

尤其是,可能会出现什么问题?Christopher Tozzi 告诉我们,曾经作为规则破坏者的开源并不对破坏本身免疫。

00:23:30 - Christopher Tozzi

开源革命尚未结束,因为挑战并没有停止。即使今天基本上地球上每个使用计算机的人都在以这样或那样的方式使用开源软件,但这并不代表开源必然是绝对安全的。尤其是从致力于开源社区最初目标的人们的角度来看,诸如云计算之类的事物确实使情况变得复杂了。

00:24:00 - Saron Yitbarek

开源能有多开源呢?Christopher 提到了云计算,而在第六集中,我们描述了依赖于别人的数据中心肯定会使开源最初的目标复杂化。

这是一个棘手的领域,我们仍在了解这个领域的情况。在前进的过程中,我们必须不忘初心。

00:24:30

每个年轻的反叛者都需要 欧比旺·克诺比 Obi Wan 的原力全息仪。他们会从过去吸取经验教训吗? 林纳斯·托瓦兹 Linus Torvalds 曾经说过,“在真正的开源中,你有权掌握自己的命运。” 如果开发人员能够在更大的世界中宣扬这种精神,那么,干得漂亮。

00:25:00

到此为止,这是第一季的最后一集,真不敢相信。这一季过得很快。在着手编写这一系列播客之前,我从没有想过,是谁创造了 DevOps、敏捷开发和云计算;我从没有想过它们从何而来。我从没想过它们会有自己的家,有团队贡献才能、照顾它们,帮助它们成长。它们只是我工具箱里的一堆工具。但我现在不是这样看待它们的。

00:25:30

它们不仅仅是随机的工具,而是我生活环境的一部分。在我之前,开发者们已经花了几十年的时间来塑造这一局面。现在,我要致力于塑造未来。真是棒极了。

00:26:00

第一季即将结束,但好消息是,我们已经在准备第二季了。在这七集中,我们专注于开源工具和方法论,这些工具和方法使我们有了今天。这有点像是从 3 万英尺的高度看开源世界的形成史。在第二季中,我们将着眼于细节,并关注当今代码英雄们史诗般的奋斗。我们将跟随每一集,看看开发者如何挑战常规。这些都是塑造我们行业未来的真实故事。

00:26:30

当我们寻找这些故事的时候,我们很希望收到您的来信。告诉我们,你的代码故事是什么?你参与过哪些史诗般的开源战役?访问 redhat.com/command-line-heroes 留下你的故事。我们正在倾听。

00:27:00

如果现在你还在听的话,你可能想要看看将于 5 月 8 日至 10 日在旧金山举行的 2018 红帽峰会的阵容。峰会包括为期三天的分组会议、动手实验和主题演讲,其中包括了有关开源的主题演讲,而你也可以参与其中。希望能在那里见到你。

00:27:30

代码英雄是红帽的原创播客。请确保你订阅了该节目,以在您的设备上免费获取第一季中的所有剧集,并在第二季开始时收到通知。只要在苹果播客、Spotify、Google Play、CastBox 和其他播客平台中搜索《代码英雄》,然后点击订阅,你就可以第一时间收听新一期。我是 Saron Yitbarek。感谢你的聆听,编程不止。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。


via: https://www.redhat.com/en/command-line-heroes/season-1/days-of-future-open

作者:Red Hat 选题:bestony 译者:LaingKe 校对:Northurland

本文由 LCRH 原创编译,Linux中国 荣誉推出