Quality Factors and Coding Standards – a Comparison Between Open Source Forges

Total Page:16

File Type:pdf, Size:1020Kb

Quality Factors and Coding Standards – a Comparison Between Open Source Forges Electronic Notes in Theoretical Computer Science 233 (2009) 89–103 www.elsevier.com/locate/entcs Quality Factors and Coding Standards – a Comparison Between Open Source Forges Andrea Capiluppi, Cornelia Boldyreff, Karl Beecher Centre of Research on Open Source Software – CROSS Department of Computer Science University of Lincoln, UK Email: {acapiluppi,cboldyreff,kbeecher}@lincoln.ac.uk Paul J. Adams Research and Development, Sirius Corporation Ltd., Weybridge, UK Email: [email protected] Abstract Enforcing adherence to standards in software development in order to produce high quality software artefacts has long been recognised as best practice in traditional software engineering. In a distributed heterogeneous development environment such those found within the Open Source paradigm, coding standards are infor- mally shared and adhered to by communities of loosely coupled developers. Following these standards could potentially lead to higher quality software. This paper reports on the empirical analysis of two major forges where OSS projects are hosted. The first one, the KDE forge, provides a set of guidelines and coding standards in the form of a coding style that developers may conform to when producing the code source artefacts. The second studied forge, SourceForge, imposes no formal coding standards on developers. A sample of projects from these two forges has been analysed to detect whether the SourceForge sample, where no coding standards are reinforced, has a lower quality than the sample from KDE. Results from this analysis form a complex picture; visually, all the selected metrics show a clear divide between the two forges, but from the statistical standpoint, clear distinctions cannot be drawn amongst these quality related measures in the two forge samples. Keywords: Coding Standards, Open Source Software, Complexity. 1 Introduction Programming styles and coding standards form a set of formal rules which are inter- nally shared among programmers, and enforced by software managers [29]. These rules reflect different concerns and affect areas of source code writing, with the aim of improving both the readability of source code and the maintainability of the underlying software system. They range from language-independent typographic styles, as the rules affecting how both the source code and comments are visually 1571-0661/$ – see front matter © 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.entcs.2009.02.063 90 A. Capiluppi et al. / Electronic Notes in Theoretical Computer Science 233 (2009) 89–103 structured and displayed [26,28], to general programming practices relative to spe- cific programming languages (as C++ [16]), paradigms (such as the object-oriented paradigm [21]) or development approaches (such as the Agile methodologies [31]). Research evidence has confirmed the presence of coding standards and pro- gramming styles in a wide spectrum of approaches: in commercial, proprietary, software [29], in Agile-driven systems [31] as well as in Open Source software [14]. Past empirical research also suggested that programming styles, applied in both creating new code or maintaining existing programs, have an impact on the quality of the resulting software [28]. In this paper it is argued that, in the presence of coding standards and program- ming guidelines, the resulting software will display a higher quality than software produced without such a coding framework. Specifically, a study of whether soft- ware produced within the Open Source paradigm has higher quality as long as they implement and enforce coding practices is provided. In order to detect the quality of the resulting software, three metrics were collected, both at the granular level of functions (or OO methods), the fan-in, the fan-out (both termed as “coupling”) and the relative cyclomatic complexity. A null hypothesis was formulated: software projects from the sample implementing coding styles and standards will display lower values of complexity and coupling than counterparts from a sample not en- forcing the same standards. The first sample (“with treatment”) was randomly extracted from the KDE forge, already known for enforcing these standards and guidelines [14]. The other sample (“without treatment”) was extracted from the SourceForge repository 1 . A statistical test [32] was used to evaluate the signifi- cance of the differences in the two samples. This paper is structured as follows:Section 2 provides a description of past and current research works which can be related to the present paper, and describes how it completes or enhances previous approaches. Section 3 presents the definitions and the attributes used in this work. It also introduces and instantiates the GQM approach [2], tailoring a research question for the current study.Section 4 produces an empirical hypothesis based on the presented research question, illustrating the null and the alternative hypotheses, as well as the complexity and coupling metrics used to evaluate them. In the same section, an overview of the samples from the two forges is also given. Section 5 presents the results of the statistical tests linked to the hypothesis, and evaluates whether the null hypothesis should be rejected or not.Section 6 illustrates both internal and external threats to validity to this empirical study, whileSections 7 and 8 conclude this paper. 2 Related work and Background The research areas related to this work can be divided into three main sections: met- rics for software quality, literature on coding standards and styles and related prac- tice including tool support. Regarding the first research area, there is an extensive 1 Even if not clearly stated, it may very well the case that particular projects within SourceForge adhere to coding standards anyway. In the following, it is assumed that this effect is negligible. A. Capiluppi et al. / Electronic Notes in Theoretical Computer Science 233 (2009) 89–103 91 software literature dealing with the measurement of software quality and associated characteristics such as complexity, comprehensibility, reusability and maintainabil- ity. Measurements have been traditionally divided into development and design quality metrics (early in the product lifecycle), e.g. [20], and post-release metrics which can be applied to a finished software product. One of the most famous ef- fort in the later area presented the results of the impact of coupling, cohesion and complexity on the development cost of object-oriented systems [4]. Quality measurement has also matured to the point at which a standard has been defined for this activity. The ISO standard for software quality measurement [1] defines the characteristics of software quality as: functionality, reliability, usabil- ity, efficiency, maintainability and portability. In the past, there have been other attempts to determine quality numbers based on source code metrics: the most well- known is the Maintainability Index [27], which is a composite metric to assess, at the system level, the relative maintainability. The Halstead Effort [15], the McCabe cyclomatic complexity, the lines of code and comments are averaged into a single number to represent a global index of maintainability and quality. As reported in other studies [6], the McCabe values typically follow a Power-law distribution for methods or procedures in a system: using the average for such distributions will hinder some of the characteristics of the distribution, such as its skewness. The Halstead Effort metric has been evaluated as highly correlated with the McCabe index [17], but also heavily criticized as an unreliable metric [19]. In this work, the McCabe indexes are evaluated both as distribution in each project, and considering the fraction of highly complex functions (i.e., whose index is larger than 10 [23]). The Halstead Effort as a metric is not considered in this work. Works focusing on open source quality or success often measure endogenous met- rics (often “people” or “process” metrics) such as the amount of developer activity, the number of developers, forum activity, version control etc. [8,10,12,25]. A re- lated work examining product metrics by Stamelos et al [30] undertook an analysis of 100 open source programs written for Linux and took a variety of basic static measurements (such as program length, unconditional jumps etc.). These results were compared to “industrial standards” suggested by the measurement tool. The use of coding standards is also well covered in the literature and can be par- tially enforced through automated checkers, such as the UNIX-based lint, developed for the C programming language in the late 1970s [18]. Similar tools were later made commercially available for other programming languages, like the C++ [24]. Within the FLOSS community, there are lint-like tools available and the tool CQual++ is available for both C and C++. The use of CQual++ on Debian packages to im- prove their code quality has been recently reported [7] although it should be noted that this application has taken place after the fact, rather than as a regular practice by the project’s developer community. Also, this tool is mainly focused on code improvement through the elimination of format string vulnerabilities. Within the KDE community, there is an explicit KDE Quality Team 2 and on its webpages, de- velopers are guided towards information regarding Trolltech’s Qt application frame- 2 http://quality.kde.org/ 92 A. Capiluppi et al. / Electronic Notes in Theoretical Computer Science 233 (2009) 89–103 work which is widely the core widget set within development of KDE applications. Coding standards can be automatically enforced by using Parasoft’s Insure++ in conjunction with Qt 3 . Each KDE project has the freedom to develop its own specific Coding Style; projects are recommended to follow the kdelibs coding style 4 .Thereisacod- ing style for kdelibs that is supported by a vim script in kdesdk/scripts/kde-devel- vim.vim that helps developers to keep the coding style correct. In addition to defaulting to the kdelibs coding style it will automatically use the correct style for Solid and kdepim code. Developers can add rules for other projects via the SetCodingStyle function.
Recommended publications
  • Ultumix GNU/Linux 0.0.1.7 32 Bit!
    Welcome to Ultumix GNU/Linux 0.0.1.7 32 Bit! What is Ultumix GNU/Linux 0.0.1.7? Ultumix GNU/Linux 0.0.1.7 is a full replacement for Microsoft©s Windows and Macintosh©s Mac OS for any Intel based PC. Of course we recommend you check the system requirements first to make sure your computer meets our standards. The 64 bit version of Ultumix GNU/Linux 0.0.1.7 works faster than the 32 bit version on a 64 bit PC however the 32 bit version has support for Frets On Fire and a few other 32 bit applications that won©t run on 64 bit. We have worked hard to make sure that you can justify using 64 bit without sacrificing too much compatibility. I would say that Ultumix GNU/Linux 0.0.1.7 64 bit is compatible with 99.9% of all the GNU/Linux applications out there that will work with Ultumix GNU/Linux 0.0.1.7 32 bit. Ultumix GNU/Linux 0.0.1.7 is based on Ubuntu 8.04 but includes KDE 3.5 as the default interface and has the Mac4Lin Gnome interface for Mac users. What is Different Than Windows and Mac? You see with Microsoft©s Windows OS you have to defragment your computer, use an anti-virus, and run chkdsk or a check disk manually or automatically once every 3 months in order to maintain a normal Microsoft Windows environment. With Macintosh©s Mac OS you don©t have to worry about fragmentation but you do have to worry about some viruses and you still should do a check disk on your system every once in a while or whatever is equivalent to that in Microsoft©s Windows OS.
    [Show full text]
  • Asus Eee PC for Dummies
    Index journal, 101 • Symbols and Numerics • KCalc, 100 > (greater than), redirecting output, 311 KNotes, 105 >> (greater thans), appending to a fi le, 311 Kontact, 100–101 | (vertical bar), directing output to KSnapshot, 102–103 another command, 311–312 PIM (Personal Information Manager), 2G Surf, 14 100–101 4G, 14–15 PIM icon, 99 4G Surf, 14–15 pop-up notes, 101, 105 701SD, 15 Screen Capture icon, 99 900 series, 15–18 to-do list, 101 901 and Beyond icon, 6 Accessories icon, 92, 99 1000 series, 18–19 account name, personalizing, 149 Acrobat Reader, 184. See also PDF readers Acronis True Image, 284 • A • Ad-Aware Free, 231 Adblock Plus, 60 AbiWord, 219–220 add-ons accessories, hardware. See also Firefox, 59–60 personalization Thunderbird, 95–96 Bluetooth, 254–255 Add/Remove Software, 163. See also carrying case, 249–251 installing; uninstalling case graphics, 255–256 Add/Remove Software icon, 147, 163 GPS (Global Positioning System), 259–261 address books, Thunderbird, 96. See also keyboards, 252–253 contact lists mice, 251–252 administrative privileges, 309 modems, 256–257 Advanced Mode, 295–301. See also monitors, 257–259 Easy Mode projectors, 257–259 Advanced Packaging Tool (APT), 204–205 skins (themes), 255–256 advertisements, blocking, 60 USB powered work light, 254 adware, 231 accessories, software. See also AIM, 65 personalization COPYRIGHTEDAll About MATERIAL Eee, 343 accessing, 99 Amarok music player/organizer, 139–140 Calculator, 100 Amazon, 22 Calculator icon, 99 Andreesen, Marc, 58 calendar, 101 Andrew K’s XP Games, 228 capturing
    [Show full text]
  • Linux: Come E Perchх
    ÄÒÙÜ Ô ©2007 mcz 12 luglio 2008 ½º I 1. Indice II ½º Á ¾º ¿º ÈÖÞÓÒ ½ º È ÄÒÙÜ ¿ º ÔÔÖÓÓÒÑÒØÓ º ÖÒÞ ×Ó×ØÒÞÐ ÏÒÓÛ× ¾½ º ÄÒÙÜ ÕÙÐ ×ØÖÙÞÓÒ ¾ º ÄÒÙÜ ÀÖÛÖ ×ÙÔÔ ÓÖØØÓ ¾ º È Ð ÖÒÞ ØÖ ÖÓ ÓØ Ù×Ö ¿½ ½¼º ÄÒÙÜ × Ò×ØÐÐ ¿¿ ½½º ÓÑ × Ò×ØÐÐÒÓ ÔÖÓÖÑÑ ¿ ½¾º ÒÓÒ ØÖÓÚÓ ÒÐ ×ØÓ ÐÐ ×ØÖÙÞÓÒ ¿ ½¿º Ó׳ ÙÒÓ ¿ ½º ÓÑ × Ð ××ØÑ ½º ÓÑ Ð ½º Ð× Ñ ½º Ð Ñ ØÐ ¿ ½º ÐÓ ½º ÓÑ × Ò×ØÐÐ Ð ×ØÑÔÒØ ¾¼º ÓÑ ÐØØÖ¸ Ø×Ø ÐÖ III Indice ¾½º ÓÑ ÚÖ Ð ØÐÚ×ÓÒ ¿ 21.1. Televisioneanalogica . 63 21.2. Televisione digitale (terrestre o satellitare) . ....... 64 ¾¾º ÐÑØ ¾¿º Ä 23.1. Fotoritocco ............................. 67 23.2. Grafica3D.............................. 67 23.3. Disegnovettoriale-CAD . 69 23.4.Filtricoloreecalibrazionecolori . .. 69 ¾º ×ÖÚ Ð ½ 24.1.Vari.................................. 72 24.2. Navigazionedirectoriesefiles . 73 24.3. CopiaCD .............................. 74 24.4. Editaretesto............................. 74 24.5.RPM ................................. 75 ¾º ×ÑÔ Ô ´ËÐе 25.1.Montareundiscoounapenna . 77 25.2. Trovareunfilenelsistema . 79 25.3.Vedereilcontenutodiunfile . 79 25.4.Alias ................................. 80 ¾º × ÚÓÐ×× ÔÖÓÖÑÑÖ ½ ¾º ÖÓÛ×Ö¸ ÑÐ ººº ¿ ¾º ÖÛÐРгÒØÚÖÙ× Ð ÑØØÑÓ ¾º ÄÒÙÜ ½ ¿¼º ÓÑ ØÖÓÚÖ ÙØÓ ÖÖÑÒØ ¿ ¿½º Ð Ø×ØÙÐ Ô Ö Ð ×ØÓÔ ÄÒÙÜ ¿¾º ´ÃµÍÙÒØÙ¸ ÙÒ ×ØÖÙÞÓÒ ÑÓÐØÓ ÑØ ¿¿º ËÙÜ ÙÒ³ÓØØÑ ×ØÖÙÞÓÒ ÄÒÙÜ ½¼½ ¿º Á Ó Ò ÄÒÙÜ ½¼ ¿º ÃÓÒÕÙÖÓÖ¸ ÕÙ×ØÓ ½¼ ¿º ÃÓÒÕÙÖÓÖ¸ Ñ ØÒØÓ Ô Ö ½½¿ 36.1.Unaprimaocchiata . .114 36.2.ImenudiKonqueror . .115 36.3.Configurazione . .116 IV Indice 36.4.Alcuniesempidiviste . 116 36.5.Iservizidimenu(ServiceMenu) . 119 ¿º ÃÓÒÕÙÖÓÖ Ø ½¾¿ ¿º à ÙÒ ÖÖÒØ ½¾ ¿º à ÙÒ ÐÙ×ÓÒ ½¿½ ¼º ÓÒÖÓÒØÓ Ò×ØÐÐÞÓÒ ÏÒÓÛ×È ÃÍÙÒØÙ º½¼ ½¿¿ 40.1.
    [Show full text]
  • Praise for the Official Ubuntu Book
    Praise for The Official Ubuntu Book “The Official Ubuntu Book is a great way to get you started with Ubuntu, giving you enough information to be productive without overloading you.” —John Stevenson, DZone Book Reviewer “OUB is one of the best books I’ve seen for beginners.” —Bill Blinn, TechByter Worldwide “This book is the perfect companion for users new to Linux and Ubuntu. It covers the basics in a concise and well-organized manner. General use is covered separately from troubleshooting and error-handling, making the book well-suited both for the beginner as well as the user that needs extended help.” —Thomas Petrucha, Austria Ubuntu User Group “I have recommended this book to several users who I instruct regularly on the use of Ubuntu. All of them have been satisfied with their purchase and have even been able to use it to help them in their journey along the way.” —Chris Crisafulli, Ubuntu LoCo Council, Florida Local Community Team “This text demystifies a very powerful Linux operating system . in just a few weeks of having it, I’ve used it as a quick reference a half dozen times, which saved me the time I would have spent scouring the Ubuntu forums online.” —Darren Frey, Member, Houston Local User Group This page intentionally left blank The Official Ubuntu Book Sixth Edition This page intentionally left blank The Official Ubuntu Book Sixth Edition Benjamin Mako Hill Matthew Helmke Amber Graner Corey Burger With Jonathan Jesse, Kyle Rankin, and Jono Bacon Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Upgrade Issues
    Upgrade issues Graph of new conflicts libsiloh5-0 libhdf5-lam-1.8.4 (x 3) xul-ext-dispmua (x 2) liboss4-salsa-asound2 (x 2) why sysklogd console-cyrillic (x 9) libxqilla-dev libxerces-c2-dev iceape xul-ext-adblock-plus gnat-4.4 pcscada-dbg Explanations of conflicts pcscada-dbg libpcscada2-dev gnat-4.6 gnat-4.4 Similar to gnat-4.4: libpolyorb1-dev libapq-postgresql1-dev adacontrol libxmlada3.2-dev libapq1-dev libaws-bin libtexttools2-dev libpolyorb-dbg libnarval1-dev libgnat-4.4-dbg libapq-dbg libncursesada1-dev libtemplates-parser11.5-dev asis-programs libgnadeodbc1-dev libalog-base-dbg liblog4ada1-dev libgnomeada2.14.2-dbg libgnomeada2.14.2-dev adabrowse libgnadecommon1-dev libgnatvsn4.4-dbg libgnatvsn4.4-dev libflorist2009-dev libopentoken2-dev libgnadesqlite3-1-dev libnarval-dbg libalog1-full-dev adacgi0 libalog0.3-base libasis2008-dbg libxmlezout1-dev libasis2008-dev libgnatvsn-dev libalog0.3-full libaws2.7-dev libgmpada2-dev libgtkada2.14.2-dbg libgtkada2.14.2-dev libasis2008 ghdl libgnatprj-dev gnat libgnatprj4.4-dbg libgnatprj4.4-dev libaunit1-dev libadasockets3-dev libalog1-base-dev libapq-postgresql-dbg libalog-full-dbg Weight: 5 Problematic packages: pcscada-dbg hostapd initscripts sysklogd Weight: 993 Problematic packages: hostapd | initscripts initscripts sysklogd Similar to initscripts: conglomerate libnet-akamai-perl erlang-base screenlets xlbiff plasma-widget-yawp-dbg fso-config- general gforge-mta-courier libnet-jifty-perl bind9 libplack-middleware-session-perl libmail-listdetector-perl masqmail libcomedi0 taxbird ukopp
    [Show full text]
  • Upgrade Issues
    Upgrade issues Graph of new conflicts libboost1.46-dev libboost-random-dev (x 18) libboost-mpi-python1.46.1 libboost-mpi-python-dev libwoodstox-java (x 7) liboss4-salsa-asound2 (x 2) libboost1.46-doc libboost-doc libgnutls28-dev libepc-dev libabiword-2.9-dev libcurl4-openssl-dev (x 5) python-cjson (x 2) nova-compute-kvm (x 4) printer-driver-all-enforce lprng (x 2) mdbtools-dev libiodbc2 tesseract-ocr-deu (x 8) tesseract-ocr libjpeg62-dev libcvaux-dev (x 2) ldtp python-pyatspi Explanations of conflicts ldtp python-pyatspi2 python-pyatspi Similar to ldtp: python-ldtp Weight: 29 Problematic packages: ldtp libboost-mpi-python-dev libboost-mpi-python1.48-dev libboost-mpi-python1.48.0 libboost-mpi-python1.46.1 Similar to libboost-mpi-python1.46.1: libboost1.46-all-dev libboost-mpi-python1.46-dev Similar to libboost-mpi-python-dev: libboost-all-dev Weight: 149 Problematic packages: libboost-mpi-python-dev tesseract-ocr-vie tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 61 Problematic packages: tesseract-ocr-vie tesseract-ocr-spa tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 295 Problematic packages: tesseract-ocr-spa tesseract-ocr-por tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 133 Problematic packages: tesseract-ocr-por tesseract-ocr-nld tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 112 Problematic packages: tesseract-ocr-nld tesseract-ocr-ita tesseract-ocr Similar to tesseract-ocr:
    [Show full text]
  • KDE E.V. Quarterly Report 2011Q2
    COMMUNITY REPORT 2ND QUARTER, 2011 | ISSUE 18 Welcome Message Dear Members, Contributors, Users organization, so new infrastructure the few Free software communities of KDE software, and Friends, in the form of sprints.kde.org was that have sorted out this very well, taken for a first real-world test- but this all is only possible with The past quarter saw the biggest drive. The new sprints.kde.org active people who want to get a KDE developer sprint ever. In early website shows two things: group of developers together, and June, about 40 KDE contributors developer sprints have been with our loyal supporting came together in the Swiss Alps to institutionalized in KDE, at the members, both corporate and work on a variety of same time, the organization of private. These sprints, the resulting topics—Multimedia, Semantic them has become easier, and stronger bonds within and outside Desktop, Development more scalable. When I joined the of our community have become Environment and the underlying board a few years ago, there was an essential part of the KDE KDE platform. With 4 sprints co- the incidental sprint, but I development process and the located, some organizational remember well how much work it foundation of our commmunity. muscle was needed, but at the ended up being. Worth the effort, same time, having this many but non-trivial from an Enjoy reading our report of the developers from various disciplines organizational point of view. Now, second quarter of 2011. in one house at the same time a few years and tens of sprints proved to be invaluable.
    [Show full text]
  • Technical Notes All Changes in Fedora 18
    Fedora 18 Technical Notes All changes in Fedora 18 Edited by The Fedora Docs Team Copyright © 2012 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]
  • Uncorrected Proof
    JSS 8229 No. of Pages 12, Model 5G ARTICLE IN PRESS 20 November 2008 Disk Used The Journal of Systems and Software xxx (2008) xxx–xxx 1 Contents lists available at ScienceDirect The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss 2 Identifying exogenous drivers and evolutionary stages in FLOSS projects 3 Karl Beecher *, Andrea Capiluppi, Cornelia Boldyreff 4 Q1 Centre of Research on Open Source Software – CROSS, Department of Computing and Informatics, University of Lincoln, UK 5 article info abstract 187 8 Article history: The success of a Free/Libre/Open Source Software (FLOSS) project has been evaluated in the past through 19 9 Received 11 January 2008 the number of commits made to its configuration management system, number of developers and num- 20 10 Received in revised form 22 October 2008 ber of users. Most studies, based on a popular FLOSS repository (SourceForge), have concluded that the 21 11 Accepted 24 October 2008 vast majority of projects are failures. 22 12 Available online xxxx This study’s empirical results confirm and expand conclusions from an earlier and more limited work. 23 Not only do projects from different repositories display different process and product characteristics, but 24 13 Keywords: PROOF a more general pattern can be observed. Projects may be considered as early inceptors in highly visible 25 14 Open source software repositories, or as established projects within desktop-wide projects, or finally as structured parts of 26 15 Software evolution 16 Software repositories FLOSS distributions. These three possibilities are formalized into a framework of transitions between 27 17 repositories.
    [Show full text]
  • The Khangman Handbook
    The KHangMan Handbook Anne-Marie Mahfouf The KHangMan Handbook 2 Contents 1 Introduction 1 2 Using KHangMan 2 2.1 General usage . 3 2.2 Playing in different languages . 4 2.3 A few tips . 6 3 Menubar and toolbars 7 3.1 The Main KHangMan Window . 7 3.2 Available Settings . 9 3.2.1 General Settings . 9 3.2.2 Languages Settings . 10 3.2.3 Timers Settings . 10 4 Command Reference 12 4.1 Menus and Shortcut Keys . 12 4.1.1 The Game Menu . 12 4.1.2 The Category Menu . 12 4.1.3 The Languages Menu . 12 4.1.4 The Look Menu . 13 4.1.5 The Settings Menu . 13 4.1.6 The Help Menu . 13 5 Developer’s Guide to KHangMan 14 5.1 How to translate words in a new language for the game . 14 5.2 What is stored by KHangMan and where . 16 The KHangMan Handbook 6 Questions and Answers 17 7 Credits and License 18 A Installation 20 A.1 How to obtain KHangMan . 20 A.2 Compilation and installation . 20 4 Abstract KHangMan is the classic hangman game for children, adapted for KDE. The KHangMan Handbook Chapter 1 Introduction KHangMan is a game based on the well-known hangman game. It is aimed at children aged six and over. The game has several categories of words to play with and among them: Animals (animals words) and three difficulty cat- egories: Easy, Medium and Hard. A word is picked at random, the letters are hidden, and you must guess the word by trying one letter after another.
    [Show full text]
  • Doudoulinux the Computer They Prefer!
    DoudouLinux The computer they prefer! User's manual Visit us at http://www.doudoulinux.org/ 2/21/13 DoudouLinux 1/170 Table of contents Table of contents ................................................................................................. 1 About ................................................................................................................... 4 DoudouLinux, the computer they prefer! ............................................................ 6 A simple yet efficient environment ............................................................................................. 6 Also easy for Dad and Mum! ..................................................................................................... 6 And this is 100% legal! .............................................................................................................. 7 Footnotes .................................................................................................................................. 7 About ................................................................................................................... 6 Why should I try DoudouLinux? .......................................................................... 8 Article table of contents ............................................................................................................. 8 Your Concerns ........................................................................................................................... 8 The philosophy of free software
    [Show full text]