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

The Values of Open Source

The Values of Open Source

source{d} 's mission is to improve Developer Experience with Machine Learning. This means we retrieve analyze large datasets of source code, with source code, to help others write code.

Code, code, code ... and all fo this code is open source!

In this talk we cover how we benefit from the existing Open Source community, while contributing back to it and protecting our Intellectual Property.

Francesc Campoy Flores

July 05, 2018
Tweet

More Decks by Francesc Campoy Flores

Other Decks in Programming

Transcript

  1. The values and challenges of Open Source at source{d}

    View Slide

  2. VP of Developer Relations
    [email protected]
    @francesc
    campoy

    View Slide

  3. Agenda
    source{d} and
    Open Source
    Our MIssion
    - ML on Code
    - Code as Data
    Open Core
    Open Source
    Benefitting from
    Open Source
    Cooperation
    Contributions
    Protecting with
    Open Source
    Copyleft
    Licenses
    MIT, Apache v2, GPLs
    Q&A

    View Slide

  4. source{d} and Open Source

    View Slide

  5. source{d} and Open Source
    our mission
    Improving the Developer Experience through
    Machine Learning

    View Slide

  6. source{d} and Open Source
    our mission
    Requires large datasets
    Results in trained models
    Examples:
    - Bug prediction
    - Automated Code Review
    ML on Code
    Large software repositories
    Source code *and* history of revisions
    Extracting metrics - Business Intelligence
    SQL, GraphQL, REST interfaces
    Code as Data

    View Slide

  7. ML on Code
    Code as Data
    Code

    View Slide

  8. source{d} and Open Source
    Open Core
    Open
    Source
    Core
    Tools & Services

    View Slide

  9. benefitting from Open Source

    View Slide

  10. benefitting from Open Source
    the tools we use

    View Slide

  11. benefitting from Open Source
    contributing back
    go-git
    Git library for Go
    Similar to jgit or gitlib
    +2.7k stars on GitHub
    enry
    Language Classifier
    Higher performance &
    accuracy than GitHub’s
    linguist

    View Slide

  12. benefitting from Open Source
    contributing back
    go-git
    Git library for Go
    Similar to jgit or gitlib
    +2.7k stars on GitHub
    enry
    Language Classifier
    Higher performance &
    accuracy than GitHub’s
    linguist
    babelish
    Universal Code Parser
    Universal ASTs
    Easily extensible

    View Slide

  13. benefitting from Open Source
    contributing back
    go-git
    Git library for Go
    Similar to jgit or gitlib
    +2.7k stars on GitHub
    enry
    Language Classifier
    Higher performance &
    accuracy than GitHub’s
    linguist
    babelish
    Universal Code Parser
    Universal ASTs
    Easily extensible
    gitbase
    SQL interface for git
    Integrates go-git, enry,
    babelfish, and more
    Code as Data

    View Slide

  14. benefitting from Open Source
    contributions to our projects

    View Slide

  15. benefitting from Open Source
    “Open Sourcing our libraries makes
    better for everyone.”
    contributions to our projects

    View Slide

  16. a quick history of Open Source

    View Slide

  17. a quick history of Open Source
    Richard Stallman

    View Slide

  18. a quick history of Open Source
    Xerox 9700

    View Slide

  19. a quick history of Open Source
    Free Software Foundation

    View Slide

  20. a quick history of Open Source
    GNU/Linux

    View Slide

  21. protecting with open source

    View Slide

  22. protecting with open source
    GNU General Public License v3 (GPL)
    source: tldrlegal.com

    View Slide

  23. Viral Licensing

    View Slide

  24. Apollo / Gemini

    View Slide

  25. protecting with open source
    GNU Affero General Public License v3 (AGPL)
    source: tldrlegal.com

    View Slide

  26. protecting with open source
    Apache License v2
    source: tldrlegal.com

    View Slide

  27. go-git

    View Slide

  28. protecting with open source
    Open Data Commons Open Database License (ODbL)
    source: tldrlegal.com

    View Slide

  29. Public Git Archive

    View Slide

  30. protecting with open source
    Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
    source: tldrlegal.com

    View Slide

  31. Awesome Machine Learning On Source Code

    View Slide

  32. protecting with open source
    MIT License
    source: tldrlegal.com

    View Slide

  33. blog.sourced.tech

    View Slide

  34. Checking licenses

    View Slide

  35. View Slide

  36. protecting with open source
    Developer Certificate of Origin
    This agreement states three things:
    1. you offer the changes under the same license agreement as the project, and
    2. you have the right to do that,
    3. you did not steal somebody else’s work.
    ➜ git commit -s -m "adding some feature"
    ➜ git log -n 1 | cat
    commit 2cbd480cc1ea29c8e8193637c73eeb7ab92d0f86
    Author: Francesc Campoy
    adding some feature
    Signed-off-by: Francesc Campoy

    View Slide

  37. Review
    source{d} and
    Open Source
    Our MIssion
    - ML on Code
    - Code as Data
    Open Core
    Open Source
    Benefitting from
    Open Source
    Cooperation
    Contributions
    History of Free
    Software
    Protecting with
    Open Source
    Copyleft
    Licenses
    MIT, Apache v2, GPLs
    Q&A
    That’s now!

    View Slide

  38. Q&A

    View Slide

  39. References
    References
    ● sourced.tech / github.com/src-d
    ● tldrlegal.com
    ● The AGPL | MongoDB
    ● GNU Affero General Public License- GNU Project - Free Software Foundation
    ● What is Copyleft? - GNU Project - Free Software Foundation
    ● Why Open Source Misses the Point of Free Software - GNU Project - Free Software Foundation
    ● The Cathedral and the Bazaar - Wikipedia

    View Slide

  40. Francesc Campoy
    [email protected]
    @francesc
    campoy

    View Slide