Open Source Software - Theiet

Transcription

http://www.theiet.org/cpdOpen SourceSoftwareA Factfile provided by the Institution of Engineering and Technologywww.theiet.org/factfiles

About This FactfileContentsThe Institution of Engineering and Technology acts as a voicefor the engineering and technology professions by providingindependent, reliable and factual information to the publicand policy makers. This Factfile aims to provide an accessibleguide to current technologies and scientific facts of interest tothe public.Introduction 3A brief chronology of open systems 3From closed to open systems: a spectrum 3Virtualisation: from open systems to cloud computing 3For more Factfiles and Position Statements on engineeringand technology topics please visit http://www.theiet.org/factfiles.The Institution of Engineering and TechnologyThe Institution of Engineering and Technology (IET) is a globalorganisation, with over 150,000 members representing a vastrange of engineering and technology fields. Our primary aimsare to provide a global knowledge network promoting theexchange of ideas and enhance the positive role of science,engineering and technology between business, academia,governments and professional bodies; and to addresschallenges that face society in the future.Advantages of Open Systems in information processing 4Lessons from the transition from closed to open systems 6Acknowledgement 6References 7As engineering and technology become increasinglyinterdisciplinary, global and inclusive, the Institution ofEngineering and Technology reflects that progression andwelcomes involvement from, and communication between, allsectors of science, engineering and technology.The Institution of Engineering and Technology is a not for profitorganisation, registered as a charity in the UK.For more information please visit http://www.theiet.org The Institution of Engineering and Technology 2014The Institution of Engineering and Technology is registered asa Charity in England & Wales (no 211014) and Scotland (noSC038698).Enquiriespolicy@theiet.orgOpen Source SoftwareA Factfile provided by The Institution of Engineering and Technology The IET 2014www.theiet.org/factfiles2

IntroductionThe shift to Open SourceSoftware is one of the mostimportant current trends intechnology, yet it is surprisinglylittle discussed compared withother developments - includingthose that, ironically, have onlybeen made possible by theadoption of open systems.Open Source can offer huge benefits, enabling fasterinnovation and reduced total cost of ownership. Whilsttransitioning from closed to open systems is no trivial task,unless this step is taken, businesses risk being left behind astheir competitors capitalise on the new possibilities this offers.A brief chronology of open systemsOpen systems in computing and informatics refers to a classof systems which are built using Open Source Software(OSS) standards and that offer a good level of portability andindependence from the hardware platforms on which theyoperate. They usually include a right to edit and redistributeand have particular characteristics including1: no intentional secrets: the standard must not withhold anydetail necessary for interoperable implementation. availability: the standard must be freely and publiclyavailable under royalty-free terms at reasonable and nondiscriminatory cost. patents: all patents essential to implementation of thestandard must be: licensed under royalty-free terms for unrestricted use,or covered by a promise of non-assertion when practicedby Open Source Software.There are three key types of licence under which OSS may bereleased2: the GNU3 General Public License (GPL) requires thataltered or extra code added to GPL software be alsolicensed under the GPL. This ensures the propagationof OSS but can cause licensing conflicts if GPL andproprietary software are combined. the Berkeley Software Distribution (BSD) licence givesanyone the freedom to release updates or modifications ofthe software under any licence they wish. the Lesser GPL (LGPL) is a compromise between therestrictive GPL and the permissive BSD. Altered LGPLsoftware must continue under LGPL, but extra code canbe added under almost any licence the author wishes.The concept of open systems dates back to the late1960s and early 1970s, as the first steps were taken tolink heterogeneous computer systems together acrosscommunications networks. Networking developments tookplace principally in two communities, the defence/academicworld, leading to the development of ARPANET and ultimatelyto today’s internet, based on the TCP/IP4 protocols, and by thepublic telecommunications operators using a different protocolstack (the “X” series) to achieve similar aims. The reality ofmultiple competing solutions led to the creation of a singleopen systems interconnection (OSI) reference model5.Once open solutions were available for networking, attentionturned to the attached computer systems. Could the software,both operating system and applications, be made moreindependent of the particular hardware platform or vendorused? The most widely recognised precursor of today’s openoperating systems came again from the telecommunicationsworld. AT&T had first developed “Unix”6 in 1969 at its BellLaboratories subsidiary. In 1973 Unix was very largely rewritten in the high level programming language “C” making itmuch easier to transfer between multiple hardware platforms.In its later incarnations in the 1980s, Unix embodiedstandardised programming interfaces and management ofattached devices.Unix was the inspiration for the development of Linux7 thebasis for the vast community of open software and applicationsin use today. The first Linux Kernel8 was released by LinusTorvalds in 1991. Some 20 years of development andoperating experience, sourced from around the globe, havenow gone into the Linux based open operating systems.From closed to open systems: a spectrumIt would be wrong to regardthe question of whetheran operating system isopen or closed as simply abinary choice. The realityis that most practicalimplementations liesomewhere on the spectrumbetween these two extremes.Many current systems drawon the Unix/Linux legacywhilst arguably now being closed. Examples include the Appleoperating systems OSX and iOS, Oracle Solaris and BlackberryBBX. Others build in their own proprietary additions forexample IBM’s AIX and HP’s HPUX. Still others remain verylargely open such as Google’s Android.Even where a core Linux system is used, there will oftenbe a need to purchase maintenance and support services.The major vendors, such as Red Hat and SUSE, have everyincentive to build in some competitive differentiation bycustomising their various services and tools, particularly in thearea of system management.Virtualisation: from open systems to cloud computingVirtualisation is again a development first introduced in the1970s. A single mainframe computer could run many separateinstances of the same operating system at the same timeunder the control of a “hypervisor”; in effect each instanceof the operating system simulated a stand-alone machine.All were hosted simultaneously, but separately, on the samehardware. The use of such virtualisation techniques with LinuxOpen Source SoftwareA Factfile provided by The Institution of Engineering and Technology The IET 2014www.theiet.org/factfiles3

style open systems has generated major benefits with singlemachines supporting multiple virtual servers. For applicationsthat have relatively low load factors the advantages aresubstantial, lower capital costs through better utilisation, plusease of management and provisioning.The final step to create cloudcomputing9 was the developmentof the technique known as“orchestration”. This allows manyvirtual machines to be managedacross a range of physical hardware.As load increases for a particularapplication, further virtual machinescan be started automatically and, ifnecessary further physical systemsassigned to support of these in-demand virtual machines andapplications.Quicker response to changing requirements: The pace ofchange in many markets, especially those with a consumerfocus, is now relentless. The focus on customer engagementand involvement and the influence of burgeoning socialnetworks place further demands on immediacy of response.Access to a wide range of cost-effective development tools,ability to scale rapidly and access to global community ofshared knowledge all favour the use of the open approach.Open Source’s responsiveness12. Alex McLachlan ofIndigoblue Consulting shared in his blog that: “One of OpenSource’s unique selling points (if I can use that phrase) is itsresponsiveness. We’ve had a really good example of this on ourwebsite recently, which demonstrates how issues with OpenSource Software can get fixed really quickly and efficiently.We use the Drupal open source website content managementsystem and wanted to add in the Amazon module that letsyou link directly to Amazon contents. We had an issue withhow the links to Amazon were appearing The guy doing thedevelopment posted the problem on the Drupal website andresolved the cause of the problem with the module maintainerwithin a few days. This experience contrasts with experiencesI’ve had with companies supporting products, where it canbe difficult to get fixes made between product releases, soany significant issue can mean waiting until the next productrelease.”Almost all of the successful web businesses launched in thelast 10 years have drawn on this base of virtualised opensystems: familiar names such as Google, Amazon, YouTube,Facebook and Twitter all operate in this way.“The meaning of open”10. In a post to the official GoogleBlog on 21st December 2009, Google Senior Vice Presidentfor Product Management Jonathan Rosenberg wrote: “ At Google we believe that open systems win. They lead tomore innovation, value, and freedom of choice for consumers,and a vibrant, profitable, and competitive ecosystem forbusinesses.” and “ Complacency is the hallmark of anyclosed system. If you don’t have to work that hard to keep yourcustomers, you won’t ”The combination of virtualised open systems plussophisticated orchestration leads to the concept of purchasingcomputing capability as a utility - so-called cloud computing.Advantages of Open Systems in informationprocessingAccess to greater innovation: The combination of Open SourceSoftware, open systems interoperability and open standardshas created a self-reinforcing community of shared researchand development and a pooling of creative ideas. This leads toa stream of innovative applications for test and development.Those that show promise are implemented and adopted morequickly.Open Source is driving innovation11. In a speech at theLinux leaders annual summit in June 2012, Red Hat CEOJim Whitehurst commented that the information age isfinally evolving into the information economy because of thestandardisation enabled by Linux and Open Source. He saidthat: “ Open source has gone mainstream . open source isthe default choice of the next generation IT architecture ”and “ More innovation will happen first in open source andthat’s a radical change from even five years ago.”Enhanced ability to support a plethora of systems: The world isa highly heterogeneous environment. Business organisationsuse a wide variety of current and legacy systems all at differentstages of their lifecycle. Some are widely supported, someless so. The ability, through open systems, to draw on a veryextensive range of standards and interfaces shared anddeveloped over 20 years can be a key differentiator.Access to skilled, motivatedand innovative staff: Ageneration has now grown upwith the internet and OpenSource. They want to workwith these systems and toolsrather than the closed andproprietary approaches thatare frequently seen as morelimiting. Open systems developments (such as below) are seenas particularly desirable. : Drupal13 (an open source content management platformpowering millions of websites and applications. It’s built,used, and supported by an active and diverse communityof people around the world); Hadoop14 (The Apache Hadoop software library is aframework that allows for the distributed processing oflarge data sets across clusters of computers using a simpleprogramming model. It is designed to scale up from singleservers to thousands of machines, each offering localcomputation and storage. Rather than rely on hardwareto deliver high-availability, the library itself is designedto detect and handle failures at the application layer, sodelivering a highly-available service on top of a cluster ofOpen Source SoftwareA Factfile provided by The Institution of Engineering and Technology The IET 2014www.theiet.org/factfiles4

LONDON, February 14, 2011.19 Novell today announced SUSE Linux Enterprise Server will be used to support the LondonStock Exchange’s new trading platform. The Linux* systemwill help the Exchange to effectively manage the high volumeof traffic passing through its systems in record-breaking time.The deployment, which went live today, will help improve theperformance of the Exchange’s UK cash markets.computers, each of which may be prone to failures); and jQuery15 (a fast and concise JavaScript Library thatsimplifies HTML document traversing, event handling,animating, and Ajax interactions for rapid webdevelopment);The new Millennium Exchange system will provide theExchange with a high performance, secure, green andinteroperable platform, capable of making intelligent use ofvirtual and physical environments.Rapid exploitation of new technology developments: Under thecontinuing impetus of “Moore’s Law”16 new developments inhardware (such as ultra high resolution displays, enhancedwireless networking and network based storage) continueapace. New developments in software and systems, forexample in Business Analytics (the so-called “big data”) arealso a regular occurrence. It is important to have timely accessto these. The Open Source community once again offers rapidaccess.Drawing on a global community for knowledge tools andproblem solving: Developed over the last 20 years, the OpenSource community now numbers in the millions of softwarearchitects, analysts, designers and programmers. Thecommunity also extends to key universities and facilitatesaccess to leading edge research. There are extensive facilitiesfor collaboration GitHub17 is a social network for open source programmers. It isbased around the “Git” the extremely fast, efficient, distributedversion control system for the collaborative developmentof software created by Linus Torvalds. It supports coderepositories, issue tracking, collaboration management, codereviews and so on. More than two million software developersare linked through GitHub.openstack 18 is a global community of technologists,developers, researchers, corporations and cloud computingexperts originally set up under the aegis of the US NationalAeronautics & Space Administration (NASA). It currentlyinvolves more than 3000 people from more than 180organisations. It is based around a massively scalable “cloud”operating system.Limiting restricted dependencies: The Open Source communityavoids dependency on single sources and sharply limits thepotential of pricing power. For example, in terms of support forthe Linux operating system, competition is based on qualityof customer service and additional management facilitiesrather than on access to the individual system releases. Thepurchaser has more freedom regarding when to upgrade to anew release SUSE Linux Enterprise Server will help to increase theMillennium Exchange system’s capacity to cope with highvolume trading. SUSE Linux Enterprise Server is a highlyreliable, scalable and secure server operating system builtto power both physical and virtual mission-critical workloads.With this foundation, enterprises can efficiently deliverbusiness services, enable secure networks and manageheterogeneous IT resources. Millennium Exchange is alsobeing backed by Novell’s world-class support and services.Lower total cost of ownership: Open Source Software isgenerally free to obtain rather than being subject to the licencefee normally charged for access to proprietary software.However this is not the correct basis on which to comparecosts. It is more appropriate to consider the total cost ofownership (TCO) over the lifetime of use of the software. TheLondon School of Economics (LSE) published a report on TCOfor the United Kingdom Cabinet Office in 201120. This reportfound that: “The highest score for strategic drivers was forreduced vendor lock in. A close second was value for money.”The report (based on a survey of 32 organisations) found thatTCO was often loweroverall with Open SourceSoftware. However,based on a model offive life cycle phases(Search for a solution,Acquisition, Integration,Use and Retirement)structured into 14separate areas of cost,analysis should really becarried out on a case-bycase basis. In so far asgeneralisation is possible,industry lore is that aTCO saving of around20% is achievable.Full visibility of (and confidence in) the source code: Thereremains no broad agreement in computer security circles asto whether open visibility of source code contributes to, ordetracts from, system security. Access to the code is clearlyhelpful to an attacker, but in the same way extensive publicreview and correction of the code can minimise the avenuesfor attack and offer more rapid identification and blocking ofOpen Source SoftwareA Factfile provided by The Institution of Engineering and Technology The IET 2014www.theiet.org/factfiles5

successful attacks. These issues are discussed in some depthin the 2002 paper Security in Open versus Closed Systems The Dance of Boltzmann, Coase and Moore21 by Ross Anderson,Professor of Computer Security at Cambridge University. Inso far as a consensus exists it is that in pure security termsthere is little difference between open and proprietary code. Areport22 by the Communications and Electronic Security Group(CESG) of the UK Government Communications Headquarters(GCHQ) published in December 2011 concluded that: “OpenSource, as a category, is no more or less secure than closedproprietary software”. Trust in “security by obscurity” thoughdoes seem misplaced in the proprietary world, as the codeis not obscure to insiders. Furthermore, full visibility of codehelps to ensure that no “backdoors” or surprises are hiddenaway “The differences between OSS and proprietary software are nota major factor in either improving or degrading the vulnerabilityof a nation’s IT infrastructure”. Report “Analysis of the impactof Open Source Software”23 - QinetiQ October 2001.Lessons from the transition from closed to opensystemsAs the path away from dependency on proprietary systemsbecomes evermore well worn, it is helpful to document the“lessons learnt” by those who have already made, or aredeeply engaged, in that transition. There is no value in revisiting pitfalls already explored.Maintaining a common development/support team acrossexisting and replacement systems: the key reasons formaintaining common teams are: allowing the staff that have been responsible forsupporting the old systems to be trained in the newprogramming languages, methodologies and toolsets, thusdemonstrating commitment to avoiding them becominga “stranded asset” as the old systems are progressivelyretired. maintaining the “institutional memory” of why particulardesign and implementation choices were made, thesemay still be relevant to the new developments. giving development teams a role in support as well, thusensuring that they are fully aware of, and live with, theconsequences of implementation defects.related tasks as well. Emotions rise as workloads increase andpeople are inexorably sucked into the imperatives of day-today business rather than fully addressing the change.Recognising that it is more than replicating existing functions: acareful analysis is required to: weed out requirements that are simply no longer relevant. carry out needed rationalisation and simplification ofrequirements changes that have accumulated in the oldsystem over years; and include new features and capabilities to supportanticipated customer requirements.Despite the best of intentions to minimise change, it maysimply not be possible to freeze all new developmentrequirements for the duration of the change programme. Somedegree of revision during the development process may beinevitable.Significant changes in operational procedures will need to beplanned and tested including: Ensuring data integrity during rollback/recovery: Whereelements required as part of a specific transaction aredistributed acrossmultiple databases,whether on specifiedservers or within a cloud,special measures arerequired to ensure dataintegrity is maintainedif the transaction isaborted or some elementis subject to failure.This can represent asignificant challenge forexample in rolling back such a system to a known priorstate. The traditional database properties of “atomicity”,“consistency”, “isolation” and “durability” (ACID) all needcareful attention in the context of maintaining integrity inthe presence of aborted or failed transactions. “Seeing the wood for the trees” in fault management: Indistributed or cloud based systems a single initial failurecan lead to a rapidly branching tree of subsequent errorsand alarms. Expert system techniques may be required toisolate rapidly the root cause otherwise hidden in the noiseof cascading failures.AcknowledgementAccepting the challenge of the task and being realisticabout the costs, manpower and timescale required: this isa major undertaking. Often this represents a significantbusiness change, not simply an IT change. New systemsmust be developed whilst maintaining high levels of serviceto customers through the existing systems. In the words ofHenry Kissinger: “ the urgent often forces out the important”.Everyone was busy before, now there are lots of extra changeMaterial contained in this factfile draws on the author’s WhitePaper “Open for Business: The value of Open Source Softwarein transaction processing” published by Amadeus IT Group.The permission of Amadeus to reference this material isgratefully acknowledged.Open Source SoftwareA Factfile provided by The Institution of Engineering and Technology The IET 2014www.theiet.org/factfiles6

References1See Open Source Initiative at http://opensource.org/osr2Source: UK Houses of Parliament Postnote 414. See: earch/briefing-papers/POST-PN-4143GNU is an open source operating system4Transmission Control Protocol/Internet Protocol5OSI Reference Model - The ISO Model of Architecture for Open Systems Interconnection, Hubert Zimmermann, IEEE Transactions on Communications,Vol. Com-28, No. 4, April 1980.6For a history of Unix, see: http://www.levenez.com/unix/7For a description of Linux, see: http://en.wikipedia.org/wiki/Linux8Operating system core9See separate series of IET Cloud Computing FactFiles, see: http://www.theiet.org/factfiles/it/index.cfm10For the full text from the Google blog, see: f-open.html11See: economy-but-battle-is-not-over/1134212See: open-sources-responsiveness13See: http://drupal.org/14See: http://hadoop.apache.org/15See: http://jquery.com/16Moore’s Law, named after Intel co-founder Gordon E Moore, comes from a 1965 statement by Moore that the number of transistors contained in a state ofthe art integrated circuit would double every two years. This corresponds roughly to a doubling of processing performance every 18 months.17See: https://github.com/features/community18See: http://www.openstack.org/19See: https://www.suse.com/20Shaikh, Maha and Cornford, Tony (2011) Total cost of ownership of open source software: a report for the UK Cabinet Office supported by OpenForumEurope. UK Cabinet Office, London, UK. See: http://eprints.lse.ac.uk/39826/21Anderson, R. J. (2002). Security in open versus closed systems - the Dance of Boltzmann, Coase and Moore. Presented at Open Source SoftwareEconomics. See: http://www.cl.cam.ac.uk/ rja14/Papers/toulouse.pdf22UK Cabinet Office - Open Source Software Security December 2011.23Peeling, Nic and Satchell, Julian (2001) Analysis of the Impact of Open Source Software. See: t-officeOpen Source SoftwareA Factfile provided by The Institution of Engineering and Technology The IET 2014www.theiet.org/factfiles7

The Institution of Engineering & TechnologyMichael Faraday HouseSix Hills WayStevenageSG1 2AY01438 765690 - Policy Departmentemail: //www.theiet.org/factfilesThis content cancontribute towards yourContinuing ProfessionalDevelopment (CPD) aspart of the IET’s CPDMonitoring Scheme.http://www.theiet.org/cpd The IET 2014The Institution of Engineering and Technology is registered as a Charity in England & Wales (no 211014) and Scotland (no SC038698).

Access to greater innovation: The combination of Open Source Software, open systems interoperability and open standards has created a self-reinforcing community of shared research and development and a pooling of creative ideas. This leads to a stream of innovative applications for test and development.