Practical Open Source Software Exploration

Total Page:16

File Type:pdf, Size:1020Kb

Practical Open Source Software Exploration Teaching_Open_Source 0.1 Practical Open Source Software Exploration How to be Productively Lost, the Open Source Way Practical Open Source Software Exploration Greg DeKoenigsberg Chris Tyler Karsten Wade Max Spevack Mel Chua Jeff Sheltren Teaching_Open_Source 0.1 Practical Open Source Software Exploration How to be Productively Lost, the Open Source Way Edition 0.8 Author Greg DeKoenigsberg [email protected] Author Chris Tyler [email protected] Author Karsten Wade [email protected] Author Max Spevack [email protected] Author Mel Chua [email protected] Author Jeff Sheltren [email protected] Copyright © 2010 TeachingOpenSource.org. The text of and illustrations in this document are licensed by the authors under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document designate TeachingOpenSource.org as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. The licensors of this document waive the right to enforce, and agree not to assert, Section 4d of CC- BY-SA to the fullest extent permitted by applicable law. Fedora and the Infinity Logo are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. All other trademarks are the property of their respective owners. This textbook teaches the basic skills of open source development incrementally, through real involvement in meaningful projects, for students and self-learners. Preface ix 1. Document Conventions ................................................................................................... ix 1.1. Typographic Conventions ..................................................................................... ix 1.2. Pull-quote Conventions ......................................................................................... x 1.3. Notes and Warnings ............................................................................................ xi 2. We Need Feedback! ....................................................................................................... xi 1. Foreword 1 1.1. Why is This Book Necessary? ...................................................................................... 1 1.2. Why Traditional Student Projects Are Ineffective ............................................................ 1 1.3. Using This Textbook to Get Started .............................................................................. 2 1.4. A Note on Terminology - Free Versus Open Source ...................................................... 3 2. Introduction_to_Free_and_Open_Source_Software 5 2.1. Introduction ................................................................................................................. 5 2.2. Why does FOSS matter to me? .................................................................................... 5 2.2.1. Source Control .................................................................................................. 5 2.2.2. Build Systems ................................................................................................... 6 2.2.3. Documentation .................................................................................................. 6 2.2.4. Tracking Bugs ................................................................................................... 6 2.2.5. Experiencing the Software Lifecycle .................................................................... 6 2.2.6. Exercise - Finding a Cool Project ....................................................................... 6 2.3. What is source code? .................................................................................................. 7 2.3.1. Exercise - Change the source code .................................................................... 8 2.3.2. Optional Exercise - Change the binary code ........................................................ 8 2.4. Source Code: To Share, or Not To Share? .................................................................... 8 2.4.1. The value of sharing .......................................................................................... 9 2.4.2. Exercise - List of software ................................................................................ 10 2.4.3. Exercise - Compare and contrast similar proprietary and FOSS software ............. 10 2.4.4. Exercise - Install a new FOSS Tool and Blog About It ........................................ 10 2.5. Climbing Contributor Mountain .................................................................................... 10 2.5.1. User ................................................................................................................ 11 2.5.2. Seeker ............................................................................................................ 11 2.5.3. Collaborator ..................................................................................................... 12 2.5.4. Contributor ...................................................................................................... 12 2.6. Building Your FOSS Portfolio ...................................................................................... 13 2.6.1. Exercise - Learn about a project's leaders ........................................................ 13 2.6.2. Exercise - Write your own FOSS bio ................................................................. 13 2.7. Supplemental Materials ............................................................................................... 13 3. The Lay of the Land 15 3.1. The Challenges of Global Community .......................................................................... 15 3.2. The Synthetic Third Culture ........................................................................................ 16 3.3. Qualities of a Community ............................................................................................ 16 3.4. Communicating .......................................................................................................... 17 3.4.1. Wikis ............................................................................................................... 18 3.5. Exercise - Project Wikis .............................................................................................. 18 3.6. Blogs and Planets ..................................................................................................... 18 3.7. Exercise - Linking your Blog to Planets ....................................................................... 19 3.8. IRC ............................................................................................................................ 19 3.9. Exercise - Learning IRC ............................................................................................. 21 3.10. Mailing Lists and Newsgroups ................................................................................... 21 3.11. Exercise - Joining the List ......................................................................................... 21 v Practical Open Source Software Exploration 3.12. Bug Trackers and Repositories ................................................................................. 22 3.13. Drawing Conclusions ................................................................................................ 22 3.13.1. Exercise - Share Your Thoughts ..................................................................... 22 4. Getting the Code 23 4.1. Introduction ................................................................................................................ 23 4.2. A Brief Introduction to FOSS Source Control Management Tools ................................... 23 4.2.1. Exercise - Install Subversion on Your System .................................................... 24 4.3. Getting Help With Subversion ..................................................................................... 24 4.4. Getting Started: checkout .......................................................................................... 24 4.4.1. Exercise - Initial Checkout of the Sample Codebase .......................................... 25 4.5. The Basic Subversion Work Cycle .............................................................................. 25 4.5.1. Update Your Working Copy .............................................................................. 26 4.6. Make Changes to Your Working Copy ......................................................................... 27 4.6.1. Exercise - Create a Biography File and Add It to the Local Repository ................. 28 4.7. Examine Your Changes .............................................................................................. 28 4.8. Undoing Working Changes ......................................................................................... 31 4.9. Resolve Conflicts (Merging Changes of Others) ........................................................... 31 4.10. Copying a File Onto Your Working File ...................................................................... 34 4.11. Commit Your Changes .............................................................................................. 35 4.11.1. Exercise
Recommended publications
  • Helpfile for Freeciv ; ; Each [Help *] Is a Help Node
    ; Helpfile for Freeciv ; ; Each [help_*] is a help node. ; ; 'name' = name of node as shown in help browser; the number of leading ; spaces in 'name' indicates nesting level for display. ; ; 'text' = the helptext for this node; can be an array of text, which ; are then treated as paragraphs. (Rationale: easier to update ; translations on paragraph level.) ; ; 'generate' = means replace this node with generated list of game ; elements; current categories are: ; "Units", "Improvements", "Wonders", "Techs", ; "Terrain", "Governments" ; ; Within the text, the help engine recognizes a few "generated table"s. ; These are generated by the help engine, and inserted at the point of ; reference. They are referenced by placing a $ in the first column ; of a separate paragraph, followed immediately with the name of the ; generated table. See the code in helpdlg.c for the names of tables w ; hich can be referenced. ; ; This file no longer has a max line length: strings are wrapped ; internally. However to do nonwrapping formatting, make sure to ; insert hard newlines "\n" such that lines are less than 68 chars ; long. ; This marks 68 char limit > ; ; Notice not all entries are marked for i18n, as some are not ; appropriate to translate. ; ; Comments with cstyle comments are just to stop xgettext from ; complaining about stray singlequote characters. [help_about] name = _("About") text = _("\ Freeciv is a turnbased strategy game, in which each player becomes \ the leader of a civilization, fighting to obtain the ultimate goal: \ the extinction of all other civilizations.\ "), _("\ Original authors:\n\ (they are no longer involved, please don't mail them!)\ "), "\ Allan Ove Kjeldbjerg [email protected]\n\ Claus Leth Gregersen [email protected]\n\ Peter Joachim Unold [email protected]\ ", _("\ Present administrators: \ "), "\ Marko Lindqvist [email protected]\n\ R.
    [Show full text]
  • Release Notes for Fedora 15
    Fedora 15 Release Notes Release Notes for Fedora 15 Edited by The Fedora Docs Team Copyright © 2011 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https:// fedoraproject.org/wiki/Legal:Trademark_guidelines. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Java® is a registered trademark of Oracle and/or its affiliates. XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries. All other trademarks are the property of their respective owners.
    [Show full text]
  • Gutenprint 5.0 User's Manual and Release Notes
    Gutenprint 5.0 User's Manual Robert Krawitz March 4, 2007 Gutenprint 5.0 User's Manual Copyright © 2000-2007 Robert Krawitz Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation with no invariant sections, no Front-Cover texts, and no Back-Cover texts. Gutenprint 5.0 is licensed in its entirety under the terms of the GNU General Public License. The CUPS code (in src/cups) is licensed under the terms of the GNU General Public License version 2; the balance of the code is licensed under the terms of the GNU General Public License version 2 or any later version published by the Free Software Foundation. EPSON, ESC/P, and Stylus are registered trademarks of Seiko Epson Corp. ESC/P2 is a trademark of Seiko Epson Corp. All other product names are trademarks and/or registered trademarks of their vendors. 2 Gutenprint 5.0 User's Manual 03/04/2007 Table of Contents 1) Introduction............................................................................................................................................5 1.1) What is Gutenprint?.......................................................................................................................5 1.2) History of Gutenprint.....................................................................................................................5 1.2.1) The early years: Gimp-Print 3.x and 4.0................................................................................5
    [Show full text]
  • Descargar Un Splash De Begins Para El GRUB
    07 FEB / 07 La Revista de Software Libre y Código Abierto EN ESTA EDICIÓN - Entrevista a Federico Mena - Joomla! o Drupal? (Primera parte) - Procedimiento de respaldo, envío y recuperación de bases de datos MySQL a través de la consola de comandos en Linux. - Gobby, una nueva forma colaborativa de trabajar en tus textos. - QEMU, emulando un OLPC. - Domando al escritor Openoffice.org Writer. PROGRAMACIÓN El entorno de desarrollo MAEMO para Nokia 770 (Segunda parte) TALLER DISTRIBUCIONES CUPS: Instalando una ¡Linux está vivo! impresora Epson en Linux. Una revisión a las distros Live-CD más conocidas. Además: Ojo del novato - Zona de Enlaces – Eventos – Y mucho más... Editorial Comienza el 2007 y Begins cuenta con un nuevo refuerzo que se integra al equipo para continuar aportando pero ahora de una manera más estrecha. Bienvenido Eric Báez, seguro que la comunidad Linux ha ganado mucho contigo tomando decisiones desde dentro de la publicación. Redacción Rosana Cáceres [email protected] Juan P. Torres H. [email protected] Este año se viene una intensa competencia en lo que a sistemas Ricardo Gabriel Berlasso [email protected] Alberto Rivera [email protected] operativos se trata, con la entrada de MacOS en la plataforma Intel, Rodrigo Ramírez [email protected] Óscar Calle [email protected] ahora son varios más los rivales para el sistema de Redmond. Por Dionisio Fernández [email protected] Alex Sandoval [email protected] un lado tenemos a Windows Vista, que con sus requerimientos de Staff Begins [email protected] hardware, es muy probable que algo de terreno pierda, oportunidad que será aprovechada por el resto de los jugadores.
    [Show full text]
  • Cups-Filters-Ippusbxd-2018.Pdf
    cups-filters The non-Apple part of CUPS, maintained by OpenPrinting ippusbxd Standards-conforming support for IPP-over-USB printers Till Kamppeter, OpenPrinting Introduction • cups-filters takes up everything from CUPS which Mac OS X does not need (CUPS 1.6.x) Started end of 2011 by OpenPrinting, overtaking most of CUPS’ filters Switched filters over from PostScript-centric to PDF-centric workflow cups-browsed introduced end of 2012, to introduce browsing of DNS- SD-advertised remote CUPS queues, as CUPS dropped its own broadcasting/browsing • In 7 years of development cups-filters improved a lot Auto-create print queues for IPP network and IPP-over-USB printers, especially driverless printing, not competing with CUPS’ own temporary queues. Mobile printing support: No printer setup tool needed, auto-setup of printers, driverless, cups-browsed auto-shutdown Load-balanced printer clusters, with client-side or server-side queueing of jobs Do legacy CUPS broadcasting/browsing to work with old CUPS on remote machines Filters support Ghostscript, Poppler, and MuPDF as PDF interpreter Filters support all PDLs for driverless printing: PDF, Apple Raster, PWG Raster, and PCLm 2 Role of cups-browsed • CUPS auto-generates its own temporary queues to point to remote IPP/CUPS printers, why continue cups-browsed? Printer clustering (like the former Implicit Classes) . Configurable: Automatic (by equal remote queue names) and manual (by cups-browsed.conf) . Load balancing of clustered queues . Auto-selection of destination printer by job and job settings (planned) Fine-grained filtering of which remote printers are available . Not only servers/IP addresses, but also service names.
    [Show full text]
  • Assistance with Self-Administered Medications 2 Contact Hours
    Chapter 8: Assistance With Self-Administered Medications 2 Contact Hours Learning objectives Identify and interpret the components of a prescription label. Describe conditions that require additional clarification for “as List and explain the procedures for assistance with oral and topical needed” prescription orders. forms of medications (including ophthalmic, otic and nasal forms), Identify medication orders that require judgment, and may prevent including the “five rights” of medical administration. the CNA from assisting residents with medication. Identify and define the side effects for medication classes and Explain and list types of information and details that must be discuss procedures to follow if residents experience side effects or reported on the medication observation record. adverse reactions. List the requirements and procedures for medication storage and disposal. Introduction The Florida statutes (revised in 2016) are the laws that govern of the 2016 Florida Statutes. This means that some material assistance with self-medication. According to the state[1]: in the 2016 edition may not take effect until January 1, 2017. Legislative changes to the Florida Statutes, effective up to and Amendments effective on January 2, 2017, or later, will appear as including January 1, 2017, are treated as current for publication footnotes. Title XXX: Chapter 429: Social welfare assisted care communities 429.256 Assistance with self-administration of medication. c. Placing an oral dosage in the resident’s hand or placing the 1. For the purposes of this section, the term: dosage in another container and helping the resident by lifting a. “Informed consent” means advising the resident, or the the container to his or her mouth.
    [Show full text]
  • Onapp Admin Guide
    2.0 Admin Guide 2.0 Admin Guide Contents 0. About This Guide ............................................................................................... 5 1. OnApp Overview ................................................................................................ 6 1.1 Servers ................................................................................................................... 6 1.2 Networks ................................................................................................................ 7 1.3 Templates .............................................................................................................. 8 1.4 Virtual Machines .................................................................................................... 8 1.5 Scalability .............................................................................................................. 8 1.6 Availability and Reliability .................................................................................... 8 1.7 Security .................................................................................................................. 9 1.8 API and Integration ............................................................................................... 9 2. OnApp Hardware & Software Requirements ................................................. 10 2.1 Hypervisor Servers ............................................................................................. 10 2.2 Control Panel Server ..........................................................................................
    [Show full text]
  • Civ 5 Android Apk
    Civ 5 android apk Continue Where's the modding kit? Modding SDK is available as a free download on Steam: Open Steam and select Library. Civilization free download - Laws of Civilization, Age of Forge: Civilization and Empire, Civilization Revolution 2, and many other programs. November 05, 2019 There are developers who build some mods for this game and release it online where we can download and enjoy the benefits of mods. READ ALSO: 7 best sleep tracking apps for Apple Watch 2019; An easy way to eradicate Vivo without a PC (all models) How to remove pop-up ads on Android, forever! (Without root) HOW TO BE IN CIVILIZATION 5. Download Game: Civilization 5 APK 1.1.0 (Latest version) - com.publishadventures.gqciv - Post Adventures. Learn more about your favorite game - guidebooks, secrets, Easter eggs and tactics. Civilization Sid Meyer VI Free download PC Game Multiplayer Full Repackaging Direct Download Links Squeezed Civilization By Sid Meyer 6 Free Android download. How to download gta 5 iso ppsspp game for Android in 78mb only for Android download now. Sid Meier's Civilization VI Game Overview: With almost every age and tribe, Civilization VI Side Meyer is indeed the flagship killer of Sid Meyer's video game trilogy. Being the sixth main installment of Sid.Civilization Download for PcExperience one of the greatest in turn strategy games of all time, The Civilization of Sid Meyer® V.———————————————————————————B E G I N W I T H 2 0 H I S T O R I C L L L E A D E R R S———————————————————————————Become Ruler of the world by creating and leading civilization since the dawn of man in the space age.
    [Show full text]
  • CUPS on Freebsd
    CUPS on FreeBSD Chess Griffin <[email protected]> Revision: b62d4babfd FreeBSD is a registered trademark of the FreeBSD Foundation. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol. 2020-12-23 17:30:15 +0000 by Guangyuan Yang. Abstract An article about configuring CUPS on FreeBSD. Table of Contents 1. An Introduction to the Common Unix Printing System (CUPS) ........................................................... 1 2. Installing the CUPS Print Server .................................................................................................. 1 3. Configuring the CUPS Print Server .............................................................................................. 2 4. Configuring Printers on the CUPS Print Server ............................................................................... 2 5. Configuring CUPS Clients ........................................................................................................... 3 6. CUPS Troubleshooting .............................................................................................................. 3 Index ........................................................................................................................................ 5 1. An Introduction to the Common Unix Printing System (CUPS) CUPS, the
    [Show full text]
  • Third-Party Licenses Ezeep
    Licensing Terms of Additional Components Supplied by Third- Party Manufacturers “ezeep for Azure” ................................................................................................................................1 “ezeep Connector / ezeep Connector PS” ...........................................................................................1 “ezeep Connector Mac” .......................................................................................................................4 “ezeep print App macOS” ....................................................................................................................4 “ezeep for Azure” “ezeep Connector / ezeep Connector PS” “Microsoft Visual C++ 2013 Runtime Libraries”, “Microsoft Visual C++ 2017 Runtime Libraries” Appendix 1 Microsoft Visual C++ 2013 Runtime Libraries MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT VISUAL C++ REDISTRIBUTABLE FOR VISUAL STUDIO 2013 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft updates, supplements, Internet-based services, and support services for this software, unless other terms accompany those items. If so, those terms apply. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW. 1. INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software on your devices. 2. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the soft- ware only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the soft- ware that only allow you to use it in certain ways.
    [Show full text]
  • Linux Games Page 1 of 7
    Linux Games Page 1 of 7 Linux Games INTRODUCTION such as the number of players and the size of the map, then you start the game. Once the game is running clients may Hello. My name is Andrew Howlett. I've been using Linux join the game. Clients connect to the game using TCP/IP, since 1997. In 2000 I cutover to Linux for all my projects, so it is very easy to play multi-player games over the except I dual-booted Windows to play games. I like to play Internet. Like many Free games, clients are available for computer games. About a year ago I stopped dual booting. many platforms, including Windows, Amiga and Now I play computer games under Linux. The games I Macintosh. So there are lots of players out there. If you play can be divided into four groups: Free Games, native don't want to play against other humans, then Freeciv linux commercial games, Windows Emulated games, and includes some nasty AIs. Win4Lin enabled games. This presentation will demonstrate games from each of these four groups. BZFlag Platform BZFlag is a tank combat game along the same lines as the old BattleZone game. Like FreeCiv, BZFlag uses a client/ Before I get started, a little bit about my setup so you can server architecture over TCP/IP networks. Unlike FreeCiv, relate this to whatever you are running. This is a P3 900 the game contains no AIs – you must play this game MHz machine. It has a Crystal Sound 4600 sound card and against other humans (? entities ?) over the Internet.
    [Show full text]
  • Which Wiki for Which Uses
    Which wiki for which uses There are over 120 Wiki software available to set up a wiki plateform. Those listed below are the 13 more popular (by alphabetic order) wiki engines as listed on http://wikimatrix.org on the 16th of March 2012. The software license decides on what conditions a certain software may be used. Among other things, the software license decide conditions to run, study the code, modify the code and redistribute copies or modified copies of the software. Wiki software are available either hosted on a wiki farm or downloadable to be installed locally. Wiki software Reference Languages Wikifarm Technology Licence Main audience Additional notes name organization available available very frequently met in corporate environment. Arguably the most widely deployed wiki software in the entreprise market. A zero- Confluence Atlassian Java proprietary 11 confluence entreprise cost license program is available for non-profit organizations and open source projects aimed at small companies’ documentation needs. It works on plain DokuWiki several companies Php GPL2 50 small companies text files and thus needs no database. DrupalWiki Kontextwork.de Php GPL2+ 12 entreprise DrupalWiki is intended for enterprise use Entreprise wiki. Foswiki is a wiki + structured data + Foswiki community Perl GPL2 22 entreprise programmable pages education, public Wikimedia Php with backend MediaWiki is probably the best known wiki software as it is the MediaWiki GPLv2+ >300 wikia and many hostingservice, companies private Foundation and others database one used by Wikipedia. May support very large communities knowledge-based site MindTouchTCS MindTouch Inc. Php proprietary 26 SamePage partly opensource and partly proprietary extensions Jürgen Hermann & Python with flat tech savy MoinMoin GPL2 10+ ourproject.org Rather intended for small to middle size workgroup.
    [Show full text]