Friday, 14 October 2011

Limiting Open Source


Limiting Open Source

Once an unrestricted forum for harnessing the creativity and inventiveness of software developers worldwide, open source technology has started to become entangled in concerns over licensing, intellectual property laws, and perhaps unsurprisingly, taste. The innovative nature of open source has made it a valuable resource for major companies. However, these same companies, including Apple Computer and Google, have begun to place caps on what can and can't be developed on their platforms through outright rejection or licensing agreements. The limits of open source have begun to acquire definition; however, without these limits, it is arguable that open source development would not thrive without the support made possible by international platforms.
Apple has received a tremendous amount of press for its decisions to limit content displayed through the open source 'apps' developed for its iPhone and other display devices. Of course, Apple has a long history of exacting tight control over both its software and hardware; open source developers have always had to submit to Apple's thorough regulations and licensing agreements. Now that Apple has become such a significant distributor of content, any rejection or alteration has international repercussions. Both the apps developed to display the graphically illustrated version of James Joyce's "Ulysses" and the works of political and Pulitzer Prize winning cartoonist Mark Fiore were either subject to edits or complete rejection by Apple. In the case of "Ulysses," the authors of the graphic adaptation agreed to delete the offending panels, which tended to feature nudity or other sexual content that subjected the book to an obscenity trial in 1933. The judge ruled that the book was not obscene, making Apple's decision to limit the display one based more on matters of taste as opposed to legality. After Mark Fiore won the Pulitzer for his work, Apple encouraged him to resubmit his previously rejected app. His app was approved, and his cartoons are now available through the iPhone without edits.
Google's development project Android invites both individual and corporate developers to contribute to their platform as long as they first complete an intellectual property licensing agreement. These agreements specifically delineate the use of the open source code or applications generated by the developer in relationship to the larger platform, and allow the developer to use the technology for other purposes outside of Android. The mission of Android, as stated on its website, is to prevent any one company or source from controlling what content is displayed to users on mobile devices. Although Android has on the surface a far more open policy toward open source development than Apple does, the test is how open Android will remain; will it eventually become another Apple, or will it uphold its open-ended spirit?


Overview of Cloud Computing


Overview of Cloud Computing





Although many conversations center around cloud computing, few of the participants can accurately describe basic questions, such as what is cloud computing and what are the benefits? Most people agree that cloud computing will become a vital part of how people do business. But the question is, how? In this three-part series, we will attempt to clear up common misconceptions about what cloud computing is, what it can do, and what it may eventually encompass.
Part One: What Is It?
In its simplest terms, cloud computing can be described as a way to house data and applications in remote central servers that can be accessed and updated by multiple users simultaneously. Essentially, a standard desktop or laptop computer becomes a portal where users tap into programs or information through the internet. However, the way that users access the information or applications is not quite as simple as logging into a website. The platforms that manage or enable access, as well as the actual application themselves, and the infrastructure required to coordinate all of these elements, form the basic elements of cloud computing.
Google's App Engine is an example of a platform, where users may access the apps through the platform. The apps themselves provide functions or services that are based on data collected from a variety of different sources. Some applications are more specific to industry, such as a sales software suite that tracks the individual calls and progress of a team of roaming representatives who can input their information from a mobile device into a centralized application that displays all information in real time. The fee systems for these services constitute the infrastructure.
Because it is still relatively new, some development companies specialize in one area, while other companies have attempted to build a more cohesive model that offers all three principal components. Most of the money currently made by cloud computing is generated by who pays for the storage/operation fees. Several applications require users to pay for a server which runs all of their software and applications, while others charge users a licensing or subscription fee to use their applications. These licensing fees cover the cost of running the server. Companies benefit from this arrangement principally because off-site dedicated servers are cheaper to maintain and house than in-house versions. Additionally, the hazard of software crashes and subsequent data loss is eliminated by virtue of the enormous operating power of the remote central servers.
With this broad overview in mind, in tomorrow's article we will explore the most common implementations of cloud computing.

SaaS, IaaS, and PaaS


SaaS, IaaS, and PaaS

To continue our cloud computing series, we discuss the three main areas in the cloud. Cloud computing has three primary branches: SaaS, IaaS, and PaaS. Each branch has different implementations and benefits.
Software As A Service
Software as a Service, or SaaS, generally takes the form of web-based software applications. Because SaaS can be paid for in the form of a regular monthly licensing or subscription fee, small businesses do not need to invest a huge amount of money for the equivalent of a technological 'down payment.' They can save tremendous amounts of money by not buying hardware to run and store specialized applications that would also require costly in-house IT personnel. This is especially convenient for start-ups or other fledging enterprises which need to maximize their earnings potential, and reduce overhead costs. By essentially purchasing all of these features through SaaS, businesses and government departments which experienced severe budget cuts are able to retain their productivity and accomplish business processes while simultaneously cutting costs.
Sales based businesses, such as brick and mortal retail outlets or advertising agencies, can save money by leasing SaaS on a monthly basis to complete their basic transactions.
Infrastructure As A Service
Infrastructure as a Service, or IaaS, supplies the building blocks of software and application development: programming languages, flexible storage space, and variable computing power. IaaS is excellent for use in development projects where different types of computing power will be needed at different stages of the project, such as the development of a major industry-specific or proprietary software project. Because IaaS essentially leases the tools to assemble the project, when the project is completed, the company can discontinue the service without having to lay off workers or sell equipment.
IaaS is used primarily by mid-scale to large companies that either develop software as a business, or that have a temporary project that directly impacts their business model. Architectural firms, for example, may use IaaS to develop software that allows them to quickly translate 3D models into digital plans. Once the software is developed, they no longer require IaaS.
Platform As A Service
Platform as a Service, or PaaS, provides a ready-made environment for the development of applications. Unlike IaaS, however, PaaS is accessible by a community of developers, as opposed to an individual business entity, who want to collectively build applications without necessarily owning the output or consequences of those applications. PaaS is a breeding ground for new ideas that, if successful, can bolster the career of an individual developer, but do not necessarily tie him or her to a particular project or entity. Many PaaS providers have licensing agreements that clearly delineate the rights of the individual developer and the how the PaaS may use that developer's contributions. Freelance developers can quickly build an easily accessible portfolio of work, while PaaS providers can cheaply develop innovative applications for future sale.



Flag Counter