Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TFW your country funds Open Source development

TFW your country funds Open Source development

During 2018 I’ve been a contractor for the Italian Digital Transformation Team working on docs.italia.it (Docs Italia), an Open Source platform to collect and share the Public Administration documentation. We didn't write Docs Italia from scratch though but built it on top of Read The Docs, the leading documentation platform for Python packages. We saved a lot of work by leveraging another open source project. Cool! Still Open Source software does not write itself and we managed to contribute back some value to the upstream project. In this talk I'll share what we did and what we learned.

Riccardo Magliocchetti

June 16, 2019
Tweet

More Decks by Riccardo Magliocchetti

Other Decks in Programming

Transcript

  1. TFW YOUR COUNTRY FUNDS
    TFW YOUR COUNTRY FUNDS
    OPEN SOURCE DEVELOPMENT
    OPEN SOURCE DEVELOPMENT
    RICCARDO MAGLIOCCHETTI
    RICCARDO MAGLIOCCHETTI
    PYLONDINIUM 2019
    PYLONDINIUM 2019

    View full-size slide

  2. WHOAMI
    WHOAMI
    PYTHONISTA, SOFTWARE DEVELOPER, CONSULTANT
    OSS CONTRIBUTOR

    View full-size slide

  3. ITALIAN DIGITAL
    ITALIAN DIGITAL
    TRANSFORMATION TEAM
    TRANSFORMATION TEAM
    MAKE PUBLIC SERVICES FOR CITIZENS AND BUSINESSES
    ACCESSIBLE IN AN EASY MANNER

    View full-size slide

  4. DOCS ITALIA TEAM
    DOCS ITALIA TEAM
    ALBERTO TORIN
    DAVIDE PORROVECCHIO
    FIORELLA DE LUCA
    FRANCESCO OCCHIPINTI
    FRANCESCO ZAIA
    IACOPO SPALLETTI
    LEONARDO CAVALLUCCI
    PAOLO ROMOLINI
    RICCARDO MAGLIOCCHETTI

    View full-size slide

  5. READ THE DOCS

    View full-size slide

  6. WE FORKED READ THE DOCS
    WE FORKED READ THE DOCS
    A PROJECT FORK HAPPENS WHEN [...] CREATING A
    DISTINCT AND SEPARATE PIECE OF SOFTWARE.
    [...] NOT MERELY A DEVELOPMENT BRANCH, BUT ALSO A
    SPLIT IN THE DEVELOPER COMMUNITY.
    WIKIPEDIA

    View full-size slide

  7. WHY A FORK?
    WHY A FORK?

    View full-size slide

  8. UPSTREAM
    UPSTREAM
    CONTRIBUTIONS
    CONTRIBUTIONS

    View full-size slide

  9. 33 PULL REQUESTS
    33 PULL REQUESTS
    22 MERGED
    11 CLOSED

    View full-size slide

  10. 22 PR MERGED
    22 PR MERGED
    10 BUGFIXES
    6 I18N
    6 CODE CLEANUPS

    View full-size slide

  11. 1 REGRESSION :)
    1 REGRESSION :)

    View full-size slide

  12. ANSIBLE
    ANSIBLE
    DEPLOY AUTOMATION
    DEPLOY AUTOMATION

    View full-size slide

  13. 0 NEW FEATURES
    0 NEW FEATURES

    View full-size slide

  14. 1 FEATURE FAIL
    1 FEATURE FAIL

    View full-size slide

  15. LESSONS
    LESSONS
    LEARNED
    LEARNED

    View full-size slide

  16. BUILD TRUST
    BUILD TRUST
    WITH UPSTREAM
    WITH UPSTREAM
    BE PART OF THE COMMUNITY

    View full-size slide

  17. A FORK IS
    A FORK IS
    A LONG LIVED BRANCH
    A LONG LIVED BRANCH
    FIX UPSTREAM, LESS DELTA DOWNSTREAM

    View full-size slide

  18. CONTRIBUTING TO OSS
    CONTRIBUTING TO OSS
    IS PART OF THE JOB
    IS PART OF THE JOB

    View full-size slide

  19. CONVENIENCE > PURITY
    CONVENIENCE > PURITY
    OVERRIDE INSTEAD OF PATCH
    CONFIGURATION FTW

    View full-size slide

  20. SYNC WITH UPSTREAM:
    SYNC WITH UPSTREAM:
    REBASE VS MERGE
    REBASE VS MERGE

    View full-size slide

  21. CONCLUSIONS
    CONCLUSIONS
    NOT ALL PROJECT FORKS ARE BAD :)
    YOU CAN DELIVER VALUE WHILE
    CONTRIBUTING BACK TO OPEN SOURCE

    View full-size slide

  22. THANKS!
    THANKS!
    GITHUB.COM/ITALIA
    GITHUB.COM/XRMX
    SPEAKERDECK.COM/XRMX
    @RMISTAKEN
    MENODIZERO.IT

    View full-size slide