ENTERPRISE
OPEN SOURCE
HOW TO MAKE YOUR COMPANY
START CONTRIBUTING TO OPEN
SOURCE
oscar.renalias@acenture.com
@oscarrenalias
https://www.linkedin.com/in/oscarrenalias/
https://github.com/accenture
3
ACCENTURE HAS
BEEN A BIG
CONSUMER OF
OPEN SOURCE
SOFTWARE
4
AND SOME OF US
HAVE BEEN
WORKING TO
ADDRESS THAT
BECAUSE
WE LIKE IT
• AND BECAUSE WE THINK IT’S ONLY
FAIR
• AND BECAUSE WE ARE ALREADY
BUILDING CRITICAL STUFF FOR
CLIENTS ON OSS
• AND BECAUSE WE WOULDN’T HAVE IT
ANY OTHER WAY
WHY DO SOME OF
US CONTRIBUTE TO
OPEN SOURCE?
GROW THE TEAM
• Build expertise, gain
experience, and develop a
strong competency in the
software
• Improve resumes, gain
international recognition
• Get recognition for
Accenture’s contribution to
the open source community
• Improve Accenture’s
attractiveness
• Move bug fixes or feature
enhancements upstream
• Move patches upstream to
reduce future maintenance
• Influence the future of the
projects we depend upon
• Improve the performance of
the software
• Improve the documentation
• Improve the core code or
create a new feature
MEET CLIENT DEMANDS INVEST IN THE FUTURE
WHY DOES ACCENTURE THINK
THAT WE HAVE TO DO
CONTRIBUTE?
INTERNAL
COMMUNITY-
DRIVEN CULTURE
OPEN SOURCE
POLICY
GOVERNANCE
TRAINING AND
ENABLEMENT
COMMUNITY
CONTRIBUTIONS
THE PILLARS OF
ENTERPRISE
OPEN SOURCE
(AT ACCENTURE)
7
8
COMMUNITY-DRIVEN CULTURE STARTS WITH
ALL OF US
InnerSource is the adoption and tailoring of Open Source development practices to internal software
development.
”SOCIAL” CODING
PLATFORM
VERSION CONTROL
”SOCIAL”
NETWORKING
Low-friction, developer-
centric platform: wiki, issue
management, artifact
repository, CI/CD,
container registry
Git Developer-centric
dashboard: project
streams, team streams,
etc., leaderboards
9
TEH POLICY!11!!
• Describes what can and should not be
contributed
• Details methods to contribute including
public/private repository guidelines
• Understand difference between a donation
and a contribution
• Public fork vs upstream contribution vs
internal fork
• Leadership may authorize time and effort
to be contributed directly to OSS
communities (e.g., for bug fixes)
• Guidelines for personal contributions
DEALING WITH THE
INTRICACIES OF OPEN
SOURCE LICENSING
• Sometimes, we can’t just release everything we
build for contractual reasons
Open source
licensing is
complex, specially
when combined
with contractual
and intellectual
property
obligations
INTELLECTUAL
PROPERTY &
OWNERSHIP
• The wrong choice of license could compromise a
contract or our business with a client
RISK &
LIABILITY
• GPL, LGPL are not an option for a commercial
business but how about everything else?
SELECTING THE
RIGHT LICENSE
11
DECIDING WHERE AND
HOW TO CONTRIBUTE
Participation Guidelines
• Level of comfort in posting on forums
• Understanding what should and should not
be disclosed
• Know where and how to engage the OSS
community
Supporting the Community
• What is the prioritization of engagement in
the project?
Community Understanding
• How stable is the project?
• How is the project led?
Public Collaboration
• Have clear guidelines on what can be
published
• Feels comfortable collaborating externally on
ideas, bug reports, etc.
• Know the level of anonymity or public
disclosure they should take
12
GETTING CONTRIBUTIONS
APPROVED
BEFORE
1. Fill in 10-page long Word template
2. Sit in call with legal team where you would be
grilled for about an hour
3. Wait
4. Wait a little longer
5. Maybe, get contribution approved
NOW
1. Fill in online form: provide description, select
license, and whether this contains work done
for a client
2. Get approval (takes about one day)
3. Request Github project, publish repo
4. ???
5. PROFIT
13
• Funding – who pays for a team, internally, that is contributing
to open source after the project is over?
• Strong knowledge and “go-to” team of contribution policy
• Decides how the company/team contributes to the community
• Quickly determines what can and can not be contributed
• Creates the process by which a contribution is defined
GOVERNANCE
14
Tools available internally to identify and document all open
source components in a codebase to mitigate license,
security and maintenance risks
LICENSE SCANNING
15
• Internal preaching: webinars, training sessions, shameless
plugs of own projects
• Training: i.e. LF210: Fundamentals of Professional Open
Source Management
ENABLEMENT
16
WHAT ARE WE DOING AT THE MOMENT?
REACTIVE INTERACTION
GATEWAY, CLOUD EVENTS
ACCENTURE DEVOPS
PLATFORM
KCSP
GITHUB, ENGINEERING BLOG
FOUNDATION
MEMBERSHIP
17
LESSONS LEARNED
Building critical solutions on own OSS is
great but what happens when the project is
over?
OWNERSHIP &
FUNDING
Make it easy for everyone to contribute –
but ensure that there is an adequate level
of support for the tricky bits
KEEP IT SIMPLE
• Make it easy to contribute, but keep track
of what’s going on
GOVERNANCE
Code is not the only way to contribute to a
community
NOT ONLY CODE

Enterprise Open Source

  • 1.
    ENTERPRISE OPEN SOURCE HOW TOMAKE YOUR COMPANY START CONTRIBUTING TO OPEN SOURCE
  • 2.
  • 3.
    3 ACCENTURE HAS BEEN ABIG CONSUMER OF OPEN SOURCE SOFTWARE
  • 4.
    4 AND SOME OFUS HAVE BEEN WORKING TO ADDRESS THAT
  • 5.
    BECAUSE WE LIKE IT •AND BECAUSE WE THINK IT’S ONLY FAIR • AND BECAUSE WE ARE ALREADY BUILDING CRITICAL STUFF FOR CLIENTS ON OSS • AND BECAUSE WE WOULDN’T HAVE IT ANY OTHER WAY WHY DO SOME OF US CONTRIBUTE TO OPEN SOURCE?
  • 6.
    GROW THE TEAM •Build expertise, gain experience, and develop a strong competency in the software • Improve resumes, gain international recognition • Get recognition for Accenture’s contribution to the open source community • Improve Accenture’s attractiveness • Move bug fixes or feature enhancements upstream • Move patches upstream to reduce future maintenance • Influence the future of the projects we depend upon • Improve the performance of the software • Improve the documentation • Improve the core code or create a new feature MEET CLIENT DEMANDS INVEST IN THE FUTURE WHY DOES ACCENTURE THINK THAT WE HAVE TO DO CONTRIBUTE?
  • 7.
    INTERNAL COMMUNITY- DRIVEN CULTURE OPEN SOURCE POLICY GOVERNANCE TRAININGAND ENABLEMENT COMMUNITY CONTRIBUTIONS THE PILLARS OF ENTERPRISE OPEN SOURCE (AT ACCENTURE) 7
  • 8.
    8 COMMUNITY-DRIVEN CULTURE STARTSWITH ALL OF US InnerSource is the adoption and tailoring of Open Source development practices to internal software development. ”SOCIAL” CODING PLATFORM VERSION CONTROL ”SOCIAL” NETWORKING Low-friction, developer- centric platform: wiki, issue management, artifact repository, CI/CD, container registry Git Developer-centric dashboard: project streams, team streams, etc., leaderboards
  • 9.
    9 TEH POLICY!11!! • Describeswhat can and should not be contributed • Details methods to contribute including public/private repository guidelines • Understand difference between a donation and a contribution • Public fork vs upstream contribution vs internal fork • Leadership may authorize time and effort to be contributed directly to OSS communities (e.g., for bug fixes) • Guidelines for personal contributions
  • 10.
    DEALING WITH THE INTRICACIESOF OPEN SOURCE LICENSING • Sometimes, we can’t just release everything we build for contractual reasons Open source licensing is complex, specially when combined with contractual and intellectual property obligations INTELLECTUAL PROPERTY & OWNERSHIP • The wrong choice of license could compromise a contract or our business with a client RISK & LIABILITY • GPL, LGPL are not an option for a commercial business but how about everything else? SELECTING THE RIGHT LICENSE
  • 11.
    11 DECIDING WHERE AND HOWTO CONTRIBUTE Participation Guidelines • Level of comfort in posting on forums • Understanding what should and should not be disclosed • Know where and how to engage the OSS community Supporting the Community • What is the prioritization of engagement in the project? Community Understanding • How stable is the project? • How is the project led? Public Collaboration • Have clear guidelines on what can be published • Feels comfortable collaborating externally on ideas, bug reports, etc. • Know the level of anonymity or public disclosure they should take
  • 12.
    12 GETTING CONTRIBUTIONS APPROVED BEFORE 1. Fillin 10-page long Word template 2. Sit in call with legal team where you would be grilled for about an hour 3. Wait 4. Wait a little longer 5. Maybe, get contribution approved NOW 1. Fill in online form: provide description, select license, and whether this contains work done for a client 2. Get approval (takes about one day) 3. Request Github project, publish repo 4. ??? 5. PROFIT
  • 13.
    13 • Funding –who pays for a team, internally, that is contributing to open source after the project is over? • Strong knowledge and “go-to” team of contribution policy • Decides how the company/team contributes to the community • Quickly determines what can and can not be contributed • Creates the process by which a contribution is defined GOVERNANCE
  • 14.
    14 Tools available internallyto identify and document all open source components in a codebase to mitigate license, security and maintenance risks LICENSE SCANNING
  • 15.
    15 • Internal preaching:webinars, training sessions, shameless plugs of own projects • Training: i.e. LF210: Fundamentals of Professional Open Source Management ENABLEMENT
  • 16.
    16 WHAT ARE WEDOING AT THE MOMENT? REACTIVE INTERACTION GATEWAY, CLOUD EVENTS ACCENTURE DEVOPS PLATFORM KCSP GITHUB, ENGINEERING BLOG FOUNDATION MEMBERSHIP
  • 17.
    17 LESSONS LEARNED Building criticalsolutions on own OSS is great but what happens when the project is over? OWNERSHIP & FUNDING Make it easy for everyone to contribute – but ensure that there is an adequate level of support for the tricky bits KEEP IT SIMPLE • Make it easy to contribute, but keep track of what’s going on GOVERNANCE Code is not the only way to contribute to a community NOT ONLY CODE

Editor's Notes

  • #11 Explains the different classes of OSS licenses and appropriate uses for each Offers use cases, best practices and central OSS website for business team reference