Tag Archives: google

Google, Facebook Wouldn’t Have Been Possible Without Open Source

15 Feb

Red Hat is one of the leading companies operating on what is called the open source business model, where the source codes of software are open, enabling more programmers to make adaptations and improvements.

So, unlike proprietary software companies that do not open up the source codes and make money by selling expensive software licenses, Red Hat makes money by selling subscriptions for the support, training, and integration services that help customers in using open-source software.

Open source software has had significant success in many areas, and Red Hat itself has almost touched $1-billion in revenue. The company’s CEO Jim Whitehurst was recently in Bangalore and spoke to TOI.

What excites you right now in the open source world?
User-driven innovation. The Googles, the Yahoos, the Facebooks, who have significant IT challenges, are not looking to pay a vendor for intellectual property, they hire thousands of engineers to do it themselves, and they do it all on open source. They had ‘big data’ problems to solve, but did not have the dollars to solve them when they started off. That is why all the bigdata innovations, such as Hadoop and Cassandra (frameworks for running applications on large clusters built of commodity hardware), have happened on open source.

And now IBM, EMC, Oracle have all announced support around those open source projects. Why didn’t these things come out of the labs at IBM or Oracle? The simple reason is innovation is starting to move to user-driven innovation. It’s the explosion of Web 2.0 companies that’s driving open source.

Also, the pace of innovation at Web 2.0 companies is very rapid. The CEO of one of the big Web 2.0 companies I was talking to said he needed to launch a product in two weeks, so he had engineers working round the clock to ensure he met the deadline. Because it’s happening on open source, it opens up this huge, huge opportunity for Red Hat.

How cost effective is it?
One of the major banks in the US takes every single interaction they have with their customer and analyses it all in real time to take decisions. When they originally priced that system, it was going to be over a $100 million.

But eventually they built it with Hadoop, using Red Hat and commodity X86 servers for less than $2 million. So you are not talking about 20% savings, you are talking about radical savings.

The cost of building even the beginnings of Google, if you were doing that in the traditional IT stack way, would have been prohibitive. Our estimate is that if they had paid traditional license fees, even discounted, they would have paid $10 billion every year in such fees.

How is the cloud impacting you?
All major clouds are built on open source, other than (Microsoft) Azure. They either use ours (Red Hat) or free open source, and they use it right from the hypervisor to the operating system.

To build something on the scale of Amazon on a proprietary platform would be extremely expensive. So it does represent a huge opportunity. But the dollars are still in applications. Cloud as a multi-tenanted, off-premise set up is still a tiny, tiny part of IT infrastructure.

Software-as-a-service vendors are also building on our stack. Salesforce.com is built on Red Hat software. So we are in the cloud through that way too.

Do you believe everything will eventually move to open source?
This might be provocative for some people in open source, but no, not everything is moving to open source. Open source works well where there are broad communities of users, where there aren’t clear standards, or there is value in developing clear standards.

I’m willing to bet that IBM has profited a lot more from Linux than Red Hat has — by embracing it early on, offering it across their platforms. Sun Microsystems went the other way, and they almost died before they were acquired by Oracle. Open source is a very powerful developer model, very powerful economic model, but you have to figure out where to work with it.

Microsoft Windows still has the dominant share of server operating systems.

They are still about 60%. That’s because a lot of the applications still used are older ones. If you want to run Microsoft Exchange, you would use Windows. For customers to migrate applications is expensive.

But if it is a new application, we have a disproportionately high share. If you are doing only Web apps, or Java development or any new development, that is disproportionately Linux. In countries like India, where it’s significant new IT infrastructure, we have great opportunity.

You recently acquired Gluster (it has almost its entire engineering team in Bangalore). Where does it fit in?
There’s today an explosion of data, especially of unstructured data. How do you store and manage it? The people working on this problem are primarily the storage companies like EMC,NetApp. These are hardware companies, so for them the solution is a box that sits on the floor in a data centre. The thing that’s great about Gluster is that it’s a software solution to the problem.

You can plug up commodity disk drives to this thing, and you are ready for the application. It looks like one big disk drive. More importantly, because it’s software, you can spool it right up into the cloud. Pandora, the music streaming service, is a customer.

If a million kids show up to listen to a song, they can’t all hit one disk drive, so what this file system does is auto-replicate that song may be 50,000 times so that each one is hit by only 20 people. It can also spool right up on Amazon. When a song goes viral, it can spool up, and when the demand goes down, it can spool down. You can’t do that with a hardware solution.

It’s an open source solution, it’s low cost and modular. Red Hat started with the operating system, then middleware, virtualisation, and now we also have storage. Gluster has 50-60 people, we’ll likely double that this year.

Source: THE TIMES OF INDIA

Android by Google Inc.

23 Jan

Information and History

 

Android Robot

The Android Mascot

Android is a Linux-based open-source software stack (mainly an operating system) created for mobile phones and other devices. The Android Open Source Project (AOSP), led by Google and developed by the Open Handset Alliance (OHA); is tasked with the maintenance and further development of Android.

The primary purpose of this project is to build an excellent software platform for everyday users and to make sure that there is no central point of failure, where one industry player can restrict or control the innovations of any other. The chosen solution is an open and open-source platform.

Google purchased the initial developer of the software, Android Inc. (which was founded in 2003 in PA, California by Andy Rubin), in 2005. The unveiling of the Android distribution in 2007 was announced with the founding of the OHA, a consortium of 86 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google releases the Android code as open-source, under the Apache License.

“Why under the Apache License?” one might ask. For userspace software,  ASL2.0 (and similar licenses like BSD, MIT, etc.) is preferred by Google over other licenses such as LGPL. The main reason behind this decision (as described in Android’s Source web site) is as follows:

Here are some of our specific concerns:

  • LGPL (in simplified terms) requires either: shipping of source to the application; a written offer for source; or linking the LGPL-ed library dynamically and allowing users to manually upgrade or replace the library. Since Android software is typically shipped in the form of a static system image, complying with these requirements ends up restricting OEMs’ designs. (For instance, it’s difficult for a user to replace a library on read-only flash storage.)
  • LGPL requires allowance of customer modification and reverse engineering for debugging those modifications. Most device makers do not want to have to be bound by these terms, so to minimize the burden on these companies we minimize usage of LGPL software in userspace.
  • Historically, LGPL libraries have been the source of a large number of compliance problems for downstream device makers and application developers. Educating engineers on these issues is difficult and slow-going, unfortunately. It’s critical to Android’s success that it be as easy as possible for device makers to comply with the licenses. Given the difficulties with complying with LGPL in the past, it is most prudent to simply not use LGPL libraries if we can avoid it.

The issues discussed above are our reasons for preferring ASL2.0 for our own code. They aren’t criticisms of LGPL or other licenses. We do feel strongly on this topic, even to the point where we’ve gone out of our way to make sure as much code as possible is ASL2.0. However, we love all free and open source licenses, and respect others’ opinions and preferences. We’ve simply decided that ASL2.0 is the right license for our goals.

(More on Apache License will be explained on this blog later)

Software Design

Android Logo Text

Android Logo Text

Android consists of a kernel based on the Linux kernel (and further architecture changes by Google outside the typical Linux kernel development cycle), with middleware, libraries and Application Programming Interfaces (API) written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony (A free Java implementation project). Android uses the Dalvik Virtual Machine (the software which runs Android applications) with just-in-time compilation to run Dalvik dex-code (Dalvik Executable), which is usually translated from Java bytecode.

Usage

The Android 1.5 UI

The Android 1.5 UI

The open and customizable nature of the Android operating system allows it to be used on most electronics, including but not limited to: smartphones, fixed phones, laptops, netbooks, smartbooks, tablet computers, e-book readers, TVs, wristwatches, headphones, car CD and DVD players, digital cameras, portable media players and other devices. For more information and comparison (which are hard to fit here) about devices benefiting from Android, click here. The operating system itself is installed on 130 million total devices.

The main hardware platform for Android is the ARM Architecture. There is support for x86 from the Android x86 project, and Google TV uses a special x86 version of Android.

The Main Application Elements

Android Market Logo

Android Market Logo

The Market and application security is the most emphasized components of Android for both its end-users and developers. Android Market’s gateway is an application program called “Market”, comes preinstalled on most Android devices, which allows users to browse and download mobile apps published by third-party developers. The Android Market application is not open source. Only Android devices that comply with Google’s compatibility requirements may install and access Google’s closed-source Android Market app, subject to entering into a free-of-charge licensing agreement with Google. Application developers receive 70% of the application price, with the remaining 30% distributed among carriers and payment processors. Google itself does not take a percentage.

As of January 2012 there were more than 400,000 apps available for Android, and the estimated number of applications downloaded from the Android Market as of December 2011 exceeded 10 billion. Android Market features 67% of free of charge apps, the highest percentage of any major app store, closely rivaled by Windows Phone Marketplace at 61%. By comparison, the Apple App Store offers only 37% of their apps free of charge. As of May 2011, users in 131 countries can purchase paid applications from Android Market. Some carriers offer direct carrier billing for Android Market app purchases. Purchases of unwanted applications can be refunded within 15 minutes of the time of download. There is no requirement that Android applications be acquired from Android Market. Users may download Android applications from a developer’s website or through a third party alternative to Android Market.

Android applications run in a sandbox (a security mechanism for separating running programs), unless access permissions are granted by the user when the application is installed. Before installing an application, Android Market displays all required permissions. A game may need to enable vibration, for example, but should not need to read messages or access the phonebook. After reviewing these permissions, the user can decide whether to install the application or not.

Pirate Mascot

Pirate Mascot

Some Android malware incidents have been reported involving rogue applications on Android Market. In August 2010, Kaspersky Lab reported detection of the first malicious program for Android, named Trojan-SMS. AndroidOS.FakePlayer.a, an SMS trojan which had already infected a number of devices. In some cases applications which contained Trojans were hidden in pirated versions of legitimate apps. Google has responded by removing malicious apps from the Android Market, and remotely disabling them on infected devices. Several security firms have released antivirus software for Android devices, in particular, AVG Technologies, Avast!, F-Secure, Kaspersky, McAfee and Symantec.

Licensing

Apache Software Foundation Logo

Apache Software Foundation Logo

The source code for Android is available under free and open source software (FOSS) licenses. Google published their Linux kernel changes under the GNU General Public License version 2, and the rest of the code (including network and telephony stacks) under the Apache License version 2.0. Google also keeps the reviewed issues list publicly open for anyone to see and comment.

The OHA develops the GPL-licensed part of Android, that is their changes to the Linux kernel, in public, with source code publicly available at all times. The rest of Android is developed in private, with source code released publicly when a major new version is released. Typically Google collaborates with a hardware manufacturer to produce a flagship device (part of the Google Nexus series) featuring the new version of Android, then makes the source code available after that device has been released.

In early 2011, Google chose to temporarily withhold the Android source code to the tablet-only Honeycomb release, creating doubts over Google’s commitment to open source with Android. The reason, according to Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom, and they did not want third parties creating a “really bad user experience” by attempting to put onto smartphones a version of Android intended for tablets. The source code was once again made available in November 2011 with the release of Android 4.0.

Source(s):

http://www.techcrunch.com/
https://market.android.com/
http://developer.android.com/
http://source.android.com/
http://en.wikipedia.org/