开源软件正在逐步改变全球软件开发的格局,越来越多的企业开始使用开源软件,并反过来为开源项目贡献力量。
一提到开源,大部分人首先想到的是免费。但其实价格并不是开源软件唯一的优势,其他优势还包括:
- 避免重复造轮子:对于企业来说,有现成的工具可用,节省了重新开发的成本;
- 质量更高、更安全:由于源码开放,其他开发者可以参与共享,安全漏洞的发现和修复将会更加及时;
- 自由、可定制:企业可以摆脱软件厂商的束缚,并可以根据自己的需求很方便地进行定制。
下面就来看看全球著名的一些互联网企业使用了哪些开源项目。
1. Facebook
Facebook是全球第一大社交网站,拥有约9亿用户,同时也是世界排名第一的照片分享站点,每天上载八百五十万张照片。
- 主要开发语言:PHP
- 存储系统:MySQL、Memcached
2. Twitter
Twitter(推特)是全球著名的社交网络及微博客服务网站。
- 主要开发语言:Ruby、Scala、Java
- 开发工具:Hadoop、Lucene
- 存储系统:MySQL、Cassandra
3. Tumblr
Tumblr(汤博乐)成立于2007年,是目前全球最大的轻博客网站,也是轻博客网站的始祖。
- 主要开发语言:Ruby、PHP、Scala
- 存储系统:MySQL、Memcached、Redis
- 服务器:nginx、Apache
4. Linkedin
LinkedIn(邻客音)是全球最大的职业社交网站,网站的目的是让注册用户维护他们在商业交往中认识并信任的联系人,俗称“人脉”(Connections)。
- 主要开发语言:Java
- 开发工具:YUI、Hadoop、Spring、Grails
- 存储系统:MySQL
5. Dropbox
Dropbox是一个提供同步本地文件的网络存储在线应用。支持在多台电脑多种操作中自动同步。并可当作大容量的网络硬盘使用。Dropbox采用免费试用+高级服务收费的Freemium模式,最初2GB空间免费,此后则需要按月支付存储费用。
- 主要开发语言:Python
- 存储系统:MySQL、Memcached
- 服务器:nginx
6. BitBucket
BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
- 主要开发语言:Python
- 开发工具:Django、RabbitMQ
- 存储系统:redis、PostgreSQL
- 服务器:nginx
7. Reddit
Reddit是个社交新闻站点,口号是“提前于新闻发生,来自互联网的声音”。
- 主要开发语言:Python
- 开发工具:Cassandra、RabbitMQ
- 存储系统:Memcached、PostgreSQL
8. Quora
Quora是一个问答SNS网站,由Facebook前雇员查理•切沃和亚当•安捷罗于2009年6月创办。
- 主要开发语言:Python
- 开发工具:jQuery
- 存储系统:MySQL
- 服务器:nginx
9. Zynga
Zynga是一家社交游戏开发商,目前是Facebook第一大营收来源,2011年占Facebook全年营收比例高达12%。
- 主要开发语言:PHP
- 存储系统:MySQL、Memcached
- 服务器:Apache
10. Pinterest
Pinterest是全球最大的图片社交分享网站,采用的是瀑布流的形式展现图片内容,无需用户翻页,新的图片不断自动加载在页面底端,让用户不断的发现新的图片。
- 主要开发语言:Python
- 开发工具:Django、Node.js
- 存储系统:MySQL
- 服务器:nginx
11. Foursquare
Foursquare是一家基于用户地理位置信息的手机服务网站,并鼓励手机用户同他人分享自己当前所在地理位置等信息。
- 主要开发语言:Scala
- 开发工具:Backbone.js、jQuery、Lift
- 存储系统:mongoDB、hadoop
12. EverNote
EverNote是一款非常著名的笔记软件,界面与功能十分类似Onenote。它不仅具备强大的笔记捕捉功能,还采用了独特的分类方式,而且支持filter的自动整理、即时搜索。
- 主要开发语言:Java
- 开发工具:EHCACHE、Stripes、GWT、HIBERNATE
- 存储系统:MySQL
- 服务器:Apache、Tomcat
13. Codecademy
在线学习编程的网站,为用户提供了一种学习编程的新方式。它采用基于网络的互动编程教程,手把手帮助用户了解编程语言的基本原理。
- 主要开发语言:Ruby
- 开发工具:Rails、jQuery
- 存储系统:mongoDB
14. Instagram
Instagram是一款移动应用,可以让你以一种快速、美妙和有趣的方式将随时抓拍下的图片分享给其他人彼此。2012年10月25号,Facebook以总值7.15亿美元收购Instagram。
- 主要开发语言:Python
- 开发工具:diango、Solr
- 存储系统:redis、PostgreSQL
下面来看看以上这些开源项目的相关介绍。
1. Backbone.js
Backbone.js是一个基于jQuery和underscore的JavaScript框架,提供了强大的对模型、视图和交互的抽象,凭借它,我们可以使用JavaScript编写复杂交互的Web应用。
2. Cassandra
Cassandra是一个混合型的非关系的数据库,以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族的数据模型,P2P去中心化的存储。最初由Facebook开发,后转变成了开源项目,它是一个网络社交云计算方面理想的数据库。
3. CoffeeScript
CoffeeScript是一个使用纯Ruby编写的新编程语言,创建者Jeremy Ashkenas戏称它是“JavaScript的不那么铺张的小兄弟”。因为CoffeeScript会将Ruby编译成JavaScript,而且大部分结构都相似,但不同的是CoffeeScript拥有更严格的语法。
4. Django
Django是一个基于Python的Web应用开发框架,采用MVC设计模式。
5. EHCACHE
EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
6. Grails
Grails是一套用于快速开发Web应用的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate和其他标准Java框架之上,从而为大家带来一套能实现超高生产力的一站式框架。
7. GWT
Google Web Toolkit的缩写,允许开发人员使用 Java 编程语言快速构建和维护复杂但性能高的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。
8. Hadoop
Apache基金会开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力高速运算和存储。
9. Lift
Lift是一个非常优雅的Web框架,基于Scala编程语言,使用Apache 2.0许可发布。Lift为开发者提供了最好的方式来创建交互的、高性能的web应用。
10. Lucene
Lucene是一个开放源代码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,部分文本分析引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
11. Memcached
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的HashMap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过Memcached协议与守护进程通信。
12. MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的数据库。其最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
13. Node.js
Node.js是一套用来编写高性能网络服务器的JavaScript工具包,目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。实际上Node是对Google V8引擎进行了封装,并对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
14. PostgreSQL
PostgreSQL是以POSTGRES为基础的对象关系型数据库管理系统(ORDBMS),支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。因为许可证的灵活,任何人都可以以任何目的免费使用、修改、和分发PostgreSQL。
15. RabbitMQ
RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。
16. Redis
Redis是一个高性能的key-value数据库,它的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python、Ruby、Erlang、PHP客户端,使用很方便。
17. Solr
Solr是一个高性能、采用Java开发、基于Lucene的全文搜索服务器,同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
18. Stripes
Stripes 是一个使用最新的Java 技术来构建Web应用的开发框架。
19. YUI
雅虎用户界面库,采用JavaScript语言编写,允许用户使用DOM脚本、DHTML和AJAX技术构建富交互网络应用程序。YUI库也包含一些核心的CSS资源。
来自互联网
相关推荐
《开源魅力:面向Web开源技术整合开发与实战应用》是一本深入探讨开源技术和Web开发的综合性书籍。在当今数字化时代,开源技术已经成为推动互联网发展的重要力量,尤其在Web开发领域,其影响力不容忽视。这本书旨在...
Joomla诠释开源魅力Joomla诠释开源魅力Joomla诠释开源魅力Joomla诠释开源魅力
《OTL:C++数据库访问库的开源魅力》 OTL,全称为Oracle Template Library,是一个专门为C++程序员设计的高效、便捷的数据库访问库。它以其强大的功能和易用性,深受广大开发者喜爱,尤其在处理Oracle数据库时,...
《深入解析Linux与开源软件:自由的基石与技术的革新》 ...在未来,随着开源文化的普及和技术的不断演进,Linux与开源软件将在更多领域展现出其独特魅力,推动着科技向更加开放、平等和协作的方向发展。
《开源时代》杂志是一本专注于开源技术和文化的出版物,它以深入浅出的方式传播开源理念,...通过阅读这五期内容,我们可以深入了解开源技术的发展历程,感受开源文化的魅力,同时也为自己的技术之路提供灵感和启示。
Ubuntu8.10正式版的发布,让许多人亲身体验到了开源操作系统的魅力,证明了开源操作系统并不逊色于商业产品。这一趋势预示着未来可能有更多的用户会选择开源操作系统,这不仅是对微软等巨头的一次挑战,也是对整个...
《filemanager-0.0.2.zip:探索KindEditor与Kind-FileManager的开源魅力》 在互联网技术高速发展的今天,HTML编辑器已经成为网页内容创作不可或缺的一部分。KindEditor(http://kindeditor.org/)是一个备受赞誉的...
最后,K-9 Mail的扩展性是其开源魅力的一部分。源代码中包含了丰富的API接口和BroadcastReceiver,允许开发者轻松添加新功能或集成其他服务。例如,你可以编写插件实现自定义的邮件过滤规则,或者对接第三方日历应用...
《Console Tetris 1.3 开源版:重温经典,体验开源魅力》 在数字化娱乐日益丰富的今天,一些经典的游戏仍然能唤起我们无尽的回忆。"Console Tetris 1.3-开源"就是这样一款游戏,它让我们有机会重新体验那个年代的...
小米便签开源软件是针对Android操作系统设计的一款备忘录应用,深受用户喜爱。这款软件的核心特点在于其开源性,这意味着它的源代码对外公开,...无论是对开发者还是普通用户,小米便签都展现了开源软件的魅力和价值。
《Laz Audio Player:GNU音频播放器的开源魅力》 在信息技术日新月异的今天,开源软件已经成为了软件开发领域的重要力量。其中,Laz Audio Player作为一个由Lazarus编写的开源音频播放器,凭借其简洁易用的特性,为...
【小米开源便签】是一款由小米公司开发并开源的便签应用,旨在提供一个轻量级、用户友好的记事工具。这款应用以其简洁的界面和丰富的自定义功能...无论是普通用户还是开发者,都能从中找到价值,体验到开源软件的魅力。
通过研究源代码和阅读相关说明,开发者不仅可以掌握资讯阅读应用的实现原理,还能领略到开源项目的魅力,提高自己的编程技能。同时,这也为Android爱好者提供了一个探索和贡献的社区,进一步丰富了Android应用的多样...
《KISS Player:轻盈音乐体验的开源魅力》 在当今的数字时代,音乐播放器已经成为我们生活中不可或缺的一部分。各种各样的音乐播放器琳琅满目,各有特色,但其中一款名为“KISS Player”的音乐播放器因其简洁、小巧...
《NGA客户端开源版代码仓库解析》 NGA(NGA玩家论坛)是一款深受广大游戏玩家喜爱的社区平台,它的...通过深入学习和实践,不仅可以提升编程技能,还能体验到开源社区的魅力,为自己的技术之路增添一份独特的色彩。
Simple-CMS:轻量级内容管理系统的开源魅力 在当今数字化时代,内容管理系统的存在显得尤为重要,它们使得网站的建设和维护变得更加便捷。"Simple-CMS:Simplicity In Motion"便是一个专注于提供简单易用体验的开源...
《Trancestris:祖先翻译工具的开源魅力》 Trancestris,这个名字或许对许多人来说还比较陌生,但它在IT领域,特别是族谱软件爱好者中,却是一款颇具影响力的工具。作为Ancestris的翻译助手,Trancestris旨在为用户...
《Dino's Bookmark Submitter:智能书签提交者的开源魅力》 Dino's Bookmark Submitter,这个独特的软件工具,以其高效、便捷的书签管理功能,为用户提供了全新的在线书签管理体验。作为一款免费且开源的解决方案,...
《KProject:KDE项目管理工具的开源魅力》 在信息技术领域,开源软件以其透明、自由和社区驱动的优势,越来越受到开发者的青睐。KProject,作为一款基于KDE(K Desktop Environment)的项目管理工具,正是这样的...
《KARR 2.0 车载PC软件音频播放器:开源魅力解析》 车载PC,即CarPC,是将计算机技术与汽车娱乐系统相结合的创新应用,它为驾驶者提供了更为丰富的多媒体体验。而KARR 2.0则是一款专为此应用场景设计的软件音频...