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

The power of contributing to open source projects

The power of contributing to open source projects

Umar Saidu Auna

June 26, 2021
Tweet

More Decks by Umar Saidu Auna

Other Decks in Technology

Transcript

  1. The power of contributing
    to open source projects

    View Slide

  2. Hello world!
    I AM UMAR SAIDU AUNA
    I am here because I love open
    source and a tech community
    organizer.
    Software Engineer @gidimo
    You can find me on twitter:
    @umarauna 2

    View Slide

  3. 1
    HISTORY OF OPEN SOURCE
    3

    View Slide

  4. HISTORY
    ▪ The term Open Source was adopted by a group of
    people held at Palo Alto, California. "Open Source
    Summit" organized in April 1998 by technology
    publisher Tim O'Reilly.
    4

    View Slide

  5. HISTORY
    ▪ The concept of free sharing of technological
    information existed long before computers.
    ▪ Similar to open standards, researchers with access to
    Advanced Research Projects Agency Network
    (ARPANET) used a process called Request for
    Comments to develop telecommunication network
    protocols which led to the birth of the INTERNET in
    1969
    5

    View Slide

  6. 2
    WHAT IS OPEN SOURCE
    6

    View Slide

  7. OPEN SOURCE
    ▪ “Open source" refers to something people can
    modify and share because its design is accessible
    public wide.
    ▪ Open Source technology can be defined as
    Computer Software for which the source code is
    made available under a copyright License(GPL),
    enabling anyone from anywhere to copy, modify and
    redistribute the source code without paying any fees.
    7

    View Slide

  8. OPEN SOURCE
    ▪ “Open Source” is a software-
    licensing model where the
    source code of the software
    is typically made available
    royalty-free to the users of
    the software, under terms
    allowing redistribution,
    modification and addition,
    though often with certain
    restrictions.
    8

    View Slide

  9. 3
    ADVANTAGE OF OPEN SOURCE
    9

    View Slide

  10. ADVANTAGE
    ▪ Easier to customize
    ▪ You can modify the software to your specific needs –
    there’s a lot of control and eventually satisfaction .
    ▪ The availability of the source code and the right to
    modify it is very important.
    ▪ Global collaboration with skilled developers.
    ▪ Core software is free.
    ▪ Encourages hands on.
    10

    View Slide

  11. ADVANTAGE
    ▪ Learning - a newbie programmer with at least one
    year of solid programming education (even if it’s
    self-taught learning), contributing to an open source
    project can be one way to learn programming faster.
    11

    View Slide

  12. 4
    DISADVANTAGE OF OPEN SOURCE
    12

    View Slide

  13. DISADVANTAGE
    ▪ some Open Source projects stall and die -
    programmers just lose interest with being involved or
    they become fraught with infighting; arresting
    further development.
    ▪ It is sometimes difficult to know that a project exist,
    and its current status.
    ▪ Can lack software support and/or resources
    (documentations, communities, etc.)
    13

    View Slide

  14. DISADVANTAGE
    ▪ Lack of time to really learn the software.
    ▪ May lack the manpower to support the software.
    ▪ Vulnerabilities - Although having an open system
    means that there are many people identifying bugs
    and fixing them, it also means that malicious users
    can potentially view it and exploit any vulnerabilities.
    14

    View Slide

  15. 5
    TYPE OF LICENCES
    15

    View Slide

  16. ▪ GNU General Public License (GPL)
    ▪ The Apache License
    ▪ Microsoft Public Licenses (Ms-PL)
    ▪ Berkeley Software Distribution (BSD)
    ▪ Common Development and Distribution License (CDDL)
    ▪ Eclipse Public License (EPL)
    ▪ MIT License
    16

    View Slide

  17. GNU General Public License (GPL)
    GPL is a copyleft license. This means that any software
    that is written based on any GPL component must be
    released as open source. The result is that any software
    that uses any GPL open source component (regardless
    of its percentage in the entire code) is required to
    release its full source code and all of the rights to
    modify and distribute the entire code.
    17

    View Slide

  18. The Apache License
    The Apache License allows you to freely use, modify,
    and distribute any Apache licensed product. However,
    while doing so, you’re required to follow the terms of
    the Apache License.
    18

    View Slide

  19. Microsoft Public Licenses (Ms-PL)
    The Microsoft Public License is a free and open source
    software license released by Microsoft, which wrote it
    for its projects that were released as open source.
    You are free to reproduce and distribute original or
    derivative works of any software licensed under the Ms-
    PL license. However, you may not use any contributors’
    name, logo, or trademarks when you do so the author is
    not liable if the code doesn’t work well in some cases.
    19

    View Slide

  20. Berkeley Software Distribution (BSD)
    The BSD License lets you freely modify and distribute
    your software’s code in the source or binary format as
    long as you retain a copy of the copyright notice, list of
    conditions, and the disclaimer.
    20

    View Slide

  21. Common Development and Distribution License (CDDL)
    CDDL is an open source license published by Sun
    Microsystems to replace the Sun Public License (SPL).
    You’re free to reproduce and distribute any original or
    derivative works of any software licensed under the CDDL.
    However, you must not remove or make any changes to
    any copyright, patent or trademark notices contained in
    the software. You must also retain any notices of licensing
    or any descriptive text giving attribution to any
    contributor or the initial developer. 21

    View Slide

  22. Eclipse Public License (EPL)
    The EPL license is a copyleft license. If you modify an
    EPL’ed component and distribute it in the source code
    form as part of your program, you’re required to
    disclose the modified code under the EPL. If you
    distribute such a program in its object code form,
    you’re required to state that the source code can be
    made available to the recipient upon request. You’re
    also required to share the method for requesting the
    source code.
    22

    View Slide

  23. MIT License
    23
    Basically, you can do whatever you want with software
    licensed under the MIT license — as long as you add a
    copy of the original MIT license and copyright notice to
    it. The MIT License is very simple, short and to the point,
    which is why it has such a high adoption rate among
    developers, although some avoid it because it doesn’t
    expressly grant patent rights. Commercial
    organizations often prefer it because of its “no strings
    attached” nature.

    View Slide

  24. 6
    EXAMPLES OF OPEN SOURCE SOFTWARES
    24

    View Slide

  25. EXAMPLES
    ▪ Linux operating system kernel – substitutes for
    proprietary UNIX.
    ▪ (Apache Web Server (web server for UNIX systems.
    ▪ My SQL Structured Query Language – competes with
    Oracle
    25

    View Slide

  26. Application
    7-Zip
    Eclipse
    GIMP
    Chromium
    Blender
    Mozilla Firefox
    Open Office
    Operating System
    Android
    Linux
    FreeBSD
    ReactOS
    Haiku
    FreeDOS
    Programing Langauge
    Kotlin
    Perl
    PHP
    Python
    Ruby
    PHDL
    Prolog

    View Slide

  27. 7
    OPEN SOURCE VS. CLOSED SOURCE
    27

    View Slide

  28. OPEN SOURCE VS. CLOSED SOURCE
    ▪ Open-source software is based on the idea that the user
    cannot only view but also can change the source code of
    the existing application based on the requirements.
    ▪ Closed-source software contains the source code which
    is hidden to prevent the user either viewing or changing
    the code. It is a kind of proprietary software. (Microsoft
    office, Adobe photoshop). It can be accessed only by
    paying or meeting certain requirements.
    28

    View Slide

  29. 8
    WHY SOME COMPANIES USES OPEN
    SOURCE SOFTWARE
    29

    View Slide

  30. WHY SOME COMPANIES USES OPEN SOURCE SOFTWARE
    ▪ Cost savings
    ▪ Stability
    ▪ Access and broad rights to source code
    ▪ Access to skilled community of developers
    30

    View Slide

  31. MAJOR ORGANIZATIONS
    ▪ Free Software Foundation
    ▪ www.fsf.org
    ▪ Grew out of GNU community
    ▪ Promoters of GNU Public License (GPL)
    ▪ Approves Licenses as “Free Software”
    31

    View Slide

  32. MAJOR ORGANIZATIONS
    ▪ Open Source Initiative
    ▪ www.opensource.org
    ▪ Grew out of disagreements with GNU/FSF
    ▪ Less dogmatic / more practical
    ▪ Approves Licenses as “Open Source”
    32

    View Slide

  33. COMPANIES USING OPEN SOURCE
    ▪ Google
    ▪ Amazon
    ▪ Facebook
    ▪ Twitter
    ▪ and others were built with open source
    33

    View Slide

  34. 9
    OPPORTUNITIES
    34

    View Slide

  35. OPPORTUNITIES
    ▪ It offers practical accessibility to a product's source , so
    that You can know how the program works.
    ▪ This evolves through community cooperation which is
    composed of individual programmers and companies.
    Many of these individuals programmers who start an
    open source project usually end up as large companies
    with open source programs.
    35

    View Slide

  36. BENEFITS OF OPEN SOURCE
    Security - the more people who can see and test a set of
    code, the more likely any flaws will be caught and fixed
    quickly.
    Quality - It is more likely to be better quality software
    package as it created by thousands of developers.
    Customizability - business users can take a piece of open
    source software and tweak it to suit their needs. Since the
    code is open, it's simply a matter of modifying it to add the
    functionality they want. 36

    View Slide

  37. OPPORTUNITIES
    Participate in Hacktoberfest. -> Free Swags
    Google Summer of Code (GSoC) - for schools
    MLH(Major League Hacking ) Fellowship
    Google Season of Docs (GSoD)
    24pullrequests.com
    Google Hash Code
    github.com/trending 37

    View Slide

  38. 10
    OPEN SOURCE DEVELOPMENT MODEL
    38

    View Slide

  39. OPEN SOURCE DEVELOPMENT MODEL
    39

    View Slide

  40. COMMUNITY OR COMMERCIAL
    ▪ Run by individuals, universities,
    research groups, etc.
    ▪ Comes out of finding
    “common cause”
    ▪ Can have commercial
    providers
    ▪ Linux, Apache, Mozilla,
    PostgreSQL, uPortal, Sakai,
    Kuali
    ▪ Run by a company
    ▪ Build a community
    ▪ Marketing via downloads
    ▪ De facto provider of all value-
    added services
    ▪ MySQL, Alfresco, Zimbra,
    ▪ SugarCRM, Compiere 40

    View Slide

  41. STEPS TO BECOME OPEN SOURCE ORIENTED
    ▪ Participate in the Conversation
    ▪ Use the Software
    ▪ Report Bugs
    ▪ Contribute Fixes
    ▪ Write an Example Application
    ▪ Start Your Own Project
    41

    View Slide

  42. 11
    WHO USES OPEN SOURCE
    42

    View Slide

  43. WHO USES OPEN SOURCE
    Almost everyone!
    ▪ Federal and state governments
    ▪ Colleges and universities
    ▪ Major corporations
    ▪ Small businesses
    ▪ Non-profit organizations
    ▪ Hobbyists
    43

    View Slide

  44. BEYOND SOFTWARE
    Open source is not only a way to develop and
    license computer software, but also a way means
    expressing a willingness to share, collaborating with
    others in ways that are transparent.
    Its committed to play an active role in improving the
    world.
    44

    View Slide

  45. 12
    MYTHS ABOUT OPEN SOURCE
    45

    View Slide

  46. MYTHS ABOUT OPEN SOURCE
    ▪ FOSS is “free”
    ▪ FOSS isn't reliable or supported.
    ▪ Making a software open source, anyone can change it.
    ▪ The open source license is too liberal.
    ▪ If you make your software open source, volunteer
    coders will fix all of your problem for free
    ▪ Open source is is always more (or less) secure.
    ▪ Always has worse documentation
    46

    View Slide

  47. Tools i build/Contributed to Open Source
    ▪ Build carousel image slider library (kotlin)
    https://github.com/UmarAuna/Carousel-Kotlin-Image-Slider
    ▪ Build Devfest North Central App 2018
    https://github.com/UmarAuna/DevFest-North-App
    ▪ Contributed to Covid-19 APP
    https://github.com/rizmaulana/kotlin-mvvm-covid19
    47

    View Slide

  48. Thanks!
    ANY QUESTIONS?
    You can find me at:
    Twitter:@umarauna
    github.com/umarauna
    48

    View Slide