【编者按】如果你认为开源软件的优势是免费和拿来主义,那么你就错了,在当今的软件市场中开源项目越来越耀眼,选择开源软件的最大优势无非是风险低、产品透明、行业适应能力强等等,但是在开源项目领域真正有影响力的企业,绝对是那些为这个项目贡献代码最多的企业。网名为架构师的博主李强总结了值得大家关注的10个开源项目,都很有价值,以下为原文:
1. Appium
官网:http://appium.io/
Appium是一个开源的自动化测试框架,它主要用于原生移动应用或混合移动应用。
Appium使用WebDriver:JSON wire protocol来驱动iOS应用和Android应用。
注:WebDriver是一个基于Selenium的自动化测试类库,它不是运行于浏览器内的JavaScript程序,而是可以与浏览器交互以及控制。WebDriver的所有实现都是与浏览器相互通信的,RemoteWebDriver服务器应该使用一个通用的连接协议,此协议定义了一套REST风格的API,它使用了基于HTTP协议的JSON格式实现。要使用Appium,先安装Node.js。
2. Docker
官网:https://www.docker.io/
Docker是一个开源的应用容器引擎,让开发者可以打包其应用以及依赖包到一个可移植的容器中,然后发布到任意Linux发行版,也可实现虚拟化。容器完全使用了沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包依赖。
Docker使用标准化容器的概念,能够容纳软件组件及其依赖关系——二进制文件、类库、配置文件、脚本、Virtualenv、jar包、gem包、原始码等——而且可以在任何支持cgroups的64位(针对x64)Linux内核上运行。这样的容器可以部署在笔记本、分布式基础架构、云端或是其他地方,其对环境的保留适用于广泛的用途:持续部署、Web部署、数据库群集、SOA等。
Docker自身使用Go语言开发,并使用了Linux的cgroup、namespacing、支持写时复制特性的AUFS文件系统以及LXC脚本。
3. exercism.io
官网:http://exercism.io/
exercism.io是新一代的代码审查工具,颠覆了传统的代码评审的观念。exercism.io基于Ruby语言开发,其后台使用了PostgreSQL数据库。
4. InfluxDB
官网:http://influxdb.org/
InfluxDB是一个开源分布式的时序、事件和指标数据库。InfluxDB使用Go语音编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。
在InfluxDB数据库中,一切都是基于时间序列的,同时你仍然可以执行那些标准的函数,比如求最小数min、求最大数max、求和sum、统计个数count、求平均值mean、求中位数median、求百分比percentile等等。
InfluxDB数据库可以在任意时间间隔收集数据并完成计算汇总,它可以跟踪上百个指标到上百万个指标。
InfluxDB数据库的数据模型支持任意的事件数据。
InfluxDB数据库内建了基于HTTP的API,因此通过JavaScript读写数据非常方便。
InfluxDB数据库自带了管理工具,以可视化的方式管理数据库、用户及权限等。
5. OpenDaylight
官网:http://www.opendaylight.org/
OpenDaylight是一套以社区为主导的开源框架,旨在推动创新实施以及软件定义网络SDN的透明化。面对新潮的SDN网络,大家需要合适的工具帮助自己管理基础设施,这正是OpenDaylight的专长。作为项目核心,OpenDaylight拥有一套模块化、可插拔且极为灵活的控制器平台作为其核心,这使其能够被部署在任何支持Java的平台之上。这款控制器中还包含一套模块合集,能够执行需要快速完成的网络任务。
OpenDaylight大体分三层:
网络App和业务流程层
控制器平台层
物理和虚拟网络设备层
6. OpenIoT
官网:http://openiot.eu/
OpenIoT是把物联网和云计算相结合的开源解决方案,OpenIoT项目专注于提供一个开源的中间件框架,使得云环境中的物联网IoT应用能实现公式化的自管理。因此,OpenIoT中间件框架将作为物联网应用的宏伟蓝图,使得物联网应用的交付变得自动化,更能适应云基础设施。
OpenIoT创建了一个开源的中间件,可以从传感器云中获取海量信息,而无需顾虑具体使用的传感器是什么。
7. serverspec
官网:http://serverspec.org/
serverspec是面向Puppet、Chef或其它配置管理工具的,用于测试服务器的配置是否正确。它可以编写RSpec测试。
注:RSpec是一个基于Ruby语言的测试工具,它高举行为驱动开发的大旗,目的是使得测试驱动的开发TDD变得更富有效率,更令人愉悦。
RSpec的特点:
丰富的命令行程序
实例和组的文字说明
灵活和可定制的报告
可扩展的预期语言
内建了mocking/stubbing框架
使用serverspec,可以编写RSpec测试,以此检查服务器的配置是否正确。serverspec通过SSH访问来测试服务器的实际状态,你无需在服务器上安装任何代理软件,也不管你使用的是何种配置管理工具,比如Puppet、Chef、CFEngine等。
8. Tox
官网:http://www.tox.im/
Tox工具可以让你在和家人,朋友,爱人交流时保护你的意思不受政府无孔不入的偷窥。也就是说,它是一个反监听的工具,保护个人隐私。
Tox工具免费、开源,是一个即时消息应用,其目标是替代Skype。
Tox的目标是成为一个易于使用的、集很多功能于一身的通信平台,目前已经支持文本和音频,未来还将支持视频聊天。确保用户的隐私安全和消息的安全传递。
9. XPrivacy
官网:http://repo.xposed.info/module/biz.bokhorst.xprivacy
XPrivacy是Android系统的一个隐私管理器。XPrivacy是一款基于Xposed框架的模块应用,可以对所有应用可能泄露隐私的权限进行管理,对禁止可能会导致崩溃的应用采取欺骗策略,提供伪造信息。
XPrivacy是权限管理的新秀,即勾即起效,主攻隐私相关的权限,类型非常详细,同时也造福了无法使用Pdroid的用户。
10. 保留
原内容推翻,还没想好。