Slide 1

Slide 1 text

The power of contributing to open source projects

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

1 HISTORY OF OPEN SOURCE 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

2 WHAT IS OPEN SOURCE 6

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

3 ADVANTAGE OF OPEN SOURCE 9

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

4 DISADVANTAGE OF OPEN SOURCE 12

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

5 TYPE OF LICENCES 15

Slide 16

Slide 16 text

▪ 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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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.

Slide 24

Slide 24 text

6 EXAMPLES OF OPEN SOURCE SOFTWARES 24

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

7 OPEN SOURCE VS. CLOSED SOURCE 27

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

8 WHY SOME COMPANIES USES OPEN SOURCE SOFTWARE 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

9 OPPORTUNITIES 34

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

10 OPEN SOURCE DEVELOPMENT MODEL 38

Slide 39

Slide 39 text

OPEN SOURCE DEVELOPMENT MODEL 39

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

11 WHO USES OPEN SOURCE 42

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

12 MYTHS ABOUT OPEN SOURCE 45

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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