Inner Sourcing Enterprise Lessons Learned from the Open Source Community Jim Jagielski @jimjag
About Me ➡ Apache Software Foundation ➡ Co-founder, Director, Member and Developer ➡ Director ➡ Outercurve, MARSEC-XL, OSSI, OSI (ex)… ➡ Developer ➡ Mega FOSS projects ➡ O’Reilly Open Source Award: 2013 ➡ European Commission: Luminary Award ➡ Sr. Director: Tech Fellows: Capital One @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Inner Sourcing ➡ What can corporate IT learn from leading open development communities? ➡ Both principles and techniques offer value ➡ Understanding principles allows you to alter techniques ➡ Challenges must be overcome to realize success @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
What is Open Source? ➡ Basically, it’s a “new” way to develop, license and distribute code ➡ Actually, there was “open source” even before it was called that ➡ The key technologies behind the Internet and the Web and the Cloud are all Open Source based ➡ Brings Scientific Method to IT @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
What is Open Source? ➡ Open Source Licensing ➡ OSI and/or Free Software Foundation (FSF) Approved ➡ Free Software ➡ As in Free Speech, not Free Beer ➡ Open Source Methodology (secondary) ➡ Community/Governance types ➡ Many consider this just as important as the license @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
What is Open Source? ➡ Also called Free Software ➡ But the word “Free” confuses some people ➡ FOSS: Free and Open Source Software ➡ FLOSS: Free/Libre Open Source Software ➡ Pretty much, all mean the same thing ➡ The name can cause “religious” or “philosophical” debates, but in government and industry, Open Source is the more widely used term. @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
What is Open Source? ➡ Basic tenets (related to licenses): ➡ Access to the source code (the code is Open and Free) ➡ Ability to use the source code (run it and/or leverage it) ➡ Ability to modify the source code ➡ Ability to distribute the (modified) source code ➡ Open Source “methodology”/philosophy ➡ This is what Inner Sourcing is all about @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Community ➡ AKA: Governance ➡ Defines how the community operates ➡ How conflicts are resolved ➡ Growth path of the community code ➡ members ➡ ➡ Again, 3 main types @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Walled Garden “All your base are belong to us.” @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
BDFL “Supreme executive power derives from a mandate from the masses, not some farcical aquatic ceremony.” @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Meritocracy “Out of Chaos comes Order” @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Inner Sourcing ➡ What can corporate IT learn from leading open development communities? ➡ Both principles and techniques offer value ➡ Understanding principles allows you to alter techniques ➡ Challenges must be overcome to realize success @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Why? ➡ Gain efficiencies by leveraging resident talent to its fullest ➡ Develop better software faster through collaboration ➡ Reduce costs through technology standardization and reuse ➡ Bring products to market faster ➡ Increase developer engagement and innovation through social creativity ➡ Attract and retain higher quality talent @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
How? “ Building a boat isn’t about weaving canvas, forging nails, or reading the ➡ sky. It’s about giving a shared taste for the sea, by the light of which you will see nothing contradictory but rather a community of love. ” ➡ “If you want to build a ship, don’t drum up the men to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea.” ― Antoine de Saint-Exupéry @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles ➡ Culture ➡ Communication ➡ Transparency ➡ Collaboration ➡ Community ➡ Meritocracy @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles: Culture ➡ Inner-sourcing is a cultural mind-shift ➡ Create an expected set of behaviors ➡ Must be truly engaged ➡ Must be truly accepted ➡ Culture ➾ Communication @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles: Communication ➡ Is core and foundational ➡ Everything builds on this ➡ Open and asynchronous ➡ Doesn’t disenfranchise anyone ➡ Archivable ➡ Maintains history and allows ebb/flow ➡ Document tribal knowledge ➡ Communication ➾ Transparency @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles: Transparency ➡ Reinforces and Enables Public and Open mindset ➡ Inclusion ➡ Reuse ➡ You can only reuse what you can see ➡ Quality/Security ➡ More eyeballs mean better quality ➡ Measurement ➡ Transparency enables measurement ➡ Transparency ➾ Collaboration @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles: Collaboration ➡ Common Vision ➡ Common Goal ➡ See connections ➡ Encourages contribution and improves leverage ➡ Encourages feedback and dialogue ➡ Collaboration ➾ Community @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles: Community ➡ Loyalty ➡ Community breeds loyalty ➡ Durability ➡ Communities can create durable assets, processes and culture ➡ Health ➡ Feedback and Dialogue ➡ Community ➾ Meritocracy @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Principles: Meritocracy ➡ Technical decisions made by technical experts ➡ Better informed decisions ➡ Role models/Mentors ➡ Merit provides examples ➡ Earned authority ➡ “Natural” leadership ➡ Known path and “rewards” ➡ Meritocracy ➾ Communication @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Techniques ➡ Culture ➡ Model transparency in your community; all decisions and actions done in the open ➡ Embrace a collaborative development model that promotes self- governance and evaluates contributions based on merit ➡ Value all roles in the community and provide recognition - contributors are just as valued as committers ➡ Model and promote our Code of Conduct ➡ Process ➡ Make it easy to participate in your community - streamline contributions and enable collaboration, and set clear expectations for software development ➡ Provide clear and concise documentation ➡ Be responsive to your community and provide meaningful feedback to contributors @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Techniques ➡ Collaboration Infrastructure ➡ Systems supporting communication and coordination: repositories, trackers, forums, build tools ➡ Open Standards ➡ Using open standards in systems design and standards-based tools for development ➡ Meritocratic Governance ➡ Merit determines influence on decisions ➡ Community-based governance structures @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Techniques: Communication and Transparency ➡ E-Mail lists ➡ Avoid F2F meetings ➡ Always bring meeting discussions back to list ➡ IRC/Slack/Hipchat as backups ➡ Communications ➡ Encourage larger audiences Not just “core” teams ➡ ➡ Encourage “lurkers” ➡ All development done on-list @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Techniques: Collaboration ➡ Repositories ➡ Enable discoverability ➡ All can read, limit write ➡ Trackers ➡ Coordinate collaborative work, transparency ➡ Build and Test tools ➡ Enable consistent, independent ➡ repeatable builds ➡ support process discipline, quality assurance, productivity,ramp-up ➡ Sharing / re-use ➡ Documentation @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Techniques: Community ➡ Tech-talks ➡ Mentoring ➡ Cross-team events ➡ Break down silos @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Techniques: Meritocracy ➡ Decisions ➡ Influence on decisions determined by merit ➡ Structures ➡ Governance structures supporting merit-based decision-making ➡ Examples: PMC managing roadmap / stds, shared components; user/contributor/committer roles for common code as well as strategy / standards content; review and approval of changes to standards, roadmaps, shared assets; peer voting on releases ➡ Trusted Contributor/Reviewers @jimjag This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Recommend
More recommend