$30 off During Our Annual Pro Sale. View Details »

Five ways open source will slow you down (J-Fall)

Five ways open source will slow you down (J-Fall)

Software is changing the world - and even other planets. An ever-growing part of software is “open source”. But it hasn’t always been that way! And “doing something open source” is definitely no guarantee for success. There are numerous ways in which you can use open source software and be worse off than if you did not.

Join me in this talk to find out how not to leverage open source software in your organisation and your projects. Find out why reading the documentation may not always be your best bet, or how a workaround may eventually work against you. By investigating 5 ways in which you can fail, we can learn valuable lessons on what to do instead.

Maarten Mulders

November 09, 2023
Tweet

More Decks by Maarten Mulders

Other Decks in Technology

Transcript

  1. FIVE WAYS OPEN
    FIVE WAYS OPEN
    FIVE WAYS OPEN
    FIVE WAYS OPEN
    FIVE WAYS OPEN
    SOURCE WILL SLOW
    SOURCE WILL SLOW
    SOURCE WILL SLOW
    SOURCE WILL SLOW
    SOURCE WILL SLOW
    YOU DOWN
    YOU DOWN
    YOU DOWN
    YOU DOWN
    YOU DOWN
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  2. Picture by Rob Dammers - CC BY 2.0
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  3. Picture by Jan Derk Remmers - CC BY-SA 4.0
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  4. Picture by wyke2207
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  5. ABOUT ME








    @mthmulders
    @Java_Champions
    @OracleACE
    @InfoSupportBV
    @ASFMavenProject
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  6. WHAT IS SOFTWARE
    WHAT IS SOFTWARE
    WHAT IS SOFTWARE
    WHAT IS SOFTWARE
    WHAT IS SOFTWARE
    ANYWAY?
    ANYWAY?
    ANYWAY?
    ANYWAY?
    ANYWAY?





    A set of programmed instructions stored in the
    A set of programmed instructions stored in the
    A set of programmed instructions stored in the
    A set of programmed instructions stored in the
    A set of programmed instructions stored in the
    memory of [...] computers for execution by the
    memory of [...] computers for execution by the
    memory of [...] computers for execution by the
    memory of [...] computers for execution by the
    memory of [...] computers for execution by the
    processor.
    processor.
    processor.
    processor.
    processor.
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  7. "THE BIRTH OF SOFTWARE":
    "THE BIRTH OF SOFTWARE":
    "THE BIRTH OF SOFTWARE":
    "THE BIRTH OF SOFTWARE":
    "THE BIRTH OF SOFTWARE":
    MANCHESTER BABY (1948)
    MANCHESTER BABY (1948)
    MANCHESTER BABY (1948)
    MANCHESTER BABY (1948)
    MANCHESTER BABY (1948)
    Picture by Ian Dunster and Racklever - Public Domain
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  8. APPLE II WITH VISICALC
    APPLE II WITH VISICALC
    APPLE II WITH VISICALC
    APPLE II WITH VISICALC
    APPLE II WITH VISICALC
    Vintage Computing — 30 Years of VisiCalc
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  9. SOFTWARE BECAME LESS COUPLED
    SOFTWARE BECAME LESS COUPLED
    SOFTWARE BECAME LESS COUPLED
    SOFTWARE BECAME LESS COUPLED
    SOFTWARE BECAME LESS COUPLED
    TO THE ACTUAL MACHINE
    TO THE ACTUAL MACHINE
    TO THE ACTUAL MACHINE
    TO THE ACTUAL MACHINE
    TO THE ACTUAL MACHINE
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  10. SOFTWARE CHANGES OUR PLANET...
    SOFTWARE CHANGES OUR PLANET...
    SOFTWARE CHANGES OUR PLANET...
    SOFTWARE CHANGES OUR PLANET...
    SOFTWARE CHANGES OUR PLANET...
    AND OTHERS!
    AND OTHERS!
    AND OTHERS!
    AND OTHERS!
    AND OTHERS!
    Credits: NASA/JPL-Caltech
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  11. WHAT IS OPEN SOURCE
    WHAT IS OPEN SOURCE
    WHAT IS OPEN SOURCE
    WHAT IS OPEN SOURCE
    WHAT IS OPEN SOURCE
    SOFTWARE?
    SOFTWARE?
    SOFTWARE?
    SOFTWARE?
    SOFTWARE?
    → Also known as free or libre software





    Open-source software is [...] released under a
    Open-source software is [...] released under a
    Open-source software is [...] released under a
    Open-source software is [...] released under a
    Open-source software is [...] released under a
    license in which the copyright holder grants
    license in which the copyright holder grants
    license in which the copyright holder grants
    license in which the copyright holder grants
    license in which the copyright holder grants
    users the rights to use, study, change, and
    users the rights to use, study, change, and
    users the rights to use, study, change, and
    users the rights to use, study, change, and
    users the rights to use, study, change, and
    distribute the software and its source code to
    distribute the software and its source code to
    distribute the software and its source code to
    distribute the software and its source code to
    distribute the software and its source code to
    anyone and for any purpose.
    anyone and for any purpose.
    anyone and for any purpose.
    anyone and for any purpose.
    anyone and for any purpose.
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  12. OPEN SOURCE, FREE,
    OPEN SOURCE, FREE,
    OPEN SOURCE, FREE,
    OPEN SOURCE, FREE,
    OPEN SOURCE, FREE,
    LIBRE?!
    LIBRE?!
    LIBRE?!
    LIBRE?!
    LIBRE?!
    FREE
    🍻
    OR FREE
    🗣️
    FREE
    🍻
    OR FREE
    🗣️
    FREE
    🍻
    OR FREE
    🗣️
    FREE
    🍻
    OR FREE
    🗣️
    FREE
    🍻
    OR FREE
    🗣️
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  13. Picture by dave_7 - CC BY-SA 2.0
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  14. Picture by Peter Hamer - Public Domain
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  15. Picture by Sam Williams - Taken from the cover of the O'Reilly book "Free as in Freedom"
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  16. Picture by unknown photographer for linuxmag.com - CC BY-SA 3.0
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  17. ONCE UPON A TIME...
    ONCE UPON A TIME...
    ONCE UPON A TIME...
    ONCE UPON A TIME...
    ONCE UPON A TIME...
    (Any resemblance to real persons or other real-life entities is
    purely coincidental.)
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  18. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  19. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  20. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  21. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  22. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  23. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  24. #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  25. FIVE WAYS TO SLOW
    FIVE WAYS TO SLOW
    FIVE WAYS TO SLOW
    FIVE WAYS TO SLOW
    FIVE WAYS TO SLOW
    DOWN
    DOWN
    DOWN
    DOWN
    DOWN
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  26. 1. TREAT COMMUNITY AS VENDOR
    1. TREAT COMMUNITY AS VENDOR
    1. TREAT COMMUNITY AS VENDOR
    1. TREAT COMMUNITY AS VENDOR
    1. TREAT COMMUNITY AS VENDOR
    Remember, it's free
    🍻
    , after all!
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  27. 2. JUST COPY AND ALTER THEIR CODE
    2. JUST COPY AND ALTER THEIR CODE
    2. JUST COPY AND ALTER THEIR CODE
    2. JUST COPY AND ALTER THEIR CODE
    2. JUST COPY AND ALTER THEIR CODE
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  28. 3. WORK AROUND ISSUES
    3. WORK AROUND ISSUES
    3. WORK AROUND ISSUES
    3. WORK AROUND ISSUES
    3. WORK AROUND ISSUES
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  29. 4. IT WORKS — DON'T TOUCH IT
    4. IT WORKS — DON'T TOUCH IT
    4. IT WORKS — DON'T TOUCH IT
    4. IT WORKS — DON'T TOUCH IT
    4. IT WORKS — DON'T TOUCH IT
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  30. 5. FOLLOW THE TUTORIAL
    5. FOLLOW THE TUTORIAL
    5. FOLLOW THE TUTORIAL
    5. FOLLOW THE TUTORIAL
    5. FOLLOW THE TUTORIAL
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  31. SO, THEN WHAT...?
    SO, THEN WHAT...?
    SO, THEN WHAT...?
    SO, THEN WHAT...?
    SO, THEN WHAT...?
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  32. COLLABORATE
    COLLABORATE
    COLLABORATE
    COLLABORATE
    COLLABORATE WITH THE
    WITH THE
    WITH THE
    WITH THE
    WITH THE
    COMMUNITY
    COMMUNITY
    COMMUNITY
    COMMUNITY
    COMMUNITY
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  33. (Follow on Twitter!)
    @GeertjanW
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  34. USE
    USE
    USE
    USE
    USE DEPENDENCY MANAGEMENT
    DEPENDENCY MANAGEMENT
    DEPENDENCY MANAGEMENT
    DEPENDENCY MANAGEMENT
    DEPENDENCY MANAGEMENT
    Even if it's not Apache Maven
    😉
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  35. CONTRIBUTE
    CONTRIBUTE
    CONTRIBUTE
    CONTRIBUTE
    CONTRIBUTE: REPORT ISSUES,
    : REPORT ISSUES,
    : REPORT ISSUES,
    : REPORT ISSUES,
    : REPORT ISSUES,
    SUBMIT PATCHES
    SUBMIT PATCHES
    SUBMIT PATCHES
    SUBMIT PATCHES
    SUBMIT PATCHES
    Bonus points for including a .
    minimum reproduction
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  36. REVIEW
    REVIEW
    REVIEW
    REVIEW
    REVIEW: REVISIT CODE, UPDATE
    : REVISIT CODE, UPDATE
    : REVISIT CODE, UPDATE
    : REVISIT CODE, UPDATE
    : REVISIT CODE, UPDATE
    DEPENDENCIES
    DEPENDENCIES
    DEPENDENCIES
    DEPENDENCIES
    DEPENDENCIES
    ... and automate the h*ck out of it with Renovate, Dependabot or
    what not.
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  37. UNDERSTAND
    UNDERSTAND
    UNDERSTAND
    UNDERSTAND
    UNDERSTAND THE PRODUCT YOU'RE
    THE PRODUCT YOU'RE
    THE PRODUCT YOU'RE
    THE PRODUCT YOU'RE
    THE PRODUCT YOU'RE
    USING
    USING
    USING
    USING
    USING
    Yes, actually read that fine manual!
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  38. WRAPPING UP
    WRAPPING UP
    WRAPPING UP
    WRAPPING UP
    WRAPPING UP
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  39. Picture by wyke2207
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  40. Picture by Jan Derk Remmers - CC BY-SA 4.0
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide

  41. 1. Collaborate with the community
    2. Use dependency management
    3. Contribute: report issues, submit patches
    4. Review: revisit code, update dependencies
    5. Understand the product you're using




    DON'T ASK WHAT OPEN SOURCE CAN DO FOR YOU
    — ASK WHAT YOU CAN DO FOR OPEN SOURCE!
    #OpenSourceSlowDown Maarten Mulders (@mthmulders)

    View Slide