开源(open source)这个术语是指人们可以修改和共享的东西,因为它的设计是可以公开访问的。
该术语起源于软件开发的上下文,用于指定创建计算机程序的特定方法。但是,今天,“开源”指的是更广泛的价值集,我们称之为“开源方式”。开源项目,产品或计划包含并赞扬开放交流,协作参与,快速原型制作,透明度,精英管理和面向社区的发展的原则。
什么是开源软件 ?
开放源码软件是带有源代码的软件,任何人都可以对其进行检查、修改和增强。
“源代码”是大多数计算机用户从未见过的软件的一部分;这是计算机程序员可以用来更改软件(即“程序”或“应用程序”)工作方式的代码。有权访问计算机程序源代码的程序员可以通过向计算机程序添加功能或修复无法始终正常运行的部件来改进该程序。
开源软件和其他类型的软件有什么区别 ?
有些软件的源代码只有创建它的个人、团队或组织才能修改,并且保持对它的独占控制。人们称这种软件为“专有的”或“闭源的”软件。
只有专有软件的原始作者才能合法地复制,检查和更改该软件。并且,为了使用专有软件,计算机用户必须同意(通常通过签署他们首次运行此软件时显示的许可),他们不会对软件作者未明确允许的软件做任何事情。Microsoft Office和Adobe Photoshop是专有软件的示例。
开源软件则不同。它的作者将它的源代码提供给其他想要查看、复制、学习、修改或共享代码的人。LibreOffice和GNU图像处理程序就是开源软件的例子。
就像使用专有软件一样,用户在使用开放源代码软件时必须接受许可条款,但是开放源代码许可的法律条款与专有许可的法律条款有很大不同。
开源许可证影响人们使用、研究、修改和分发软件的方式。一般来说,开放源码许可证允许计算机用户将开放源码软件用于他们希望的任何目的。一些开源许可,有些人称之为“copyleft”许可,规定任何发布修改过的开源程序的人必须同时发布该程序的源代码。此外,一些开放源码许可证规定,任何修改和与他人共享程序的人也必须共享该程序的源代码,而不收取任何许可证费用。
通过设计,开源软件许可证促进了协作和共享,因为它们允许其他人对源代码进行修改,并将这些修改合并到他们自己的项目中。他们鼓励计算机程序员随时访问、查看和修改开放源码软件,只要他们在共享工作时允许其他人也这样做。
开源软件仅对计算机程序员重要吗 ?
开源技术和开源思想对程序员和非程序员都有好处。
因为早期的发明者将互联网本身建立在开源技术之上,比如Linux操作系统和Apache Web服务器应用程序,今天任何使用互联网的人都能从开源软件中受益。
每当计算机用户浏览网页、查看电子邮件、与朋友聊天、在线播放音乐或玩多人视频游戏时,他们的计算机、移动电话或游戏机都会连接到计算机的全球网络,使用开源软件将数据路由并传输到他们面前的“本地”设备。完成所有这些重要工作的计算机通常位于用户看不到或无法实际访问的遥远地方,这就是为什么有些人称这些计算机为“远程计算机” 。
越来越多的人依赖远程计算机来执行他们本可以在本地设备上执行的任务。例如,他们可能使用在线文字处理、电子邮件管理和图像编辑软件,而这些软件并不是安装在他们的个人电脑上运行的。相反,他们只是通过Web浏览器或移动电话应用程序访问远程计算机上的这些程序。当他们这样做时,他们从事的是“远程计算”。
有些人把远程计算称为“云计算”,因为它涉及的活动(如存储文件、共享照片或观看视频)不仅包括本地设备,还包括形成周围“氛围”的远程计算机全球网络。
云计算是日常生活中越来越重要的一个方面,有了互联网连接的设备。一些云计算应用,比如谷歌应用,是专有的。其他的,比如ownCloud和Nextcloud,都是开源的。
云计算应用程序运行在帮助它们平稳高效运行的附加软件之上,因此人们经常会说运行在云计算应用程序之下的软件充当了这些应用程序的“平台”。云计算平台可以是开源的,也可以是封闭的。OpenStack是开源云计算平台的一个例子。
人们为什么喜欢使用开源软件 ?
人们出于多种原因,更喜欢开源软件而不是专有软件,其中包括:
控制 。许多人喜欢开源软件,因为他们对这种软件有更多的控制权。他们可以检查代码以确保它没有做任何他们不希望做的事,并且可以更改不喜欢的部分。非程序员的用户也将从开源软件中受益,因为他们可以将其用于任何期望的目的,而不仅仅是他人认为的方式。
训练 。有些人喜欢开源软件,因为它可以帮助他们成为更好的程序员。由于开放源代码是可公开访问的,因此学生在学习制作更好的软件时可以轻松地学习它。 学生还可以在发展技能时与他人分享他们的作品,邀请他们发表评论和批评。当人们发现程序源代码中的错误时,他们可以与他人共享这些错误,以帮助他们避免自己犯同样的错误。
安全 。有些人喜欢开源软件,因为他们认为它比专有软件更安全和稳定。因为任何人都可以查看和修改开源软件,所以有人可能会发现并纠正程序原始作者可能错过的错误或遗漏。而且由于有如此多的程序员可以在不要求原始作者许可的情况下开发一款开源软件,因此与专有软件相比,他们可以更快地修复,更新和升级开源软件。
稳定性 。对于重要的长期项目,许多用户更喜欢开源软件而不是专有软件。由于程序员公开分发开源软件的源代码,因此依靠该软件执行关键任务的用户可以确保,如果他们的原始创建者停止开发它们的工具,他们的工具也不会消失或停用。 另外,开源软件倾向于结合并根据开放标准进行操作。
社区 。开源软件常常会激发用户和开发人员围绕它形成一个社区。这并不是开源所独有的;许多流行的应用程序都是聚会和用户组的主题。但是在开源的情况下,社区不仅仅是一个购买(情感上或经济上)精英用户群的粉丝基础;是那些开发、测试、使用、推广并最终影响他们所喜爱的软件的人。
“开源”不就是免费的吗 ?
这是对“开源”含义的普遍误解,这个概念的含义不仅是经济上的。
开源软件程序员可以为他们创建的或贡献的开源软件收费。但是在某些情况下,因为开放源码许可可能要求他们在向其他人出售软件时发布源代码,所以一些程序员发现向用户收取软件服务和支持费用(而不是软件本身)更有利可图。通过这种方式,他们的软件仍然是免费的,他们通过帮助他人安装、使用和故障排除来赚钱。
虽然有些开源软件可能是免费的,但是掌握编程和排除开源软件故障的技能是很有价值的。许多雇主特别希望雇佣有开发开源软件经验的程序员。
什么是“软件之外”的开源 ?
开源不仅是开发和许可计算机软件的一种方式,也是一种态度。接触生活的方方面面“开源方式”意味着表达一种分享的意愿,以一种透明的方式与他人合作(这样其他人也能看到并加入),接受失败作为一种改进的方式,并期待,甚至鼓励其他人也这样做。
这也意味着致力于在改善世界中发挥积极作用,只有当每个人都可以使用设计世界的方式时,这才有可能实现。
这个世界充满了“源代码”,包括蓝图,食谱,规则,它们指导并塑造了我们在其中思考和采取行动的方式。我们认为此基础代码(无论其形式如何)都应该是开放的,可访问的和共享的,因此许多人可以将其改进。
编程字体有些在普通字体中没有的特点,这五种字体你可以看看。
-- Andrew Lekashman
什么是最好的编程字体呢?首先,你需要考虑到字体被设计出来的初衷可能并不相同。当选择一款用于休闲阅读的字体时,读者希望该字体的字母能够顺滑地衔接,提供一种轻松愉悦的体验。一款标准字体的每个字符,类似于拼图的一块,它需要被仔细的设计,从而与整个字体的其他部分融合在一起。
然而,在编写代码时,通常来说对字体的要求更具功能性。这也是为什么大多数程序员在选择时更偏爱使用固定宽度的等宽字体。选择一款带有容易分辨的数字和标点的字体在美学上令人愉悦;但它是否拥有满足你需求的版权许可也是非常重要的。
某些功能使得字体更适合编程。首先要清楚是什么使得等宽字体看上去井然有序。这里,让我们对比一下字母 w 和字母 i。当选择一款字体时,重要的是要考虑字母本身及周围的空白。在纸质的书籍和报纸中,有效地利用空间是极为重要的,为瘦小的 i 分配较小的空间,为宽大的字母 w 分配较大的空间是有意义的。
然而在终端中,你没有这些限制。每个字符享有相等的空间将非常有用。这么做的首要好处是你可以随意扫过一段代码来“估测”代码的长度。第二个好处是能够轻松地对齐字符和标点,高亮在视觉上更加明显。另外打印纸张上的等宽字体比均衡字体更加容易通过 OCR 识别。
在本篇文章中,我们将探索 5 款卓越的开源字体,使用它们来编程和写代码都非常理想。
FiraCode, Andrew Lekashman
在我们列表上的首款字体是 FiraCode ,一款真正符合甚至超越了其职责的编程字体。FiraCode 是 Fira 的扩展,而后者是由 Mozilla 委托设计的开源字体族。使得 FiraCode 与众不同的原因是它修改了在代码中常使用的一些符号的组合或连字,使得它看上去更具可读性。这款字体有几种不同的风格,特别是还包含 Retina 选项。你可以在它的 GitHub 主页中找到它被使用到多种编程语言中的例子。
FiraCode 与 Fira Mono 的对比, Nikita Prokopov ,源自 Git
Inconsolata, Andrew Lekashman
Inconsolata 是最为漂亮的等宽字体之一。从 2006 年开始它便一直是一款开源和可免费获取的字体。它的创造者 Raph Levien 在设计 Inconsolata 时秉承的一个基本原则是:等宽字体并不应该那么糟糕。使得 Inconsolata 如此优秀的两个原因是:对于 0 和 o 这两个字符它们有很大的不同,另外它还特别地设计了标点符号。
DejaVu Sans Mono, Andrew Lekashman
受在 GNOME 中使用的带有版权和闭源的 Vera 字体的启发, DejaVu Sans Mono 是一个非常受欢迎的编程字体,几乎在每个现代的 Linux 发行版中都带有它。在 Book Variant 风格下 DejaVu 拥有惊人的 3310 个字形,相比于一般的字体,它们含有 100 个左右的字形。在工作中你将不会出现缺少某些字符的情况,它覆盖了 Unicode 的绝大部分,并且一直在活跃地增长着。
Source Code Pro, Andrew Lekashman
由 Paul Hunt 和 Teo Tuominen 设计, Source Code Pro 是 由 Adobe 创造的 ,成为了它的首款开源字体。Source Code Pro 值得注意的地方在于它极具可读性,且对于容易混淆的字符和标点,它有着非常好的区分度。Source Code Pro 也是一个字体族,有 7 中不同的风格:Extralight、Light、Regular、Medium、Semibold、Bold 和 Black,每种风格都还有斜体变体。
潜在易混淆的字符之间的区别, Paul D. Hunt 源自 Adobe Typekit 博客。
在计算机领域中有特别含义的特殊元字符, Paul D. Hunt 源自 Adobe Typekit
Noto Mono, Andrew Lekashman
在我们列表上的最后一款字体是 Noto Mono ,这是 Google 打造的庞大 Note 字体族中的等宽版本。尽管它并不是专为编程所设计,但它在 209 种语言(包括 emoji 颜文字!)中都可以使用,并且一直在维护和更新。该项目非常庞大,是 Google 宣称 “组织全世界信息” 的使命的延续。假如你想更多地了解它,可以查看这个绝妙的 关于这些字体的视频 。
无论你选择那个字体,你都有可能在每天中花费数小时面对它,所以请确保它在审美和哲学层面上与你产生共鸣。选择正确的开源字体是确保你拥有最佳生产环境的一个重要部分。这些字体都是很棒的选择,每个都具有让它脱颖而出的功能强大的特性。
via: https://opensource.com/article/17/11/how-select-open-source-programming-font
作者: Andrew Lekashman 译者: FSSlc 校对: wxy
本文由 LCTT 原创编译, Linux中国 荣誉推出
相关问答
是的,苹方简是一款开源字体。它是由中国科学技术大学的计算机科学与技术学院出版社制作并发布的。该字体具有优雅、简洁、清晰的视觉效果和良好的阅读体验。同...
思源宋体是免费商用字体。思源宋体是一款开源字体,可免费商用。是谷歌与Adobe公司联合出品,共有7重不同的字重可供选择,字型秀丽俊美。思源宋体是免费商用字...
新罗马字体是一种常见的字体,被广泛用于商业和个人用途。然而,如果你要在商业出版物中使用新罗马字体,你需要确认是否获得了相关版权许可。因为新罗马字体并非...
黑体和楷体阅读起来会好一点,手机上宋体阅读起来会有点累,而且宋体太呆板了。黑体:黑体长的其实都差不多,推荐:思源黑体,谷歌和Adobe合作的开源字体未来...
可以商用。因为许多字体都有商用授权,包括平方字体本身也有商用授权,只要获得相应的授权,就可以合法地将平方字体用于商业用途。此外,还需要注意商用授权的范...
杂交字体是不错,我用的就是自己做的微软雅黑+lucidasanstypewriterYaHeiConsolasHybrid----用的很爽!喜欢复古和有特殊需求的,可以试一试gnuuni...
不会。具有合法授权的OSX和Windows的自带字体基本上都可用于商用——只要不是将字体文件附带到成品上进行再发布。详情可参阅两公司各自的EULA.Linux...
你说的应该是office建议百度搜wpsoffice直接就能下载女口福这软件应该是Windows系统自带的记事本程序,不是专门的复印软件。它主要用来编辑文本文件。...
AI中创建像素字体通常涉及使用像素点来构成每个字母的形状。具体如下:1.**手动绘制**:您可以在AdobeIllustrator(AI)中手动绘制像素字体,这涉及到画出每个...
千库编辑的字体是否可以随便使用,这个问题涉及到版权法和字体使用许可的问题。首先,要明确一点,任何字体,无论是不是从千库编辑下载的,都受到版权法的保护。...