SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Fundamentals of Using Open
Source Code to Build Products
                         Brian Warner
                  The Linux Foundation
The Linux Foundation




Linux Foundation Confidential   2
The Linux Foundation is the center of Linux
development, legal defense and promotion




                  3
The Linux Foundation is Represented by
               Firms with Major Investments in Linux

   Platinum Sponsors                   Gold Sponsors




Linux Foundation Confidential   4
The Linux Foundation is Represented by
               Firms with Major Investments in Linux

Silver Sponsors




Linux Foundation Confidential   5
The Linux Foundation by the Numbers

     Ø    1 Linux kernel inventor – Linus Torvalds
     Ø    170+ Corporate members including IBM, Intel, Samsung, Oracle, NEC, Fujitsu,
           Qualcomm, HP, Red Hat, Canonical, China Mobile, Motorola, AMD, ARM, and
           many more…

     Ø    3,000,000+ visitors each month to our web properties
     Ø    15,000+ registered users on Linux.com

     Ø    Thousands of individual members

     Ø    Dozens of technical workgroups include the Tizen Project, Yocto Project, Long
           Term Support Initiative, Open Compliance Program, Linux Standard Base,
           Linux Printing, Legal Collaboration, etc.
     Ø    23 industry-leading training offerings
     Ø    14 Global Linux events – the “Who’s who of Linux”

Linux Foundation Confidential                  6
Members Create Workgroups to Collaborate
                  with Other Members




Driver Backporting                 Open Source as Prior Art   Kernel.org Staff
Green Linux                        Japan SI Forum             Developer Travel Fund
Developer NDA Program              IPv6 Workgroup             Technical Advisory Board
Legal Defense                      HPC                        End User Council


   Linux Foundation Confidential              7
The Linux Foundation is at the center of the
Linux Defense Network




                       LINUX DEFENDERS




      Linux Legal Defense Fund
                   8
The Linux Foundation offers training and
technical services




                  9
Fundamentals of Using Open Source Code to
     Build Products



Why do it?


The (corporate) open source development
model


Understanding your obligations with open
source licenses
Open Source Software is ...

A licensing regimen
A collaborative development methodology:
 Ø  Community   develops, debugs, maintains
 Ø  Usershave source code access and the right to adapt,
   distribute
A way to reduce development costs and
improve quality
An inexpensive way to distribute software
An inexpensive way to procure software
                            11
Incorporating open source components




Why do it?
The easy answer:




To save time.
The easy answer:




To save time and money.
The more complicated answer




Time to money.
Time to money is impacted by five major
         factors

1.    Time to produce a sellable product

2.    The cost to develop or acquire components


3.    Competitiveness of a product’s features


4.    The quality of the product


5.    Ability to provide a stream of updates
1: Time to Produce a Sellable Product

Rule #1:
 Ø  There
         is little value in reinventing the wheel (and it’ll
   probably make you late).


Rule #2:
 Ø  Evaluate   external components. If the shoe fits, wear it.


Rule #3:
 Ø  Get   it for free when you can.
A typical software stack can be partitioned
into two broad categories



Heavy lifters            Differentiators
      OS kernels            Performance tweaks
  Web browser engines          Applications
       UI toolkits              Integration
       X servers               Fit and finish
 Multimedia frameworks              …
    Bluetooth stacks
   Telephony stacks
           …
Try not to reinvent the heavy lifters

They’re done.


They’re mature.


They’re open.


(and your competitors are already using them
to get a leg up on you.)
2: The cost to develop or acquire components




As of 2011, it would cost at least $3B to develop
the Linux kernel from scratch.


On average, 7.21 patches are accepted into the
kernel per hour.
2: The cost to develop or acquire components




The amount of combined effort going into open
source “heavy lifters” is astonishing.


We call this the leveraged development model.
2: The cost to develop or acquire components




You can work against it, or you can work with it.
2: The cost to develop or acquire components




Did I mention it’s free?
3: Competitiveness of a Product’s Features



Less time spent on heavy lifting means:
  Ø  More        time spent on competitive differentiators
        §    - Or -
  Ø  Competing    in-market sooner with the differentiators you
        already have


Heavy lifters are (usually) continually improved
  Ø          …and often by someone else.
4: The Quality of Your Product




Linus’ Law:
 Ø    “Given enough eyeballs, all bugs are shallow.”
5: Ability to Provide a Constant Stream of
     Updates


Thanks to these two phones…




     …consumers in all industries are far more
           aware of system software updates
                            than ever before.
Updates are hard



Has your development talent shifted to new
products?


Do you have time and resources to backport?


Will the features be competitive enough to
instill brand loyalty?
These are real issues



There is no silver bullet, but it helps when the
code base hasn’t been static.


-longterm stable releases were created to
address this problem.


LTSI is a kernel specifically for CE devices.
Understanding the (typical) corporate open
     source participation model

When should you tap into an ongoing
development process?


How do you balance short and long term value?


Do you need to contribute back?


Can you effectively manage your license
compliance obligations?
When do you pull code?



Continuous integration and testing is a
hallmark of many open source projects.


Features are often submitted early and stabilize
over time.


Roadmaps are not binding.
When do you pull code?




First, understand the cycles.
Open source development model
                                                                                                         User
                                                                                                     Community
       Project or Feature Ideas



                                   Architecture and                                     Feature Requests
                                  Design Discussion                                   (submitted by developers
                                                                                             and users)


                                                        Implementation
                                                        (coding)
            Patches
     (submitted by developers
            and users)



                                   Continuous Testing                    Deployment
                                    and Integration                       (release)




Developer
Community                       Test Projects to Automate                                    Maintenance
                                  Testing and Validation
The open source release cycle

               Validate                                        Build


                           Generate              Integrate                    QA
      Build
                            patch                with -dev                validation


                                                                           Release
     Debug                 Submit                Validate
                                                                          validation
                                      Feedback
                                        Loop                 Publish as
              Write code
                                                              -stable


              Check out
                code


                Setup
               machine



Driven by participating developers                Driven by maintainers
How to understand the cycles

Research a project’s historical release cycles.


Subscribe to project mailing lists.


Identify maintainers, and what makes them tick.


Bug/feature trackers often have future
milestones.
Balancing short and long term value




Product development is a journey, not a
destination.
100% short term value
This is not always a viable path

The way your differentiators interact with heavy
lifters will change over time.
  Ø  New    or deprecated features in upstream heavy lifters
     §    Or -
  Ø  API   changes
     §    Or -
  Ø  Customer    requirements
     §    Or -
  Ø  …



Ask Google…
So… what then?


The current industry best practice is to balance
consumption with upstreaming.


Choosing what goes upstream is an art not a
science, but it’s usually the heavy lifters.


Upstreaming is not a requirement (though it is a
good way to save money and gain respect).
Don’t confuse upstream contribution with
     license compliance




Upstreaming is a development strategy.


License compliance is a legal requirement.


(but contributing upstream is a good strategy to
meet most compliance obligations)
Speaking of license compliance




That sounds all legal and stuff…
Speaking of license compliance




It is.
Standard Disclaimers




The presenter is not a lawyer and none of the
material discussed or presented should be
considered as legal advice.
Please consult with your corporation's counsel
for your specific situation.



                      42
What Makes a License an Open Source
          License?


The Open Source Initiative formulated an “Open
Source Definition” (OSD) to define the criteria
that a license must meet to be considered
“open source”
 Ø  Free   redistribution
 Ø  Availability   of source code
 Ø  Right   to modify
 Ø  No   discrimination (against users or uses)
 Ø  Self-perpetuating    terms and conditions

                                43
What is “Open Source Compliance?”

Open Source Compliance refers to the aggregate of
  Ø  Policies
  Ø  Processes
  Ø  Training
  Ø  Tools

that enables an organization to effectively use open
source software and contribute to open
communities while
  Ø  respecting  copyrights,
  Ø  complying with license obligations, and
  Ø  protecting the organization's intellectual property and that of
      its customers and suppliers.

                                44
When do I need to think about compliance?




If you are distributing code covered under an
open source license.
Define “distributing”



“Distributing” typically means transferring
control away from yourself or your company.
  Ø  (but   ask your corporate counsel)


Internal use code is sometimes distributed
down the road, so it should be considered too.
Generally speaking, what’s an obligation?

Depending on the license(s) involved, obligations
could consist of:
  Ø  Inclusion   of copyright and license in the source code and/or
      product
  Ø  documentation or user interface, so that downstream users
      know the origin of the software and what their rights are.
  Ø  Disclaimers of warranty on behalf of the authors
  Ø  Notices as to source code availability – for original work, for
      combined work or modifications, and so on
  Ø  Etc.



Your corporate counsel needs to interpret this for
you.
Individuals Worldwide Commit Themselves to
 Compliance Activities
From the September 26, 2010 NY Times:
http://www.nytimes.com/2010/09/26/business/26ping.html




                           48
Managing an effective compliance program




Legal lays the ground rules (interpretation,
combinations, blessed/banned licenses).


Everything else is logistics.
Managing an effective compliance program




Logistics is probably >90% of the work.
Compliance in a nutshell

Know what license combinations are approved.

Have a consistent process for rapidly approving
new components.

Keep detailed records of what you do to the
components you ship.

Fulfill the obligations of the license.

Be prepared to respond to inquiries efficiently.
Don’t panic




We offer training on this.
There are a lot of resources out there




https://www.linuxfoundation.org/publications/compliance


http://www.softwarefreedom.org/resources/
Conclusion

Open source is effectively springboarding the
companies whose engineering and management
organizations know how to use it effectively.

There’s a lot of money to be made and saved.

Complying with open source licenses is really
important.

Compliance is an ongoing process.

When in doubt, find your lawyers and ask them.

Weitere ähnliche Inhalte

Was ist angesagt?

Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21dxsaki
 
The anatomy and philosophy of Android - Google I/O 2009
The anatomy and philosophy of Android - Google I/O 2009The anatomy and philosophy of Android - Google I/O 2009
The anatomy and philosophy of Android - Google I/O 2009Viswanath J
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java DevelopersMarko Gargenta
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java DevelopersMike Wolfson
 
Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidElvis Jon Freddy Sitinjak
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Serviceskahunasystems
 
Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpCurtis Yanko
 
안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoViewEunjoo Im
 
Squeeze more juice from jenkins
Squeeze more juice from jenkinsSqueeze more juice from jenkins
Squeeze more juice from jenkinsCloudBees
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience National Cheng Kung University
 
Backwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and TacticsBackwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and TacticsCommonsWare
 
2011 android
2011 android2011 android
2011 androidvpedapolu
 
bGenius kennissessie_20120510
bGenius kennissessie_20120510bGenius kennissessie_20120510
bGenius kennissessie_20120510bgenius
 
Private Clouds for Developers: Make Your Infrastructure Agile
Private Clouds for Developers: Make Your Infrastructure AgilePrivate Clouds for Developers: Make Your Infrastructure Agile
Private Clouds for Developers: Make Your Infrastructure AgileAbiquo, Inc.
 
Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012CloudBees
 

Was ist angesagt? (20)

Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21
 
ARM
ARMARM
ARM
 
The anatomy and philosophy of Android - Google I/O 2009
The anatomy and philosophy of Android - Google I/O 2009The anatomy and philosophy of Android - Google I/O 2009
The anatomy and philosophy of Android - Google I/O 2009
 
Android Deep Dive
Android Deep DiveAndroid Deep Dive
Android Deep Dive
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java Developers
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
 
Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-android
 
Open Android
Open AndroidOpen Android
Open Android
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
 
Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvp
 
안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView
 
Dextra Media V2
Dextra Media V2Dextra Media V2
Dextra Media V2
 
Squeeze more juice from jenkins
Squeeze more juice from jenkinsSqueeze more juice from jenkins
Squeeze more juice from jenkins
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience
 
Backwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and TacticsBackwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and Tactics
 
2011 android
2011 android2011 android
2011 android
 
bGenius kennissessie_20120510
bGenius kennissessie_20120510bGenius kennissessie_20120510
bGenius kennissessie_20120510
 
Private Clouds for Developers: Make Your Infrastructure Agile
Private Clouds for Developers: Make Your Infrastructure AgilePrivate Clouds for Developers: Make Your Infrastructure Agile
Private Clouds for Developers: Make Your Infrastructure Agile
 
Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012
 

Andere mochten auch

Verifica 2 e_matematica_24-1-2011[1]
Verifica 2 e_matematica_24-1-2011[1]Verifica 2 e_matematica_24-1-2011[1]
Verifica 2 e_matematica_24-1-2011[1]Matekanc
 
HMierzwa- Researcher Capabilities Reflection
HMierzwa- Researcher Capabilities ReflectionHMierzwa- Researcher Capabilities Reflection
HMierzwa- Researcher Capabilities ReflectionHelena Mierzwa
 
Bolentín de oferta 55 generaciónes con bienestar
Bolentín de oferta 55 generaciónes con bienestarBolentín de oferta 55 generaciónes con bienestar
Bolentín de oferta 55 generaciónes con bienestarunidos44
 
Ingreso y Trabajo Boletín de Oferta No 58
Ingreso y Trabajo Boletín de Oferta No 58Ingreso y Trabajo Boletín de Oferta No 58
Ingreso y Trabajo Boletín de Oferta No 58unidos44
 
Comunicado convocatoria abril_2011
Comunicado convocatoria abril_2011Comunicado convocatoria abril_2011
Comunicado convocatoria abril_2011unidos44
 
Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...
Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...
Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...caioturtle
 
Nuestro Primer Trabajo
Nuestro Primer TrabajoNuestro Primer Trabajo
Nuestro Primer Trabajomencinasf
 
Boletin 07 granitos de paz
Boletin 07 granitos de pazBoletin 07 granitos de paz
Boletin 07 granitos de pazunidos44
 
La Corrupcion bajo el Fujimorismo
La Corrupcion bajo el FujimorismoLa Corrupcion bajo el Fujimorismo
La Corrupcion bajo el Fujimorismoguestfc74c7
 
Comunicado conv cartagena 2014
Comunicado conv cartagena 2014Comunicado conv cartagena 2014
Comunicado conv cartagena 2014unidos44
 
Convocatoria cartagena 2011
Convocatoria cartagena 2011Convocatoria cartagena 2011
Convocatoria cartagena 2011circulodeobreros
 
Ecdl modulo-3-elaborazione-testi
Ecdl modulo-3-elaborazione-testiEcdl modulo-3-elaborazione-testi
Ecdl modulo-3-elaborazione-testiMatekanc
 
Lista de cotejo actitudinal
Lista de cotejo actitudinalLista de cotejo actitudinal
Lista de cotejo actitudinalRosendo Arenas
 

Andere mochten auch (20)

Avon 64
Avon 64Avon 64
Avon 64
 
Verifica 2 e_matematica_24-1-2011[1]
Verifica 2 e_matematica_24-1-2011[1]Verifica 2 e_matematica_24-1-2011[1]
Verifica 2 e_matematica_24-1-2011[1]
 
Boletìn de oferta Salud
Boletìn de oferta SaludBoletìn de oferta Salud
Boletìn de oferta Salud
 
HMierzwa- Researcher Capabilities Reflection
HMierzwa- Researcher Capabilities ReflectionHMierzwa- Researcher Capabilities Reflection
HMierzwa- Researcher Capabilities Reflection
 
Bolentín de oferta 55 generaciónes con bienestar
Bolentín de oferta 55 generaciónes con bienestarBolentín de oferta 55 generaciónes con bienestar
Bolentín de oferta 55 generaciónes con bienestar
 
Ingreso y Trabajo Boletín de Oferta No 58
Ingreso y Trabajo Boletín de Oferta No 58Ingreso y Trabajo Boletín de Oferta No 58
Ingreso y Trabajo Boletín de Oferta No 58
 
Escritura 4
Escritura 4Escritura 4
Escritura 4
 
Comunicado convocatoria abril_2011
Comunicado convocatoria abril_2011Comunicado convocatoria abril_2011
Comunicado convocatoria abril_2011
 
Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...
Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...
Guida al Computer - Lezione 172 - Windows 10 - Tornare ad una versione preced...
 
Nuestro Primer Trabajo
Nuestro Primer TrabajoNuestro Primer Trabajo
Nuestro Primer Trabajo
 
Boletin 07 granitos de paz
Boletin 07 granitos de pazBoletin 07 granitos de paz
Boletin 07 granitos de paz
 
La Corrupcion bajo el Fujimorismo
La Corrupcion bajo el FujimorismoLa Corrupcion bajo el Fujimorismo
La Corrupcion bajo el Fujimorismo
 
ECDL-modulo1
ECDL-modulo1ECDL-modulo1
ECDL-modulo1
 
12th issue
12th issue12th issue
12th issue
 
Comunicado conv cartagena 2014
Comunicado conv cartagena 2014Comunicado conv cartagena 2014
Comunicado conv cartagena 2014
 
Draft layouts
Draft layoutsDraft layouts
Draft layouts
 
Convocatoria cartagena 2011
Convocatoria cartagena 2011Convocatoria cartagena 2011
Convocatoria cartagena 2011
 
Ensayo colaborativo
Ensayo colaborativoEnsayo colaborativo
Ensayo colaborativo
 
Ecdl modulo-3-elaborazione-testi
Ecdl modulo-3-elaborazione-testiEcdl modulo-3-elaborazione-testi
Ecdl modulo-3-elaborazione-testi
 
Lista de cotejo actitudinal
Lista de cotejo actitudinalLista de cotejo actitudinal
Lista de cotejo actitudinal
 

Ähnlich wie Fundamentals of Using Open Source Code to Build Products

Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.anilpmuvvala
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.anilpmuvvala
 
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
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityIvan Porta
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Liran Levy
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
What is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdfWhat is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdfkomalmanu87
 
What is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdfWhat is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdfkomalmanu87
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014OpenStack DefCore review 2014
OpenStack DefCore review 2014rhirschfeld
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesCollabNet
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDFMayank Kumar
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourDenis Santos
 
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on HerokuGit into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on HerokuSalesforce Developers
 

Ähnlich wie Fundamentals of Using Open Source Code to Build Products (20)

Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
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
 
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...
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
2011 NASA Open Source Summit - Forge.mil
2011 NASA Open Source Summit - Forge.mil2011 NASA Open Source Summit - Forge.mil
2011 NASA Open Source Summit - Forge.mil
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
What is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdfWhat is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdf
 
What is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdfWhat is DevOps Services_ Tools and Benefits.pdf
What is DevOps Services_ Tools and Benefits.pdf
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014OpenStack DefCore review 2014
OpenStack DefCore review 2014
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering Practices
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
Devops
DevopsDevops
Devops
 
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on HerokuGit into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
 

Kürzlich hochgeladen

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Kürzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Fundamentals of Using Open Source Code to Build Products

  • 1. Fundamentals of Using Open Source Code to Build Products Brian Warner The Linux Foundation
  • 2. The Linux Foundation Linux Foundation Confidential 2
  • 3. The Linux Foundation is the center of Linux development, legal defense and promotion 3
  • 4. The Linux Foundation is Represented by Firms with Major Investments in Linux Platinum Sponsors Gold Sponsors Linux Foundation Confidential 4
  • 5. The Linux Foundation is Represented by Firms with Major Investments in Linux Silver Sponsors Linux Foundation Confidential 5
  • 6. The Linux Foundation by the Numbers Ø  1 Linux kernel inventor – Linus Torvalds Ø  170+ Corporate members including IBM, Intel, Samsung, Oracle, NEC, Fujitsu, Qualcomm, HP, Red Hat, Canonical, China Mobile, Motorola, AMD, ARM, and many more… Ø  3,000,000+ visitors each month to our web properties Ø  15,000+ registered users on Linux.com Ø  Thousands of individual members Ø  Dozens of technical workgroups include the Tizen Project, Yocto Project, Long Term Support Initiative, Open Compliance Program, Linux Standard Base, Linux Printing, Legal Collaboration, etc. Ø  23 industry-leading training offerings Ø  14 Global Linux events – the “Who’s who of Linux” Linux Foundation Confidential 6
  • 7. Members Create Workgroups to Collaborate with Other Members Driver Backporting Open Source as Prior Art Kernel.org Staff Green Linux Japan SI Forum Developer Travel Fund Developer NDA Program IPv6 Workgroup Technical Advisory Board Legal Defense HPC End User Council Linux Foundation Confidential 7
  • 8. The Linux Foundation is at the center of the Linux Defense Network LINUX DEFENDERS Linux Legal Defense Fund 8
  • 9. The Linux Foundation offers training and technical services 9
  • 10. Fundamentals of Using Open Source Code to Build Products Why do it? The (corporate) open source development model Understanding your obligations with open source licenses
  • 11. Open Source Software is ... A licensing regimen A collaborative development methodology: Ø  Community develops, debugs, maintains Ø  Usershave source code access and the right to adapt, distribute A way to reduce development costs and improve quality An inexpensive way to distribute software An inexpensive way to procure software 11
  • 12. Incorporating open source components Why do it?
  • 13. The easy answer: To save time.
  • 14. The easy answer: To save time and money.
  • 15. The more complicated answer Time to money.
  • 16. Time to money is impacted by five major factors 1.  Time to produce a sellable product 2.  The cost to develop or acquire components 3.  Competitiveness of a product’s features 4.  The quality of the product 5.  Ability to provide a stream of updates
  • 17. 1: Time to Produce a Sellable Product Rule #1: Ø  There is little value in reinventing the wheel (and it’ll probably make you late). Rule #2: Ø  Evaluate external components. If the shoe fits, wear it. Rule #3: Ø  Get it for free when you can.
  • 18. A typical software stack can be partitioned into two broad categories Heavy lifters Differentiators OS kernels Performance tweaks Web browser engines Applications UI toolkits Integration X servers Fit and finish Multimedia frameworks … Bluetooth stacks Telephony stacks …
  • 19. Try not to reinvent the heavy lifters They’re done. They’re mature. They’re open. (and your competitors are already using them to get a leg up on you.)
  • 20. 2: The cost to develop or acquire components As of 2011, it would cost at least $3B to develop the Linux kernel from scratch. On average, 7.21 patches are accepted into the kernel per hour.
  • 21. 2: The cost to develop or acquire components The amount of combined effort going into open source “heavy lifters” is astonishing. We call this the leveraged development model.
  • 22. 2: The cost to develop or acquire components You can work against it, or you can work with it.
  • 23. 2: The cost to develop or acquire components Did I mention it’s free?
  • 24. 3: Competitiveness of a Product’s Features Less time spent on heavy lifting means: Ø  More time spent on competitive differentiators §  - Or - Ø  Competing in-market sooner with the differentiators you already have Heavy lifters are (usually) continually improved Ø  …and often by someone else.
  • 25. 4: The Quality of Your Product Linus’ Law: Ø  “Given enough eyeballs, all bugs are shallow.”
  • 26. 5: Ability to Provide a Constant Stream of Updates Thanks to these two phones… …consumers in all industries are far more aware of system software updates than ever before.
  • 27. Updates are hard Has your development talent shifted to new products? Do you have time and resources to backport? Will the features be competitive enough to instill brand loyalty?
  • 28. These are real issues There is no silver bullet, but it helps when the code base hasn’t been static. -longterm stable releases were created to address this problem. LTSI is a kernel specifically for CE devices.
  • 29. Understanding the (typical) corporate open source participation model When should you tap into an ongoing development process? How do you balance short and long term value? Do you need to contribute back? Can you effectively manage your license compliance obligations?
  • 30. When do you pull code? Continuous integration and testing is a hallmark of many open source projects. Features are often submitted early and stabilize over time. Roadmaps are not binding.
  • 31. When do you pull code? First, understand the cycles.
  • 32. Open source development model User Community Project or Feature Ideas Architecture and Feature Requests Design Discussion (submitted by developers and users) Implementation (coding) Patches (submitted by developers and users) Continuous Testing Deployment and Integration (release) Developer Community Test Projects to Automate Maintenance Testing and Validation
  • 33. The open source release cycle Validate Build Generate Integrate QA Build patch with -dev validation Release Debug Submit Validate validation Feedback Loop Publish as Write code -stable Check out code Setup machine Driven by participating developers Driven by maintainers
  • 34. How to understand the cycles Research a project’s historical release cycles. Subscribe to project mailing lists. Identify maintainers, and what makes them tick. Bug/feature trackers often have future milestones.
  • 35. Balancing short and long term value Product development is a journey, not a destination.
  • 37. This is not always a viable path The way your differentiators interact with heavy lifters will change over time. Ø  New or deprecated features in upstream heavy lifters §  Or - Ø  API changes §  Or - Ø  Customer requirements §  Or - Ø  … Ask Google…
  • 38. So… what then? The current industry best practice is to balance consumption with upstreaming. Choosing what goes upstream is an art not a science, but it’s usually the heavy lifters. Upstreaming is not a requirement (though it is a good way to save money and gain respect).
  • 39. Don’t confuse upstream contribution with license compliance Upstreaming is a development strategy. License compliance is a legal requirement. (but contributing upstream is a good strategy to meet most compliance obligations)
  • 40. Speaking of license compliance That sounds all legal and stuff…
  • 41. Speaking of license compliance It is.
  • 42. Standard Disclaimers The presenter is not a lawyer and none of the material discussed or presented should be considered as legal advice. Please consult with your corporation's counsel for your specific situation. 42
  • 43. What Makes a License an Open Source License? The Open Source Initiative formulated an “Open Source Definition” (OSD) to define the criteria that a license must meet to be considered “open source” Ø  Free redistribution Ø  Availability of source code Ø  Right to modify Ø  No discrimination (against users or uses) Ø  Self-perpetuating terms and conditions 43
  • 44. What is “Open Source Compliance?” Open Source Compliance refers to the aggregate of Ø  Policies Ø  Processes Ø  Training Ø  Tools that enables an organization to effectively use open source software and contribute to open communities while Ø  respecting copyrights, Ø  complying with license obligations, and Ø  protecting the organization's intellectual property and that of its customers and suppliers. 44
  • 45. When do I need to think about compliance? If you are distributing code covered under an open source license.
  • 46. Define “distributing” “Distributing” typically means transferring control away from yourself or your company. Ø  (but ask your corporate counsel) Internal use code is sometimes distributed down the road, so it should be considered too.
  • 47. Generally speaking, what’s an obligation? Depending on the license(s) involved, obligations could consist of: Ø  Inclusion of copyright and license in the source code and/or product Ø  documentation or user interface, so that downstream users know the origin of the software and what their rights are. Ø  Disclaimers of warranty on behalf of the authors Ø  Notices as to source code availability – for original work, for combined work or modifications, and so on Ø  Etc. Your corporate counsel needs to interpret this for you.
  • 48. Individuals Worldwide Commit Themselves to Compliance Activities From the September 26, 2010 NY Times: http://www.nytimes.com/2010/09/26/business/26ping.html 48
  • 49. Managing an effective compliance program Legal lays the ground rules (interpretation, combinations, blessed/banned licenses). Everything else is logistics.
  • 50. Managing an effective compliance program Logistics is probably >90% of the work.
  • 51. Compliance in a nutshell Know what license combinations are approved. Have a consistent process for rapidly approving new components. Keep detailed records of what you do to the components you ship. Fulfill the obligations of the license. Be prepared to respond to inquiries efficiently.
  • 52. Don’t panic We offer training on this.
  • 53. There are a lot of resources out there https://www.linuxfoundation.org/publications/compliance http://www.softwarefreedom.org/resources/
  • 54. Conclusion Open source is effectively springboarding the companies whose engineering and management organizations know how to use it effectively. There’s a lot of money to be made and saved. Complying with open source licenses is really important. Compliance is an ongoing process. When in doubt, find your lawyers and ask them.