Jen Wike Huger 发布的文章

Git 为软件开发所带来的巨大影响是其它工具难以企及的。

在 Linus Torvalds 开发 Git 后的十四年间,它为软件开发所带来的影响是其它工具难以企及的:在 StackOverflow 的 2018 年开发者调查 中,87% 的受访者都表示他们使用 Git 来作为他们项目的版本控制工具。显然,没有其它工具能撼动 Git 版本控制管理工具(SCM)之王的地位。

为了在 4 月 7 日 Git 的十四周年这一天向 Git 表示敬意,我问了一些爱好者他们最喜欢 Git 的哪一点。以下便是他们所告诉我的:

(为了便于理解,部分回答已经进行了小幅修改)

“我无法忍受 Git。无论是难以理解的术语还是它的分布式。使用 Gerrit 这样的插件才能使它像 Subversion 或 Perforce 这样的集中式仓库管理器使用的工具的一半好用。不过既然这次的问题是‘你喜欢 Git 的什么?’,我还是希望回答:Git 使得对复杂的源代码树操作成为可能,并且它的回滚功能使得实现一个要 20 次修改才能更正的问题变得简单起来。”

Sweet Tea Dorminy

“我喜欢 Git 是因为它不会强制我执行特定的工作流程,并且开发团队可以自由地以适合自己的方式来进行团队开发,无论是拉取请求、以电子邮件递送差异文件或是给予所有人推送的权限。”

Andy Price

“我从 2006、2007 年的样子就开始使用 Git 了。我喜欢 Git 是因为,它既适用于那种从未离开过我电脑的小项目,也适用于大型的团队合作的分布式项目。Git 使你可以从(几乎)所有的错误提交中回滚到先前版本,这个功能显著地减轻了我在软件版本管理方面的压力。”

Jonathan S. Katz

“我很欣赏 Git 那种 底层命令和高层命令 的理念。用户可以使用 Git 有效率地分享任何形式的信息,而不需要知道其内部工作原理。而好奇的人可以透过其表层的命令,而发现其为许多代码分享平台提供了支持的可以定位内容的文件系统。”

Matthew Broberg

“我喜欢 Git 是因为浏览、开发、构建、测试和向我的 Git 仓库中提交代码的工作几乎都能用它来完成。它经常会调动起我参与开源项目的积极性。”

Daniel Oh

“Git 是我用过的首个版本控制工具。数年间,它从一个可怕的工具变成了一个友好的工具。我喜欢它使你在修改代码的时候更加自信,因为它能保证你主分支的安全(除非你强制提交了一段考虑不周的代码到主分支)。你可以检出先前的提交来撤销更改,这一点也是很棒的。”

Kedar Vijay Kulkarni

“我之所以喜欢 Git 是因为它淘汰了一些其它的版本控制工具。没人使用 VSS,而 Subversion 可以和 git-svn 一起使用(如果必要),BitKeeper 则和 Monotone 一样只为老一辈所知。当然,我们还有 Mercurial,不过在我几年之前用它来为 Firefox 添加 AArch64 支持时,我觉得它仍是那种还未完善的工具。部分人可能还会提到 Perforce、SourceSafe 或是其它企业级的解决方案,我只想说它们在开源世界里并不流行。”

Marcin Juszkiewicz

“我喜欢内置的 SHA1 化对象模型(commit → tree → blob)的简易性。我也喜欢它的高层命令。同时我也将它作为对 JBoss/Red Hat Fuse 的补丁机制。并且这种机制确实有效。我还喜欢 Git 的 三棵树的故事。”

Grzegorz Grzybek

“我喜欢 自动生成的 Git 说明页(这个页面虽然听起来是有关 Git 的,但是事实上这是一个没有实际意义的页面,不过它总是会给人一种像是真的 Git 页面的感觉…),这使得我对 Git 的敬意油然而生。”

Marko Myllynen

“Git 改变了我作为开发者的生活。它使得 SCM 问题从世界上消失得无影无踪。”

Joel Takvorian

看完这十个爱好者的回答之后,就轮到你了:你最欣赏 Git 的什么?请在评论区分享你的看法!


via: https://opensource.com/article/19/4/what-do-you-love-about-git

作者:Jen Wike Huger 选题:lujun9972 译者:zhs852 校对:wxy

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

以及,对于 无服务器 Serverless 架构,什么时候该用,什么时候不该用呢?

如果将如今互联网体验中最方便实用的那一部分去掉,那么留下来的基本就是 客户端-服务端 client-server 模式了。这一个模式在互联网建立初期就已经在使用了,直到目前都没有太大的变化,也就是说,这个模式仍然在为我们服务。

那么,当人们谈论 无服务器 Serverless 架构的时候,到底是指什么呢?其实,无服务器架构并不是说不使用服务器了。恰恰相反,客户端-服务端模式仍然在其中发挥着重要的作用。

无服务器架构实际上指的是能够让开发者在不需要关心服务器上架、为操作系统打补丁、创建容器镜像这些工作的情况下,就能够完成编码、部署和创建应用这一整套流程的架构。

无服务器架构的三个重要意义

  1. 一些缺乏开发经验的人员现在要参与到开发工作中来了。无服务器架构能够让他们尽量只学习必要的工作内容,把更多的时间放在更具创造性的开发工作中。
  2. 开发者不再需要重复造轮子。运行和维护服务器、为操作系统打补丁、创建容器等这一系列工作,都可以由更专业的无服务器架构提供商来完成。
  3. 最现实的一点是,如果不使用无服务器架构,那么在服务器管理方面,总需要有一个作最终决策的人。当服务器发生崩溃时,或是需要在服务器上执行某些操作时,总是需要这样一个统领全局的人来作出决策。因此最佳的方案是使用无服务器架构。

什么时候该用或者不该用无服务器架构?

听起来无服务器架构是个好东西。但事实上,无服务器架构并不是万能的,在使用之前还需要考虑以下这些因素:

  1. 成本
  2. 使用范围
  3. 时间
  4. 控制方式

其中值得注意的是控制方式。现在已经有一些项目为开发者提供了操作和控制无服务器架构计算环境的工具了,Apache OpenWhisk 就是其中之一。

为什么要将无服务器架构开源?

关于这方面的更多内容,可以观看无服务器架构方面的专家 Saron Yitbarek 在 Command Line Heroes 节目中的访谈。


via: https://opensource.com/article/18/12/serverless-podcast-command-line-heros

作者:Jen Wike Huger 选题:lujun9972 译者:HankChow 校对:wxy

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

以及,还有三本是给宝宝的。

在工作之余,我听说不少技术专家透露出让他们自己的孩子学习更多关于 Linux开源知识的意愿,他们中有的来自高管层,有的来自普通岗位。其中一些似乎时间比较充裕,伴随其孩子一步一步成长。另一些人可能没有充足的时间让他们的孩子看到为何 Linux 和 开源如此之酷。也许他们能抽出时间,但这不一定。在这个大世界中,有太多有趣、有价值的事物。

不论是哪种方式,如果你的或你认识的孩子愿意学习使用编程和硬件,实现游戏或机器人之类东西,那么这份书单很适合你。

面向儿童 Linux 和 开源爱好者的 15 本书

零基础学 Raspberry Pi》,作者 Carrie Anne Philbin

在对编程感兴趣的儿童和成人中,体积小小的、仅信用卡一般大的树莓派引起了强烈的反响。你台式机能做的事情它都能做,具备一定的基础编程技能后,你可以让它做更多的事情。本书操作简明、项目风趣、技能扎实,是一本儿童可用的终极编程指南。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

Python 编程快速上手:让繁琐工作自动化》,作者 Al Sweigart

这是一本经典的编程入门书,行文足够清晰,11 岁及以上的编程爱好者都可以读懂本书并从中受益。读者很快就会投入到真实且实用的任务中,在此过程中顺便掌握了优秀的编程实践。最好的一点是,如果你愿意,你可以在互联网上阅读本书。(DB Clinton 推荐并评论)

Scratch 游戏编程》,作者 Jon Woodcock

本书适用于 8-12 岁没有或仅有有限编程经验的儿童。作为一本直观的可视化入门书,它使用有趣的图形和易于理解的操作,教导年轻的读者如何使用 Scratch 这款流行的自由编程语言构建他们自己的编程项目。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

用 Python 巧学数学》,作者 Amit Saha

无论你是一名学生还是教师,只要你对使用 Python 学习数学感兴趣,不妨读读本书。在逻辑上,本书带领读者一步一步地从基础到更为复杂的操作,从最开始简单的 Python shell 数字运算,到使用类似 matplotlib 这样的 Python 库实现数据可视化,读者可以很容易跟上作者的思路。本书充分调动你的好奇心,感叹 Python 与 数学结合的威力。(Don Watkins 推荐并评论)

编程女生:学习编程,改变世界》,作者 Reshma Saujani

作者是 Girls Who Code 运动的发起人,该运动得到 Sheryl Sandberg、 Malala Yousafzai 和 John Legend 支持。本书一部分是编程介绍,一部分女生赋能,这两部分都写得很有趣。本书包括动态艺术作品、零基础的编程原理讲解以及在 Pixar 和 NASA 等公司工作的女生的真实故事。这本书形象生动,向读者展示了计算机科学在我们生活中发挥的巨大作用以及其中的趣味。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

Python 游戏编程快速上手》,作者 Al Sweigart

本书将让你学会如何使用流行的 Python 编程语言编写计算机游戏,不要求具有编程经验!入门阶段编写 刽子手 Hangman ,猜数字, 井字游戏 Tic-Tac-Toe 这样的经典游戏,后续更进一步编写高级一些的游戏,例如文字版寻宝游戏,以及带音效和动画的 碰撞与闪避 collision-dodgoing 游戏。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

Lauren Ipsum:关于计算机科学和一些不可思议事物的故事》,作者 Carlos Bueno

本书采用爱丽丝梦游仙境的风格,女主角 Lauren Ipsum 来到一个稍微具有魔幻色彩的世界。世界的自然法则是逻辑学和计算机科学,世界谜题只能通过学习计算机编程原理并编写代码完成。书中没有提及计算机,但其作为世界的核心存在。(DB Clinton 推荐并评论)

Java 轻松学》,作者 Bryson Payne

Java 是全世界最流行的编程语言,但众所周知上手比较难。本书让 Java 学习不再困难,通过若干实操项目,让你马上学会构建真实可运行的应用。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

终身幼儿园》,作者 Mitchell Resnick

幼儿园正变得越来越像学校。在本书中,学习专家 Mitchel Resnick 提出相反的看法:学校(甚至人的一生)应该更像幼儿园。要适应当今快速变化的世界,各个年龄段的人们都必须学会开创性思维和行动;想要达到这个目标,最好的方式就是更加专注于想象、创造、玩耍、分享和反馈,就像孩子在传统幼儿园中那样。基于在 MIT 媒体实验室 Media Lab 30 多年的经历, Resnick 讨论了新的技术和策略,可以让年轻人拥有开创性的学习体验。(Don Watkins 推荐,评论来自 Amazon 书评)

趣学 Python:教孩子学编程》,作者 Jason Briggs

在本书中,Jason Briggs 将 Python 编程教学艺术提升到新的高度。我们可以很容易地将本书用作入门书,适用群体可以是教师/学生,也可以是父母/儿童。通过一步步引导的方式介绍复杂概念,让编程新手也可以成功完成,进一步激发学习欲望。本书是一本极为易读、寓教于乐但又强大的 Python 编程入门书。读者将学习基础数据结构,包括 元组 turple 列表 list 映射 map 等,学习如何创建函数、重用代码或者使用包括循环和条件语句在内的控制结构。孩子们还将学习如何创建游戏和动画,体验 Tkinter 的强大并创建高级图形。(Don Watkins 推荐并评论)

Scratch 编程园地》,作者 Al Sweigart

Scratch 编程一般被视为一种寓教于乐的教年轻人编程的方式。在本书中,Al Sweigart 告诉我们 Scratch 是一种超出绝大多数人想象的强大编程语言。独特的风格,大师级的编写和呈现。Al 让孩子通过创造复杂图形和动画,短时间内认识到 Scratch 的强大之处。(Don Watkins 推荐并评论)

秘密编程者》,作者 Gene Luen Yang,插图作者 Mike Holmes

Gene Luen Yang 是漫画小说超级巨星,也是一所高中的计算机编程教师。他推出了一个非常有趣的系列作品,将逻辑谜题、基础编程指令与引入入胜的解谜情节结合起来。故事发生在 Stately Academy 这所学校,其中充满有待解开的谜团。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

想成为编程者吗?编程、视频游戏制作、机器人等职业终极指南!》,作者 Jane Bedell

酷爱编程?这本书易于理解,描绘了以编程为生的完整图景,激发你的热情,磨练你的专业技能。(Joshua Allen Holm 推荐,评论节选于本书的内容提要)

教孩子编程》,作者 Bryson Payne

你是否在寻找一种寓教于乐的方式教你的孩子 Python 编程呢?Bryson Payne 已经写了这本大师级的书。本书通过乌龟图形打比方,引导你编写一些简单程序,为高级 Python 编程打下基础。如果你打算教年轻人编程,这本书不容错过。(Don Watkins 推荐并评论)

图解 Kubernetes(儿童版)》,作者 Matt Butcher, 插画作者 Bailey Beougher

介绍了 Phippy 这个勇敢的 PHP 小应用及其 Kubernetes 之旅。(Chris Short 推荐,评论来自 Matt Butcher 的博客

给宝宝的福利书

宝宝的 CSS》、《宝宝的 Javascript》、《宝宝的 HTML》,作者 Sterling Children's

这本概念书让宝宝熟悉图形和颜色的种类,这些是互联网编程语言的基石。这本漂亮的书用富有色彩的方式介绍了编程和互联网,对于技术人士的家庭而言,本书是一份绝佳的礼物。(Chris Short 推荐,评论来自 Amazon 书评)

你是否有想要分享的适合宝宝或儿童的书呢?请在评论区留言告诉我们。


via: https://opensource.com/article/18/5/books-kids-linux-open-source

作者:Jen Wike Huger 选题:lujun9972 译者:pinewall 校对:wxy

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

看看我们现在在读什么?

最近我在作者社区征集分享大家正在读的书。大家生活阅历和工作岗位各不相同,共同点是每天都与 Linux 和开源打交道。

享受这份不可思议的书单吧,其中大部分是免费的,可以下载。

在书单中,你可能发现一直想读的书、完全陌生的书以及像老朋友一样的已经读过的书。

我们期待你给出对书单的看法,可以在分享在下方的评论区,也可以通过 #Linuxbooks 和 #opensourcebooks 主题词分享在 Twitter 上。

加入你书单的 17 本书

文末,还附赠了一篇科幻小说作品。

FreeDOS 的 23 年岁月,作者 Jim Hall

从去年起,FreeDOS 项目已经 23 岁了。虽然在 23 年中并没有什么特殊事件,但该项目决定庆祝这个里程碑,形式为分享不同人群使用 FreeDOS 或对 FreeDOS 做出贡献的故事。这本以 CC BY 协议开源的书籍收录了一系列短文,描绘了 FreeDOS 从 1994 开始的历程,以及人们现在如何使用 FreeDOS。(Jim Hall 推荐并评论)

JavaScript 编程精解,作者 Marijn Haverbeke

这本书基于无处不在的编程语言 Javascript,教你编写制作精美的程序。你可以学习语言的基本知识和高级特性,学习如何编写可在浏览器或 Node.js 环境中运行的程序。本书包含 5 个有趣的项目,例如制作游戏平台,甚至编写你自己的编程语言,在这过程中你会更加深入理解真实的编程。(Rahul Thakoor 推荐并评论)

使用开源打造未来,作者 VM (Vicky) Brasseur

如果你希望在开源领域做出贡献但无从下手,这本书会教会你。内容包括如何确定要加入的项目,以及如何做出你的首次贡献。(Ben Cotton 推荐并评论)

Git 团队协作,作者 Emma Jane Hogbin Westby

Git 是一款版本管理系统,被个人和团队广泛使用;但其强大的功能也意味着复杂性。这本书指导你如何在团队环境中有效地使用 Git。想了解更多信息,请参考我们的深入点评。(Ben Cotton 推荐并评论)

谈判力,作者 Fisher, Ury 及 Patton

哈佛谈判项目 The Harvard Negotiation Project 成立于 20 世纪七十年代,是一个经济学家、心理学家、社会学家和政治学者共同参与的学术项目,目标是建立一个让谈判各方都受益更多的谈判框架。他们的框架和技巧已经在各类场景发挥作用,其中包括 1978 年埃及与以色列之间的签订的 戴维营协议 Camp David Accords

原则式谈判 Principled Negotiation 包括理解谈判参与者的真实需求,以及基于该信息达成各方都可接受的条款。同样的技巧可以在处理人与人之间的纠纷、关于车辆与房屋的谈判以及与保险公司的商讨时发挥作用。

这与开源软件开发有什么联系呢?在某种意义上,开源领域中的一切都是谈判。提交漏洞报告就是指出某些代码工作不正常,让某些人放下手头工作并优先处理该漏洞。邮件列表中对完成某些工作的正确方式的激烈讨论或对功能请求的评论,都是一种关于项目范畴和目标的谈判,通常是在信息不充足情况下进行的。

将上述对话视为一种探索,试图理解为何其它人提出来某些需求,让其明白你为何持有另外的观点,可以让你在开源项目中显著地改善人际关系和提高工作效率。(Dave Neary 推荐并评论)

只是为了好玩:Linux 之父 Linus Torvalds 自传,作者 Linus Torvalds 等

Linux 是一款令人惊奇的、强力的操作系统,引发了关于透明和开放的运动。驱动 Linux 的开源思潮对传统商业和资本增值模型造成冲击。在本书中,你会了解到 Linus 本人及 Linux 操作系统的过人之处。洞悉那些改变 Linus 命运的经历,这些经历让他从一个喜欢折腾他祖父钟表的怪人,转变成编写全球主流操作系统 Linux 的大师。(Don Watkins 推荐并评论)

1 个月速成 Linux,作者 Steven Ovadia

这本书用于教会非技术领域的用户如何使用桌面版 Linux,读者每天花费一小时即可。这本书覆盖面比较很广,包括选择桌面环境、安装软件以及如何使用 Git。阅读完这本书,你可以完全使用 Linux 替换掉其它操作系统。(Steven Ovadia 推荐并评论)

Linux 实战,作者 David Clinton

这本身介绍了不少 Linux 管理工具的干货,适用于想提升技术水平的人群,包括 IT 专家、开发者、DevOps 专家等。本书不是割裂地介绍各种技术,而是按照真实项目组织内容,例如异地备份自动化、Web 服务器安全加密以及搭建可以安全连接公司资源的 VPN 等。更多内容可以参考作者的另一本书。(David Clinton 推荐并评论)

创客丛书: 为创客准备的 Linux,作者 Aaron Newcomb

对于想通过 树莓派 创造和创新的人来说,这本书是必读的。这本书将领你入门,让你玩转你的树莓派,同时帮你理解 Raspbian Linux 操作系统(与传统 Linux )的细微差别。书中文字巧妙又浅显,可以让任何阅读本书的创客解锁树莓派的潜力。文字简洁,编写精良,包含大量极好的阐述和实战案例。(Jason Hibbets 推荐,Don Watkins 评论)

人性管理:一个软件工程经理刺激诙谐的经历 by Michael Lopp

Michael Lopp 是热门博客 Rands 在休息的作者,他的笔名 Rands 更为人熟知。这本书是在博客帖子的基础上修订集结而成,内容为软件开发团队的管理。Rands 的工作哲学为“软件开发中最复杂的部分是人际交往”,这是我对于本书和博客内容最欣赏的一点。本书涵盖一系列主题,包括分析一个团队,理解每个团队成员的个性以及设计如何让每个人都各尽所能。

这些主题适用面很广,作为一个开源社区管理者,我一直和这些事情打交道。如何得知某个成员已经精疲力尽?如何组织一个好的会议?如何在项目和团队扩大时形成项目和团队文化?如何判断流程是适度的?在开发之外,这类问题一直涌现出来;Rands 的不羁、诙谐的看法让人受教的同时给人感到快乐。(Dave Neary 推荐并评论)

开源:来自开源革命的呐喊 (O'Reilly, 1999)

对于开源狂热者而言,这本书是必读的。Linus Torvalds、Eric S. Raymond、Richard Stallman、Michael Tiemann、 Tim O'Reilly 等开源运动中的领军人物分享他们对发展迅猛的开源软件运动的看法。(Jim Hall 推荐,Jen Wike Huger 评论)

创作开源软件:如何运营一个成功的自由软件项目,作者 Karl Fogel

这本书面向人群包括,期望建立或已经正在建立开源社区,或更好的理解成功开源项目社区的开发趋势。Karl Fogel 分析研究了成功开源项目的特点,以及它们如何围绕项目发展成社区。对于如何围绕项目发展社区,这本书为社区管理者(或致力于成为社区管理者的人)提供了建设性的建议。鲜有书籍可以(像本书这样)深入观察开源社区的发展并给出大量成功点子,但你仍需要结合你的项目和社区因地制宜的行动。(Justin Flory 推荐并评论)

机器人编程,作者 Albert W. Schueller

这本书介绍乐高头脑风暴 NXT 编程的基础。并不需要读者编写复杂的程序,而是通过编程让设备可以感知并与真实世界进行交互。通过完成传感器、电机实验,以及编程制作音乐,你可以了解软硬件如何协调工作。(Rahul Thakoor 推荐并评论)

AWK 编程语言,作者 Alfred V. Aho, Brian W. Kernighan 和 Peter J. Weinberger

这本书的作者就是 awk 语言的发明者,本书风格类似于 20 世纪 70 至 90 年代贝尔实验室 Unix 小组出版的类 Unix 工具书籍,使用简明、紧凑的文字介绍了 awk 的原理和目标。书中包含不少示例,从简单的开始,后面会结合描述详尽的问题或前沿案例,示例也变得复杂。本书刚出版时,典型的读者需求如下:处理和转换文本或数据文件,以及便捷地创建查询表、使用正则表达式、根据输入调整结构、对数值执行数学变换并便捷设置输出格式等。

上述需求依然存在,现在这本书也可以给人们提供一个回顾那个只能使用终端交互的年代的机会。在那时,通过“模块化”可以使用多个单一用途的程序编写 shell 脚本,用于管道处理数据,最终计算机给出人们预期的结果。在今天,awk 被视为运维工具,在处理配置文件和日志文件方面效果不错,这本书也介绍了一些这方面的内容。(Jim Hall 推荐,Chris Hermansen 评论)

像计算机科学家一样思考 Python,作者 Allen Downey

这本书是作者系列图书中的一本,介绍 Python 编程语言,系列中还有其它编程语言,包括 Java 和 Perl 等。介绍完基础的编程语法后,本书进入主题环节,着重介绍问题解决者如何构建解决方案。本书概念层次清晰,对编程初学者是很好的入门读物;对于希望在课堂等地方提高编程技能的新手,本书也适用;本书的若干章节配有例子和习题,可供测试已学的技能。(Steve Morris 介绍并评论)

认识开源和自由软件协议 (O'Reilly, 2004)

“这本书填补了开源理念与法律基础上的真实意义之间的空白。如果你对开源和自由软件协议感兴趣,那么本书可以帮忙加深理解。如果你是一名开源/自由软件开发者,这本书显然是必须的。“(Jim Hall 推荐,评论来自 Amazon

Unix 文本处理,作者 Dale Dougherty 及 Tim O'Reilly

本书写于 1987 年,用于介绍 Unix 系统及作家如何使用 Unix 工具帮助其工作。对于希望学习包括 vi 编辑器、awk、shell 脚本在内的 Unix shell 基础及 nroff/troff 排版系统的初学者而言,本书仍然是有用的资源。原版已绝版,但 O'Reilly 将本书制作为电子书,可在其网站上免费获得。(Jim Hall 推荐并评论)

福利:科幻小说

11 号太空站,作者 Emily St. John Mandel

故事时间设定为不远的未来,地球人口随着神秘而致命的流感爆发而锐减,故事发生在 20 年后。主人公 Kirsten Raymonde 是一名年轻女性,坚信“仅仅活着是不够的”,为此她在后世界末日时代带着一个游牧剧团在五大湖区域附近勇敢地旅行。这是个精彩的故事,很值得一读。

这本书让我震惊的是我们与技术之间实际上那么脆弱的关系。Douglas Adams 的 《Mostly Harmless》 书中有一句话很经典:“仅靠双手,他无法制造一个面包机。但他可以制作三明治,就是这样”。在 Kristin Raymonde 的世界中,每个人仅能靠自己的双手。这里没有电,因为电力网络无法运作;没有汽车,因为炼油厂无法运作。

书中有一个有趣的桥段,一个发明家使用自行车组装了一台发电机,试图启动一台笔记本电脑,尝试查看是否还存在互联网。我们看到旧世界留存的、无用的东西堆成的文明博物馆,内容包括护照、移动电话、信用卡和高跟鞋等。

世界上的全部技术都变得无用。(Dave Neary 推荐并评论)


via: https://opensource.com/article/18/5/list-books-Linux-open-source

作者:Jen Wike Huger 选题:lujun9972 译者:pinewall 校对:wxy

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

在我们今年的年度顶级开源项目列表中,让我们回顾一下作者们提到的几个 2016 年受欢迎的项目,以及社区管理员选出的钟爱项目。

我们持续关注每年新出现的、成长、改变和发展的优秀开源项目。挑选 10 个开源项目到我们的年度顶级项目列表中并不太容易,而且,也没有哪个如此短的列表能够包含每一个应该包含在内的项目。

为了挑选 10 个顶级开源项目,我们回顾了作者们 2016 年涉及到的流行的开源项目,同时也从社区管理员收集了一些意见。经过管理员的一番推荐和投票之后,我们的编辑团队选定了最终的列表。

它们就在这儿, 2016 年 10 个顶级开源项目:

Atom

Atom 是一个来自 GitHub 的 可魔改的 hackable 文本编辑器。Jono Bacon 在今年的早些时候为它的“简单核心”写了一篇文章,对该开源项目所给用户带来的选择而大加赞赏。

Atom 带来了大多数用户想要的主要核心特性和设置,但是缺失了一些用户可能想要的更加高级或独特的特性。……Atom 提供了一个强大的框架,从而允许它的许多部分都可以被改变或扩展。”

如果打算开始使用 Atom, 请先阅读这篇指南。如果想加入到用户社区,你可以在 GitHubDiscussSlack 上找到 Atom 。

Atom 是 MIT 许可的,它的源代码托管在 GitHub 上。

Eclipse Che

Eclipse Che 是下一代在线集成开发环境(IDE)和开发者工作区。Joshua Allen Holm 在 2016 年 11 月为我们点评了 Eclipse Che,使我们可以一窥项目背后的开发者社区,Eclipse Che 创新性地使用了容器技术,并且开箱即用就支持多种流行语言。

“Eclipse Che 集成了 就绪即用 ready-to-go 软件环境 stack 覆盖了绝大多数现代流行语言。这包括 C++、Java、Go、PHP、Python、.NET、Node.js、Ruby on Rails 和 Android 开发的软件环境。 软件环境仓库 Stack Library 如果不够的话,甚至还提供了更多的选择,你可以创建一个能够提供特殊环境的定制软件环境。”

你可以通过网上的托管账户本地安装,或者在你常用的云供应商上测试 Eclipse Che。你也可以在 GitHub 上找到它的源代码,发布于 Eclipse 公开许可证之下。

FreeCAD

FreeCAD 是用 Python 写的,是一款电脑辅助设计工具(或叫电脑辅助起草工具),可以用它来为实际物体创建设计模型。 Jason Baker 在 3 款可供选择的 AutoCAD 的开源替代品一文中写到关于 FreeCAD :

“FreeCAD 可以从各种常见格式中导入和导出 3D 对象,其模块化结构使得它易于通过各种插件扩展基本功能。该程序有许多内置的界面选项,这包括从草稿到渲染器,甚至还有一个机器人仿真能力。”

FreeCAD 是 LGPL 许可的,它的源代码托管在 GitHub 上。

GnuCash

GnuCash 是一个跨平台的开源桌面应用,它可以用来管理个人和小型商业账户。 Jason Baker 把 GnuCash 列入了我们针对个人金融的 Mint 和 Quicken 的开源替代品的综述列表中:

GnuCash “具有多项记账的特性,能从多种格式导入数据,处理多重汇率,为你创建预算,打印支票,创建定制计划报告,并且能够直接从网上银行导入和拉取股票行情。”

其发布于 GPL 版本 2 或版本 3 许可证下,你可以在 GitHub 上找到 GnuCash 的源代码

一个值得一提的 GnuCash 可选替代品是 KMyMoney,它也得到了该列表的提名,是另一个在 Linux 上管理财务的好选择。

Kodi

Kodi 是一个开源媒体中心应用,之前叫做 XBMC,它能够在多种设备上工作,是一个用来 DIY 播放电影、TV、音乐的机顶盒的工具。 Kodi 高度可定制化,它支持多种皮肤、插件和许多遥控设备(包括它自己定制的 Android remote 应用)。

尽管今年我们没有深入地报道 Kodi, 但依旧出现在许多关于创建一个家用 Linux 音乐服务器、媒体管理工具的文章中,还出现在之前的一个关于最喜爱的开源视频播放器的投票中(如果你在家中使用 Kodi,想要写一些自己的体验,请让我们知道)。

其发布于 GPLv2 许可证下,你可以在 GitHub 上找到 Kodi 的源代码

MyCollab

MyCollab 是一套针对顾客关系管理(CRM)、文档管理和项目管理的工具。社区管理员 Robin Muilwijk 在他的综述 2016 年 11 个顶级的项目管理工具一文中详细阐述了 MyCollab-Project :

“MyCollab-Project 包含许多特性,比如甘特图、里程碑、时间跟踪和事件管理。它有 Kanban 板功能,因而支持敏捷开发模式。 MyCollab-Project 有三个不同的版本,其中社区版是自由且开源的。”

安装 MyCollab 需要 Java 运行环境和 MySQL 环境的支持。请访问 MyCollab 网站来了解如何对项目做贡献。

MyCollab 是 AGPLv3 许可的,它的源代码托管在 GitHub 上。

OpenAPS

OpenAPS 是社区管理员在 2016 年发现的另一个有趣的项目,我们也深入报道过它。 OpenAPS,即 Open Artificial Pancreas System 项目,是一个致力于提高 1 型糖尿病患者生活质量的开源项目。

该项目包含“一个专注安全的典范(reference)设计、一个工具箱和一个开源的典范(reference)实现,它们是为设备制造商或者任何能够构造人工胰腺设备的个人设计的,从而能够根据胰岛素水平安全地调节血液中葡萄糖水平。尽管潜在用户在尝试亲自构建或使用该系统前应该小心地测试该项目并和他们的健康护理医生讨论,但该项目的创建者希望开放技术能够加速医疗设备行业的研究和开发步伐,从而发现新的治疗方案并更快的投入市场。”

OpenHAB

OpenHAB 是一个具有可插拔体系结构的家用自动化平台。社区管理员 D Ruth Bavousett 今年购买该平台并尝试使用以后为 OpenHAB 写到

“我所发现的其中一个有趣的模块是蓝牙绑定;它能够发现特定的已启用蓝牙的设备(比如你的智能手机、你孩子的那些设备)并且在这些设备到达或离开的时候采取行动-关门或开门、开灯、调节恒温器和关闭安全模式等等”

查看这个能够与社交网络、即时消息和云 IoT 平台进行集成和通讯的绑定和捆绑设备的完整列表

OpenHAB 是 EPL 许可的,它的源代码托管在 GitHub 上。

OpenToonz

OpenToonz 是一个 2D 动画生产软件。社区管理员 Joshua Allen 在 2016 年 3 月报道了它的开源版本,在 Opensource.com 网站的其他动画相关的文章中它也有被提及,但是我们并没有深入介绍,敬请期待。

现在,我们可以告诉你的是, OpenToonz 有许多独一无二的特性,包括 GTS,它是吉卜力工作室(Studio Ghibli )开发的一个生成工具,还有一个用于图像处理的效果插件 SDK

如果想讨论开发和视频研究的话题,请查看 GitHub 上的论坛。 OpenToonz 的源代码托管在 GitHub 上,该项目是以 BSD 许可证发布。

Roundcube

Roundcube 是一个现代化、基于浏览器的邮件客户端,它提供了邮箱用户使用桌面客户端时可能用到的许多(如果不是全部)功能。它有许多特性,包括支持超过 70 种语言、集成拼写检查、拖放界面、功能丰富的通讯簿、 HTML 电子邮件撰写、多条件搜索、 PGP 加密支持、会话线索等。 Roundcube 可以作为许多用户的邮件客户端的偶尔的替代品工作。

在我们的 Gmail的开源替代品 综述中, Roundcube 和另外四个邮件客户端均被包含在内。

其以 GPLv3 许可证发布,你可以在 GitHub 上找到 Roundcube 的源代码。除了直接下载、安装该项目,你也可以在许多完整的邮箱服务器软件中找到它,如 GroupwareiRedMailMail-in-a-Boxmailcow

这就是我们的列表了。在 2016 年,你有什么喜爱的开源项目吗?喜爱的原因呢?请在下面的评论框发表。


作者简介:

Jen Wike Huger - Jen Wike Huger 是 Opensource.com 网站的内容管理员。她负责日期发布、协调编辑团队并指导新作者和已有作者。请在 Twitter 上关注她 @jenwike, 并在 Jen.io 上查看她的更多个人简介。


via: https://opensource.com/article/16/12/yearbook-top-10-open-source-projects

作者:Jen Wike Huger 译者:ucasFL 校对:wxy

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