分类 观点 下的文章

过去几年来,关于数字安全漏洞和个人隐私问题的报道频率大幅上升,毫无疑问,这一趋势仍将继续。我们时常听说诈骗者转移到社交媒体,国家将网络攻击作为协调进攻策略的一部分,以及追踪我们在线行为的公司挣到了大钱,快速崛起。

对这些事件冷漠对待非常容易,但是你可以做很多事情来提高你的在线安全,这样当你被安全事件所困时,可以减少自己的风险,并快速保护自己免受进一步的损失。安全意识非常容易学习,并且许多开源项目可以帮助你。

安全的重点不是将你的计算机变成一个虚拟的 Fort Knox(LCTT 译注:Fort Knox 是一个美军基地,固若金汤之意),而是为了使别人访问你的数据足够困难,这样攻击者将转移到其他更容易的目标。

使用密码管理器

在一个几乎每个网站都要求用户名和密码的世界里,大多数人都因密码而疲惫不堪,于是开发了复杂的系统来创建和记住用户名和密码(或者干脆完全放弃,只使用相同的用户名和密码)。密码管理器是这个问题的解决方案,我还不知道不使用密码管理器的专业安全人员。此外,它们非常容易设置和使用。

对于以前没有使用过的人来说,密码管理器是一种软件,它就像一个信息的数字保险库,将信息存储在加密环境中。你创建的主密码是一个单一的强密码,用于保护包含用户名和密码集合的保险库。通常,当你连接到已知网站,密码管理器会自动输入存储的密码,它也可以生成强密码并允许你存储其他信息。

有大量的密码管理器可用,其中许多是自由及开源的解决方案。我在 Windows 上用过 KeePass,在 Linux 和 MacOS 上用过 KeePassX,我推荐使用它们作为开始。(这里还有三个开源密码管理器,你可以尝试一下。)

然而,每个人应该选择他自己的最佳解决方案。某些密码管理器除了本地存储之外还具有云存储的功能,如果你使用多个设备,这将非常有用。受欢迎的管理器更有可能被维护并得到定期的安全更新。一些密码管理器集成双因子认证功能,我强烈建议你启用它。

大多数密码管理器都没有恢复忘记的主密码的功能。所以要明智地选择并确保主密码是你可以记住的。

使用 VPN 提高共享网络的安全性

虚拟专用网络(VPN)允许计算机通过共享网络发送和接收数据,就像它通过端到端加密直接与专用网络上的服务器通信一样。

您可能熟悉在办公室外工作时连接到公司内部网的过程。在咖啡馆或饭店使用连接到公共网络的 VPN,会保护你的通信数据不被公网上其他人看到,不过它无法阻止 VPN 供应商看到通信数据,而且确实存在不良 VPN 提供商收集和销售数据的现象。VPN 提供商也可能受到来自政府或执法机构的压力,将您通过其网络发送的数据信息传出。 因此,请记住,如果您正在进行非法活动,VPN 将不会保护你。

当选择 VPN 提供商时,请考虑其运营所在的国家,因为这关系到它所受约束的法律,有时甚至非常无关痛痒的活动都可能使您陷入困境。

OpenVPN 是一个自由开源的 VPN 协议,可在大多数平台上使用,并已成为最广泛使用的 VPN 之一。 您甚至可以托管您自己的 OpenVPN 服务器 -- 只是要小心,注意其安全性。如果您更希望使用 VPN 服务,请记住许多声誉良好的提供商都想要为您提供服务。

有些是收费的,如 ExpressVPNNordVPNAirVPN。一些提供商提供免费服务,但是,我强烈建议您不要使用它们。 请记住,当您使用免费服务时,您的数据就是产品。

浏览器扩展程序是您的朋友

虽然互联网浏览器有一些内置的安全工具,但是浏览器扩展仍然是提升您的隐私和安全的好方法。有很多种类的浏览器扩展,但哪些扩展是适合你的? 这可能取决于你使用互联网的主要目的和你对技术的掌握程度。作为基线,我会使用以下扩展:

  • Privacy Badger:这个扩展,由 EFF 开发,阻止间谍广告和隐蔽的跟踪。它通过在流量请求中放置一个 Do Not Track 头,然后评估流量仍被跟踪的可能性。如果这种可能性很高,它会阻止来自该域的进一步流量(除非你另有说明)。该扩展使用 GNU GPL v3 许可证。
  • HTTPS Everywhere:它是 EFF 和 Tor 项目之间的联合协作,此扩展确保尽可能自动使用 HTTPS。这很重要,因为它意味着您在给定域的网络流量是加密的,而不是明文,从而提供了隐私,并确保交换数据的完整性。该扩展使用 GNU GPL v3 许可证。

不要忘记旧帐户

你还记得 Bebo、iTunes Ping、Del.icio.us、Digg、MySpace 或 Friendster 吗?它们上面你有帐户吗?你关闭了帐户还是仅仅停止使用帐户?你曾经停下来想过有什么信息可能在这些网站上吗?是不是忘记了?

旧的社交媒体帐户是那些收集数据的人的金矿,包括营销人员,欺诈者和黑客等。他们可以使用这些信息来构建您的个人信息画像,这些信息通常可以在密码重置中用提供一些重要信息,例如您的第一只宠物的名字或您的第一辆车。

某些网站可能会让删除帐户变得困难或实际上不可能。Justdelete.me 是一个很好的资源,在这里可以找到各种平台上如何删除社交媒体帐户的操作说明。如果你正在寻找的网站不在那里,而且你自己找到了删除帐户的方法,你可以在 GitHub 上为该项目做贡献。如果您不确定您可能已忘记的社交媒体帐户,Knowem.com 允许您按用户名搜索大量的社交网络。搜索工具也可能误报,而且你可能不是曾经使用特定用户名的唯一的人,但它是一个很好的开始,尽管不是开源的。

如果您不确定您可能使用的旧用户名,Google 是一个很好的资源。尝试搜索旧昵称和电子邮件地址,你可能会对你发现的事感到惊讶。

总结

无论数字安全的任务如何巨大,你都可以在开始使用时打下坚实的基础。记住,安全是一个持续的过程,而不是一种状态。保持您使用的工具最新,定期检查您的习惯和工具,确保您的安全尽可能的好。如果你每次一步一步的改变,安全就不会过于复杂。


作者简介:

Tiberius Hefflin - Tibbs 最近毕业于苏格兰西部大学,获得计算机安全学位。她已搬迁到波特兰,在为波特兰通用电气公司做安全保证工作。 她热衷于鼓励小孩子踏上 STEM(LCTT 译注:即 科学 Science,技术 Technology,工程 Engineering,数学 Mathematics)。


via: https://opensource.com/article/17/1/4-ways-improve-your-online-security

作者:Tiberius Hefflin 译者:livc 校对:jasminepeng

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

昨天发布了一则《阿里云成为中国唯一一家Linux 基金会的金牌成员》的新闻,引来了不少关注和议论。主要的议论有几个方面:

  • 阿里云支持开源和 Linux,值得赞
  • 阿里云有钱,有钱谁都能当上金牌会员,乃至于白金会员
  • 别的公司早就是白金会员了,要继续努力

对于这样的观点和评论,基本上还是在我的意料之内。其实在编发这篇新闻稿之前,老王也对中国的科技公司参与、赞助国际性的开源组织的情况有过一些了解和思考,借着这个机会,想和大家探讨一下。

国内科技公司参与国际性开源组织已经成为了趋势

不知道从什么时候开始,国内的科技公司,已经开始或低调、或高调的加入一些国际性的开源组织,比如说:

可以看出,近些年来,中国国内的科技公司纷纷注意到开源生态的发展,并主动积极的拥抱开源、加入并影响开源的发展。

企业加入国际开源组织能做什么?

作为营利性机构,企业加入开源组织必然有其商业上和战略上的考量,大致来说,会有如下几点:

  • 回馈开源社区。在开源文化的影响已经深入到世界的各个角落的今天,很多企业的发展都极大地得益于开源文化、开源生态和开源技术的帮助,因此,就如阿里云资深总监李津说的,“参与 Linux 基金会……是对 Linux 带来的帮助表示感谢”。
  • 扩大在技术领域和开源领域的影响力,吸引更多的人才。成为顶尖的开源组织的成员,并积极参与到开源事务当中,将企业的形象、实力和愿景传递给更多的人,也会吸引更多有志于该领域发展的尖端人才加入。
  • 影响开源生态的决策和标准制定。各种开源基金会、组织掌握了该项技术和生态的发展,会制定和规划相应的发展路线和行业标准,因此,加入到开源组织中,能够充分地结合企业在技术研究和产品发展上的路线,与整个开源领域中的相关企业、组织达成共识,尽早掌握发展的制高点。

开源组织为什么需要企业会员?

开源组织是开源生态里面独特的一种现象,这种情况和工业界的各种行会不太一样。它既沿袭了传统的行会是由企业组成的特色,也有主要由个人成员(非雇员)组成的组织,但是,作为行业性组织,往往还是由企业组成的。

开源组织的成员情况分为三种情况:

  • 仅由个人会员组成的开源组织,如自由软件基金会(FSF)、Apache 软件基金会(ASF)等。
  • 仅由企业会员组成的开源组织,如云计算基金会(CNCF)。
  • 既有企业会员,也有个人会员的开源组织,如 Linux 基金会、OpenStack 基金会等。

不过,即便在拥有个人会员的开源组织当中,其个人会员的影响力也往往低于企业会员。甚至有时候影响力无足轻重,比如说,Linux基金会就曾经将由个人会员所推举独立董事的权利取消,转而由董事会成员推举。

显然,对于很多开源组织来说,影响力更大、能提供更多资金支持的企业会员是其发展中不可或缺的一部分。

基本上,开源组织吸收企业会员的原因有:

  • 开源组织本身的运营需要资金支持。开源组织,是以非营利组织的形式出现的,本身的运营并不以盈利为目标,其所需的资金来源于会员会费、民间赞助、国家资金和运营营收等方面。不同的开源组织的资金来源不同,有的主要依赖于赞助,有的则主要依赖于会员会费。
  • 开源组织需要吸收相关企业的建议和意见。事实上成功的开源组织无一不是反映了行业内成员的发展诉求,并能协调和规范发展方向,因此,吸收主要企业的参与,能够保证开源生态的可持续发展。
  • 开源组织的决策和标准需要企业的推动和落实。开源组织诞生于社区,成长于企业,开源生态并不是自行设计愿景就可以理想化地发展的,因此,开源组织的很多决策和制定的标准,需要落地和切实发挥影响,就离不开企业的支持和拥护。

是会费的多寡决定了不同的话语权?

事实上,作为一个健康发展的开源组织,其正常的运营费用从来不是一个问题。因此,并非是谁交钱多,谁就是领袖。

不是所缴纳的会费决定了会员级别,而是综合了企业对包括代码、标准/规范、人员、资金在内的贡献决定了会员级别。

作为开源组织,其所需要企业会员发挥的作用包括:

  • 贡献代码。主要是企业将自己生产的重要代码贡献到开源生态中,从而促进整个生态的发展。
  • 贡献标准和规范。企业已经成熟的标准可以提交到开源组织当中,在经过审核、调整之后,取得共识,从而成为开源组织和业界的标准。
  • 贡献人员。企业甚至会专职雇佣一些人员,其职责是为开源组织工作,包括提交代码、参与开发/维护、参与开源组织运营事务等工作。
  • 赞助资金。为开源组织提供运营和雇员所需要的资金支持。

开源组织收取的费用都作何用途?

国际顶尖的开源组织大多注册在美国,属于非营利机构,在美国属于一种机构注册形式。其认定和税务豁免需要经过税务部门的每年审核(501(c)(3)非营利身份),因此,其财务报表是公开的。

根据之前 ITworld 的一份数据,它查询了 13 家开源基金会的 2010 年财务报告和 5 家的 2009 年报告,显示

  • Linux 基金会在 2010 年收入 961 万美元,支出 908 万美元,净收入 53 万美元,收入最高的是执行董事 James Zemlin 36 万美元;
  • 自由软件基金会 2009 年收入89万美元,支出 108 万美元,薪酬最高是执行董事 Peter Brown,约 8 万美元;
  • GNOME 基金会 2009 年收入约64万美元,支出 38 万美元;执行董事 Robin L. Peters 收入 13 万美元;
  • Apache 软件基金会收入约 54 万美元,支出约 41 万美元;
  • Mozilla 基金会收入 193 万美元,支出 326 万美元,Baker 和 Eich 收入 59 万美元。

从这个数据中,我们大概可以了解到这些开源组织的收支情况。也可以看到,其实相对来说,其个人雇员的收入也并不算高。此外,除了雇员薪酬之外,开源组织的其它开销还有办公费用、活动费用,甚至还有诉讼费用等等。

应该如何看待国内企业加入国际开源组织

首先,我觉得应该对国内企业有意识地去参与、赞助开源组织表示支持,这标志着国内企业逐步在国际舞台和行业内发出了自己的声音,甚至可以主导部分发展方向。

其次,我们也看到,目前能够比较广泛地参与到开源组织的活动中,并持续支持开源组织的国内公司还不够多。典型的企业有电信级企业,如中国电信、中国移动(中国联通缺席)、华为、中兴等;互联网企业,尤其是将云业务作为主要发展方向的企业,比如阿里巴巴集团及其旗下的阿里云、DaoCloud、EasyStack 等,但是BAT 中除了阿里巴巴之外的另外两家表现的就不够积极。

而且,国内的企业所关注参与的开源组织还比较少,主要集中在几个大型的开源组织上,相对来说影响力还不够广泛。

当然,作为企业,是否加入开源组织,以及加入哪些,是需要根据企业自身的发展情况来决定参与程度的,毕竟,参与开源组织不仅仅是缴纳会费,更多还要付出人员、技术,承担不仅仅是好处,还有责任。

此外,企业也在参与开源组织方面存在一些短板需要补足。比如说,需要有优秀乃至于领军型的技术人才代表公司参与到开源组织中;也需要将公司发展战略和开源生态做良性的结合,将开源文化和企业文化达成融合;更需要将企业的营利本质和开源的公益性质取得一个平衡。

结语

作为一个参与开源文化,并受惠于开源生态的技术人,我对阿里云以及其它的科技公司能主动参与到开源组织的建设和开源生态的发展中感到欣喜。希望国内更多的企业能够积极关注开源,参与到开源之中来,并针对企业自身的情况制定开源战略。

Windows 用户们,去还是留?

Windows 依然是高居榜首的桌面操作系统,占据 90% 以上的市场份额,远超 macOS 和 Linux 。

从数据来看,尽管 linux 并不是 Windows 的头号接班人,但近几年越来越多用户转向 Ubuntu、Linux Mint 等发行版,的确为 Linux 带来了不小的增长。

面对 Windows 10 发布以来招致的诸多批评,微软后来采取的激进升级策略也明显无济于事。很多用户抱怨在不知情的情况下就被升级到了 Windows 10 ,这也促使部分用户决定放弃微软产品而转向 Linux 。

同时也有声音指责微软试图通过 Windows 10 监视用户,同样,这些批评助推更多用户投入 Linux 阵营。

你怎么选: Windows or Linux?

十几年前,用户转向 Linux 还主要是出于安全考虑,因为 Windows 才是全世界病毒和黑客的主要攻击目标。

这有它的必然原因: Windows 是被最广泛采用的操作系统,但那时微软在安全上的设计并没有今天这样实用。

而近几年,尽管 Linux 和 Windows 在安全方面的差距已没有那么明显,但那些决定转阵营的用户似乎又有了除安全以外的其它理由。

我们不想用什么市场统计来说明问题,因为在这场 Windows 和 Linux 的持久战中,这些数据显得无关紧要。但是用户的声音却至关重要,因为它们总能代表并预示各个平台的走向。

这也是为什么我们在这里向读者提出问题: Linux 是 Windows 合适的替代品么?放弃 Windows 而选择 Linux 是否明智?微软是否该为用户流向 Linux 而感到紧张?请在评论中留下您的看法。


via: http://news.softpedia.com/news/let-s-chat-windows-vs-linux-512842.shtml

作者:Bogdan Popa 译者:Dotcra 校对:wxy

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

科技世界的探索总是让我们兴奋不已。很多科技日新月异,你探索得越深远,你看到的世界就越广阔无穷,这就像是一只驼一只的海龟一样。因此,科技世界也像宇宙一样无穷无尽。如果你也渴望加入到推动技术世界发展的社区中,你应该如何开始呢?你要做的第一步是什么?以后应该怎么做?

首先,你得明白开源指的是开放软件源代码的意思。这个很好理解,但是“开源”这个词最近一段时间经常出现在我们身边,所以估计有时候大家都忘记了开源只是用来形容一种文化现象,而不是一家世界 500 强公司的名字。跟其它公司或组织不同的是,你不用去参加面试或填个申请表、注册表的方式来成为一名开源程序员。你需要做的就是编程,然后把代码共享出来,并且完全保证在任何情况下该代码都保持开放状态。

只需要这样,你就已经成为一名开源程序员了!

现在你有了目标,那么你为之奋斗的基础能力怎么样了?

技能树

你玩过 RPG 游戏吗?在那些游戏中就有关于线性“技能树”的概念。当你玩游戏时,你掌握了基本技能后,便会“升级”,并且获得新的技能,然后你使用这些新的技能再次“升级”到一个更高的等级,你又会得到更多新的技能。通过这样不断的升级,获取新技能,以让你的游戏角色变得更强大。

成为一个程序员有点像提升你的技能树等级。你掌握了一些基础的技术,在参与开源项目开发的过程中,你不断实践,直至自己的技术等级上升到一个新的层次,之后你又懂了一些新的技术,并在项目开发过程中不断实践,不断提升技术等级,然后你再沿着这个技能树不断成长,不断进步。

你会发现自己面临的不只一棵技能树。开源软件涉及到的技术比较多,包括很多参与者自身的优势、能力及兴趣爱好等。然而,有一些非常重要的技能有助于你成为一名伟大的程序员,不断的提高这些技能是成功参与到开源项目中的重要组成部分。

脚本编程

对于像 Linux 或 BSD 系统这样的 POSIX 系统而言,最大的优势之一就是在你每次使用电脑的过程中,你都有机会练习编程。如果你不知道如何开始编程,你可以从解决工作中的一些基本问题做起。想想你日常工作中有哪些重复性的工作,你可以通过编写脚本的方式来让它们自动执行。这一步非常简单,比如说批量转换文件格式或重置图片的大小、检查邮件,甚至是通过单击运行你最常用的五个应用程序。无论是什么任务,你可以花一些时间去编写脚本以让它们自动完成。

如果有些工作需要在控制终端下操作,那么你就可以编写脚本来完成。学习 bash 或 tsch 编程,把编写系统脚本作为你写代码和理解系统的工作原理的第一步。

系统管理

从这一点来讲,你也可以转变成一个程序员,也可以整个跳到另外一个不同的技能树上:那就是系统管理工作。跟程序员比起来,这两个职业在技能上有一些相似(一个优秀的系统管理员应该有一些编程经验,并能够熟练使用 Python、Perl,或者其它类似的编程言语来解决一些独特的问题),而程序员指的是那些一直编写代码的人。

程序员

开源是学习编程技巧最好的方式:你可以查看其他人写的代码,从中借鉴他们的想法和技术,从他们的错误中学习,并跟自己写的代码进行对比以发现两者的优缺点;如果你是使用 Linux 或 BSD 操作系统,整个环境对你来说都是开放的,目之所及,随心所欲。

这就像旅游指南里所说的,随意行去。事实上你不大会去深入到一个项目的源代码中,但是如果这样的话,可以让你在某一时刻突然意识到自己会编程了。编程是一份很难的技术活,否则大家都可以从事编程工作了。

幸运的是,编程是有逻辑而结构化的,这些特性跟编程语言相关。你也许不会深入的去研究编程,但是你研究得越深,你懂的越多。

懂得如何控制以及让电脑自动执行任务是一回事,但是知道如何编写其它人想自动实现任务的代码,才能说明你已经真正进入到编程领域了。

精通多种编程语言

所有的编程语言都旨在处理相同的任务:让计算机能够完成计算工作。选择一种编程语言时你得考虑以下几个因素,学编程的目的是什么,你所做的工作最常用的编程语言是什么,你最容易理解哪一种编程语言以及你的学习方式。

随便查下相关资料,你就可以了解编程语言的复杂性了,然后再根据自己的能力水平来决定先学习哪种编程语言。

选择编程语言的另一个方式是根据你的使用目的来决定,看看你身边的同事使用哪种编程语言。如果你是为了开发桌面环境的工具,你应该学习 C 语言和 Vala 语言,或者 C++ 语言。

总之,不要在各种编程语言之间不知所措。编程语言之间都是相通的。当你学好一种编程语言并能用它来解决工作中的一些实际问题的时候,你会发现学习另外一种编程语言更容易。毕竟,编程语言只是一些语法和相关规则的集合;学会一种编程语言后,再使用同样的方法去搞懂另外一种语言完全不是个事。

主要目的还是学会一种编程语言。选择一个比较适合自己或者你感兴趣的编程语言,或者是你的朋友在用的编程语言,或者是选择文档比较丰富,并且你理解起来也容易的编程语言,但是,最好是只关注并先学会其中的一种编程语言。

这是一个开源项目吗?

无论你是编程新手还是一个老司机,在你进入到开源新世界之前,你需要搞明白做开源软件的重要一点就是“开放源代码”。

最近一些厂商惯用的市场营销策略就是宣称他们的软件是开源的。然而,有些厂商只是发布了一个公共的 API 或者表示他们愿意接受其它开源用户提交的代码而已。“开源”这个词不是一个商标,并且也没有任何组织来决定怎么使用这个词。但是, Debian Linux 创造人 Ian Murdock 联合成立的 开放源代码促进会 Open Source Initiative 对开源这个词进行了定义(授权“允许软件被用户自由地使用、随意修改及分享”),并且被正式批准和授予许可证的软件才属于真正的开源软件。

给你的软件代码应用一个开源许可证,你就成为一名开源程序员了。恭喜你!

开源社区

咨询任何开源软件爱好者,他们会告诉你开源软件最关键的是人。没有积极的开源贡献者,软件开发就会中止。计算机需要用户、提交缺陷的人、设计师及程序员。

如果你想加入全球开源社区为开源软件做贡献,你同样需要成为该社区的一个成员,即使你并不善于社交也不要紧。这通常包括订阅邮件列表、加入 IRC 频道,或者在论坛里表现活跃,从最低级别开始。任何成熟的开源社区都已经存在了足够长的时间,见惯了来来往往的人们,所以,在你真正融入这个世界、在他们接纳你之前,你需要证明出你并非流星一逝般的过客,如果你想要做成一件大事,那就得有长期投身于其中的打算。

如果你只是想给他们提供一些小的帮助,这也是可以接受的。我自己也提交一些小的补丁到一些项目中,有时候项目管理者会觉得这个更新比较好,有时候他们也会拒绝我提交的代码补丁。但是,如果这个被拒绝的补丁对我很重要,我就会为我自己和客户维护它,并一直维护下去。

这就是参与到开源项目。

但是这些社区在哪里呢?这个跟开源项目有关。有些项目有专职的社区管理员,他们会把所有的社区参与者招集到一个打大家都能访问的地方。有些项目则围绕论坛运行,他们使用邮件列表,或者使用问题追踪器与参与者联系。找到这些开源社区对你来说也不是个事儿。

还有个重要的事情就是研究他们的源代码。“开源”就是开放“源代码”,所以你可以把他们的代码拿来瞅瞅。尽管要全面了解他们的项目可能超乎你的能力,但是你可以知道这个项目是如何管理的,他们最可能需要帮助的是什么。关于代码是如何组织的?这些代码有注释吗?它们使用统一的程序风格吗?这些问题你可以查阅相关文档,尤其是 README、 LICENSE ,或者是 COPYING 这几个文件。

不要低估遵守开放源代码承诺的重要性。这是你被允许参与进来到开源项目来的原因,因此,你得深入地考虑下你能从中学习到什么,以及你将如何为该项目提供帮助。

找到最佳的开源社区更像是约妹子,尤其是更像在《偷天情缘》)里的约会。这需要时间,并且刚开始那几次有可能会失败。你参与这样的聚会越多,你就越了解这些开源项目。最后,你会更了解自己,当你找到了与其它参与者融为一体的方式时,你就已经成功了。总之,你得要有耐心,一切顺其自然。

行动比语言更重要

作为一名开源程序员最重要的是写代码(开源中的“源”),任何想法都没多少意义。关键是把你的想法变成实际的东西。你要让大家都知道你在做什么、知道你不怕苦不怕累,也愿意在开源项目上花时间,并且能够通过编程的方式来实现自己的各种想法。

为了更高效地完成那些工作,你需要对开源项目做做功课,包括项目怎么样才能听取你的建议、哪个分支是稳定的哪个是开发的等等。

从下面几点开始:

  • 熟悉一个项目及其协作开发的氛围,并且接受这种氛围。
  • 编写软件升级包、缺陷修复包,或者一些小的功能需求,并且提交它们。
  • 如果你提交的补丁被拒绝了,也不要难过。他们拒绝的不是你个人,而是开发小组在针对你提交的代码进行评估后作出的一个反馈。
  • 如果你提交的代码被改得面目全非后才被接受也不要泄气。
  • 从头再来,不断努力,再接受更大的挑战。

在开源项目中不应该开设排行榜。然而,有些开源社区却弄了个贡献排名,其实这没必要。大家只需要积极参与、奉献,贡献你的才智、提交你的代码,这样就可以了。

开发软件

编程不管在那种情况下都关乎于你自身的发展。无论你是否为了寻找解决问题的新方法,寻找优化代码的方式,学习新的编程语言,或者是学习如何更好的与其它人员合作,你都不会停止成长。你自己成长得越多,对开源项目越有帮助。

个人成长和职业技能的提升是你参与开源项目的终极目标,但是实际上这是一个贯穿整个项目的持续过程。成为一个开源程序员跟得到一份公务员工作不同;这是一个持之以恒的过程。学习、分享、再学习,或许你会去编写一个“康威生命游戏”,然后你会学到越来越多。

这就是开源的过程:自由地开发,每一行代码。因此,发现你的技能树,激发潜能,付出努力,不断提高自己的技能,并最终参与其中。

(题图素材修改自:woot.com


作者简介:

Seth Kenlon —— Seth Kenlon 是一位独立多媒体艺术家,开源文化倡导者, Unix 极客。他还是 Slackware 多媒体产品项目的维护人员之一,官网:http://slackermedia.ml


via: https://opensource.com/article/17/1/how-get-started-open-source-programmer

作者:Seth Kenlon 译者:rusking 校对:Bestony, wxy

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

 title=

千里之行,始于足下 The journey of a thousand miles begins with one step —— 老子

参与开源工作有很多好处,可以帮助你优化和加速技术生涯,包括但不仅限于提高现实中的技术经验和拓展你的专业人脉。有很多你能做贡献的开源项目,无论是小型、中型、大型,还是不知名或知名的项目。在这篇文章里我们将专注于如何为网上最大、最有名的开源项目之一 ,Mozilla ,做出贡献。

为什么要向 Mozilla 做贡献?

现实经验

Mozilla 是网络上最大的开源项目之一,其也托管了许多其他的开源项目。所以,当你为像 Mozilla 这样的大型开源项目做贡献时,你能真正接触到技术领域中的事物是如何工作的,能增长关于技术术语和复杂系统功能的知识。最重要的是,你能理解如何将代码从本地系统移动到实际的代码仓库里。你将会学习在管理大型项目时,贡献者们使用的许多工具和技术,如 Github 、Docker、Bugzilla 等。

社区联系

社区是任何开源项目的核心。向 Mozilla 做贡献将你与 Mozilla 的员工和顾问、资深 Mozilla 贡献者(又称 Mozillians)以及你当地的 Mozilla 社区相互联系在一起。社区里有着同样关注并致力于改善开源项目的志趣相投的人们。

你也能有个机会来建立在 Mozilla 社区里的专属身份,激励其他 Mozillians 同伴。如果你想的话,最后你也能指导其他人。

活动和酷物件

没有点充满乐趣的活动和小礼品的社区是不完整的。Mozilla 也不例外。

向 Mozilla 做贡献能给你机会参加 Mozilla 的内部活动。一旦你成为熟练的 Mozilla 贡献者,你将能主持你当地的 Mozilla 活动(Mozilla 或许会予以资金支持)。当然,会另外提供些小礼品 —— 贴纸,T恤,马克杯等。

 title=

根据 CC BY-SA 4.0 协议分享,印度 2016 Mozilla 聚会, Moin Shaikh 提供。

如何向 Mozilla 做贡献

不管您是编程人员、网页设计师、品质控制测试者、翻译,或者是介于之间的任何职业,都有许多不同的方式向 Mozilla 做贡献。让我们看看以下两个主要方面:技术贡献和非技术贡献。

 title=

根据 CC BY-SA 3.0 协议分享, Mozilla.org 供图。

技术贡献

技术贡献是给那些喜欢编程,想要用他们的代码来弄出点动静的人。有不同的用特定编程语言的项目可供施展能力。

  • 如果喜欢 C++ ,你能向火狐的核心层和其他 Mozilla 产品做贡献。
  • 如果喜欢 JavaScript、HTML 和 CSS ,你能向火狐的前端做贡献。
  • 如果你懂得 Java ,你能向火狐移动端、火狐安卓版和 MozStumbler (LCTT 译注:MozStumbler 是 Mozilla 开源的无线网络扫描程序)做贡献。
  • 如果你懂得 Python ,你能给网络服务,包括 火狐同步 Firefox Sync 或者 火狐账户 Firefox Accounts 做贡献。
  • 如果你懂得 Shell、Make、Perl 或者 Python ,你能给 Mozilla 的编译系统和发布引擎和自动化做贡献。
  • 如果你懂得 C 语言,你能给 NSS、Opus 和 Daala 做贡献。
  • 如果你懂得 Rust 语言,你能给 RustC、Servo(一个为并行、安全而设计的网页浏览器引擎)或者 Quantum (一个将大量 Servo 转化为 Gecko 的项目)做贡献。
  • 如果你懂得 Go 语言,你能给 Heka 做贡献,这是一个数据处理工具。

要获取更多信息,可以访问 Mozilla 开发者网络 Mozilla Developer Network (MDN)的开始部分来了解不同的贡献领域。

除了语言和代码,积极测试火狐浏览器的各个部分、火狐安卓浏览器和 Mozilla 的很多网络组件,例如火狐附加组件等,这样也能贡献你的品质保证(QA)和测试能力。

非技术贡献

你也可以给 Mozilla 提供非技术贡献,专注于以下领域:品质保证(QA)测试,文档翻译,用户体验/用户界面(UX/UI)设计, Web 识别 web literacy 开源宣讲 open source advocacy ,给 Mozilla 的火狐用户、雷鸟用户提供支持等。

品质保证(QA)测试: Mozilla 的 QA 团队遍及全世界,有着庞大且活跃的社区,他们深入参与到了火狐及 Mozilla 的其他项目中。QA 贡献者早期介入到各种产品,探索新的特性,记录漏洞,将已知漏洞分类,编写并执行测试用例,进行自动化测试,并从可用性角度提供有价值的反馈。想开始或者了解更多 Mozilla QA 社区资源,请访问 Mozilla QA 社区 网页。

用户体验设计: 如果你是个有创意的设计者或是个喜爱折腾色彩和图形的极客,Mozilla 在其社区里有很多位置提供给你,在那里你能设计好用易理解的、美妙的 Mozilla 项目。去看看 Mozilla GitHub page 上的 开放设计仓库 Open Design repository 页面。

用户支持(论坛和社交支持): 这是成千上万像你我这样的火狐、雷鸟用户访问和发帖询问关于火狐、雷鸟问题的地方。这也是他们从像我们这样的 Mozilla 贡献者获取回答的地方。这不需要编程才华,不需要设计技能,不需要测试能力,作为火狐用户支持贡献者,你只需要有点儿火狐的知识即可上手。点击 SUMO 的“参与其中”的链接来加入用户支持。从做支持开始或许是你着手开始你的 Mozilla 旅程中最简单的部分。(注:三年前,我从社区支持论坛开始我的 Mozilla 旅程)

编写知识库和帮助文章: 如果你喜欢写作和传授知识,知识库对你来说是个好地方。 Mozilla 总是在寻找能给火狐和其它产品用英文撰写、编辑、校对文章的志愿者。每周有成千上万的用户浏览这些知识库文章,通过分享你的智慧和编写帮助文章,你也能产生强大的影响力。访问 Mozilla 知识库 页面来参与其中。

本地化,又称 “L10N”: (LCTT 译注:L10N 是 localization 的缩写形式,意即在 l 和 n 之间有 10 个字母) Mozilla 的产品,例如火狐,被全世界数百万讲着不同语言的人们所使用着。人们需要这些产品以他们的语言显示。语言本地化是个非常需要志愿者的领域。需要你的翻译和本地化能力的项目包括:

  • Mozilla 产品,例如火狐
  • Mozilla 网页和服务
  • Mozilla 市场活动
  • SUMO 产品支持文档
  • MDN 开发者文档

你可以访问 Mozilla 本地化页面来参与其中。

教授和 Web 识别 web literacy 能力: Mozilla 基本使命目标之一是使所有人都可访问网络。为了实现这个目标使命,Mozilla 通过提供 web 识别工具和技术来致力于教育和帮助 Web 用户。这是可以用你的教授技能来帮助他人的地方。如果你是一位喜欢分享知识、给民众展示关于互联网相关东西的热情的老师,来看一下 Mozilla 发起的 Web 教育活动。将互联网和 web 识别教给你当地社区、学校孩子、你的朋友和其他有关的人。

宣讲: 如果你对 Mozilla 的使命充满热情,你能通过倡导 Mozilla 的使命来传播使命内容。当倡导 Mozilla 的使命时,你能做出如下来贡献:

  • 捍卫公共规则,为开放的互联网和用户隐私做斗争。
  • 跟网站管理者在兼容性方面合作,提高网站的互操作性。
  • 帮助网络作者提升在开放网络方面的文章写作。
  • 成为 火狐朋友 Firefox Friends ,展示你作为 Mozilla 和火狐贡献者的自豪。

想要开始帮助宣传 Mozilla 使命,看一下 Mozilla 宣讲 页面。

如果你还有疑惑,我来帮你开始!

我知道,作为一个新来的贡献者,这篇文章或许给你太多的信息。如果你需要更深入的方向、更多的资源资料,你可以在下面的评论中问我,或者在 Twitter 里私信我,我很乐意帮助你开始向 Mozilla 做出第一次的贡献(或者更多!)


作者简介:

Moin Shaikh 是一个开源科技极客,职业是网页分析,有着 7 年多的 IT 工作经验。主要贡献领域:火狐网络 QA ,火狐技术支持,本地化和社区指导。除了开源贡献,还学习并身体力行于用户体验、物料设计和电子商务分析。


via: https://opensource.com/article/17/1/how-get-started-contributing-mozilla

作者:Moin Shaikh 译者:ypingcn 校对:jasminepeng

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

告诉我们你 PC 上使用的滚动 Linux 系统

我最近不得不重新安装我的笔记本,由于在我的笔记本上我只使用 Linux,我不能花半天定制操作系统、安装数百个更新,然后设置我最喜欢的应用程序。

我通常使用 Arch Linux,但因为安装它并不简单,我必须花费很多时间让它变成我喜欢的方式,如安装我最喜欢的桌面环境,启用 AUR(Arch 用户仓库),安装工作需要的各种应用程序和我需要在笔记本上做的一切,所以,我决定试试不同的发行版。

当然,我可以使用基于 Arch Linux 的发行版,比如 Antergos、Manjaro 或 Chakra GNU/Linux,但是我不是那种衍生发行版的粉丝,更不要说它们中的许多针对特定的桌面环境而构建,我不喜欢把软件包混合起来,从而最终变成了一个臃肿的系统。

我的意思是,如果我使用 Arch Linux,并且我有时间安装它并完全配置它,那么当我可以使用“真实的东西”的时候,为什么我要选择那种只是混用了 Arch Linux 仓库/软件包的操作系统呢?所以,我去看了看 SolusopenSUSE Tumbleweed,因为现在它们是最流行的系统之一。

虽然 openSUSE Tumbleweed 是一个总是能得到最新的软件版本,并会迅速移动到新的 Linux 内核分支的很棒的发行版,但我觉得基于 RPM 的发行版不是我的菜。我不知道为什么,但我一直以来总是喜欢基于 DEB 的操作系统,当然直到我发现了 Arch Linux。

当然,openSUSE Tumbleweed 很容易安装和配置,但我决定在我的笔记本上试下 Solus,因为它现在提供 ISO 快照,所以你不必在安装后下载数百个更新,并且它预装了我每天使用的大多数应用程序。

Solus 还提供最新的应用程序、系统加密,而且超级容易安装。它在我笔记本上可以安装即用,Budgie 环境也可以根据你的爱好设置。我最喜欢 Solus 的是,只要我想我就可以随时升级我使用的程序,就像在 Arch Linux 上那样。

现在 Solus 社区不像 Arch Linux 那么大,但是随着时间的推移,它会增长,特别是你可以通过贡献新的或更新包来帮助它成长。最后,每当我想重新安装我的笔记本,我可以总是依赖我手上的 Solus Live USB。

我想知道你日常使用这三个系统中的哪个,特别是在你发现你不得不重新安装系统时。是的,我知道,有很多其他发行版提供了一个快速的安装过程,如 Ubuntu,这是很多人喜欢的,但哪个滚动发行版是你最喜欢的,为什么?


via: http://news.softpedia.com/news/arch-linux-vs-solus-vs-opensuse-tumbleweed-your-favorite-rolling-distro-is-512599.shtml

作者:Marius Nestor 译者:geekpi 校对:wxy

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