Understanding Open Source

Geek Girls Carrots #32
Wrocław, 13 April 2016

Krzysztof Sobkowiak (@ksobkowiak)

The Apache Software Foundation Member
Senior Solution Architect at Capgemini

feather

About Me

  • FOSS enthusiast, evangelist & architect

  • The Apache Software Foundation

    • Member

    • Apache ServiceMix commiter & PMC chair (V.P. Apache ServiceMix)

    • active at Apache Karaf, CXF, Camel, ActiveMQ

  • Member/developer at OASP, OPS4J

  • Senior Solution Architect & trainer at Capgemini

  • Co-founder, member & trainer at RoboCap.pl

kso1

warn

Views in this presentation are my personal views and do not necessarily reflect the views of the Apache Software Foundation.

Outline

  • Why Open Source?

  • Licenses

  • Governance/Community

  • The Apache Software Foundation

  • How to start?

Why?

why wb

Hackers/Developers

  • Having a real impact in the development and direction of IT

  • Personal satisfaction: I wrote that!

  • Sense of membership in a community

  • Sense of accomplishment - very quick turnaround times

  • Developers and engineers love to tinker - huge opportunity to do so

Companies/Orgs

  • Having a real impact in the development and direction of IT

  • Sense of membership in a community (most of the time)

  • Save on expensive resources

  • Ability to focus on what differentiates yourself

  • Allows for nimbleness and agility

  • Increased revenue and market share

Users

  • Access to the source code

  • Avoid vendor lock-in (or worse!)

  • Much better software

  • Better security record (more eyes)

  • Much more nimble development - frequent releases

  • Direct user input

  • Open Standards

Promises

promises

Let’s pretend

lets pretend 0

Let’s pretend

lets pretend 1

Use

use

Modify

modify

Share

share

Licenses

licensed

Give Me Credit

give me credit

  • AL, BSD, MIT

Give Me Fixes

give me fixes

  • LGPL, EPL, MPL

Give Me Everything

give me everything wb

  • GPL

Governance/Community

community wb

Walled Garden

walled garden

"All your base are belong to us."

BDFL

bdfl

"Supreme executive power derives from a mandate from the masses, not some farcical aquatic ceremony."

Meritocracy

meritocracy

"Out of Chaos comes Order."

Community Building

community building wb

Use Email Lists

mailing lists

Drive Consensus

drive consensus

No Poisonous People

poisonous people

How Open Source Projects Survive Poisonous People (And You Can Too) by Ben Collins-Sussman & Brian Fitzpatrick
https://youtu.be/Q52kFL8zVoM

Play Nice, Share, Have Fun

kindergarten

What is Open Source explained in LEGO

what is open source lego

Open Source Basics

what is open source cookies

The Apache Software Foundation

asf logo

The ASF

  • ASF == The Apache Software Foundation

  • Non-profit corporation

  • 501(c)3 charity

  • Volunteer organization

  • Virtual world-wide organization

  • Exists to provide the organizational, legal and financial support for various OSS projects

The Apache Group

  • Before the ASF there was “The Apache Group”

  • Informal corporate structure

  • 8 members

  • Resumed work on NCSA httpd in Feb. 1995

  • Choose permissive licensing

apache group

The ASF

Then

  • Incorporated in 1999

  • Started with 21 members

  • 2 projects

  • All servers and services donated

committer map

Now

  • 650 members

  • 175 TLPs

  • 115 subprojects

  • 55 Incubator podlings

  • Tons of committers (literally)

    • ~ 5400 committers,

    • ~ 2150 PMC members,

    • ~ 7500 signed ICLAs

  • Very large and growing infrastructure

The ASF’s Mission

What?

  • Provide open source software to public free of charge

  • Let the coders code – foundation exists to do the rest

How?

  • Infrastructure for open source development

  • Legal entity for donation purposes

  • Shelter from law suits

  • Protection of the Apache brand

ASF — Org Chart

asf org chart

The Apache Way — Basic Memes

basic memes

Apache Projects

  • Responsible for their own code, community and direction

  • Diversity: Java, C, C++, Perl, …

  • Leading technology

    • Web servers, Java tools & stacks, search, cloud, big data, build tools, CMS/web framework, databases, OSGi containers, integration frameworks, graphics, …

    • And end user Office suites!

  • It’s okay for projects to be in “same” space

    • Ant/Maven, Pig/Hive, Axis/CXF…​

apache projects statistics

Apache Projects

apache projects 1

Apache Projects

apache projects 2

Apache Projects

apache projects 3

Who Pays?

  • Apache does not pay for development

    • Voluntary contributions only!

  • Many (not all!) developers are paid by a third-party to work on the project

  • Foundation bears indirect support costs

    • Infrastructure, publicity, etc.

cite

We are more than a group of projects sharing a server, we are a community of developers and users.

How to Start?

i want you

Why to Contribute?

  • Better end easy recognition of work

  • Publicly verifiable resume

  • Work with best programmers, with the best programming practices

  • No managers, no boss

  • Work on what you like when you like

  • Discuss technical designs and issues in writing

  • Build software used by millions around the world

  • Networking opportunities

  • ApacheCon

How to contribute?

  • ASF wants voluntary contributions

  • Documentation, Tutorials and Examples

  • Helping others with queries and questions

  • Issue / bug tracker triage

  • Testing new fixes, helping reproduce problems

  • Bug Fixes and New Features

  • Writing add-ons and extensions

  • Mentoring, volunteering for the Foundation

  • Many different ways to get involved, all are important!

Start Contributing

start contributing

  • English

  • A programming language

  • Debugging

  • Passion

  • Perseverance

  • Time

  • Filter by your interest area

  • Filter by language

  • Something you use

  • Something you want to learn

  • Using the project is very important

  • Choose your project

  • Join the mailing list or forum

  • Check out the code

  • Download the binary and play with it

  • Find open issues and feature requests

  • Ask the developers on what you can work on

  • Sign ICLA

Become a Committer

Invitation of commit access

  • Current PMC member nominates individual

  • Discussions on private@ list

    • Key ?: Do we trust this individual?

  • PMCs are free to set own bar

Beyond a committer

  • Once you are committer, you can then become a

    • PMC member

    • foundation member

    • Director…​

    • even President!

  • You can

    • nominate other foundation (or PMC) members

    • can serve as mentor for Incubating projects

    • vote for Board.

cogs

Fear not, just do it!!!

warn

Apache, the Apache feather logo and the Apache project names mentioned in this presentation and their logos are trademarks of The Apache Software Foundation in the United States and/or other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners. All images property of their respective copyright holders.

Credits

Special thanks to all the people who made and released their awesome resources for free: