This document discusses how companies can work with Apache projects to build organic open source solutions and make profits. It provides examples of how the speaker worked with Apache Shindig and OpenSocial at Yahoo and Jive Software to build social applications platforms. The speaker describes different models for company involvement with Apache projects, from simply using project code to contributing engineers. The document advocates choosing Apache projects that are a good fit and contributing back code and features to benefit the community and reduce long term maintenance costs.
Contributing to Apache Projects and Making Profits
1. Working with Apache Projects and
Making Profits
Henry Saputra
Member of The Apache Software Foundation
ApacheCon North America
Austin, Texas
April 13-16, 2015
2. Introduction
● Henry Saputra
○ Member of The Apache Software Foundation (ASF)
○ PMC and committers to several ASF projects
● Member of the Incubator Project Management
Committee (IPMC)
● Been involved with the ASF since 2009
● Not a lawyer
● @Kingwulf
● Questions or concerns: hsaputra@apache.org
3. Agenda
● Building organic or open source
● Choosing the right ASF project(s)
● Real life examples
○ OpenSocial and Apache Shindig
○ Building Jive Software Application Platform and Market
○ Contributing new features to OpenSocial and Apache Shindig
○ Working with “partners”
● What’s next?
4. Build Organic vs Open Source
● Talents and skill sets consideration
● Time for deliverables building from scratch
outside core business
● Maintaining and fixing the source code
● Going open source: choosing the right open
source project
○ Proper governance: FoundationDb, CouchDb
○ Pluggability: turnkey, custom logic
○ Maintenance and support: community, bug fixes, issues tracking
5. Choosing (the right) Apache Project(s)
● Why Apache Software Foundation? The
Apache Way
● Many different Apache projects
● Turnkey vs pluggability/customizations
● PMCs and diversity of the communities
● Reporting issues and contribute
● Influence direction
6. Different models of involvement
● There are several models of involvement for commercial
companies with Apache projects to make profits
● Pure consumers of Apache projects
○ Download binaries
○ Include source code in build pipeline
○ Using maven or Ivy dependencies to internal products
● Build toolings or extensions
● Contributing fixes and small enhancements as patches
● Dedicate full time engineers working on Apache projects
● Donating new project to Apache incubator
7. Real Life Experience
● Involvement with OpenSocial and Apache Shindig
at Yahoo
● Continue working at Jive Software to build social
applications platform
● Using OpenSocial and Apache Shindig as platform
for building Application Framework
● Working with engineers and contributors from
different organizations and companies
8. Introduction to OpenSocial
● OpenSocial is a public specifications that defines web container and set
of APIs to embed external web applications
● Was initially started by Google and MySpace and supported by other web
based companies such as Yahoo and LinkedIn
● Now is part of W3C social working group standards
● http://www.w3.org/blog/2014/12/opensocial-foundation-moves-
standards-work-to-w3c-social-web-activity/
● Embraced by enterprise companies such as Jive Software, SugarCRM, and
Cisco
9. Introduction to Apache Shindig
● Top level project
● Was active PMC and committer
● OpenSocial reference implementation
● Graduated from incubator in 2010
● Mainly written in Java, JavaScript
● Server and client components
● https://shindig.apache.org/
10. Introduction to Jive Software
● Leading provider for communication and
collaboration software for business [1]
● Jive Application Platform uses OpenSocial
and Apache Shindig
● https://developer.jivesoftware.
com/intro#apps
[1] https://www.jivesoftware.com/
11. OpenSocial and Apache Shindig at Jive - 1
● Need to build platform to embed external
web applications
● Need to have specifications and standards
to allow developers to develop applications
● Need to build social APIs to work with Jive
main web application
● Security, authentication, authorization
12. OpenSocial and Apache Shindig at Jive - 2
● Built in-house or use open source?
○ Time
○ Engineering Resource
○ Documentation
○ Standardization
○ External developers effort
○ Training and evangelism
13. OpenSocial and Apache Shindig at Jive - 3
● Embracing OpenSocial as specifications for
building framework and format to allow 3rd
party web applications
● Using Apache Shindig as the main engine to
serve the social applications running inside
Jive Software
● Adding extension based on OpenSocial
specifications
14. OpenSocial and Apache Shindig at Jive - 4
● Contributing back to Apache Shindig
● Pulling latest releases instead of fork
● Maintain fixes in internal source repository
as short time solution
● Added new features to OpenSocial and
Apache Shindig
○ Pluggable authentication module for testing
○ Common container
○ Embedded Experience
15. Collaborating with Others
● Work closely with IBM and SugarCRM to add
embedded experience to OpenSocial
specifications and the reference
implementation in Apache Shindig [1]
● Support for Activity Streams specification [2]
● Support for OAuth 2.0 specification [3]
[1] http://www.w3.org/Submission/osapi/
[2] http://activitystrea.ms/
[3] http://oauth.net/2/
16. What’s next?
● The right Apache project could save time
and resources
● Contribute back fixes and features to
reduce maintenance cost for fixes
● Participate in the community to help others
● Contribute the right way to make sure your
Intellectual Properties are safe