SlideShare a Scribd company logo
Marcel de Vries
CTO Xpirit
Best Practices for Using
Open Source Software in
the Enterprise
About me: Marcel de Vries
mdevries@xpirit.com
@marcelv
http://fluentbytes.comXpirit
Also regional director
How software is built
• 80% is based on components + your
code + glue code => new product
• Components dominantly are now
open source
• Build on the shoulders of giants by
using free software components in
your products
DEMO
Awareness is key!
Look at average ASP.NET website
• ASP.NET itself
• Entity framework
• JQuery
• Angular
• Bootstrap
• …
201320122011200920082007 2010
2B1B500M 4B 6B 8B 13B
Source: Sonatype, Inc. analysis of (Maven) Central Repository component requests.
The new Microsoft
• Microsoft embraces open source in many areas
now
• Did you know Azure provides many different
flavors of Linux distributions?
• Did you know Microsoft open sourced important
parts of their development platform?
– ASP.NET MSBuild
– SignalR .NET Core (CLR & FW)
– Roslyn compilers WCF
The .NET Foundation
.NET API for Hadoop WebClient
.NET Compiler Platform ("Roslyn")
.NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET MVC
ASP.NET Web API
ASP.NET Web Pages
ASP.NET SignalR
Composition (MEF2)
Entity Framework
Linq to Hive
MEF (Managed Extensibility Framework)
OWIN Authentication Middleware
Rx (Reactive Extensions)
Web Protection Library
Windows Azure .NET SDK
Windows Phone Toolkit
WnsRecipe
Mimekit Xamarin.Auth
Xamarin.Mobile
Couchbase for .NET
Miguel de Icaza (Xamarin)
Laurent Bugnion (IdentityMine)
Niels Hartvig (Umbraco)
Anthony van der Hoorn (Glimpse)
Paul Betts (GitHub)
Nigel Sampson (Compiled Experience)
http://www.dotnetfoundation.org
Mailkit
System.Drawing
Best practices in OSS for the enterprise
• In the Microsoft eco system we are just getting started
• How do you come up with best practices already?
– Look at the eco systems that have been using OSS for a long
time
• E.g. Java ecosystem
– My personal experience as Technology manager, CTO in
terms of risk awareness
• Experiences based on consulting engagements where I worked in
heterogeneous environment
Challenge to the enterprise
• Developers want freedom to use open source software
– It is highly encouraged by modern development tools like Visual
Studio
– NuGet, NPM (node), Bower, Maven, etc.
• How can I empower my developers, without bringing my
company at risk?
• I see my .NET developer use open source now, how can I
cope with this and still keep them happy?
Open source software
• What are the implications in the enterprise?
What is open source?
Publish open source software
What are common business models?
When can I publish Oss?
What do I need to accept contributions?
Consuming open source software
What are the Licenses implications?
Are there known Vulnerabilities?
How well are these sources maintained?
How can we keep that in control?
What is open source anyway?
“Computer software with its source code
made available under a license in which the
copyright holder provides the rights to study,
change and distribute the software to anyone
and for any purpose”
St. Laurent, Andrew M. (2008). Understanding Open Source
and Free Software Licensing. O'Reilly Media. p. 4.
ISBN 9780596553951
According to the Open Source
Definition, the license must not:
• Discriminate against persons or groups
• Discriminate against fields of endeavour
• Be specific to a product
• Restrict other software
http://opensource.org/osd
What is a license?
COPYLEFT
GPL
LGPL
AGPL
Permissive
Restrictive
License spectrum
Copyleft License implications
• Distribution triggers obligations
– And in some cases using on a network also trigger obligations
(AGPL)
• Obligations are:
• Disclosing the source code of your product;
• Making your product available under that copyleft license;
• Licensing your patents that read on the software.
• Once your product is available under a
copyleft license any recipient can
use it and distribute it without charge.
Copyleft and Cloud
• In general, using modified Copy left sources do not need to
be published when used in cloud solution
• Cloud service is in general not considered distribution, but
use of the software
– So does not trigger copy left obligations
• Except for following licenses:
– AGPL
– European Union Public License
– Common Public License
CONTRIBUTING TO OPEN SOURCE
OSS Contribution Funnel
• Be able to understand what it does
• Can easily pick it up and use
• Download
• Fork / Follow / FavouriteUse
• Log bugs
• Answer questions
• Write blog posts
• Fix / add documentation
• Fix typos
Contribute Time
• Actually contribute code patches that fix bugs / improve test cases
• Contribute entirely new features
• Translate
• Maintain platforms
Contribute
Code
• Become a core committer (get write access)
• Accept / validate code contributions
• Nurture new people
• Stick around
• Influence the direction of the project
Own
Publishing open source
• What do you need when you want to publish open source
software?
• You need to know who worked on the software
– Each individual is a copyright holder!
– If you don’t know, you are at risk going forward, you need to chase
them down
• How about I publish software on my blog?
– You are still the copyright holder and need to set license terms for
others to be able to use it!
A Contributor License Agreement (CLA)
defines the terms under which
intellectual property has been
contributed to a company/project,
typically software under an open source
license.
From Wikipedia, the free
encyclopedia
Why would I publish my product as OSS?
• Open source is a proven viable business model
• Company builds and contributes to the open
source software
• Company builds premium components they sell
• Company provides premium services
– e.g. SaaS versions of the product, or consulting
services
CONSUMING OPEN SOURCE
Consuming open source software
Use of components creates a
SOFTWARE
SUPPLY CHAIN
DEVELOPMENT
BUILD AND
DEPLOY
PRODUCTION
COMPONENT
SELECTION
Licenses are one part of the story, but what
about…
HEARTBLEEDEverything was secure until, suddenly it wasn’t
Introduced December 2011 Discovered April 2014 Lot of instances fixed, but still not all!
Consuming open source software
If you’re not using secure
COMPONENTS
you’re not building secure
APPLICATIONS
DEVELOPMENT
BUILD AND
DEPLOY
PRODUCTION
COMPONENT
SELECTION
You need to know what is
used in your enterprise!
How can we empower developers in using open
source but be risk aware?
What can we learn from the Java space?
• They use artifact repositories to pull their packages from
and push their packages to
– Provides a single point where you can ask questions about the
software
• In the Microsoft ALM tools, we are used to
– Use Version control repositories for our sources
– Use network drop locations for our build products
– Use the web to pull our packages
Consuming open source software
DEVELOPMENT
BUILD AND
PUBLISH
PRODUCTION
COMPONENT
SELECTION
When you have a repo in
place, you can….
• Scan for licenses in use
• Scan for known
vulnerabilities
• Scan for popularity
Meet the artifact repository
• There are different flavors out there
– Alternatives are archiva, Artifactory, Nexus
– You can look at a comparison at:
http://docs.codehaus.org/display/MAVENUSER/Maven+Repository
+Manager+Feature+Matrix
• For my demos I am using Sonatype Nexus
– The one I most commonly encountered in my engagements with
customers
– Supports the Microsoft Eco system with NuGet!
DEMO
Show nexus PRO
Great but not all OSS
comes from NuGet
How can you know what is in your enterprise,
because just using a proxy does not cut it?
How to publish to repo
after build
By publishing your product back to the artifact
repository, you can now scan your software on use of
OSS
Consuming open source software
DEVELOPMENT
BUILD AND
PUBLISH PRODUCTION
COMPONENT
SELECTION
DEMO
Publish to artefact repo
Great!
Now I have an artifact
repository, how does that
solve my needs?
We need a way to scan my
repository and answer my
important questions
DEMO
Health reports
Part of the puzzle
• Artifact repositories can help you
– Empower your developers to build on shoulders of giants
– Analyze what is in use
• Source code or binaries
– Give insights in your exposure to known vulnerabilities in OSS components
• There are things you need to figure out yourself
– What OSS do we pick for certain parts of the system
– How do you select the right component with an abundance of choice?
– How do you engage with communities?
– How to manage contributions to OSS?
What we not covered
• Integrating license and vulnerability scans as part of your continuous
delivery pipeline
• Defining policies for what you allow
– Component Lifecycle Management tooling
– Can plug into your build system or your delivery pipelines
• People and Perception
– Developer bias
– Developer satisfaction
– Not looking at the other side of the fence
Summary
• There is more to open source than sources
• Understand licensing
• Understanding the OSS ecosystem
• OSS usage impacts your business
• Set up a strategy to know what you are using
• Artifact repository can help you solve parts of the
puzzle
– Make them part of your Continuous Delivery Pipeline
Questions?
• Xpirit Magazine in your TechDays bag with
cool articles on e.g:
– Hololens programming
– Azure Service Fabric
– Application Insights
http://fluentbytes.com
@marcelv
mdevries@Xpirit.com
Need help? Contact us

More Related Content

What's hot

Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd july
Richard Clark
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
Clever Moe
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
Clever Moe
 
Running JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudRunning JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloud
Clever Moe
 
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudCloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
Clever Moe
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
Neev Technologies
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and Security
Jason Chan
 
Proactive Security AppSec Case Study
Proactive Security AppSec Case StudyProactive Security AppSec Case Study
Proactive Security AppSec Case Study
Andy Hoernecke
 
From Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product SecurityFrom Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product Security
Jason Chan
 
Resilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and ScaleResilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and Scale
Jason Chan
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
Sauce Labs
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
Dynatrace
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Vishal Sahasrabuddhe
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
Matt Tesauro
 
3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web
Dynatrace
 
Resilience and Security @ Scale: Lessons Learned
Resilience and Security @ Scale: Lessons LearnedResilience and Security @ Scale: Lessons Learned
Resilience and Security @ Scale: Lessons Learned
Jason Chan
 
we45 - SecDevOps Concept Presentation
we45 - SecDevOps Concept Presentationwe45 - SecDevOps Concept Presentation
we45 - SecDevOps Concept Presentation
Abhay Bhargav
 
Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019
Tobias Hoppenthaler
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
Ankita Gupta
 
AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015
Matt Tesauro
 

What's hot (20)

Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd july
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
 
Running JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudRunning JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloud
 
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudCloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and Security
 
Proactive Security AppSec Case Study
Proactive Security AppSec Case StudyProactive Security AppSec Case Study
Proactive Security AppSec Case Study
 
From Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product SecurityFrom Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product Security
 
Resilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and ScaleResilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and Scale
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web
 
Resilience and Security @ Scale: Lessons Learned
Resilience and Security @ Scale: Lessons LearnedResilience and Security @ Scale: Lessons Learned
Resilience and Security @ Scale: Lessons Learned
 
we45 - SecDevOps Concept Presentation
we45 - SecDevOps Concept Presentationwe45 - SecDevOps Concept Presentation
we45 - SecDevOps Concept Presentation
 
Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
 
AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015
 

Similar to Best practices for using open source software in the enterprise

Open Source Software[1]
Open Source Software[1]Open Source Software[1]
Open Source Software[1]
amckay1578
 
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
FINOS
 
Advantages & Disadvantages (Open-Source vs. Proprietary Software)
Advantages & Disadvantages (Open-Source vs. Proprietary Software)Advantages & Disadvantages (Open-Source vs. Proprietary Software)
Advantages & Disadvantages (Open-Source vs. Proprietary Software)
Fleurati
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
WSO2
 
Open soucre(cut shrt)
Open soucre(cut shrt)Open soucre(cut shrt)
Open soucre(cut shrt)Shivani Rai
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are using
All Things Open
 
Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)
Evernym
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
Javier Perez
 
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Lounge47
 
Tracing the evolution - Open source & Embedded systems
Tracing the evolution - Open source & Embedded systemsTracing the evolution - Open source & Embedded systems
Tracing the evolution - Open source & Embedded systems
Emertxe Information Technologies Pvt Ltd
 
Open Source Software in Libraries
Open Source Software in LibrariesOpen Source Software in Libraries
Open Source Software in Libraries
Sukhdev Singh
 
GoOpen 2010: Sandro D'Elia
GoOpen 2010: Sandro D'EliaGoOpen 2010: Sandro D'Elia
GoOpen 2010: Sandro D'EliaFriprogsenteret
 
Leverage the power of Open Source in your company
Leverage the power of Open Source in your company Leverage the power of Open Source in your company
Leverage the power of Open Source in your company
Guillaume POTIER
 
Open source . . . Open Road
Open source . . . Open RoadOpen source . . . Open Road
Open source . . . Open RoadMazen Elsayed
 
Open Source Project Management
Open Source Project ManagementOpen Source Project Management
Open Source Project Management
Semen Arslan
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
M. Antoinette Jerom
 
LINUX BASICS
LINUX BASICSLINUX BASICS
LINUX BASICS
RamjiChaurasiya
 
OSS has taken over the enterprise: The top five OSS trends of 2015
OSS has taken over the enterprise: The top five OSS trends of 2015OSS has taken over the enterprise: The top five OSS trends of 2015
OSS has taken over the enterprise: The top five OSS trends of 2015
Rogue Wave Software
 
Open source
Open sourceOpen source
Open source
Sahil Kajani
 
Open source software
Open source softwareOpen source software
Open source software
jaimeacurry
 

Similar to Best practices for using open source software in the enterprise (20)

Open Source Software[1]
Open Source Software[1]Open Source Software[1]
Open Source Software[1]
 
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
 
Advantages & Disadvantages (Open-Source vs. Proprietary Software)
Advantages & Disadvantages (Open-Source vs. Proprietary Software)Advantages & Disadvantages (Open-Source vs. Proprietary Software)
Advantages & Disadvantages (Open-Source vs. Proprietary Software)
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
 
Open soucre(cut shrt)
Open soucre(cut shrt)Open soucre(cut shrt)
Open soucre(cut shrt)
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are using
 
Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
 
Tracing the evolution - Open source & Embedded systems
Tracing the evolution - Open source & Embedded systemsTracing the evolution - Open source & Embedded systems
Tracing the evolution - Open source & Embedded systems
 
Open Source Software in Libraries
Open Source Software in LibrariesOpen Source Software in Libraries
Open Source Software in Libraries
 
GoOpen 2010: Sandro D'Elia
GoOpen 2010: Sandro D'EliaGoOpen 2010: Sandro D'Elia
GoOpen 2010: Sandro D'Elia
 
Leverage the power of Open Source in your company
Leverage the power of Open Source in your company Leverage the power of Open Source in your company
Leverage the power of Open Source in your company
 
Open source . . . Open Road
Open source . . . Open RoadOpen source . . . Open Road
Open source . . . Open Road
 
Open Source Project Management
Open Source Project ManagementOpen Source Project Management
Open Source Project Management
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
 
LINUX BASICS
LINUX BASICSLINUX BASICS
LINUX BASICS
 
OSS has taken over the enterprise: The top five OSS trends of 2015
OSS has taken over the enterprise: The top five OSS trends of 2015OSS has taken over the enterprise: The top five OSS trends of 2015
OSS has taken over the enterprise: The top five OSS trends of 2015
 
Open source
Open sourceOpen source
Open source
 
Open source software
Open source softwareOpen source software
Open source software
 

More from Marcel de Vries

Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual Studio
Marcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
Marcel de Vries
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...
Marcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
Marcel de Vries
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile apps
Marcel de Vries
 
Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#
Marcel de Vries
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introductionMarcel de Vries
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Marcel de Vries
 

More from Marcel de Vries (8)

Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual Studio
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile apps
 
Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteem
 

Recently uploaded

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 

Best practices for using open source software in the enterprise

  • 1. Marcel de Vries CTO Xpirit Best Practices for Using Open Source Software in the Enterprise
  • 2. About me: Marcel de Vries mdevries@xpirit.com @marcelv http://fluentbytes.comXpirit Also regional director
  • 3. How software is built • 80% is based on components + your code + glue code => new product • Components dominantly are now open source • Build on the shoulders of giants by using free software components in your products
  • 5. Look at average ASP.NET website • ASP.NET itself • Entity framework • JQuery • Angular • Bootstrap • … 201320122011200920082007 2010 2B1B500M 4B 6B 8B 13B Source: Sonatype, Inc. analysis of (Maven) Central Repository component requests.
  • 6. The new Microsoft • Microsoft embraces open source in many areas now • Did you know Azure provides many different flavors of Linux distributions? • Did you know Microsoft open sourced important parts of their development platform? – ASP.NET MSBuild – SignalR .NET Core (CLR & FW) – Roslyn compilers WCF
  • 7. The .NET Foundation .NET API for Hadoop WebClient .NET Compiler Platform ("Roslyn") .NET Map Reduce API for Hadoop .NET Micro Framework ASP.NET MVC ASP.NET Web API ASP.NET Web Pages ASP.NET SignalR Composition (MEF2) Entity Framework Linq to Hive MEF (Managed Extensibility Framework) OWIN Authentication Middleware Rx (Reactive Extensions) Web Protection Library Windows Azure .NET SDK Windows Phone Toolkit WnsRecipe Mimekit Xamarin.Auth Xamarin.Mobile Couchbase for .NET Miguel de Icaza (Xamarin) Laurent Bugnion (IdentityMine) Niels Hartvig (Umbraco) Anthony van der Hoorn (Glimpse) Paul Betts (GitHub) Nigel Sampson (Compiled Experience) http://www.dotnetfoundation.org Mailkit System.Drawing
  • 8. Best practices in OSS for the enterprise • In the Microsoft eco system we are just getting started • How do you come up with best practices already? – Look at the eco systems that have been using OSS for a long time • E.g. Java ecosystem – My personal experience as Technology manager, CTO in terms of risk awareness • Experiences based on consulting engagements where I worked in heterogeneous environment
  • 9. Challenge to the enterprise • Developers want freedom to use open source software – It is highly encouraged by modern development tools like Visual Studio – NuGet, NPM (node), Bower, Maven, etc. • How can I empower my developers, without bringing my company at risk? • I see my .NET developer use open source now, how can I cope with this and still keep them happy?
  • 10. Open source software • What are the implications in the enterprise? What is open source? Publish open source software What are common business models? When can I publish Oss? What do I need to accept contributions? Consuming open source software What are the Licenses implications? Are there known Vulnerabilities? How well are these sources maintained? How can we keep that in control?
  • 11. What is open source anyway? “Computer software with its source code made available under a license in which the copyright holder provides the rights to study, change and distribute the software to anyone and for any purpose” St. Laurent, Andrew M. (2008). Understanding Open Source and Free Software Licensing. O'Reilly Media. p. 4. ISBN 9780596553951
  • 12. According to the Open Source Definition, the license must not: • Discriminate against persons or groups • Discriminate against fields of endeavour • Be specific to a product • Restrict other software http://opensource.org/osd What is a license?
  • 14. Copyleft License implications • Distribution triggers obligations – And in some cases using on a network also trigger obligations (AGPL) • Obligations are: • Disclosing the source code of your product; • Making your product available under that copyleft license; • Licensing your patents that read on the software. • Once your product is available under a copyleft license any recipient can use it and distribute it without charge.
  • 15. Copyleft and Cloud • In general, using modified Copy left sources do not need to be published when used in cloud solution • Cloud service is in general not considered distribution, but use of the software – So does not trigger copy left obligations • Except for following licenses: – AGPL – European Union Public License – Common Public License
  • 17. OSS Contribution Funnel • Be able to understand what it does • Can easily pick it up and use • Download • Fork / Follow / FavouriteUse • Log bugs • Answer questions • Write blog posts • Fix / add documentation • Fix typos Contribute Time • Actually contribute code patches that fix bugs / improve test cases • Contribute entirely new features • Translate • Maintain platforms Contribute Code • Become a core committer (get write access) • Accept / validate code contributions • Nurture new people • Stick around • Influence the direction of the project Own
  • 18. Publishing open source • What do you need when you want to publish open source software? • You need to know who worked on the software – Each individual is a copyright holder! – If you don’t know, you are at risk going forward, you need to chase them down • How about I publish software on my blog? – You are still the copyright holder and need to set license terms for others to be able to use it!
  • 19. A Contributor License Agreement (CLA) defines the terms under which intellectual property has been contributed to a company/project, typically software under an open source license. From Wikipedia, the free encyclopedia
  • 20. Why would I publish my product as OSS? • Open source is a proven viable business model • Company builds and contributes to the open source software • Company builds premium components they sell • Company provides premium services – e.g. SaaS versions of the product, or consulting services
  • 22. Consuming open source software Use of components creates a SOFTWARE SUPPLY CHAIN DEVELOPMENT BUILD AND DEPLOY PRODUCTION COMPONENT SELECTION
  • 23. Licenses are one part of the story, but what about… HEARTBLEEDEverything was secure until, suddenly it wasn’t Introduced December 2011 Discovered April 2014 Lot of instances fixed, but still not all!
  • 24. Consuming open source software If you’re not using secure COMPONENTS you’re not building secure APPLICATIONS DEVELOPMENT BUILD AND DEPLOY PRODUCTION COMPONENT SELECTION
  • 25. You need to know what is used in your enterprise! How can we empower developers in using open source but be risk aware?
  • 26. What can we learn from the Java space? • They use artifact repositories to pull their packages from and push their packages to – Provides a single point where you can ask questions about the software • In the Microsoft ALM tools, we are used to – Use Version control repositories for our sources – Use network drop locations for our build products – Use the web to pull our packages
  • 27. Consuming open source software DEVELOPMENT BUILD AND PUBLISH PRODUCTION COMPONENT SELECTION
  • 28. When you have a repo in place, you can…. • Scan for licenses in use • Scan for known vulnerabilities • Scan for popularity
  • 29. Meet the artifact repository • There are different flavors out there – Alternatives are archiva, Artifactory, Nexus – You can look at a comparison at: http://docs.codehaus.org/display/MAVENUSER/Maven+Repository +Manager+Feature+Matrix • For my demos I am using Sonatype Nexus – The one I most commonly encountered in my engagements with customers – Supports the Microsoft Eco system with NuGet!
  • 31. Great but not all OSS comes from NuGet How can you know what is in your enterprise, because just using a proxy does not cut it?
  • 32. How to publish to repo after build By publishing your product back to the artifact repository, you can now scan your software on use of OSS
  • 33. Consuming open source software DEVELOPMENT BUILD AND PUBLISH PRODUCTION COMPONENT SELECTION
  • 35. Great! Now I have an artifact repository, how does that solve my needs?
  • 36. We need a way to scan my repository and answer my important questions
  • 38. Part of the puzzle • Artifact repositories can help you – Empower your developers to build on shoulders of giants – Analyze what is in use • Source code or binaries – Give insights in your exposure to known vulnerabilities in OSS components • There are things you need to figure out yourself – What OSS do we pick for certain parts of the system – How do you select the right component with an abundance of choice? – How do you engage with communities? – How to manage contributions to OSS?
  • 39. What we not covered • Integrating license and vulnerability scans as part of your continuous delivery pipeline • Defining policies for what you allow – Component Lifecycle Management tooling – Can plug into your build system or your delivery pipelines • People and Perception – Developer bias – Developer satisfaction – Not looking at the other side of the fence
  • 40. Summary • There is more to open source than sources • Understand licensing • Understanding the OSS ecosystem • OSS usage impacts your business • Set up a strategy to know what you are using • Artifact repository can help you solve parts of the puzzle – Make them part of your Continuous Delivery Pipeline
  • 41. Questions? • Xpirit Magazine in your TechDays bag with cool articles on e.g: – Hololens programming – Azure Service Fabric – Application Insights http://fluentbytes.com @marcelv mdevries@Xpirit.com Need help? Contact us