IA-64 Porting to Linux

Total Page:16

File Type:pdf, Size:1020Kb

IA-64 Porting to Linux MichaelMichael TiemannTiemann CTOCTO RedRed Hat,Hat, Inc.Inc. FebruaryFebruary 16,16, 20002000 AgendaAgenda l Trillian,Trillian, GNUGNU andand CygnusCygnus // RedRed HatHat l PortingPorting toto IAIA--6464 LinuxLinux ––IAIA--6464 LinuxLinux (Your(Your Target)Target) CharacteristicsCharacteristics ––KnowKnow YourYour StartingStarting PointPoint ––PortingPorting Issues/ChecklistIssues/Checklist ––UsingUsing GNUGNU ToolsTools toto EaseEase PortingPorting – other helpful tools l CallCall toto actionaction What’sWhat’s GNU?GNU? l GGNUNU isis NNotot UUnix!nix! l NonNon--proprietary,proprietary, cooperativecooperative developmentdevelopment ofof tools,tools, applicationsapplications andand systemssystems – very efficient at creating very good peer- reviewed software – identical tools across many computer systems – naturally promotes portable software l OpenOpen sourcesource – implementations are publicly readable – excellent learning tool GNUGNU toolstools areare usedused byby 95%95% ofof allall LinuxLinux developers!!developers!! SomeSome GNUGNU HistoryHistory 1984: GNU project starts - emacs 1985: GNU Debugger GDB 1987: GCC and G++ 1989: First commercial GNU tools 1991: GCC 2.0, GDB 4.0 2000 1985 1990 1995 2000: GCC for IA-64, GCC 3.0, GDB 5.0 RedRed HatHat (C(Cygygnus)nus) TrillianTrillian EffortEffort l IAIA--6464 workwork startedstarted withwith HP’sHP’s initialinitial portport ofof GCCGCC compilercompiler inin May’99May’99 l ContributedContributed GNUProGNUPro componentscomponents forfor thethe TrillianTrillian efforteffort ––gccgcc,, g++,g++, gas,gas, gldgld ––ProvidesProvides bothboth nativenative andand crosscross developmentdevelopment environmentsenvironments ––OnlyOnly LP64LP64 datadata modelmodel supportedsupported ––SupportsSupports developmentdevelopment ofof EFIEFI applicationsapplications IAIA--6464 GNUGNU toolstools –– FutureFuture WorkWork l What’sWhat’s inin thethe worksworks ––ExceptionException handlinghandling supportsupport ––AssemblerAssembler dependencydependency violationviolation supportsupport (DVLOC)(DVLOC) ––IntrinsicsIntrinsics (efficiency of assembly within C/C++ code) ––IAIA--6464 --specificspecific AssemblerAssembler directivesdirectives ––FullFull gdbgdb supportsupport IAIA--6464 GNUGNU toolstools –– FutureFuture WorkWork l CompilerCompiler OptimizationsOptimizations plannedplanned ––NewNew hardwarehardware pipelinepipeline modelmodel ––SchedulingScheduling ofof instructionsinstructions latencieslatencies ––BetterBetter looploop awareaware aliasalias analysisanalysis ––SoftwareSoftware pipeliningpipelining ––PredicationPredication ––SpeculationSpeculation IAIA--6464 UNIXUNIX ABIABI WorkWork l Intel,Intel, SCO,SCO, HP,HP, IBM,IBM, SGI,SGI, SUN,SUN, RedRed Hat,Hat, VAVA LinuxLinux l AgreementsAgreements onon – Common object format - ELF and DWARF – Standardized ELF extensions for better code generation – String section – allows compressions of string table program wide – Extended number of sections – more optimizations to reduce program size – Standardized intrinsic functions to allow access processor features through from C/C++ programs – more… IAIA--6464 C++C++ ABIABI WorkWork l IAIA--6464 C++C++ ABIABI GroupGroup ––SGI,SGI, Intel,Intel, HP,HP, IBM,IBM, SUN,SUN, RedRed HatHat andand SCOSCO l AgreementsAgreements onon ––standardizedstandardized objectobject layoutslayouts ––commoncommon virtualvirtual tabletable implementationimplementation ––standardizedstandardized (and(and optimized)optimized) namename manglingmangling l AllowsAllows somesome C++C++ binariesbinaries fromfrom oneone UnixUnix versionversion toto anotheranother UNIXUNIX versionversion forfor IAIA--6464 platformsplatforms PortingPorting toto IAIA--6464 LinuxLinux EssenceEssence ofof IAIA--6464 LinuxLinux IAIA--6464 LinuxLinux asas seenseen byby youryour code:code: l LP64LP64 – Like other 64-bit UNIX machines – ILP32 only via execution of x86 binaries – Caution: x86 and IA-64 processes can share data via shared memory, files, sockets, ... l StandardsStandards compliantcompliant (mostly)(mostly) – ISO/ANSI C, C++ (ISO Standards C90 and C99) – most UNIX/98 APIs EssenceEssence ofof IAIA--6464 LinuxLinux l littlelittle--endianendian (by(by default)default) ––nono bigbig--endianendian supportsupport l C/C++C/C++ prepre--definesdefines youyou cancan use:use: – established at compile time: __unix, __linux, __ia64, __LP64, __ELF__, __GNUC__ – established by header #include files: __WORDSIZE (== 64) KnowKnow YourYour SourceSource CodeCode l IsIs youryour sourcesource ISO/ANSIISO/ANSI compliant?compliant? l WhatWhat datadata structuresstructures areare externallyexternally visiblevisible (files,(files, sockets,sockets, sharedshared memory,memory, pipes,pipes, ...)...) toto otherother architectures?architectures? l WhatWhat platformplatform portsports areaarea alreadyalready done?done? l IsIs youryour sourcesource toto bebe builtbuilt onon bothboth UNIXUNIX andand Windows?Windows? PortingPorting toto IAIA--6464 LinuxLinux l IfIf youyou areare startingstarting fromfrom Windows*…Windows*… ––SetSet goalsgoals forfor LinuxLinux functionalityfunctionality ––PickPick toolstools andand toolkitstoolkits forfor LinuxLinux ––UseUse CC runtimeruntime librarylibrary andand POSIXPOSIX--likelike functionsfunctions insteadinstead ofof proprietaryproprietary MSMS interfacesinterfaces – Can use cygwin.dll as a bridge on IA-32 Linux Porting to IA-32 Linux first is recommended, but you can port to IA-64 Linux directly * All trademarks and brands are the property of their respective owners PortingPorting toto IAIA--6464 LinuxLinux l Guidelines:Guidelines: – Involves mostly recompiling if your source is already 64-bit clean – common object file format: ELF. All Unices will use it (no XCOFF, no SOM) – standardized ELF extensions allow better object generation. E.g. – the string section will allow compression of string table program-wide – the extended number of sections will allow putting functions (esp C++) in different sections – common binary format allows to develop tools usable for all different Unix platforms PortingPorting toto IAIA--6464 LinuxLinux l StepStep 1:1: GetGet GNUProGNUPro forfor IAIA--3232 LinuxLinux l StepStep 2:2: PortPort appsapps toto IAIA--3232 LinuxLinux ––UseUse -Wall -Wconversion -Wsign-compare l StepStep 3:3: CleanupCleanup ––pointer/integerpointer/integer warningswarnings ––signed/unsignedsigned/unsigned warningswarnings l StepStep 4:4: ReconfigureReconfigure andand recompilerecompile ChallenChallenggee ofof PortablePortable CodeCode l LegacyLegacy codecode oftenoften ignoresignores portabilityportability issuesissues l ManyMany programmersprogrammers areare simplysimply notnot taughttaught toto writewrite portableportable softwaresoftware l WritingWriting andand maintainingmaintaining portableportable softwaresoftware isis challenging,challenging, butbut worthworth itit GNUGNU SoftwareSoftware isis exemplary…exemplary… learnlearn fromfrom it!it! WritingWriting PortablePortable SoftwareSoftware l FollowFollow GNUGNU guidelinesguidelines ––WriteWrite codecode toto bebe ableable toto compilecompile withwith ISOISO CC oror ISOISO C++C++ compilerscompilers ––ConfigurationConfiguration // supportsupport packagespackages forfor compatibilitycompatibility – autoconf, automake, libtool l Example:Example: GNUGNU ‘hello’‘hello’ ––GNUGNU codingcoding standardsstandards ––InternationalizationInternationalization supportsupport PortingPorting RulesRules forfor IAIA--6464 l DODO ––UseUse #include#include toto getget systemsystem datadata typestypes l DON’TDON’T ––declaredeclare thingsthings youyou don'tdon't definedefine (required(required byby ISOISO C)C) l NEVERNEVER ––declaredeclare aa structurestructure thethe systemsystem definesdefines PortingPorting ChecklistChecklist l FixFix castscasts thatthat cancan truncatetruncate (int)&xyz, (long)&xyz ⇒ (uintptr_t)&xyz l UseUse sizeofsizeof()() andand offsetofoffsetof()() ––hardhard--codedcoded numbersnumbers -- ““44”” -- don’tdon’t portport ––n.b.n.b. argsargs toto mallocmalloc()(),, pointerpointer arithmeticarithmetic l UseUse size_tsize_t insteadinstead ofof intint oror longlong int ln= strlen(…); ⇒ size_t ln= str… ––otherother revisedrevised APIsAPIs PortingPorting ChecklistChecklist l UseUse sizedsized typestypes forfor externalexternal structuresstructures ––ISO/ANSIISO/ANSI datadata typestypes struct on_disk { int reclen; … ⇒ struct on_disk { int32_t reclen; … ––alsoalso forfor “on“on--wire”wire” andand sharedshared memorymemory structstructss l AccommodateAccommodate packingpacking differencesdifferences ––IAIA--6464 defaultsdefaults toto “natural“natural alignment”alignment” ––useuse ##pragmapragmass forfor sharedshared legacylegacy structuresstructures PortingPorting ChecklistChecklist l ReviseRevise printfprintf()(),, scanfscanf()() specifiersspecifiers “%08lX”,&foo) ⇒ (“%p”,…; “%d” ⇒ “%ld”; … l #error#error casecase atat endend ofof ##ifdefifdef chainschains ––preventsprevents unexpected/silentunexpected/silent useuse ofof somesome defaultdefault casecase … #elif defined(__ia64) … #else #error Update for new platform! #endif PortingPorting ChecklistChecklist l UseUse APIAPI callscalls toto getget systemsystem paramsparams getpagesize(), sysconf(_SC_CLK_TICK) l UseUse headerheader filefile mnemonicsmnemonics SEEK_END (not 2), INT_MIN (not -2147483648)) l InlineInline assemblyassembly mustmust bebe rere--writtenwritten OtherOther thingsthings youyou cancan dodo l SortSort youryour structuresstructures – Always optimize for speed and not space – Put the structure elements together that
Recommended publications
  • Producing Open Source Software How to Run a Successful Free Software Project
    Producing Open Source Software How to Run a Successful Free Software Project Karl Fogel Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel Copyright © 2005-2018 Karl Fogel, under the CreativeCommons Attribution-ShareAlike (4.0) license. Version: 2.3098 Home site: http://producingoss.com/ Dedication This book is dedicated to two dear friends without whom it would not have been possible: Karen Under- hill and Jim Blandy. i Table of Contents Preface ............................................................................................................................. vi Why Write This Book? ............................................................................................... vi Who Should Read This Book? .................................................................................... vii Sources ................................................................................................................... vii Acknowledgements ................................................................................................... viii For the first edition (2005) ................................................................................ viii For the second edition (2017) ............................................................................... x Disclaimer .............................................................................................................. xiii 1. Introduction ...................................................................................................................
    [Show full text]
  • Linux at 25 PETERHISTORY H
    Linux at 25 PETERHISTORY H. SALUS Peter H. Salus is the author of A n June 1991, at the USENIX conference in Nashville, BSD NET-2 was Quarter Century of UNIX (1994), announced. Two months later, on August 25, Linus Torvalds announced Casting the Net (1995), and The his new operating system on comp.os.minix. Today, Android, Google’s Daemon, the Gnu and the Penguin I (2008). [email protected] version of Linux, is used on over two billion smartphones and other appli- ances. In this article, I provide some history about the early years of Linux. Linus was born into the Swedish minority of Finland (about 5% of the five million Finns). He was a “math guy” throughout his schooling. Early on, he “inherited” a Commodore VIC- 20 (released in June 1980) from his grandfather; in 1987 he spent his savings on a Sinclair QL (released in January 1984, the “Quantum Leap,” with a Motorola 68008 running at 7.5 MHz and 128 kB of RAM, was intended for small businesses and the serious hobbyist). It ran Q-DOS, and it was what got Linus involved: One of the things I hated about the QL was that it had a read-only operating system. You couldn’t change things ... I bought a new assembler ... and an editor.... Both ... worked fine, but they were on the microdrives and couldn’t be put on the EEPROM. So I wrote my own editor and assembler and used them for all my programming. Both were written in assembly language, which is incredibly stupid by today’s standards.
    [Show full text]
  • GNU/Linux Operating System
    A Bibliography of Publications about the GNU/Linux Operating System Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 E-mail: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 07 April 2021 Version 2.135 Title word cross-reference [Tho05]. 0-13-167984-8 [Sta07b]. 0-596-00482-6 [Sch04]. 0-7821-4428-4 [Koh06]. '03 [ACM03b]. 046 [Sav11]. '05 [ACM05b, MS05]. + [Ste01e]. $100 [CS95]. $39.95 [Sch04]. $44.99 [Sta07b]. $49.95 [Jen05]. $49.99 1 [FOP06, Jen05, She03]. 1-59327-036-4 [Hid04, Tho05]. $59.99 [Koh06]. $99 [Jen05]. 1-GHz [Ano03b]. 1.0 [Coc01]. 1.2 [Kro00]. = [Ste01e]. × [Hun99]. [Gar98]. 1.x [KGG00]. 10 [DWV06]. 10-Gigabit [cFJH+03]. 10th [USE96a]. * [TYKZ07]. */ [TYKZ07]. *BSD [Den99a]. 12-step [Mil01]. 12th [MS05]. 1394 *icomment [TYKZ07]. [Ale00, HKP09]. 14-16 [ACM06]. 18th [KD96]. 1999 [Den99b, Tim99]. 19th -dienste [WF03]. [ACM03b, SS05b]. 1Z0 [Sav11]. 1Z0-046 [Sav11]. /*icomment [TYKZ07]. /GNOME [Wri00, Pen99]. 2 [Ano94c, Com00, Com03, Gab07, MK04]. 2.0 [B¨ol01, Car98, McN99, PF97, Swe01]. 0 [Hid04, Koh06, Sch04, Sta07b, Tho05]. 2.0.1 [ISO05]. 2.1 [BR95, CV00]. 2.2 0-13-101415-3 [Hid04]. 0-13-144853-6 1 2 [Ano00b, BB99b, Bra04]. 2.4 [Cal00]. 2.6 [Mon00b, GR09]. Action [NR03]. ActiveX [BS05, PTS+14, TCM07]. 2000 [Kro99]. activity [MB08]. Acumen [Kro99]. [Bru02, Kro00, MYH00, War01]. 2003 Ada [SB99]. Ada95 [Gar09].
    [Show full text]
  • The Free Font Movement
    THEFREEFONTMOVEMENT david crossland Dissertation submitted in partial fulfilment of the requirements for the MA Typeface Design, University of Reading, 2008 Copyright © 2008 David Crossland This document is licensed under a ‘Creative Commons Attribution – No Derivative Works 3.0 Unported’ license. Verbatim copying and redistribution of this entire document is permitted worldwide, without royalty, in any medium, provided this notice is preserved. Full terms are available at http://creativecommons.org/licenses/by-nd/3.0/ Typeset on September 15, 2008 at 11:23, containing 13,739 words. Dedicated to +Fravia In the study of ideas, it is necessary to remember that insistence on hard-headed clarity issues from sentimental feeling, as it were a mist, cloaking the perplexities of fact. Insistence on clarity at all costs is based on sheer superstition as to the mode in which human intelligence functions. Our reasonings grasp at straws for premises and float on gossamers for deductions. — A. N. Whitehead, "Adventures in Ideas."(McLuhan, 1967) ACKNOWLEDGMENTS Many thanks to Ben Weiner, Nicolas Spalinger, Richard Stallman, Karl Berry, Benjamin Mako Hill, Jim Blandy, Raph Levien, Femke Pierre and Harrison at OSP, Bruce Perens, Pierre Marchand, Peter Linnel, Louis Dejardin, Miles Metcalfe, Ian Forrester, Bahi Para, Gus- tavo Ferreira, Andy Fitzsimon, Andy Ellis, Alexandre Prodoukine, Jon Philips, Ed Trager, Liam Quin, Rob Savoye, MJ Ray, Tom Lord, and Canny Kwok. iv ABSTRACT This dissertation examines the emerging free font movement, a small part of the larger free software and free culture movements. Part A provides an overview of key concepts in the free software and culture movements.
    [Show full text]
  • OPENSOURCES Voices from the Open Source Revolution Michael Tiemann Future of Cygnus Solutions: an Entrepreneur’S Account
    Eric S. Raymond A Brief History of Hackerdom Marshall Kirk McKusick Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable Scott Bradner The Internet Engineering Task Force Richard Stallman The GNU Operating System and the Free Software Movement OPENSOURCES Voices from the Open Source Revolution Michael Tiemann Future of Cygnus Solutions: An Entrepreneur’s Account Paul Vixie Software Engineering Linus Torvalds The Linux Edge Robert Young Giving It Away: How Red Hat Software Stumbled Across a New Economic Model and Helped Improve an Industry Larry Wall Diligence, Patience, and Humility Bruce Perens The Open Source Definition Tim O'Reilly Hardware, Software, and Infoware Jim Hamerly and Tom Paquin with Susan Walton Freeing the Source: The Story of Mozilla Eric S. Raymond Edited by The Revenge of the Hackers Chris DiBona, Sam Ockman and Mark Stone OPENSOURCES Voices from the Open Source Revolution Edited by Chris DiBona, Sam Ockman and Mark Stone Copyright “Free Software” is Copyright c ; 1998 Richard M. Stallman Verbatim copying and duplication is permitted in any medium provided this notice is preserved. “A Brief History of Hackerdom” and “Revenge of the Hackers” are Copyright c ; 1998 Eric S. Raymond. These essays are free; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. These essays are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    [Show full text]
  • Open Source Vendors' Business Model
    Linköping Studies in Science and Technology Dissertations, No. 1438 Open Source Vendors’ Business Models Thomas Rosenfall April 2012 Department of Management and Engineering Linköpings universitet, SE-581 83 Linköping, Sweden © Thomas Rosenfall, 2012 ”Open Source Vendor’s Business Models” Linköping Studies in Science and Technology, Dissertations, No. 1438 ISBN: 978-91-7519-926-9 ISSN: 0345-7524 Printed by: LiU-Tryck, Linköping Distributed by: Linköping University Department of Management and Engineering SE-581 83 Linköping, Sweden Tel: +46 13 281000 2 Acknowledgements This thesis was a long time in coming. The author is graciously indebted to several individu- als and organizations for their support and contributions during the process. First, the work of my supervisor, Anna Öhrwall Rönnbäck, together with professor Staffan Brege, whom probably are the sole reason for the completion of this thesis. Without their support and advice, the author would have given up years ago. The author would also like to thank the case companies and their representatives that have shown patience over the years, with a special note to the new and former management of Cendio AB. Several other colleagues have been involved in the process and provided much support and insight, for which the author is grateful. A special “thank you” goes to Christina Grundström for the support and advice concerning as assistance supervisor. Additionally, the author gra- ciously would like to thank Mica Comstock for the outstanding proofreading. The research was funded by Lundbergstiftelserna in 2005 - 2008, while the final thesis was conducted as a part of the research project BOSSANOVA, financed by VINNOVA between 2008 and 2011.
    [Show full text]
  • R&S ETC / ETH Open Source Acknowledgment
    R&S®ETC / ETH Compact / Handheld TV Analyzer Open Source Acknowledgment This document is valid for the following Rohde & Schwarz instruments: ● R&S®ETC04 ● R&S®ETC08 ● R&S®ETH04 ● R&S®ETH08 ● R&S®ETH14 ● R&S®ETH18 (E@Ýa2) 2116.7949.02 ─ 02 Broadcast and Media Open Source Acknowledgment R&S®ETC / ETH Contents Contents 1 Introduction............................................................................................ 4 1.1 Disclaimer...................................................................................................................... 4 1.2 How to obtain the source code ...................................................................................4 2 Software packages.................................................................................5 3 Verbatim license texts........................................................................... 7 3.1 OpenSSL / SSLeay License..........................................................................................7 3.2 Boost Software License, Version 1.0.......................................................................... 9 3.3 Sun RPC License (Sun RPC)........................................................................................9 3.4 GNU MP Library License............................................................................................ 10 3.5 GNU Lesser General Public License, Version 3 (LGPL 3).......................................12 3.6 GNU General Public License, Version 3 (GPL 3)......................................................14
    [Show full text]
  • Bjarne Stroustrup Bjarne Stroustrup New York, USA
    Bjarne Stroustrup Bjarne Stroustrup New York, USA. New York, USA. LVEE: Tell us something about yourfirst experience with the L: Расскажите, как вы впервые столкнулись с программ- open-source software. Perhaps the earlier experience took ным обеспечением с открытым исходным кодом. Наверное, place in times of large computers when being open source самый ранний опыт пришёлся на времена больших ЭВМ, was typical. But it would be also interesting to know some- когда быть open source считалось в порядке вещей. Но бы- thing about yourfirst experience with free/libre licensed soft- ло бы также интересно узнать о вашей первой встрече с ПО ware (something ideologically positioned in term of freedom). под свободной лицензией(нечто, идеологически позицио- Maybe it was GCC, but who knows :) нировавшееся в плане свободы). Возможно, это был GCC, BS: I suspect myfirst encounter was at thefirst USENIX C++ confer- но кто знает... ence in Santa Fe when Michael Tiemann gave a talk about how his new BS: Подозреваю, я впервые столкнулся с этим на первой конферен- compiler GCC was going to do every conceivable compiler trick and ции USENIX C++ в Санта-Фе, когда Майкл Тименн делал доклад о soon put all other compilers out of business with his new G++ dialect. том, как его новый компилятор GCC должен был реализовать все I was somewhat amused and GCC did eventually become a major fac- мыслимые трюки компиляции и вскорости вытеснить все другие tor in the C++ world, but it was several years before I could accept компиляторы с его новым диалектом G++. Меня это до некото- GCC as a C++ compiler.
    [Show full text]
  • Public Universities and the Humanities”
    Introduction and Welcome to “Public Universities and the Humanities” By Lloyd Kramer I. Welcome to this special forum on “Public Universities, the Humanities, and Education in North Carolina.” A. We have organized this event at UNC’s Program in the Humanities to encourage more discussion of the role of the arts and humanities and social sciences in modern public schools, public Universities and contemporary public life. B. I’m Lloyd Kramer, a professor in the UNC History Department, and the Faculty Director of the Program in the Humanities and Human Values. 1. It’s my pleasure to be part of the team that has organized this event; and I thank the great staff at the Program in the Humanities for the work they do every day. 2. The Program in the Humanities and Human Values has been organizing public programs and seminars for over 35 years. 3. Our goal has always been to foster dialogues between people in the university and people in diverse professions and social groups outside the university; and you’ll find more information about our mission and activities on the back side of the agenda and in our program brochures. 4. I am especially pleased and honored to be part of a program today that brings together outstanding UNC faculty and University leaders with imaginative members of the North Carolina business and technology communities. 5. Each of our participants will offer valuable perspectives on the continuing public debate about whether or how 2 the humanities and arts should still be part of what students learn in our public schools and universities.
    [Show full text]
  • Ten Open Source Tools Which Will Transform Your Library and Your Library Budget*
    Ten Open Source Tools Which Will Transform Your Library and Your Library Budget* David Hughes Systems Librarian Dublin Business School * Free and Open Source Software You Can Think About Using in Your Library So, What Is Open Source Software? History -1 1980s Four Software Freedoms: Freedom to run a program for any purpose Freedom to study the mechanics of the program and modify it Freedom to redistribute copies Freedom to improve and change modified versions for public use History - 2 1990s History - 3 Rebranding (1998) + Open Source Initiative Eric S. Raymond and others Non-profit Promote open source software Pragmatic, business friendly approach “to dump the moralizing and confrontational attitude that had been associated with 'free software'" and instead promote open source ideas on "pragmatic, business-case grounds” – Michael Tiemann Acronyms OSS – Open Source Software F(/)OSS – Free & Open Source Software FLOSS – Free/Libre Open Source Software "Near as I can figure ... people think they’d be making an ideological commitment ... if they pick 'open source' or 'free software'. Well, speaking as the guy who promulgated 'open source' to abolish the colossal marketing blunders that were associated with the term 'free software', I think 'free software' is less bad than 'FLOSS'. Somebody, please, shoot this pitiful acronym through the head and put it out of our misery.“ – Eric S. Raymond Acronyms are used interchangeably A Distinction Without a Difference? Activist Pragmatist “Open source is a development methodology; free software is
    [Show full text]
  • LINUX JOURNAL (ISSN 1075-3583) Is Published Monthly by Linux Journal, LLC
    Multiprocessing Smart-Home Vendor Lock-In in Python Hacks and the Cloud Since 1994: The original magazine of the Linux community DEEP DIVE INTO THE CLOUD PLUS CLOUD HARDENING TIPS Basic Principles for Securing Your Cloud Environment OPEN SOURCE HISTORY A Talk with OSI President Simon Phipps INTRODUCING ONNX The Open Neural Network Exchange Format ISSUE 285 | APRIL 2018 www.linuxjournal.com APRIL 2018 CONTENTS ISSUE 285 82 DEEP DIVE: INTO THE CLOUD 83 Everything You Need to Know about the Cloud and Cloud 111 The Agony and Computing, Part I the Ecstasy of by Petros Koutoupis Cloud Billing An in-depth breakdown of the by Corey Quinn technologies involved in making up the cloud and a survey of Cloud billing is inherently complex; cloud-service providers. it’s not just you. 95 Everything You Need 115 Vendor Lock-in: to Know about the Now in the Cloud! Cloud and Cloud by Kyle Rankin Computing, Part II: Vendor lock-in has moved from corporate infrastructure into the Using the Cloud cloud, only this time many are all by Petros Koutoupis too happy to embrace it. How to get started with AWS, install Apache, create an EFS volume and much more. 2 | April 2018 | http://www.linuxjournal.com CONTENTS 6 From the Editor—Doc Searls How Wizards and Muggles Break Free from the Matrix 15 Letters UPFRONT 22 The Road Less Traveled: Certifications Can Chart a Great Career in Linux and Open Source by Taz Brown 26 Readers’ Choice Awards 30 FOSS Project Spotlight: Ravada by Francesc Guasch 32 Why Do We Do It? by Petros Koutoupis 33 A Good Front End for R by Joey Bernard 40 News Briefs COLUMNS 42 Kyle Rankin’s Hack and / Simple Cloud Hardening 46 Reuven M.
    [Show full text]
  • List of Programmers 1 List of Programmers
    List of programmers 1 List of programmers This list is incomplete. This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. A • Michael Abrash - Popularized Mode X for DOS. This allows for faster video refresh and square pixels. • Scott Adams - one of earliest developers of CP/M and DOS games • Leonard Adleman - co-creator of RSA algorithm (the A in the name stands for Adleman), coined the term computer virus • Alfred Aho - co-creator of AWK (the A in the name stands for Aho), and main author of famous Dragon book • JJ Allaire - creator of ColdFusion Application Server, ColdFusion Markup Language • Paul Allen - Altair BASIC, Applesoft BASIC, co-founded Microsoft • Eric Allman - sendmail, syslog • Marc Andreessen - co-creator of Mosaic, co-founder of Netscape • Bill Atkinson - QuickDraw, HyperCard B • John Backus - FORTRAN, BNF • Richard Bartle - MUD, with Roy Trubshaw, creator of MUDs • Brian Behlendorf - Apache • Kent Beck - Created Extreme Programming and co-creator of JUnit • Donald Becker - Linux Ethernet drivers, Beowulf clustering • Doug Bell - Dungeon Master series of computer games • Fabrice Bellard - Creator of FFMPEG open codec library, QEMU virtualization tools • Tim Berners-Lee - inventor of World Wide Web • Daniel J. Bernstein - djbdns, qmail • Eric Bina - co-creator of Mosaic web browser • Marc Blank - co-creator of Zork • Joshua Bloch - core Java language designer, lead the Java collections framework project • Bert Bos - author of Argo web browser, co-author of Cascading Style Sheets • David Bradley - coder on the IBM PC project team who wrote the Control-Alt-Delete keyboard handler, embedded in all PC-compatible BIOSes • Andrew Braybrook - video games Paradroid and Uridium • Larry Breed - co-developer of APL\360 • Jack E.
    [Show full text]