Making Open Source Work
Upcoming SlideShare
Loading in...5
×
 

Making Open Source Work

on

  • 9,850 views

A broad introduction to what open source software is, how open source communities work, the differences between open source licenses and insights into the Apache Software Foundation. Prepared and ...

A broad introduction to what open source software is, how open source communities work, the differences between open source licenses and insights into the Apache Software Foundation. Prepared and delivered to Microsoft in Hong Kong.

Statistics

Views

Total Views
9,850
Views on SlideShare
9,777
Embed Views
73

Actions

Likes
22
Downloads
609
Comments
5

9 Embeds 73

http://www.cubiclemuses.com 33
http://www.slideshare.net 17
http://cubiclemuses.com 13
http://techculture.wordpress.com 4
http://bannuhyd.blogspot.in 2
http://riya 1
http://localhost 1
http://bannuhyd.blogspot.com 1
http://www.techgig.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Generic overview of how Apache and open source communities work. Dated, but good broad overview.
    Are you sure you want to
    Your message goes here
    Processing…
  • Thanks very much
    Its clear very now
    Are you sure you want to
    Your message goes here
    Processing…
  • @mksaad

    Your question now applies to slides starting with #49.

    Slide #49 (License Scope) places the license on a spectrum related to the protections and conditions under which the license requires the source code remain open and freely available. On the left hand side we have the Apache License which allows for sub-licensing under a proprietary license, thus not requiring any combined works to remain open. On the other side we have the GPL which requires all combined works to remain open. In the middle, we have licenses such as the MPL, EPL, and LGPL which require the originally licensed code to remain open but that the code can be used (under certain conditions) in a larger, proprietary licensed work.

    The next set of slides present three scenarios and seek to answer the question: 'When I combine open source code with proprietary code, can I sub-license the combined work under a proprietary license?'

    In each of these examples, the blue-ish documents with the 1's and 0's represent open source licensed code. The white documents represent proprietary licensed code.

    In the first example, the code is simply combined without any special divisions. In this case, the AL allows for relicensing, the GPL does not. The EPL/MPL/LGPL licenses are questionable. For example, the MPL's trigger is file based, thus in this case, you can likely relicense. But the EPL trigger's trigger is based on the definition of a derivative work, in which case, you can likely not relicense this combined work.

    The second example divides the open source code and the proprietary code into two clearly demarcated modules. In this case, the EPL/MPL/LGPL license question becomes more clear as this is the intended use case for these licenses.

    The final example considers the case in which we still have separate code modules, but a small bit of open source code has been cut and paste and put into the proprietary module. Now we're back at the first scenario in which the sub-licensing option is largely dependent on the particularities of the open source license.

    Hope that clears things up!
    Are you sure you want to
    Your message goes here
    Processing…
  • Unfortunately, it appears as though the slide animations are not complete here. I'm uploading a new version of the presentation and I'll post an explanation when that is done.
    Are you sure you want to
    Your message goes here
    Processing…
  • thank you very much.

    Would you explain slides 38 to 41 more. I did not understand your icons (binary file (executable) and white file (does it mean the source?))
    How can I re-license AL, MPL, GPL, and LGPL?
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Making Open Source Work Making Open Source Work Presentation Transcript

  • Making Open Source Work J Aaron Farr Sep 2008
  • Me
  • Aaron
  • farra @ apache . org
  • Director Apache Software Foundation
  • Co-Founder T J ower ade ! quot;
  • www.cubiclemuses.com
  • Apache Software Foundation • Independent US non-profit • Volunteer organization • Virtual world-wide organization • Currently hosts more than 50 software projects • More than 1000 contributors and almost 300 members • Began as the Apache Group in 1996 • Incorporated as the ASF in 1999
  • Apache Committers
  • Apache Committers
  • Apache Committers
  • Apache Committers
  • Apache Committers
  • Apache Members • Foundation shareholders • Elected by peers • Currently 272
  • Virtual World-Wide Org North America South America Europe Africa Australia Asia
  • Org Chart FOUNDATION MEMBERS BOARD PROJECT MANAGEMENT OFFICERS COMMITTEES COMMITTEES (PMC) COMMITTERS
  • Org Chart Board Members Committees • Legal • Security • Public Relations • Infrastructure • Conference 9 Members Elected Annually Planning
  • Free & Open Source Software Licenses Community Code Landscape
  • Relevance
  • It’s “impossible to avoid” - Gartner 2007 Study - Open source impossible to avoid, Gartner says”, Network World http://www.networkworld.com/news/2007/092007-open-source-unavoidable.html
  • By 2011, 80% of all commercial software will contain open source code. - Open source impossible to avoid, Gartner says”, Network World http://www.networkworld.com/news/2007/092007-open-source-unavoidable.html
  • SourceForge 180,000+ `
  • Commercial Support
  • Commercial Support • IBM • Novell • Sun • Oracle • Intel • Motorola • Apple • Google • HP • Yahoo • Dell •
  • Commercial Support • IBM • Novell • Sun • Oracle • Intel • Motorola • Apple • Google • HP • Yahoo • Dell • Microsoft
  • What is Open Source?
  • Open Source describes a software license that ensures certain freedoms.
  • Open Source Definition • Free Distribution • Source Code • Integrity of Author’s Code • No Discrimination • Distribution of License • Not specific to a product • Not restrict other software • Technology Neutral
  • Free Software Definition • run the program, for any purpose • study how the program works, and adapt it to your needs • redistribute copies so you can help your neighbor • improve the program, and release your improvements to the public, so that the whole community benefits
  • What’s the difference between free software and open source software?
  • License and Philosophy
  • Free
  • Who’s freedom? What freedom?
  • Free vs Open Source FREE SOFTWARE OPEN SOURCE • • Freedom of the code Freedom of the developer • • Source code will ALWAYS Code CAN be included in be available and can never proprietary works under be restricted. certain conditions.
  • Licenses
  • OSI Approved Academic Free License Microsoft Public License (Ms-PL) Adaptive Public License Microsoft Reciprocal License (Ms-RL) Apache Software License MIT license Apache License, 2.0 MITRE Collaborative Virtual Workspace License (CVW License) Apple Public Source License Motosoto License Artistic license Mozilla Public License 1.0 (MPL) Artistic license 2.0 Mozilla Public License 1.1 (MPL) Attribution Assurance Licenses NASA Open Source Agreement 1.3 New BSD license Naumen Public License Computer Associates Trusted Open Source License 1.1 Nethack General Public License Common Development and Distribution License Nokia Open Source License Common Public Attribution License 1.0 (CPAL) OCLC Research Public License 2.0 Common Public License 1.0 Open Group Test Suite License CUA Office Public License Version 1.0 Open Software License EU DataGrid Software License PHP License Eclipse Public License Python license (CNRI Python License) Educational Community License,Version 2.0 Python Software Foundation License Eiffel Forum License Qt Public License (QPL) Eiffel Forum License V2.0 RealNetworks Public Source License V1.0 Entessa Public License Reciprocal Public License Fair License Ricoh Source Code Public License Frameworx License Sleepycat License GNU General Public License (GPL) Sun Industry Standards Source License (SISSL) GNU General Public License version 3.0 (GPLv3) Sun Public License GNU Library or quot;Lesserquot; General Public License (LGPL) Sybase Open Watcom Public License 1.0 GNU Library or quot;Lesserquot; General Public License version 3.0 (LGPLv3) University of Illinois/NCSA Open Source License Historical Permission Notice and Disclaimer Vovida Software License v. 1.0 IBM Public License W3C License Intel Open Source License wxWindows Library License Jabber Open Source License X.Net License Lucent Public License (Plan9) Zope Public License Lucent Public License Version 1.02 zlib/libpng license
  • OSI Approved 64 Academic Free License Microsoft Public License (Ms-PL) Adaptive Public License Microsoft Reciprocal License (Ms-RL) Apache Software License MIT license Apache License, 2.0 MITRE Collaborative Virtual Workspace License (CVW License) Apple Public Source License Motosoto License Artistic license Mozilla Public License 1.0 (MPL) Artistic license 2.0 Mozilla Public License 1.1 (MPL) Attribution Assurance Licenses NASA Open Source Agreement 1.3 New BSD license Naumen Public License Computer Associates Trusted Open Source License 1.1 Nethack General Public License Common Development and Distribution License Nokia Open Source License Common Public Attribution License 1.0 (CPAL) OCLC Research Public License 2.0 Common Public License 1.0 Open Group Test Suite License CUA Office Public License Version 1.0 Open Software License EU DataGrid Software License PHP License Eclipse Public License Python license (CNRI Python License) Educational Community License,Version 2.0 Python Software Foundation License Eiffel Forum License Qt Public License (QPL) Eiffel Forum License V2.0 RealNetworks Public Source License V1.0 Entessa Public License Reciprocal Public License Fair License Ricoh Source Code Public License Frameworx License Sleepycat License GNU General Public License (GPL) Sun Industry Standards Source License (SISSL) GNU General Public License version 3.0 (GPLv3) Sun Public License GNU Library or quot;Lesserquot; General Public License (LGPL) Sybase Open Watcom Public License 1.0 GNU Library or quot;Lesserquot; General Public License version 3.0 (LGPLv3) University of Illinois/NCSA Open Source License Historical Permission Notice and Disclaimer Vovida Software License v. 1.0 IBM Public License W3C License Intel Open Source License wxWindows Library License Jabber Open Source License X.Net License Lucent Public License (Plan9) Zope Public License Lucent Public License Version 1.02 zlib/libpng license
  • 3 Kinds
  • Give Me Credit Give Me Code Give Me Everything - Dave Johnson http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem
  • Give Me Credit • Software “Commons” • Derivative works can re-license • May have some conditions • No warranty • Credit to original authors • Apache License, BSD, MIT
  • Give Me Code • File or derivative based conditions • Original author may have special rights • Differentiate between source and binary • Larger works may be re-licensed • LGPL, Mozilla (MPL), Eclipse (EPL/CPL)
  • Give Me Everything • Copyleft • Share and Share Alike • Derivative works remain under original license • GPL
  • License Scope Virus Index
  • License Scope Virus Index AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Can I Relicense? AL MPL GPL
  • Why is that important?
  • Many developers don’t read licenses.
  • Open source developers need to be aware of the licenses they use.
  • The right license depends on the code and the community.
  • Licenses encourage certain behaviors, discourage others.
  • community
  • http://xkcd.com/225/
  • Cathedral vs Bazaar
  • Cathedral
  • Cathedral
  • Bazaar
  • Bazaar
  • Community Culture Cathedral Bazaar
  • Community Culture Cathedral Bazaar
  • Who
  • Contributors Users Developers
  • Path to Contribution User Developer Involvement Public Contributor
  • Meritocracy
  • Meritocracy Govern of Merit It’s about what you do. Those who do, decide .
  • Commit Bits • When? It depends. • In Apache, when contributor shows consistent commitment • The ASF averages 15 new committers a month, but most of that is through new projects entering. • Many projects only add 2 committers a year
  • When to Commit?
  • Commit Then Review
  • Review Then Commit
  • Consensus Decision Making • Most decisions made on mailing list without voting, sometimes by way of lazy consensus. • Voting rules Yes Abstain No (veto) +1 0 -1 • For releases, 3 +1’s required, no vetos • A -1 veto requires proposal of alternate solution
  • Open Communication • Communication is done online. • Email lists are preferred form of communication. • Most communication is publicly archived. • Most lists are open to any subscriber.
  • Responsible Oversight • Security is mandatory • Ensure license compliance • Release only high quality software • No abuse of Apache brand or community
  • Peer to Peer • We work with people, not companies. • Committers and members should hold one another with respect. • All votes hold the same weight. • Community over code.
  • The Apache Way • Meritocracy • Peer to Peer • Consensus decision making • Open, online communication • Responsible oversight
  • A Note on Size • Most developer communities are small • Even with large developers, most of the development is usually by a small number of developers • Apache requires minimum of 3 independent votes for a release
  • Q&%5)G*C2*2IBE&72*#B%)&9&#B)&quot;7*&7*'272%B)&7'*9quot;62/**Q&'3%2*S* 3B7)&)B)&D2* #4quot;)5* )(2* 93E34B)&D2* #%quot;#quot;%)&quot;7* quot;:* 9quot;62* 9(B7'25* TD2%)&9B4* %quot;J29)/*0(2* Apache’s Long Tail BI&5V* D2%535* )(2* )quot;#* `* 9quot;7)%&13)quot;%5* )quot;* )(2* 9quot;62* 1B52* 4?53&)26* )quot;* T(quot;%&Fquot;7)B4*BI&5V/* 2$* EB$* 12* )* 5quot;:)CB%2* %2B5quot;7G*C2* )quot;* '&D2* )(2* 1.0 E&'()* 12* &B4* #%quot;J29)5* 0.8 * B* #2%:29)* 2* DB%&B)&quot;7* 0.6 K=* &5* 632* B76* R<<* Fraction of MRs 0.4 Fraction of Delta Fraction of Lines Added Fraction of Lines Deleted 5quot;*)(B)*72C* 0.2 (* )(2* 9quot;%2* 6* Equot;63425* 0.0 626* &7* quot;3%* 1 5 10 15 50 100 388 25* quot;:* 9quot;62* Number of individuals * Feilding, Herbleb & Mockus, 2000 Q&'3%2*S/**D5-$16(6.)07B-$27:0/79607&*$&3$1&*0/79607&*:$0&$05-$ ?37A.quot; http://opensource.mit.edu/papers/mockusapache.pdf 1&2-$9):-?*
  • Linux 2.6.20 50% of the changes where made by 2.5% of the developers Who Wrote 2.6.20? http://lwn.net/Articles/222773/ by corbet
  • What Does That Mean? It means a huge number of contributors (741) who made thousands of small contributions
  • Community > Code
  • Why Community Factor of Success Time
  • Why Community Code Factor of Success Time
  • Why Community Code Community Factor of Success Time
  • code
  • Code Characteristics • Directly useful to developers (itch) • Common standards • Composable • Consistent • Improvable
  • Composability ... codebases that are more modular or have more option value increase developers’ incentives to join and to remain involved in an open source development effort; and decrease the amount of free-riding in equilibrium. The Architecture of Participation: Does Code Architecture Mitigate Free Riding in the Open Source Development Model Baldwin and Clark, 2005 http://www.people.hbs.edu/cbaldwin/DR2/BaldwinArchPartAll.pdf
  • release early release often
  • tools
  • Tools shape the code and the community.
  • The Secret Sauce
  • Secret Sauce • Website or Wiki • Source Code Repository • Bug Tracker • Mailing List
  • Secret Sauce • Portal • Repository PRIM • Issue Tracker • Mailing List
  • Secret Sauce “Every successful open source project I know uses PRIM. Every closed source project I know, doesn't. ... People wonder how open source projects manage to create high-quality products without managers or accountability. The answer: we're accountable to our infrastructure. PRIM is the open source secret sauce.” - Ted Husted http://jroller.com/TedHusted/entry/prim
  • Source Code Repository • Controls access to source code • Keeps track of all changes • Allows for branching and merging of changes • Allows multiple people to work on the same code at the same time
  • Source Code Repository SVN Git CVS Bzr Mercurial
  • Source Code Repository Centralization SVN Git CVS Bzr Mercurial
  • The Secret Sauce is Free sourceforge.net code.google.com trac
  • Making Open Source Work Licenses Community Code Landscape
  • The LAMP stack
  • Linux Apache Mysql PHP / Perl / Python ...
  • Apache powers half of all websites on the internet.
  • Apache Projects HTTP Server Jackrabbit SpamAssassin ActiveMQ Jakarta STDCXX Ant James Struts APR Labs Synapse Beehive Lenya Tapestry Cayenne Logging TCL Cocoon Lucene Tiles Commons Maven Tomcat DB Mina Turbine Directory MyFaces Velocity Excalibur ODE Wicket Felix OFBiz Web Services Forrest OpenEJB Xalan Geronimo OpenJPA Xerces Gump Perl XML Hadoop POI XMLBeans Harmony Portals XML Graphics HiveMind Roller HttpComponents Santuario iBATIS ServiceMix Incubator Shale
  • Desktop
  • Linux
  • Gnome (GTK) KDE (QT)
  • Cross Platform
  • GTK wxWidgets Java
  • Mobile
  • Why could this matter to you?
  • Open Source provides high quality free tools for education and business.
  • The dot com and web 2.0 innovations would not have been possible without free and open source software.
  • FOSS commoditizes core foundation technologies, forcing innovation up the stack and enabling new markets.
  • New user documentation is always welcome.
  • Translations are especially welcome.
  • Local Events
  • BarCamp Hong Kong September 9 http://www.barcamp.hk
  • Thank you
  • Resources • farra@apache.org • www.cubiclemuses.com • Slides:http://cubiclemuses.com/cm/ • Cathedral and the Bazaar by ESR • In the beginning was the command line by Neal Stephensen