Transcript Slide 1
INFO 324 Team Process and Product Week 7 Dr. Jennifer Booker College of Information Science and Technology Drexel University Copyright by Gregory W. Hislop 1 www.ischool.drexel.edu Introduction Motivations for participating in FOSS Copyright by Gregory W. Hislop 2 www.ischool.drexel.edu Agenda • FOSS roots and development – Why do we care? – What is FOSS? – Free/Libre/Open • FOSS today – Scale – Impact • How FOSS works – Structure and tools – Participating in FOSS Copyright by Gregory W. Hislop 3 www.ischool.drexel.edu Why this Lecture? Why do we care in INFO 324, Team Process and Product, about Free and Open Source Software (FOSS)? Copyright by Gregory W. Hislop 4 www.ischool.drexel.edu Why Study FOSS? • Substantial IT industry segment – You may work on a FOSS project – You may need to consider implementing FOSS for your organization – You will use FOSS products • And do now, at least via the Web • Team process and product – – – – Globally distributed software product teams Globally distributed user communities Innovative use of tools and techniques (rev mgmt) Unmatched access to all process and product artifacts Copyright by Gregory W. Hislop 5 www.ischool.drexel.edu FOSS History • Where did it come from? • What does it amount to today? Copyright by Gregory W. Hislop 6 www.ischool.drexel.edu Computing History • Computing started as a hardware business – Software was something needed to sell the hardware; not a product in its own right – Early software was • Bundled with hardware and not separately priced – Often with source code included • Exchanged free among users of particular machines – Software as a business emerged in the 1960’s and more so in the 1970’s • But a lot of software was still exchanged for free and source code provided Copyright by Gregory W. Hislop 7 www.ischool.drexel.edu Computing History • Early approach to software meant – Free exchange of ideas, not just software – Excellent opportunities to learn, modify, adapt • Over time, software emerged as an industry – Software came to be seen as valuable – Software was separately priced – Source code was not distributed • Or access was strictly limited – Lock in software with vendor extensions Copyright by Gregory W. Hislop 8 www.ischool.drexel.edu Free Software Foundation • Richard Stallman – MIT Media Lab • Thrived in a tradition of shared source code • Sharing ended as software became proprietary – Founded Project GNU in 1984 • Goal: re-create / extend software sharing • Goal: Provide an alternative to vendor lock-in • Goal: GNU operating system – Foundation for complete environment of free software Copyright by Gregory W. Hislop 9 www.ischool.drexel.edu Free Software Foundation • Free software – “free as in free speech, not as in free beer” – Freedom vs. price; libre vs. gratis • See FSF Free Software Definition – http://www.gnu.org/philosophy/free-sw.html • Linux built on GNU – Provided the kernel – Much of the rest existed – GNU/Linux as a more correct name Copyright by Gregory W. Hislop 10 www.ischool.drexel.edu Free Software Definition • Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. • Four freedoms – To run the program, for any purpose – To study the program works, and change it – To redistribute copies – To distribute copies of your modified versions Copyright by Gregory W. Hislop 11 www.ischool.drexel.edu Legal Mechanisms • Problem: how to implement free software within the legal system • Options – Proprietary software • License strictly limits user rights – Public Domain • Rights surrendered • Product may be modified or re-packaged and presented as proprietary Copyright by Gregory W. Hislop © – Copyleft – the open source solution 12 www.ischool.drexel.edu Legal Mechanisms • Copyright – general legal mechanism for protecting intellectual property writes for written material, including software • Copyleft – using copyright plus restrictions to preserve rights and then share them – “making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well.” • Implementation: GNU General Public License Copyright by Gregory W. Hislop 13 www.ischool.drexel.edu Open Source Initiative (OSI) • FSF was (is?) perceived as being antibusiness • OSI is an alternate conception – Similar principals to FSF • But FSF would not agree with this – But with greater freedom to combine FOSS and proprietary software – More emphasis on leveraging peer development and sharing Copyright by Gregory W. Hislop 14 www.ischool.drexel.edu FOSS Today What has resulted from all this noise about FOSS? Copyright by Gregory W. Hislop 15 www.ischool.drexel.edu FOSS Today versus Copyright by Gregory W. Hislop 16 www.ischool.drexel.edu FOSS Today Many credible products; some market leaders Copyright by Gregory W. Hislop 17 www.ischool.drexel.edu FOSS Today • Substantial software industry force – Apache, Linux, Firefox – Open Office, Gimp, Notepad++ – Targeted applications Copyright by Gregory W. Hislop 18 www.ischool.drexel.edu FOSS Today • Scale – Hundreds of thousands of projects • And growing • 300,000 in SourceForge – An estimated 800,000 developers – Most projects don’t succeed • Darwinian development • Average number of developers per project: 1 • Quite similar to commercial products Copyright by Gregory W. Hislop 19 www.ischool.drexel.edu FOSS Participation Why do people participate in FOSS projects? Copyright by Gregory W. Hislop 20 www.ischool.drexel.edu Motivation of Individuals Source: FLOSS Developers Survey 2002, graph from R. Glott, A. Meizsner and S. K. Sowe, "Phase 1: Analysis of the informal learning environment of FLOSS communities," 2007. Copyright by Gregory W. Hislop 21 www.ischool.drexel.edu Motivation of Companies • Not all contributors are volunteers! • 45 - 50% of contributions by paid employees • Business case – FOSS for competitive position • IBM support for Linux, hedge versus Microsoft – FOSS service providers • Cluster of companies support every large FOSS application – FOSS to distribute development costs • Red Hat Fedora to develop Red Hat Enterprise Linux – FOSS to build market share • Google and Android Copyright by Gregory W. Hislop 22 www.ischool.drexel.edu Social Motivation - Humanitarian FOSS • FOSS projects that exist to meet some social need – Healthcare – OpenMRS – Disaster management – Sahana – Economic development – Mifos (mfinance) – Education – Sugar Labs – Accessibility – Gnome Accessibility • See: http://xcitegroup.org/softhum/doku.php?id=g:hfoss_and_oss_projects Copyright by Gregory W. Hislop 23 www.ischool.drexel.edu FOSS Process – Things to learn • Control – It’s not a free-for-all • Community – We’re all in this together • Communication – Open isn’t just source code Copyright by Gregory W. Hislop 24 www.ischool.drexel.edu Control • Misconception of FOSS as “Free contribution by anyone” – NOT! – This would be chaos • Need for control creates a hierarchy – Version control enables and enforces – Committers (approves changes) – Contributors – Others Copyright by Gregory W. Hislop 25 www.ischool.drexel.edu Control and Community • “Contributor Mountain” – Client/customer (base of the mountain) • Use in isolation – Seeker • Connects to community for answers on using – Collaborator • Contributes bug reports, feature requests, … – Contributor (peak of the mountain) • Moves project forward (code, verify bugs, docs, release) • Relied on by the community Copyright by Gregory W. Hislop 26 www.ischool.drexel.edu Community • Clients and developers as part of a spectrum – Not “us” vs. “them” (user vs. developer) • Assumption that people can move from passive “user” to active participant – Even without technical skills • See: “Why we won’t call you a ‘user’.” – http://www.kitware.com/blog/home/post/263 Copyright by Gregory W. Hislop 27 www.ischool.drexel.edu Community • Openness to new participants – Especially if you approach the project reasonably • Advancement via accomplishment – Fairly blatant meritocracy • Check and balance – Control of commit authority • Real point of control for moving the product – Ability to fork project (not a typo) • Limits autocratic power Copyright by Gregory W. Hislop 28 www.ischool.drexel.edu Communication • More communication is generally better • Multiple channels – Highly distributed participation • Less elaborate; more immediate • Rollback mechanisms available (e.g. in a wiki) – Synchronous and asynchronous (IRC vs. Wiki) – Low and high bandwidth • Explicit provision for lurkers (IRC) – Replaces hallway conversations and discussion in the break room – Allows for serendipity and learning by osmosis Copyright by Gregory W. Hislop 29 www.ischool.drexel.edu FOSS Tools • Communication and coordination – – – – Mailing List IRC Bug / feature request tracker Wiki and developer Web • Control – – – – Revision Control system Distribution, packaging Testing Continuous integration servers • Community – Public Web face Copyright by Gregory W. Hislop 30 www.ischool.drexel.edu FOSS and You • Consider climbing “contributor mountain” • Excellent learning opportunities – Reading lots of code – good and less so – Interacting with experienced developers – Watching and working in a large project • Marketable skill set – FOSS in general – Particular tools and technologies – Experience with global distributed software development Copyright by Gregory W. Hislop 31 www.ischool.drexel.edu Getting Started in FOSS • Many projects welcome new participants – And not just coders: testing, documenting, etc • Some FOSS participants don’t suffer fools gladly • All FOSS participants are busy already • Do your homework! • Allow time to work your way into a project – Start by listening and learning – Begin with small tasks Copyright by Gregory W. Hislop 32 www.ischool.drexel.edu Learn About the Project • Technologies, product size, history, direction • Licensing • Release history and plans • User community size and activity • Key developers and organization • Corporate involvement • Processes Copyright by Gregory W. Hislop 33 www.ischool.drexel.edu Read and Lurk • • • • Use the available documentation Get the product, read code, try it Join lists and IRC channel Look for entry points for new participants – Is the project supportive of new participants? Copyright by Gregory W. Hislop 34 www.ischool.drexel.edu Start Doing Something Useful • Pick something small – Bug fixing – Testing – Adding to documentation • Ask questions as needed – Research first – Be clear and detailed – Be polite Copyright by Gregory W. Hislop 35 www.ischool.drexel.edu Exercise: Browsing a forge 1. Go to: http://sourceforge.net/ 2. Use the Search feature in the center of the screen to view applications in an area of interest to you (e.g., gaming, sports, or facebook). 3. How many projects are there in this category? 4. How many different kinds of applications are there? 5. How many different programming languages are used to write software in this category? 6. List the top four programming languages used to write programs in this category. 7. How many of the projects in this category are written in <PL of your choice>? What do you think that the statuses below mean? -Beta – Inactive -Alpha – Mature -Pre-Alpha – Production/Stable -Planning Copyright by Gregory W. Hislop 36 www.ischool.drexel.edu In Your Future... • For next week – FOSS Field trip • Blog about it Copyright by Gregory W. Hislop 37 www.ischool.drexel.edu