分类 观点 下的文章

他没有提到任何人的名字,但是这像一次道歉

Linus Torvalds在前几天的欧洲LinuxCon和CloudOpen大会上做了讲话,这次大会由Linux基金会组织并且汇聚了开源世界的所有大佬。他回答了很多问题,也谈到了他在邮件发送清单里使用粗话的事情。

Linus Torvalds被认为是Linux内核的创造者和Linux最新的开发版本的维护者。他给我们几乎每个星期都带来一个新的内核RC 版本,并且会在邮件列表里面进行大量的讨论。在这些讨论中,他经常口不择言地用粗话大骂一些开发者们。

最近又出现了一个这种事情,就像我们在新闻里报道过的一样,他在做了一些苛刻的评论之后,决定砍掉一些他认定的开发者的代码。大家都知道Linus很招人厌烦,尤其是当内核开发者为了修复内核中的一些问题而破坏了用户空间。这次又发生了同样的事情,他基本上已经把那个家伙给气疯了。

这是他最接近道歉意味的一次谈话

以前Linus Torvalds从不真正去特地谈论这些事情,大家也习惯了。但是最近一个systemd开发者谈到了在开源社区充斥着粗话,并且点名提到了Linus Torvalds。他不太习惯于道歉,所以这次在LinuxCon大会上的这次“认错”是他跨出的一大步。

主持人询问他在过去的23年里所做过的决定有什么最后悔的吗?

"从技术角度来看,没有哪个决定重要到这个程度...有个问题是慢慢地疏远了用户和开发者,而我却恰恰很擅长这个。我说了粗话,但是这不是我想要改变的某一个决定,这些粗话应该有所限制。"

"其中一个原因是我们有说粗话的传统,很多人觉得倒胃口,特别是当有强烈的意愿和推动力的技术人员要做一些技术上的进步时,你就需要用一些强烈的语言来表达你的意愿。" Linus Torvalds 如是说

他没提到任何人或者任何事件的名字,但很像是对于一位名为Leonart Pottering的systemd开发者挑起事端的回应,看上去就是针对这起事件。

Linux内核3.18 RC1也在上周发布了,我们又有新东西玩了。


via: http://news.softpedia.com/news/Linus-Torvalds-Regrets-Alienating-Developers-with-Strong-Language-462191.shtml

作者:Silviu Stahie 译者:ZTinoZ 校对:wxy

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

循序渐进的指导

你有这个问题:你已经权衡了开源代码的优劣势,你也已经知道你的软件需要成为一个开源项目,但是,你不知道怎么做好的开源项目。

当然,你也许已经知道如何创建Github帐号并开始,但是这些事实上是做开源比较简单的部分。而真真正正难的部分是如何让足够多的人,关注你的项目并给你的项目做贡献。

接下来的原则是会指导你构建和发布其他人愿意关注的代码。

基本原则

选择开源可能有许多原因。也许你希望吸引一个社区来帮助编写你的代码。也许,总所周知,你明白“开源 —— 一个开发小团队内部编写代码的倍增器。”

或者你只是认为这是必须做的事,如同英国政府一样

无论何种原因,为了开源能够成功,是必须要做很多的计划去给将来使用这个软件的人们。如同我在2005写道,如果你“需要大量的人做贡献(bug修复,扩展等等)”,那么你需要“写一个好的文档,使用易于接受的编程语言,和使用模型架构”。

对了,你也需要写人们在乎的软件。

每天思考你依靠的技术:操作系统,web应用框架,数据库,等等。远离像航天这样,特殊行业的小生态技术,让开源拥有更多的可能性以便外部的(人的)产生兴趣和做出贡献。更广泛的应用技术,找到更多的贡献者和用户。

总的来说,任何成功的开源项目有以下共同点:

1.最佳的时间时机(解决市场实际需求)

2.一个健壮,包括开发者和非开发者的团队

3.一个易于参与的结构(更多详见下文)

4.模块化编码,使新贡献者更容易找到一个项目损坏的部分去贡献,比强迫他们理解巨大的代码的每一部分要好

5.代码可以广泛应用(或者达到一个狭窄的流行都比一个“自生自灭的”小生态更吸引人)

6.很好初始源码(如果你放垃圾在Github,你也只会得到垃圾回报)

7.一个自由的许可证-我个人更爱Apache型的许可证,因为它让开发者采用时障碍最低,当然许多成功的项目(如Linux和MySQL)使用GPL许可证也有很棒的效果。

上述几项,是一个项目成功邀请参与者最难的部分。这是因为他们不是关于代码而是关于人。

开源不单是一个许可证

今年,最棒的一件事是我读到是来自 Vitorio Miliano (@vitor\_io)的文章,他是用户体验交互设计师,来自德州的奥斯丁。Miliano指出,那些不在你的项目上工作的人才是“外行”,从本质上说无论他们技术能力的级别,他们仅仅懂一点代码(也没关系)。

所以你的工作,他认为,是使人加入,为你贡献你的代码变得简单。当阐述如何涉及非程序员到开源项目中,他指出项目的一些事项,项目领导应需要有效地得加入一些任何技术或不懂技术的人到开源项目。

  1. 一种方法去了解你的项目价值
  2. 一种方法去了解他们可以为项目提供的价值
  3. 一种方法去了解他们可以从贡献代码获得的价值
  4. 一种方法去了解贡献流程,端到端
  5. 贡献机制适用于现有的工作流

经常,项目领导者想要集中于上述的第五步,却不提供理解1到4的路径。如果潜在的贡献者不欣赏“为什么”,“如何”共享就变得不重要了。

注意,至关重要的,Miliano写道,建立拥有一个通俗易懂的简介的项目很有价值,如同任何时候通过简介给每一个人演示可访问性和包容性。他断言道,这增加了额外的好处,文档和其他的版本介绍的内容变得通俗易懂。

关于第二点,程序员或非程序员同样地需要能够明白到底你需要什么,这样他们就可以认识到他们的贡献(方向)。有时就像MongoDB解决方案架构师Henrik Ingo告诉我那样,"一个聪明的人可以贡献很棒的代码,但是项目成员不能理解它(代码)",如果在组织内承认这个贡献并且研究后理解,那么这就不是一个糟糕的问题。

但是不会经常发生。

你真的想领导一个开源项目吗?

许多开源项目的领导提倡包容性,但是他们拥有任何事除了包容。如果你不想要人们做贡献,不要假装开源。

是的,有时这是老生常谈的话题。就像HackerNews最近的报道一个开发者的开发工作

小项目可以得到很多,基本不需要很多人合作来完成。我看到了他们的进步,但是我没有看到我自己的进步:如果我帮助了他们,显然,如果我花费了有限的时间在与那些计算机科学的硕士管理合作上,而没有参与编码,这不是我想要的。所以我忽略了他们。

这是一个保持理智的的好方法,但这个态度并不能预示着这个项目会被广阔的分享。

如果你确实很少关心非程序员设计的贡献、文档,或者无论其他什么,那么请首先了解那些。再次强调,如果这是实情,你的项目就不能成为一个开源项目。

当然,排除感觉不总是可靠的。 就像ActiveState的副总裁Bernard Golden告诉过我,“一些将会成为开发人员将会对现有的“小集团”开发团体这种感觉感到恐惧,虽然这不一定正确。”

现在,若使了解开发人员为什么要贡献并邀请做开发,意味着更多的开源项目投资,更长久地生存。

图片由Shutterstock提供


via: http://readwrite.com/2014/08/20/open-source-project-how-to

作者:Matt Asay 译者:Vic\_\_\_/VicYu 校对:wxy

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

**在谷歌输入‘Can Ubunt[u]’,一系列的自动建议会展现在你面前。这些建议都是根据最近搜索用户最频繁检索而形成的。

对于Linux老用户来说,他们都胸有成竹的回答这些问题。但是对于新用户或者那些还在探索类似Ubuntu这样的发行版是否适合的人来说,他们不是十分清楚这些答案。这都是中肯,真实而且是基本的问题。

所以,在这片文章,我将会去回答4个最常会被搜索到的"Can Ubuntu...?"问题。

Ubuntu可以取代Windows吗?

Windows isn’t to everyones tastes — or needs

Windows 并不是每个人都喜欢或都必须的

是的。Ubuntu(和其他Linux发行版)是可以安装到任何一台有能力运行微软系统的电脑。

无论你觉得应不应该取代它,要不要替换只取决于你自己的需求。

例如,你在上大学,所需的软件都只是Windows而已。暂时而言,你是不需要完全更换你的系统。对于工作也是同样的道理。如果你工作所用到的软件只是微软Office, Adobe Creative Suite 或者是一个AutoCAD应用程序,不是很建议你更换系统,坚持你现在所用的软件就足够了。

但是对于那些用Ubuntu完全取代微软系统的我们,Ubuntu 提供了一个安全的桌面工作环境。这个桌面工作环境可以运行与支持很广的硬件环境。基本上,每个东西都有软件的支持,从办公套件到网页浏览器,视频应用程序,音乐应用程序到游戏。

Ubuntu 可以运行 .exe文件吗?

你可以在Ubuntu运行一些Windows应用程序。

你可以在Ubuntu运行一些Windows应用程序

是可以的,尽管这些程序不是一步到位,或者不能保证运行成功。这是因为这些软件原本就是在Windows下运行的,本来就与其他桌面操作系统不兼容,包括Mac OS X 或者 Android (安卓系统)。

那些专门为Ubuntu(和其他 Debian 系列的 Linux 发行版本)的软件安装包都是带有“.deb”的文件后缀名。它们的安装过程与安装 .exe 的程序是一样的 -双击安装包,然后根据屏幕提示完成安装。 (LCTT 译注:RedHat 系统采用.rpm 文件,其它的也有各种不同的安装包格式,等等,作为初学者,你可以当成是各种压缩包格式来理解)

但是Linux是很多样化的。它使用一个名为"Wine"的兼容层,可以运行许多当下很流行的应用程序。 (Wine不是一个模拟器,但是简单来看可以当成一个快捷方式。)这些程序不会像在Windows下运行得那么顺畅,或者有着出色的用户界面。然而,它足以满足日常的工作要求。

一些很出名的Windows软件是可以通过Wine来运行在Ubuntu操作系统上,这包括老版本的Photoshop和微软办公室软件。 有关兼容软件的列表,参照Wine应用程序数据库

Ubuntu会有病毒吗?

它可能有错误,但是它并没有病毒

它可能有错误,但是它并有病毒

理论上,它会有病毒。但是,实际上它没有。

Linux发行版本是建立在一个病毒,蠕虫,隐匿程序都很难被安装,运行或者造成很大影响的环境之下的。

例如,很多应用程序都是在没有特别管理权限要求,以普通用户权限运行的。病毒要访问系统关键部分的请求也是需要用户管理权限的。很多软件的提供都是从那些维护良好的而且集中的资源库,例如Ubuntu软件中心,而不是一些不知名的网站。 由于这样的管理使得安装一些受感染的软件的几率可以忽略不计。

你应不应该在Ubuntu系统安装杀毒软件?这取决于你自己。为了自己的安心,或者如果你经常通过Wine来使用Windows软件,或者双系统,你可以安装ClamAV。它是一个免费的开源的病毒扫描应用程序。你可以在Ubuntu软件中心找到它。

你可以在Ubuntu维基百科了解更多关于病毒在Linux或者Ubuntu的信息。 Ubuntu 维基百科

在Ubuntu上可以玩游戏吗?

Steam有着上百个专门为Linux设计的高质量游戏。

Steam有着上百个专门为Linux设计的高质量游戏

当然可以!Ubuntu有着多样化的游戏,从传统简单的2D象棋,拼字游戏和扫雷游戏,到很现代化的AAA级别的要求显卡很强的游戏。

你首先可以去 Ubuntu 软件中心。这里你会找到很多免费的,开源的和收费的游戏,包括广受好评的独立制作游戏,像World of Goo 和Braid。当然也有其他传统游戏的提供,例如,Pychess(国际象棋),four-in-a-row(四子棋)和Scrabble clones(猜字拼字游戏)。

对于游戏狂热爱好者,你可以安装Steam for Linux。在这里你可以找到各种这样最新最好玩的游戏。

另外,记得留意这个网站:Humble Bundle。每个月都会有两周的这种“只买你想要的”的套餐。作为游戏平台,它是对Linux特别友好的支持者。因为每当一些新游戏出来的时候,它都保证可以在Linux下搜索到。


via: http://www.omgubuntu.co.uk/2014/08/ubuntu-can-play-games-replace-windows-questions

作者:Joey-Elijah Sneddon 译者:Shaohao Lin 校对:wxy

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

越来越多的公司意识到,要想比对手率先开发出高质量具有创造性的软件,关键在于积极使用开源项目。软件版本更迭要求市场推广速度足够快,成本足够低,而仅仅使用商业源代码已经无法满足这些需求了。如果不能选择最合适的开源软件集成到自己的项目里,一些令人称道的点子怕是永无出头之日了。

然而,使用开源软件也要面对新的挑战。一方面,你的团队从开源软件中汲取力量变得更快更灵活,另一方面,开源代码在传播过程中是否经历了不可控修改、安全性该如何保障的问题也日益凸显了出来。

OpenSSL Heartbleed 漏洞已经证实。如果你不了解你的应用程序或者已发布的产品中到底运行着什么代码,那你就可能面临需要大量时间才能解决的潜在安全威胁。相反,如果对项目里什么地方使用了什么版本的开源组件都了如指掌,一旦遇到漏洞,响应速度和解决速度都会是千金不换的。

安全性藏在代码内部

Heartbleed bug 让开发人员和企业知道了软件安全性有多重要。专利软件和开源软件哪个更安全?这场广泛受到关注的讨论并没有一个简单的结论。现实情况是,不论是专利软件还是开源软件,它们绝大部分都有缺陷,其中一些缺陷还威胁到软件的安全性。

如果开源软件被内部代码、专利代码引用了,那开发人员将不得不面对更复杂的安全性挑战。要是管理授权许可的手段再不恰当,那想追溯一段代码的来源和引用就得把相关人员全都牵连进来,难度必然急剧增加。

要想切实了解你软件的潜在漏洞,首先你得理解以下三件事儿:

  1. 你的产品和应用程序里现在跑着什么代码?
  2. 那些开发前期使用的代码,开发人员是从哪儿弄来的?
  3. 开发后期使用了哪些组件,这些组件有哪些地方要在部署之前充分测试?

现状怎么样

所有企业都应该对比常见漏洞数据库——比如美国国家标准与技术学会的国家漏洞数据库(NVD)——来检查他们的代码。NVD 等组织追踪并收集了各种安全漏洞的信息以及排名,这些数据可以协助企业确保代码及时更新,规避安全风险。

如果你从没对照漏洞数据库检查过你的代码,那你可有的忙了。好在我们有个可以利用这些数据库定期自动识别开源安全漏洞的工具,这个工具还可以警示和追踪项目中使用的受影响的开源组件并提供必要的解决方案。

持续监控你的代码库能保证及时发现未知代码、了解代码来源、授权信息不会过时、安全漏洞一旦出现就能第一时间掌握并寻求解决方案。如果你的公司有详细的代码清单,你就能轻而易举地找到漏洞所在并及时修复,确保你的业务和客户不会面临危险。

预防未来的问题

相当多开发人员青睐开源软件是因为开源软件易于获得且免费,他们不用为此再走采购流程。目前来看,尽管很多开源组织都有自己的使用策略或使用指引,他们却并没有强制使用者遵守,也没有追查使用者是否遵守。知道你的组织将会使用哪些开源代码、这些代码是否有授权、你的组织中什么地方引用了它们是非常重要的。

你知道你用了什么代码之后,就该好好整理它们了。你可以实现一个贯穿整个开发流程的管理框架,这样你可以掌握每段代码的详细信息,不用再在诸如代码更新了没有、什么时候更新的以及在哪儿更新的这类问题上浪费时间。手工管理这些信息不大可能,所以一流公司都使用自动化代码管理和审查工具。

虽然每个公司、每个开发团队都面临各不相同的问题,但实践证明下面几条安全管理经验对使用开源软件的任何规模的组织都有意义:

  • 自动批准和分类 - 捕捉并追踪开源组件的相关属性,评估许可证合规性,通过自动化扫描、批准和使用过程来审查可能出现的安全漏洞。
  • 维护最新代码的版本 - 评估代码质量,确保你的产品使用的是最新版本的代码。
  • 评估代码 - 评估所有在使用的开源代码;审查代码安全性、授权许可、列出风险并予以解决。
  • 确保代码合法 - 创建并实现开源政策,建立自动化合规检查流程确保开源政策、法规、法律责任等符合开源组织的要求。

关键是,要让管理流程运作起来

随着软件飞速渗入各行各业,开放源代码将在创新发展的道路上扮演越来越重要的角色。为了规避安全问题给日益复杂的环境带来的风险,企业必须运行起一套管理其组织中开源代码使用情况的流程,构筑一个定期对照漏洞数据库检查代码并快速消除风险的流程。

作者 Bill Ledingham 是 Black Duck Software 公司的首席技术官(CTO)兼工程执行副总裁

*作者 Bill Ledingham 是 Black Duck Software 公司的首席技术官(CTO)兼工程执行副总裁。在这之前,Bill 是 Verdasys 的首席技术官,领导信息和网络安全团队为全球顶尖的 2000 家公司和政府机构提供敏感信息的安全保障。 Bill 曾经与人合伙创办过四家公司,现在活跃于波士顿创业社区,作为 CommonAngels 的合作伙伴和投资人迄今已有 6 年历史。


via: http://www.linux.com/news/software/applications/782953-how-to-achieve-better-security-by-proper-management-of-open-source

作者:Bill Ledingham 译者:sailing 校对:wxy

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

Linux上的其他PDF解决方案
由于该公司从网站上撤下了软件的下载链接,因此这对于任何需要在Linux上使用Adobe这家公司的PDF阅读器的人而言有些麻烦了。

Reddit 上的一个用户发帖说,当他去 Adobe 网站上去下载该软件时,Linux并没有列在支持的操作系统里。

不知道什么时候,更不知道为什么,Linux版本被删除了,不过第一次被发现是在八月份。

这也并没有让人太惊讶。Adobe Reader 官方的Linux版本在2013年5月才更新,而且当时还在滞后的版本9.5.x上,而Windows和Mac版已经在v11.x。

谁在意呢?无所谓

这是一个巨大的损失么?你可能并不会这么想。毕竟Adobe Reader是一款名声不好的app。速度慢,占用资源而且体积臃肿。而原生的PDF阅读app像Evince和Okular提供了一流的体验而没有上面的那些缺点。

除开Snark,这一决定将会影响一些事。一些政府网站只能使用官方Abode应用才能完成或者提交提供的官方文档和程序。

Adobe把Linux给刷了这事并不鲜见。该公司在2012年停止了Linux上flash版本的更新(把它留给Google去做),并且此前从它们的跨平台运行时环境“Air”中排除了踢开了Linux用户

不过并没有失去一切。虽然网在不再提供链接了,然而在Adobe FTP服务器上仍有Debian的安装程序。计划使用老的版本?需要自己承担风险且没有来自Adobe的支持。同样注意这些版本可能还有没有修复的漏洞。


via: http://www.omgubuntu.co.uk/2014/10/adobe-reader-linux-download-pulled-website

作者:Joey-Elijah Sneddon 译者:geekpi 校对:wxy

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

Linux的内核开发者和开源领袖Linus Torvalds前一段时间表达了关于Linux桌面和嵌入式设备中Linux的未来的看法。

什么是Linux桌面和嵌入式设备中Linux的未来?这是个值得讨论的问题,不过Linux的创始人和开源巨人Linus Torvalds在最近一届 Linux 基金会 的LinuxCon大会上,在一次对话中表达了一些有趣的观点。

作为敲出第一版Linux内核代码并且在1991年将它们共享在互联网上的家伙,Torvalds毫无疑问是开源软件甚至是所有软件中最著名的开发者,如今他依然活跃在其中。在此期间,Torvalds是许多人和组织中唯一一个引领着Linux发展的个体,它的观点往往能影响着开源社区,而且,作为一个内核开发者的角色赋予了他能决定哪些特点和代码能被放进操作系统内部的强大权利。

所以说,关注Torvalds所说的话是很值得的, "我还是挺想要桌面的。" 他在上月的LinuxCon大会上这样说道 那表明他仍然着眼于作为使PC更加强大的操作系统Linux的未来,尽管十年来Linux桌面市场的份额一直很少,而且大部分围绕Linux的商业活动都去涉及服务器或者安卓手机去了。

但是,Torvalds还说,确保Linux桌面能有个宏伟的未来意味着解决了受阻的 “基础设施问题”,庞大的开源软件生态系统和硬件世界让他充满信心。这不是Linux核心代码本身的问题,而是要让Linux桌面渠道友好,这可能是伟大的Torvalds和他开发同伴们所需要花精力去达到的目标。这取决于app的开发者、硬件制造商和其它有志于实现人们能方便使用基于Linux的计算平台的各方力量。

另一方面,Torvalds也提到了他的憧憬,就是内核开发者们能简化嵌入式装置中的Linux代码——这也许和让Linux内核更加桌面友好化的任务有所分歧。但这也不一定,因为无论如何,Linux都是以模块化设计的,单内核代码库不能同时满足桌面用户和嵌入式开发者的需求,这是没有道理的,因为这取决于他们使用的模块。

作为一个一直想看到更多搭载Linux的嵌入式设备出现的Linux桌面用户,我希望Torvalds的所有愿望都可以实现,到那时我就可以只用Linux来做所有我想做的事情,无论是在电脑桌面上、手机上、车上,或者是任何其它的地方。


via: http://thevarguy.com/open-source-application-software-companies/082514/linus-torvalds-promotes-linux-desktops-and-embedded-compu

作者:Christopher Tozzi 译者:ZTinoZ 校对:wxy

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